diff --git a/aggregator/all.html b/aggregator/all.html index f4043e6e7..2deca04d0 100644 --- a/aggregator/all.html +++ b/aggregator/all.html @@ -1,2 +1 @@ -List of all items in this crate -

List of all items

Attribute Macros

\ No newline at end of file +List of all items in this crate

List of all items

Attribute Macros

\ No newline at end of file diff --git a/aggregator/attr.aggregate.html b/aggregator/attr.aggregate.html index 7761ad5f2..accacc624 100644 --- a/aggregator/attr.aggregate.html +++ b/aggregator/attr.aggregate.html @@ -1,5 +1,4 @@ -aggregate in aggregator - Rust -

Attribute Macro aggregator::aggregate

source ·
#[aggregate]
Expand description

Automatically implements From for each type in an aggregate type enum.

+aggregate in aggregator - Rust

Attribute Macro aggregator::aggregate

source ·
#[aggregate]
Expand description

Automatically implements From for each type in an aggregate type enum.

The supplied enum should have a single unnamed type parameter for each variant. And the type for each variant should be unique in the enum.

The macro generates all the From implementations automatically.

diff --git a/aggregator/attr.tuxedo_constraint_checker.html b/aggregator/attr.tuxedo_constraint_checker.html index d936892e8..2ee924b24 100644 --- a/aggregator/attr.tuxedo_constraint_checker.html +++ b/aggregator/attr.tuxedo_constraint_checker.html @@ -1,5 +1,4 @@ -tuxedo_constraint_checker in aggregator - Rust -
#[tuxedo_constraint_checker]
Expand description

This macro treats the supplied enum as an aggregate constraint checker. As such, it implements the From +tuxedo_constraint_checker in aggregator - Rust

Attribute Macro aggregator::tuxedo_constraint_checker

source ·
#[tuxedo_constraint_checker]
Expand description

This macro treats the supplied enum as an aggregate constraint checker. As such, it implements the From trait for eah of the inner types. Then it implements the ConstraintChecker trait for this type for this enum by delegating to an inner type.

It also declares an associated error type. The error type has a variant for each inner constraint checker, diff --git a/aggregator/attr.tuxedo_verifier.html b/aggregator/attr.tuxedo_verifier.html index 2c06dc76e..df6a86932 100644 --- a/aggregator/attr.tuxedo_verifier.html +++ b/aggregator/attr.tuxedo_verifier.html @@ -1,5 +1,4 @@ -tuxedo_verifier in aggregator - Rust

-

Attribute Macro aggregator::tuxedo_verifier

source ·
#[tuxedo_verifier]
Expand description

This macro treats the supplied enum as an aggregate verifier. As such, it implements the From +tuxedo_verifier in aggregator - Rust

Attribute Macro aggregator::tuxedo_verifier

source ·
#[tuxedo_verifier]
Expand description

This macro treats the supplied enum as an aggregate verifier. As such, it implements the From trait for eah of the inner types. Then it implements the Verifier trait for this type for this enum by delegating to an inner type.

\ No newline at end of file diff --git a/aggregator/index.html b/aggregator/index.html index 0b622d298..65c666f51 100644 --- a/aggregator/index.html +++ b/aggregator/index.html @@ -1,6 +1,4 @@ -aggregator - Rust -

Crate aggregator

source ·

Attribute Macros§

source§

impl Eq for ConstraintCheckerError

source§

impl StructuralPartialEq for ConstraintCheckerError

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CheckedConversion for T

§

fn checked_from<T>(t: T) -> Option<Self>
where Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
§

fn checked_into<T>(self) -> Option<T>
where @@ -60,14 +59,21 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -136,9 +142,9 @@ Self: DerefMut<Target = T> + Deref, T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where diff --git a/amoeba/index.html b/amoeba/index.html index 43a97d938..7e289993d 100644 --- a/amoeba/index.html +++ b/amoeba/index.html @@ -1,6 +1,4 @@ -amoeba - Rust -

Crate amoeba

source ·
Expand description

This file represents a simple example Tuxedo piece that tracks amoeba populations. +amoeba - Rust

Crate amoeba

source ·
Expand description

This file represents a simple example Tuxedo piece that tracks amoeba populations. Amoeba’s can be affected in three ways throughout their lifecycle.

  1. A new amoeba can be created by a creator. This is analogous to divine diff --git a/amoeba/struct.AmoebaCreation.html b/amoeba/struct.AmoebaCreation.html index 805f97c61..4cbc34fcd 100644 --- a/amoeba/struct.AmoebaCreation.html +++ b/amoeba/struct.AmoebaCreation.html @@ -1,43 +1,52 @@ -AmoebaCreation in amoeba - Rust -

    Struct amoeba::AmoebaCreation

    source ·
    pub struct AmoebaCreation;
    Expand description

    A constraint checker for simple creation of an amoeba.

    +AmoebaCreation in amoeba - Rust

    Struct amoeba::AmoebaCreation

    source ·
    pub struct AmoebaCreation;
    Expand description

    A constraint checker for simple creation of an amoeba.

    A new amoeba can be created by providing it as the sole output to this constraint checker. No inputs are ever consumed.

    -

    Trait Implementations§

    source§

    impl Clone for AmoebaCreation

    source§

    fn clone(&self) -> AmoebaCreation

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for AmoebaCreation

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Decode for AmoebaCreation

    source§

    fn decode<__CodecInputEdqy: Input>( +

    Trait Implementations§

    source§

    impl Clone for AmoebaCreation

    source§

    fn clone(&self) -> AmoebaCreation

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for AmoebaCreation

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Decode for AmoebaCreation

    source§

    fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Self, Error>

    Attempt to deserialise the value from input.
    §

    fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>
    where I: Input,

    Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
    §

    fn skip<I>(input: &mut I) -> Result<(), Error>
    where - I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    source§

    impl<'de> Deserialize<'de> for AmoebaCreation

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Encode for AmoebaCreation

    source§

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    source§

    fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl<'de> Deserialize<'de> for AmoebaCreation

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Encode for AmoebaCreation

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )

Convert self to a slice and append it to the destination.
§

fn encode(&self) -> Vec<u8>

Convert self to an owned vector.
§

fn using_encoded<R, F>(&self, f: F) -> R
where - F: FnOnce(&[u8]) -> R,

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl PartialEq for AmoebaCreation

source§

fn eq(&self, other: &AmoebaCreation) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl Serialize for AmoebaCreation

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl SimpleConstraintChecker for AmoebaCreation

§

type Error = ConstraintCheckerError

The error type that this constraint checker may return
source§

fn check( + F: FnOnce(&[u8]) -> R,

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl PartialEq for AmoebaCreation

source§

fn eq(&self, other: &AmoebaCreation) -> bool

This method tests for self and other values to be equal, and is used +by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
source§

impl Serialize for AmoebaCreation

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl SimpleConstraintChecker for AmoebaCreation

§

type Error = ConstraintCheckerError

The error type that this constraint checker may return
source§

fn check( &self, input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], _peeks: &[DynamicallyTypedData], output_data: &[DynamicallyTypedData] -) -> Result<TransactionPriority, Self::Error>

The actual check validation logic
source§

impl TypeInfo for AmoebaCreation

§

type Identity = AmoebaCreation

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl EncodeLike for AmoebaCreation

source§

impl Eq for AmoebaCreation

source§

impl StructuralPartialEq for AmoebaCreation

Auto Trait Implementations§

§

impl RefUnwindSafe for AmoebaCreation

§

impl Send for AmoebaCreation

§

impl Sync for AmoebaCreation

§

impl Unpin for AmoebaCreation

§

impl UnwindSafe for AmoebaCreation

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where - T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where - T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where +) -> Result<TransactionPriority, Self::Error>

The on chain logic that makes the final check for whether a transaction is valid.
source§

impl TypeInfo for AmoebaCreation

§

type Identity = AmoebaCreation

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl EncodeLike for AmoebaCreation

source§

impl Eq for AmoebaCreation

source§

impl StructuralPartialEq for AmoebaCreation

Auto Trait Implementations§

§

impl Freeze for AmoebaCreation

§

impl RefUnwindSafe for AmoebaCreation

§

impl Send for AmoebaCreation

§

impl Sync for AmoebaCreation

§

impl Unpin for AmoebaCreation

§

impl UnwindSafe for AmoebaCreation

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CheckedConversion for T

§

fn checked_from<T>(t: T) -> Option<Self>
where Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
§

fn checked_into<T>(self) -> Option<T>
where - Self: TryInto<T>,

Consume self to return Some equivalent value of Option<T>. Read more
§

impl<T, V> ConstraintChecker<V> for T
where - T: SimpleConstraintChecker,

§

type Error = <T as SimpleConstraintChecker>::Error

The error type that this constraint checker may return
§

type InherentHooks = ()

Optional Associated Inherent processing logic. If this transaction type is not an inherent, use (). -If it is an inherent, use Self, and implement the TuxedoInherent trait.
§

fn check( + Self: TryInto<T>,

Consume self to return Some equivalent value of Option<T>. Read more
§

impl<T> ConstraintChecker for T
where + T: SimpleConstraintChecker,

§

type Error = <T as SimpleConstraintChecker>::Error

The error type that this constraint checker may return
§

fn check( &self, - inputs: &[Output<V>], - peeks: &[Output<V>], - outputs: &[Output<V>] -) -> Result<u64, <T as ConstraintChecker<V>>::Error>

The actual check validation logic
§

fn is_inherent(&self) -> bool

Tells whether this extrinsic is an inherent or not. -If you return true here, you must provide the correct inherent hooks above.
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where + input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], + peek_data: &[DynamicallyTypedData], + output_data: &[DynamicallyTypedData] +) -> Result<u64, <T as ConstraintChecker>::Error>

The on chain logic that makes the final check for whether a transaction is valid.
§

fn is_inherent(&self) -> bool

Tells whether this extrinsic is an inherent or not. +If you return true here, you must provide the correct inherent hooks above.
§

fn create_inherents<V>( + _authoring_inherent_data: &InherentData, + _previous_inherents: Vec<(Transaction<V, T>, H256)> +) -> Vec<Transaction<V, T>>

Create the inherent extrinsics to insert into a block that is being authored locally. +The inherent data is supplied by the authoring node.
§

fn check_inherents<V>( + _: &InherentData, + inherents: Vec<Transaction<V, T>>, + _: &mut CheckInherentsResult +)

Perform off-chain pre-execution checks on the inherents. +The inherent data is supplied by the importing node. +The inherent data available here is not necessarily the +same as what is available at authoring time.
§

fn genesis_transactions<V>() -> Vec<Transaction<V, T>>

Return the genesis transactions that are required for the inherents.
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
§

impl<T> DecodeAll for T
where T: Decode,

§

fn decode_all(input: &mut &[u8]) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

impl<T> DecodeLimit for T
where T: Decode,

§

fn decode_all_with_depth_limit( @@ -45,8 +54,8 @@ input: &mut &[u8] ) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
where I: Input,

Decode Self with the given maximum recursion depth and advance input by the number of -bytes consumed. Read more
source§

impl<T> DynClone for T
where - T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where +bytes consumed. Read more

source§

impl<T> DynClone for T
where + T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, @@ -69,14 +78,21 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -147,9 +163,9 @@ T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where @@ -157,8 +173,8 @@ S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<S> Codec for S
where - S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where + S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where T: Encode,

§

impl<T> EncodeLike<&T> for T
where T: Encode,

§

impl<T> EncodeLike<&mut T> for T
where T: Encode,

§

impl<T> EncodeLike<Arc<T>> for T
where @@ -170,7 +186,7 @@ S: Encode + EncodeLike,

§

impl<T> JsonSchemaMaybe for T

§

impl<T> MaybeDebug for T
where T: Debug,

§

impl<T> MaybeRefUnwindSafe for T
where T: RefUnwindSafe,

§

impl<T> MaybeSerialize for T
where - T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where + T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

§

impl<T> StaticTypeInfo for T
where T: TypeInfo + 'static,

\ No newline at end of file diff --git a/amoeba/struct.AmoebaDeath.html b/amoeba/struct.AmoebaDeath.html index 22d2c105d..35f110013 100644 --- a/amoeba/struct.AmoebaDeath.html +++ b/amoeba/struct.AmoebaDeath.html @@ -1,43 +1,52 @@ -AmoebaDeath in amoeba - Rust -

Struct amoeba::AmoebaDeath

source ·
pub struct AmoebaDeath;
Expand description

A constraint checker for simple death of an amoeba.

+AmoebaDeath in amoeba - Rust

Struct amoeba::AmoebaDeath

source ·
pub struct AmoebaDeath;
Expand description

A constraint checker for simple death of an amoeba.

Any amoeba can be killed by providing it as the sole input to this constraint checker. No new outputs are ever created.

-

Trait Implementations§

source§

impl Clone for AmoebaDeath

source§

fn clone(&self) -> AmoebaDeath

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for AmoebaDeath

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Decode for AmoebaDeath

source§

fn decode<__CodecInputEdqy: Input>( +

Trait Implementations§

source§

impl Clone for AmoebaDeath

source§

fn clone(&self) -> AmoebaDeath

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for AmoebaDeath

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Decode for AmoebaDeath

source§

fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Self, Error>

Attempt to deserialise the value from input.
§

fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>
where I: Input,

Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
§

fn skip<I>(input: &mut I) -> Result<(), Error>
where - I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl<'de> Deserialize<'de> for AmoebaDeath

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Encode for AmoebaDeath

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl<'de> Deserialize<'de> for AmoebaDeath

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Encode for AmoebaDeath

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )

Convert self to a slice and append it to the destination.
§

fn encode(&self) -> Vec<u8>

Convert self to an owned vector.
§

fn using_encoded<R, F>(&self, f: F) -> R
where - F: FnOnce(&[u8]) -> R,

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl PartialEq for AmoebaDeath

source§

fn eq(&self, other: &AmoebaDeath) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl Serialize for AmoebaDeath

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl SimpleConstraintChecker for AmoebaDeath

§

type Error = ConstraintCheckerError

The error type that this constraint checker may return
source§

fn check( + F: FnOnce(&[u8]) -> R,

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl PartialEq for AmoebaDeath

source§

fn eq(&self, other: &AmoebaDeath) -> bool

This method tests for self and other values to be equal, and is used +by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
source§

impl Serialize for AmoebaDeath

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl SimpleConstraintChecker for AmoebaDeath

§

type Error = ConstraintCheckerError

The error type that this constraint checker may return
source§

fn check( &self, input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], _peeks: &[DynamicallyTypedData], output_data: &[DynamicallyTypedData] -) -> Result<TransactionPriority, Self::Error>

The actual check validation logic
source§

impl TypeInfo for AmoebaDeath

§

type Identity = AmoebaDeath

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl EncodeLike for AmoebaDeath

source§

impl Eq for AmoebaDeath

source§

impl StructuralPartialEq for AmoebaDeath

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where - T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where - T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where +) -> Result<TransactionPriority, Self::Error>

The on chain logic that makes the final check for whether a transaction is valid.
source§

impl TypeInfo for AmoebaDeath

§

type Identity = AmoebaDeath

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl EncodeLike for AmoebaDeath

source§

impl Eq for AmoebaDeath

source§

impl StructuralPartialEq for AmoebaDeath

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CheckedConversion for T

§

fn checked_from<T>(t: T) -> Option<Self>
where Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
§

fn checked_into<T>(self) -> Option<T>
where - Self: TryInto<T>,

Consume self to return Some equivalent value of Option<T>. Read more
§

impl<T, V> ConstraintChecker<V> for T
where - T: SimpleConstraintChecker,

§

type Error = <T as SimpleConstraintChecker>::Error

The error type that this constraint checker may return
§

type InherentHooks = ()

Optional Associated Inherent processing logic. If this transaction type is not an inherent, use (). -If it is an inherent, use Self, and implement the TuxedoInherent trait.
§

fn check( + Self: TryInto<T>,

Consume self to return Some equivalent value of Option<T>. Read more
§

impl<T> ConstraintChecker for T
where + T: SimpleConstraintChecker,

§

type Error = <T as SimpleConstraintChecker>::Error

The error type that this constraint checker may return
§

fn check( &self, - inputs: &[Output<V>], - peeks: &[Output<V>], - outputs: &[Output<V>] -) -> Result<u64, <T as ConstraintChecker<V>>::Error>

The actual check validation logic
§

fn is_inherent(&self) -> bool

Tells whether this extrinsic is an inherent or not. -If you return true here, you must provide the correct inherent hooks above.
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where + input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], + peek_data: &[DynamicallyTypedData], + output_data: &[DynamicallyTypedData] +) -> Result<u64, <T as ConstraintChecker>::Error>

The on chain logic that makes the final check for whether a transaction is valid.
§

fn is_inherent(&self) -> bool

Tells whether this extrinsic is an inherent or not. +If you return true here, you must provide the correct inherent hooks above.
§

fn create_inherents<V>( + _authoring_inherent_data: &InherentData, + _previous_inherents: Vec<(Transaction<V, T>, H256)> +) -> Vec<Transaction<V, T>>

Create the inherent extrinsics to insert into a block that is being authored locally. +The inherent data is supplied by the authoring node.
§

fn check_inherents<V>( + _: &InherentData, + inherents: Vec<Transaction<V, T>>, + _: &mut CheckInherentsResult +)

Perform off-chain pre-execution checks on the inherents. +The inherent data is supplied by the importing node. +The inherent data available here is not necessarily the +same as what is available at authoring time.
§

fn genesis_transactions<V>() -> Vec<Transaction<V, T>>

Return the genesis transactions that are required for the inherents.
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
§

impl<T> DecodeAll for T
where T: Decode,

§

fn decode_all(input: &mut &[u8]) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

impl<T> DecodeLimit for T
where T: Decode,

§

fn decode_all_with_depth_limit( @@ -45,8 +54,8 @@ input: &mut &[u8] ) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
where I: Input,

Decode Self with the given maximum recursion depth and advance input by the number of -bytes consumed. Read more
source§

impl<T> DynClone for T
where - T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where +bytes consumed. Read more

source§

impl<T> DynClone for T
where + T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, @@ -69,14 +78,21 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -147,9 +163,9 @@ T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where @@ -157,8 +173,8 @@ S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<S> Codec for S
where - S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where + S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where T: Encode,

§

impl<T> EncodeLike<&T> for T
where T: Encode,

§

impl<T> EncodeLike<&mut T> for T
where T: Encode,

§

impl<T> EncodeLike<Arc<T>> for T
where @@ -170,7 +186,7 @@ S: Encode + EncodeLike,

§

impl<T> JsonSchemaMaybe for T

§

impl<T> MaybeDebug for T
where T: Debug,

§

impl<T> MaybeRefUnwindSafe for T
where T: RefUnwindSafe,

§

impl<T> MaybeSerialize for T
where - T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where + T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

§

impl<T> StaticTypeInfo for T
where T: TypeInfo + 'static,

\ No newline at end of file diff --git a/amoeba/struct.AmoebaDetails.html b/amoeba/struct.AmoebaDetails.html index c19195a74..9b821cc83 100644 --- a/amoeba/struct.AmoebaDetails.html +++ b/amoeba/struct.AmoebaDetails.html @@ -1,5 +1,4 @@ -AmoebaDetails in amoeba - Rust -

Struct amoeba::AmoebaDetails

source ·
pub struct AmoebaDetails {
+AmoebaDetails in amoeba - Rust

Struct amoeba::AmoebaDetails

source ·
pub struct AmoebaDetails {
     pub generation: u32,
     pub four_bytes: [u8; 4],
 }
Expand description

An amoeba tracked by our simple Amoeba APP

@@ -14,19 +13,17 @@ dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>
where I: Input,
Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
§

fn skip<I>(input: &mut I) -> Result<(), Error>
where - I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl<'de> Deserialize<'de> for AmoebaDetails

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Encode for AmoebaDetails

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl<'de> Deserialize<'de> for AmoebaDetails

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Encode for AmoebaDetails

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )

Convert self to a slice and append it to the destination.
§

fn encode(&self) -> Vec<u8>

Convert self to an owned vector.
§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl PartialEq for AmoebaDetails

source§

fn eq(&self, other: &AmoebaDetails) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl Serialize for AmoebaDetails

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl UtxoData for AmoebaDetails

source§

const TYPE_ID: [u8; 4] = _

A unique identifier for this type. For now choosing this value and making sure it -really is unique is the problem of the developer. Ideally this would be better.
source§

impl EncodeLike for AmoebaDetails

source§

impl Eq for AmoebaDetails

source§

impl StructuralPartialEq for AmoebaDetails

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where - T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where - T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where +by ==.

1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
source§

impl Serialize for AmoebaDetails

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl UtxoData for AmoebaDetails

source§

const TYPE_ID: [u8; 4] = _

A unique identifier for this type. For now choosing this value and making sure it +really is unique is the problem of the developer. Ideally this would be better.
source§

impl EncodeLike for AmoebaDetails

source§

impl Eq for AmoebaDetails

source§

impl StructuralPartialEq for AmoebaDetails

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CheckedConversion for T

§

fn checked_from<T>(t: T) -> Option<Self>
where Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
§

fn checked_into<T>(self) -> Option<T>
where @@ -38,8 +35,8 @@ input: &mut &[u8] ) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
where I: Input,

Decode Self with the given maximum recursion depth and advance input by the number of -bytes consumed. Read more
source§

impl<T> DynClone for T
where - T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where +bytes consumed. Read more

source§

impl<T> DynClone for T
where + T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, @@ -62,14 +59,21 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -140,9 +144,9 @@ T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where @@ -150,8 +154,8 @@ S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<S> Codec for S
where - S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where + S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where T: Encode,

§

impl<T> EncodeLike<&T> for T
where T: Encode,

§

impl<T> EncodeLike<&mut T> for T
where T: Encode,

§

impl<T> EncodeLike<Arc<T>> for T
where @@ -163,6 +167,6 @@ S: Encode + EncodeLike,

§

impl<T> JsonSchemaMaybe for T

§

impl<T> MaybeDebug for T
where T: Debug,

§

impl<T> MaybeRefUnwindSafe for T
where T: RefUnwindSafe,

§

impl<T> MaybeSerialize for T
where - T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where + T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

\ No newline at end of file diff --git a/amoeba/struct.AmoebaMitosis.html b/amoeba/struct.AmoebaMitosis.html index 4d3e6fe30..5d598cdfb 100644 --- a/amoeba/struct.AmoebaMitosis.html +++ b/amoeba/struct.AmoebaMitosis.html @@ -1,47 +1,56 @@ -AmoebaMitosis in amoeba - Rust -

Struct amoeba::AmoebaMitosis

source ·
pub struct AmoebaMitosis;
Expand description

A constraint checker for the process of amoeba mitosis +AmoebaMitosis in amoeba - Rust

Struct amoeba::AmoebaMitosis

source ·
pub struct AmoebaMitosis;
Expand description

A constraint checker for the process of amoeba mitosis The mitosis is valid is the following criteria are met

  1. There is exactly one mother amoeba.
  2. There are exactly two daughter amoebas
  3. Each Daughter amoeba has a generation one higher than its mother.
-

Trait Implementations§

source§

impl Clone for AmoebaMitosis

source§

fn clone(&self) -> AmoebaMitosis

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for AmoebaMitosis

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Decode for AmoebaMitosis

source§

fn decode<__CodecInputEdqy: Input>( +

Trait Implementations§

source§

impl Clone for AmoebaMitosis

source§

fn clone(&self) -> AmoebaMitosis

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for AmoebaMitosis

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Decode for AmoebaMitosis

source§

fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Self, Error>

Attempt to deserialise the value from input.
§

fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>
where I: Input,

Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
§

fn skip<I>(input: &mut I) -> Result<(), Error>
where - I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl<'de> Deserialize<'de> for AmoebaMitosis

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Encode for AmoebaMitosis

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl<'de> Deserialize<'de> for AmoebaMitosis

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Encode for AmoebaMitosis

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )

Convert self to a slice and append it to the destination.
§

fn encode(&self) -> Vec<u8>

Convert self to an owned vector.
§

fn using_encoded<R, F>(&self, f: F) -> R
where - F: FnOnce(&[u8]) -> R,

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl PartialEq for AmoebaMitosis

source§

fn eq(&self, other: &AmoebaMitosis) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl Serialize for AmoebaMitosis

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl SimpleConstraintChecker for AmoebaMitosis

§

type Error = ConstraintCheckerError

The error type that this constraint checker may return
source§

fn check( + F: FnOnce(&[u8]) -> R,

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl PartialEq for AmoebaMitosis

source§

fn eq(&self, other: &AmoebaMitosis) -> bool

This method tests for self and other values to be equal, and is used +by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
source§

impl Serialize for AmoebaMitosis

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl SimpleConstraintChecker for AmoebaMitosis

§

type Error = ConstraintCheckerError

The error type that this constraint checker may return
source§

fn check( &self, input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], _peeks: &[DynamicallyTypedData], output_data: &[DynamicallyTypedData] -) -> Result<TransactionPriority, ConstraintCheckerError>

The actual check validation logic
source§

impl TypeInfo for AmoebaMitosis

§

type Identity = AmoebaMitosis

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl EncodeLike for AmoebaMitosis

source§

impl Eq for AmoebaMitosis

source§

impl StructuralPartialEq for AmoebaMitosis

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where - T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where - T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where +) -> Result<TransactionPriority, ConstraintCheckerError>

The on chain logic that makes the final check for whether a transaction is valid.
source§

impl TypeInfo for AmoebaMitosis

§

type Identity = AmoebaMitosis

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl EncodeLike for AmoebaMitosis

source§

impl Eq for AmoebaMitosis

source§

impl StructuralPartialEq for AmoebaMitosis

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CheckedConversion for T

§

fn checked_from<T>(t: T) -> Option<Self>
where Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
§

fn checked_into<T>(self) -> Option<T>
where - Self: TryInto<T>,

Consume self to return Some equivalent value of Option<T>. Read more
§

impl<T, V> ConstraintChecker<V> for T
where - T: SimpleConstraintChecker,

§

type Error = <T as SimpleConstraintChecker>::Error

The error type that this constraint checker may return
§

type InherentHooks = ()

Optional Associated Inherent processing logic. If this transaction type is not an inherent, use (). -If it is an inherent, use Self, and implement the TuxedoInherent trait.
§

fn check( + Self: TryInto<T>,

Consume self to return Some equivalent value of Option<T>. Read more
§

impl<T> ConstraintChecker for T
where + T: SimpleConstraintChecker,

§

type Error = <T as SimpleConstraintChecker>::Error

The error type that this constraint checker may return
§

fn check( &self, - inputs: &[Output<V>], - peeks: &[Output<V>], - outputs: &[Output<V>] -) -> Result<u64, <T as ConstraintChecker<V>>::Error>

The actual check validation logic
§

fn is_inherent(&self) -> bool

Tells whether this extrinsic is an inherent or not. -If you return true here, you must provide the correct inherent hooks above.
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where + input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], + peek_data: &[DynamicallyTypedData], + output_data: &[DynamicallyTypedData] +) -> Result<u64, <T as ConstraintChecker>::Error>

The on chain logic that makes the final check for whether a transaction is valid.
§

fn is_inherent(&self) -> bool

Tells whether this extrinsic is an inherent or not. +If you return true here, you must provide the correct inherent hooks above.
§

fn create_inherents<V>( + _authoring_inherent_data: &InherentData, + _previous_inherents: Vec<(Transaction<V, T>, H256)> +) -> Vec<Transaction<V, T>>

Create the inherent extrinsics to insert into a block that is being authored locally. +The inherent data is supplied by the authoring node.
§

fn check_inherents<V>( + _: &InherentData, + inherents: Vec<Transaction<V, T>>, + _: &mut CheckInherentsResult +)

Perform off-chain pre-execution checks on the inherents. +The inherent data is supplied by the importing node. +The inherent data available here is not necessarily the +same as what is available at authoring time.
§

fn genesis_transactions<V>() -> Vec<Transaction<V, T>>

Return the genesis transactions that are required for the inherents.
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
§

impl<T> DecodeAll for T
where T: Decode,

§

fn decode_all(input: &mut &[u8]) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

impl<T> DecodeLimit for T
where T: Decode,

§

fn decode_all_with_depth_limit( @@ -49,8 +58,8 @@ input: &mut &[u8] ) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
where I: Input,

Decode Self with the given maximum recursion depth and advance input by the number of -bytes consumed. Read more
source§

impl<T> DynClone for T
where - T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where +bytes consumed. Read more

source§

impl<T> DynClone for T
where + T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, @@ -73,14 +82,21 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -151,9 +167,9 @@ T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where @@ -161,8 +177,8 @@ S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<S> Codec for S
where - S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where + S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where T: Encode,

§

impl<T> EncodeLike<&T> for T
where T: Encode,

§

impl<T> EncodeLike<&mut T> for T
where T: Encode,

§

impl<T> EncodeLike<Arc<T>> for T
where @@ -174,7 +190,7 @@ S: Encode + EncodeLike,

§

impl<T> JsonSchemaMaybe for T

§

impl<T> MaybeDebug for T
where T: Debug,

§

impl<T> MaybeRefUnwindSafe for T
where T: RefUnwindSafe,

§

impl<T> MaybeSerialize for T
where - T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where + T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

§

impl<T> StaticTypeInfo for T
where T: TypeInfo + 'static,

\ No newline at end of file diff --git a/crates.js b/crates.js index 6d5b27082..ae8c39e23 100644 --- a/crates.js +++ b/crates.js @@ -1 +1 @@ -window.ALL_CRATES = ["aggregator","amoeba","derive_no_bound","kitties","money","node_template","parachain_piece","parachain_template_node","poe","runtime_upgrade","timestamp","tuxedo_core","tuxedo_parachain_core","tuxedo_register_validate_block","tuxedo_template_runtime","tuxedo_template_wallet"]; \ No newline at end of file +window.ALL_CRATES = ["aggregator","amoeba","derive_no_bound","kitties","money","node_template","parachain_piece","parachain_template_node","poe","runtime_upgrade","timestamp","tuxedo_core","tuxedo_parachain_core","tuxedo_parachain_runtime","tuxedo_parachainify","tuxedo_template_runtime","tuxedo_template_wallet"]; \ No newline at end of file diff --git a/derive_no_bound/all.html b/derive_no_bound/all.html index 8fb96964e..ecbefe50b 100644 --- a/derive_no_bound/all.html +++ b/derive_no_bound/all.html @@ -1,2 +1 @@ -List of all items in this crate -

List of all items

Derive Macros

\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/derive_no_bound/derive.CloneNoBound.html b/derive_no_bound/derive.CloneNoBound.html index 7646aeaf8..8c6ae4324 100644 --- a/derive_no_bound/derive.CloneNoBound.html +++ b/derive_no_bound/derive.CloneNoBound.html @@ -1,3 +1,2 @@ -CloneNoBound in derive_no_bound - Rust -

Derive Macro derive_no_bound::CloneNoBound

source ·
#[derive(CloneNoBound)]
Expand description

Derive Clone but do not bound any generic. Docs are at frame_support::CloneNoBound.

+CloneNoBound in derive_no_bound - Rust

Derive Macro derive_no_bound::CloneNoBound

source ·
#[derive(CloneNoBound)]
Expand description

Derive Clone but do not bound any generic. Docs are at frame_support::CloneNoBound.

\ No newline at end of file diff --git a/derive_no_bound/derive.DebugNoBound.html b/derive_no_bound/derive.DebugNoBound.html index 258f6c9b8..9155b64e0 100644 --- a/derive_no_bound/derive.DebugNoBound.html +++ b/derive_no_bound/derive.DebugNoBound.html @@ -1,3 +1,2 @@ -DebugNoBound in derive_no_bound - Rust -

Derive Macro derive_no_bound::DebugNoBound

source ·
#[derive(DebugNoBound)]
Expand description

Derive Debug but do not bound any generics. Docs are at frame_support::DebugNoBound.

+DebugNoBound in derive_no_bound - Rust

Derive Macro derive_no_bound::DebugNoBound

source ·
#[derive(DebugNoBound)]
Expand description

Derive Debug but do not bound any generics. Docs are at frame_support::DebugNoBound.

\ No newline at end of file diff --git a/derive_no_bound/derive.DefaultNoBound.html b/derive_no_bound/derive.DefaultNoBound.html index bed37a03e..6ab206651 100644 --- a/derive_no_bound/derive.DefaultNoBound.html +++ b/derive_no_bound/derive.DefaultNoBound.html @@ -1,5 +1,4 @@ -DefaultNoBound in derive_no_bound - Rust -

Derive Macro derive_no_bound::DefaultNoBound

source ·
#[derive(DefaultNoBound)]
+DefaultNoBound in derive_no_bound - Rust

Derive Macro derive_no_bound::DefaultNoBound

source ·
#[derive(DefaultNoBound)]
 {
     // Attributes available to this derive:
     #[default]
diff --git a/derive_no_bound/index.html b/derive_no_bound/index.html
index 80ba627ab..692092b40 100644
--- a/derive_no_bound/index.html
+++ b/derive_no_bound/index.html
@@ -1,5 +1,3 @@
-derive_no_bound - Rust
-    

Crate derive_no_bound

source ·
Expand description

Macros to derive common traits without bounds

+derive_no_bound - Rust

Crate derive_no_bound

source ·
Expand description

Macros to derive common traits without bounds

Copied from frame support

Derive Macros§

  • Derive Clone but do not bound any generic. Docs are at frame_support::CloneNoBound.
  • Derive Debug but do not bound any generics. Docs are at frame_support::DebugNoBound.
  • derive Default but do no bound any generic. Docs are at frame_support::DefaultNoBound.
\ No newline at end of file diff --git a/help.html b/help.html index f9222b7e0..057db8f8d 100644 --- a/help.html +++ b/help.html @@ -1,2 +1 @@ -Help -

Rustdoc help

Back
\ No newline at end of file +Help

Rustdoc help

Back
\ No newline at end of file diff --git a/kitties/all.html b/kitties/all.html index f218d75bb..8cf993d43 100644 --- a/kitties/all.html +++ b/kitties/all.html @@ -1,2 +1 @@ -List of all items in this crate -
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/kitties/enum.ConstraintCheckerError.html b/kitties/enum.ConstraintCheckerError.html index 4f9d13864..c65310cc1 100644 --- a/kitties/enum.ConstraintCheckerError.html +++ b/kitties/enum.ConstraintCheckerError.html @@ -1,6 +1,6 @@ -ConstraintCheckerError in kitties - Rust -
pub enum ConstraintCheckerError {
-
Show 19 variants BadlyTyped, +ConstraintCheckerError in kitties - Rust

Enum kitties::ConstraintCheckerError

source ·
pub enum ConstraintCheckerError {
+
Show 20 variants BadlyTyped, + NoEvictionsAllowed, MinimumSpendAndBreedNotMet, TwoParentsDoNotExist, NotEnoughFamilyMembers, @@ -21,6 +21,7 @@ NotEnoughFreeBreedings,
}

Variants§

§

BadlyTyped

Dynamic typing issue. This error doesn’t discriminate between badly typed inputs and outputs.

+
§

NoEvictionsAllowed

The Kitties piece does not allow any evictions at all.

§

MinimumSpendAndBreedNotMet

Needed when spending for breeding.

§

TwoParentsDoNotExist

Need two parents to breed.

§

NotEnoughFamilyMembers

Incorrect number of outputs when it comes to breeding.

@@ -46,25 +47,23 @@ dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>
where I: Input,
Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
§

fn skip<I>(input: &mut I) -> Result<(), Error>
where - I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl<'de> Deserialize<'de> for ConstraintCheckerError

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Encode for ConstraintCheckerError

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl<'de> Deserialize<'de> for ConstraintCheckerError

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Encode for ConstraintCheckerError

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )

Convert self to a slice and append it to the destination.
§

fn encode(&self) -> Vec<u8>

Convert self to an owned vector.
§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl Hash for ConstraintCheckerError

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for ConstraintCheckerError

source§

fn cmp(&self, other: &ConstraintCheckerError) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where - Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where - Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for ConstraintCheckerError

source§

fn cmp(&self, other: &ConstraintCheckerError) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where + Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where + Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for ConstraintCheckerError

source§

fn eq(&self, other: &ConstraintCheckerError) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for ConstraintCheckerError

source§

fn partial_cmp(&self, other: &ConstraintCheckerError) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= -operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
source§

impl Serialize for ConstraintCheckerError

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl TypeInfo for ConstraintCheckerError

§

type Identity = ConstraintCheckerError

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl EncodeLike for ConstraintCheckerError

source§

impl Eq for ConstraintCheckerError

source§

impl StructuralPartialEq for ConstraintCheckerError

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where - T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where - T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where +by ==.

1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for ConstraintCheckerError

source§

fn partial_cmp(&self, other: &ConstraintCheckerError) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= +operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= +operator. Read more
source§

impl Serialize for ConstraintCheckerError

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl TypeInfo for ConstraintCheckerError

§

type Identity = ConstraintCheckerError

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl EncodeLike for ConstraintCheckerError

source§

impl Eq for ConstraintCheckerError

source§

impl StructuralPartialEq for ConstraintCheckerError

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CallHasher for T
where T: Hash + ?Sized,

§

default fn get_hash<H, B>(value: &H, build_hasher: &B) -> u64
where @@ -81,8 +80,8 @@ input: &mut &[u8] ) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
where I: Input,

Decode Self with the given maximum recursion depth and advance input by the number of -bytes consumed. Read more
source§

impl<T> DynClone for T
where - T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where +bytes consumed. Read more

source§

impl<T> DynClone for T
where + T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, @@ -105,14 +104,21 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -183,9 +189,9 @@ T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where @@ -193,8 +199,8 @@ S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<S> Codec for S
where - S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where + S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where T: Encode,

§

impl<T> EncodeLike<&T> for T
where T: Encode,

§

impl<T> EncodeLike<&mut T> for T
where T: Encode,

§

impl<T> EncodeLike<Arc<T>> for T
where @@ -209,8 +215,7 @@ T: Hash,

§

impl<T> MaybeHash for T
where T: Hash,

§

impl<T> MaybeRefUnwindSafe for T
where T: RefUnwindSafe,

§

impl<T> MaybeSerialize for T
where - T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where - T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

§

impl<T> Sequence for T
where - T: Eq + Hash,

§

impl<T> StaticTypeInfo for T
where + T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where + T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

§

impl<T> StaticTypeInfo for T
where T: TypeInfo + 'static,

\ No newline at end of file diff --git a/kitties/enum.DadKittyStatus.html b/kitties/enum.DadKittyStatus.html index d97fe2bd5..4d543f43c 100644 --- a/kitties/enum.DadKittyStatus.html +++ b/kitties/enum.DadKittyStatus.html @@ -1,5 +1,4 @@ -DadKittyStatus in kitties - Rust -
pub enum DadKittyStatus {
+DadKittyStatus in kitties - Rust

Enum kitties::DadKittyStatus

source ·
pub enum DadKittyStatus {
     RearinToGo,
     Tired,
 }

Variants§

§

RearinToGo

§

Tired

Trait Implementations§

source§

impl Clone for DadKittyStatus

source§

fn clone(&self) -> DadKittyStatus

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for DadKittyStatus

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Decode for DadKittyStatus

source§

fn decode<__CodecInputEdqy: Input>( @@ -9,25 +8,23 @@ dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>
where I: Input,

Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
§

fn skip<I>(input: &mut I) -> Result<(), Error>
where - I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl Default for DadKittyStatus

source§

fn default() -> DadKittyStatus

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for DadKittyStatus

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Encode for DadKittyStatus

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl Default for DadKittyStatus

source§

fn default() -> DadKittyStatus

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for DadKittyStatus

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Encode for DadKittyStatus

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )

Convert self to a slice and append it to the destination.
§

fn encode(&self) -> Vec<u8>

Convert self to an owned vector.
§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl Hash for DadKittyStatus

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for DadKittyStatus

source§

fn cmp(&self, other: &DadKittyStatus) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where - Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where - Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for DadKittyStatus

source§

fn cmp(&self, other: &DadKittyStatus) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where + Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where + Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for DadKittyStatus

source§

fn eq(&self, other: &DadKittyStatus) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for DadKittyStatus

source§

fn partial_cmp(&self, other: &DadKittyStatus) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= -operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
source§

impl Serialize for DadKittyStatus

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl TypeInfo for DadKittyStatus

§

type Identity = DadKittyStatus

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl EncodeLike for DadKittyStatus

source§

impl Eq for DadKittyStatus

source§

impl StructuralPartialEq for DadKittyStatus

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where - T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where - T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where +by ==.

1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for DadKittyStatus

source§

fn partial_cmp(&self, other: &DadKittyStatus) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= +operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= +operator. Read more
source§

impl Serialize for DadKittyStatus

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl TypeInfo for DadKittyStatus

§

type Identity = DadKittyStatus

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl EncodeLike for DadKittyStatus

source§

impl Eq for DadKittyStatus

source§

impl StructuralPartialEq for DadKittyStatus

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CallHasher for T
where T: Hash + ?Sized,

§

default fn get_hash<H, B>(value: &H, build_hasher: &B) -> u64
where @@ -45,8 +42,8 @@ input: &mut &[u8] ) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
where I: Input,

Decode Self with the given maximum recursion depth and advance input by the number of -bytes consumed. Read more
source§

impl<T> DynClone for T
where - T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where +bytes consumed. Read more

source§

impl<T> DynClone for T
where + T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, @@ -69,14 +66,21 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -147,9 +151,9 @@ T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where @@ -157,8 +161,8 @@ S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<S> Codec for S
where - S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where + S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where T: Encode,

§

impl<T> EncodeLike<&T> for T
where T: Encode,

§

impl<T> EncodeLike<&mut T> for T
where T: Encode,

§

impl<T> EncodeLike<Arc<T>> for T
where @@ -173,8 +177,7 @@ T: Hash,

§

impl<T> MaybeHash for T
where T: Hash,

§

impl<T> MaybeRefUnwindSafe for T
where T: RefUnwindSafe,

§

impl<T> MaybeSerialize for T
where - T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where - T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

§

impl<T> Sequence for T
where - T: Eq + Hash,

§

impl<T> StaticTypeInfo for T
where + T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where + T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

§

impl<T> StaticTypeInfo for T
where T: TypeInfo + 'static,

\ No newline at end of file diff --git a/kitties/enum.MomKittyStatus.html b/kitties/enum.MomKittyStatus.html index a0ba12180..2e16293ea 100644 --- a/kitties/enum.MomKittyStatus.html +++ b/kitties/enum.MomKittyStatus.html @@ -1,5 +1,4 @@ -MomKittyStatus in kitties - Rust -
pub enum MomKittyStatus {
+MomKittyStatus in kitties - Rust

Enum kitties::MomKittyStatus

source ·
pub enum MomKittyStatus {
     RearinToGo,
     HadBirthRecently,
 }

Variants§

§

RearinToGo

§

HadBirthRecently

Trait Implementations§

source§

impl Clone for MomKittyStatus

source§

fn clone(&self) -> MomKittyStatus

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MomKittyStatus

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Decode for MomKittyStatus

source§

fn decode<__CodecInputEdqy: Input>( @@ -9,25 +8,23 @@ dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>
where I: Input,

Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
§

fn skip<I>(input: &mut I) -> Result<(), Error>
where - I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl Default for MomKittyStatus

source§

fn default() -> MomKittyStatus

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MomKittyStatus

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Encode for MomKittyStatus

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl Default for MomKittyStatus

source§

fn default() -> MomKittyStatus

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MomKittyStatus

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Encode for MomKittyStatus

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )

Convert self to a slice and append it to the destination.
§

fn encode(&self) -> Vec<u8>

Convert self to an owned vector.
§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl Hash for MomKittyStatus

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for MomKittyStatus

source§

fn cmp(&self, other: &MomKittyStatus) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where - Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where - Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for MomKittyStatus

source§

fn cmp(&self, other: &MomKittyStatus) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where + Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where + Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for MomKittyStatus

source§

fn eq(&self, other: &MomKittyStatus) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for MomKittyStatus

source§

fn partial_cmp(&self, other: &MomKittyStatus) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= -operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
source§

impl Serialize for MomKittyStatus

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl TypeInfo for MomKittyStatus

§

type Identity = MomKittyStatus

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl EncodeLike for MomKittyStatus

source§

impl Eq for MomKittyStatus

source§

impl StructuralPartialEq for MomKittyStatus

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where - T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where - T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where +by ==.

1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for MomKittyStatus

source§

fn partial_cmp(&self, other: &MomKittyStatus) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= +operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= +operator. Read more
source§

impl Serialize for MomKittyStatus

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl TypeInfo for MomKittyStatus

§

type Identity = MomKittyStatus

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl EncodeLike for MomKittyStatus

source§

impl Eq for MomKittyStatus

source§

impl StructuralPartialEq for MomKittyStatus

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CallHasher for T
where T: Hash + ?Sized,

§

default fn get_hash<H, B>(value: &H, build_hasher: &B) -> u64
where @@ -45,8 +42,8 @@ input: &mut &[u8] ) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
where I: Input,

Decode Self with the given maximum recursion depth and advance input by the number of -bytes consumed. Read more
source§

impl<T> DynClone for T
where - T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where +bytes consumed. Read more

source§

impl<T> DynClone for T
where + T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, @@ -69,14 +66,21 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -147,9 +151,9 @@ T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where @@ -157,8 +161,8 @@ S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<S> Codec for S
where - S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where + S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where T: Encode,

§

impl<T> EncodeLike<&T> for T
where T: Encode,

§

impl<T> EncodeLike<&mut T> for T
where T: Encode,

§

impl<T> EncodeLike<Arc<T>> for T
where @@ -173,8 +177,7 @@ T: Hash,

§

impl<T> MaybeHash for T
where T: Hash,

§

impl<T> MaybeRefUnwindSafe for T
where T: RefUnwindSafe,

§

impl<T> MaybeSerialize for T
where - T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where - T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

§

impl<T> Sequence for T
where - T: Eq + Hash,

§

impl<T> StaticTypeInfo for T
where + T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where + T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

§

impl<T> StaticTypeInfo for T
where T: TypeInfo + 'static,

\ No newline at end of file diff --git a/kitties/enum.Parent.html b/kitties/enum.Parent.html index 3b3419102..c3f9921f4 100644 --- a/kitties/enum.Parent.html +++ b/kitties/enum.Parent.html @@ -1,5 +1,4 @@ -Parent in kitties - Rust -

Enum kitties::Parent

source ·
pub enum Parent {
+Parent in kitties - Rust

Enum kitties::Parent

source ·
pub enum Parent {
     Mom(MomKittyStatus),
     Dad(DadKittyStatus),
 }

Variants§

Implementations§

source§

impl Parent

source

pub fn dad() -> Self

source

pub fn mom() -> Self

Trait Implementations§

source§

impl Clone for Parent

source§

fn clone(&self) -> Parent

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Parent

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Decode for Parent

source§

fn decode<__CodecInputEdqy: Input>( @@ -9,25 +8,23 @@ dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>
where I: Input,

Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
§

fn skip<I>(input: &mut I) -> Result<(), Error>
where - I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl Default for Parent

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for Parent

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Encode for Parent

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl Default for Parent

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for Parent

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Encode for Parent

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )

Convert self to a slice and append it to the destination.
§

fn encode(&self) -> Vec<u8>

Convert self to an owned vector.
§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl Hash for Parent

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for Parent

source§

fn cmp(&self, other: &Parent) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where - Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where - Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for Parent

source§

fn cmp(&self, other: &Parent) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where + Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where + Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for Parent

source§

fn eq(&self, other: &Parent) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for Parent

source§

fn partial_cmp(&self, other: &Parent) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= -operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
source§

impl Serialize for Parent

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl TypeInfo for Parent

§

type Identity = Parent

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl EncodeLike for Parent

source§

impl Eq for Parent

source§

impl StructuralPartialEq for Parent

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where - T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where - T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where +by ==.

1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for Parent

source§

fn partial_cmp(&self, other: &Parent) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= +operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= +operator. Read more
source§

impl Serialize for Parent

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl TypeInfo for Parent

§

type Identity = Parent

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl EncodeLike for Parent

source§

impl Eq for Parent

source§

impl StructuralPartialEq for Parent

Auto Trait Implementations§

§

impl Freeze for Parent

§

impl RefUnwindSafe for Parent

§

impl Send for Parent

§

impl Sync for Parent

§

impl Unpin for Parent

§

impl UnwindSafe for Parent

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CallHasher for T
where T: Hash + ?Sized,

§

default fn get_hash<H, B>(value: &H, build_hasher: &B) -> u64
where @@ -45,8 +42,8 @@ input: &mut &[u8] ) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
where I: Input,

Decode Self with the given maximum recursion depth and advance input by the number of -bytes consumed. Read more
source§

impl<T> DynClone for T
where - T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where +bytes consumed. Read more

source§

impl<T> DynClone for T
where + T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, @@ -69,14 +66,21 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -147,9 +151,9 @@ T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where @@ -157,8 +161,8 @@ S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<S> Codec for S
where - S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where + S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where T: Encode,

§

impl<T> EncodeLike<&T> for T
where T: Encode,

§

impl<T> EncodeLike<&mut T> for T
where T: Encode,

§

impl<T> EncodeLike<Arc<T>> for T
where @@ -173,8 +177,7 @@ T: Hash,

§

impl<T> MaybeHash for T
where T: Hash,

§

impl<T> MaybeRefUnwindSafe for T
where T: RefUnwindSafe,

§

impl<T> MaybeSerialize for T
where - T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where - T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

§

impl<T> Sequence for T
where - T: Eq + Hash,

§

impl<T> StaticTypeInfo for T
where + T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where + T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

§

impl<T> StaticTypeInfo for T
where T: TypeInfo + 'static,

\ No newline at end of file diff --git a/kitties/index.html b/kitties/index.html index 79d06054d..f5b1dcdd9 100644 --- a/kitties/index.html +++ b/kitties/index.html @@ -1,6 +1,4 @@ -kitties - Rust -

Crate kitties

source ·
Expand description

An NFT game inspired by cryptokitties. +kitties - Rust

Crate kitties

source ·
Expand description

An NFT game inspired by cryptokitties. This is a game which allows for kitties to be bred based on a few factors 1.) Mom and Tired have to be in a state where they are ready to breed 2.) Each Mom and Dad have some DNA and the child will have unique DNA combined from the both of them diff --git a/kitties/struct.FreeKittyConstraintChecker.html b/kitties/struct.FreeKittyConstraintChecker.html index b4a9771e7..0f07cc1fc 100644 --- a/kitties/struct.FreeKittyConstraintChecker.html +++ b/kitties/struct.FreeKittyConstraintChecker.html @@ -1,38 +1,36 @@ -FreeKittyConstraintChecker in kitties - Rust

-
pub struct FreeKittyConstraintChecker;

Trait Implementations§

source§

impl Clone for FreeKittyConstraintChecker

source§

fn clone(&self) -> FreeKittyConstraintChecker

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for FreeKittyConstraintChecker

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Decode for FreeKittyConstraintChecker

source§

fn decode<__CodecInputEdqy: Input>( +FreeKittyConstraintChecker in kitties - Rust

Struct kitties::FreeKittyConstraintChecker

source ·
pub struct FreeKittyConstraintChecker;

Trait Implementations§

source§

impl Clone for FreeKittyConstraintChecker

source§

fn clone(&self) -> FreeKittyConstraintChecker

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for FreeKittyConstraintChecker

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Decode for FreeKittyConstraintChecker

source§

fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Self, Error>

Attempt to deserialise the value from input.
§

fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>
where I: Input,

Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
§

fn skip<I>(input: &mut I) -> Result<(), Error>
where - I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl<'de> Deserialize<'de> for FreeKittyConstraintChecker

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Encode for FreeKittyConstraintChecker

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl<'de> Deserialize<'de> for FreeKittyConstraintChecker

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Encode for FreeKittyConstraintChecker

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )

Convert self to a slice and append it to the destination.
§

fn encode(&self) -> Vec<u8>

Convert self to an owned vector.
§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl Hash for FreeKittyConstraintChecker

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for FreeKittyConstraintChecker

source§

fn cmp(&self, other: &FreeKittyConstraintChecker) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where - Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where - Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for FreeKittyConstraintChecker

source§

fn cmp(&self, other: &FreeKittyConstraintChecker) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where + Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where + Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for FreeKittyConstraintChecker

source§

fn eq(&self, other: &FreeKittyConstraintChecker) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for FreeKittyConstraintChecker

source§

fn partial_cmp(&self, other: &FreeKittyConstraintChecker) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= -operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
source§

impl Serialize for FreeKittyConstraintChecker

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl SimpleConstraintChecker for FreeKittyConstraintChecker

source§

fn check( +by ==.

1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for FreeKittyConstraintChecker

source§

fn partial_cmp(&self, other: &FreeKittyConstraintChecker) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= +operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= +operator. Read more
source§

impl Serialize for FreeKittyConstraintChecker

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl SimpleConstraintChecker for FreeKittyConstraintChecker

source§

fn check( &self, input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], _peeks: &[DynamicallyTypedData], output_data: &[DynamicallyTypedData] ) -> Result<TransactionPriority, Self::Error>

Checks: - input_data is of length 2 - output_data is of length 3

-
§

type Error = ConstraintCheckerError

The error type that this constraint checker may return
source§

impl TypeInfo for FreeKittyConstraintChecker

§

type Identity = FreeKittyConstraintChecker

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl EncodeLike for FreeKittyConstraintChecker

source§

impl Eq for FreeKittyConstraintChecker

source§

impl StructuralPartialEq for FreeKittyConstraintChecker

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where - T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where - T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where +

§

type Error = ConstraintCheckerError

The error type that this constraint checker may return
source§

impl TypeInfo for FreeKittyConstraintChecker

§

type Identity = FreeKittyConstraintChecker

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl EncodeLike for FreeKittyConstraintChecker

source§

impl Eq for FreeKittyConstraintChecker

source§

impl StructuralPartialEq for FreeKittyConstraintChecker

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CallHasher for T
where T: Hash + ?Sized,

§

default fn get_hash<H, B>(value: &H, build_hasher: &B) -> u64
where @@ -41,15 +39,26 @@ Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
§

fn checked_into<T>(self) -> Option<T>
where Self: TryInto<T>,

Consume self to return Some equivalent value of Option<T>. Read more
§

impl<Q, K> Comparable<K> for Q
where Q: Ord + ?Sized, - K: Borrow<Q> + ?Sized,

§

fn compare(&self, key: &K) -> Ordering

Compare self to key and return their ordering.
§

impl<T, V> ConstraintChecker<V> for T
where - T: SimpleConstraintChecker,

§

type Error = <T as SimpleConstraintChecker>::Error

The error type that this constraint checker may return
§

type InherentHooks = ()

Optional Associated Inherent processing logic. If this transaction type is not an inherent, use (). -If it is an inherent, use Self, and implement the TuxedoInherent trait.
§

fn check( + K: Borrow<Q> + ?Sized,

§

fn compare(&self, key: &K) -> Ordering

Compare self to key and return their ordering.
§

impl<T> ConstraintChecker for T
where + T: SimpleConstraintChecker,

§

type Error = <T as SimpleConstraintChecker>::Error

The error type that this constraint checker may return
§

fn check( &self, - inputs: &[Output<V>], - peeks: &[Output<V>], - outputs: &[Output<V>] -) -> Result<u64, <T as ConstraintChecker<V>>::Error>

The actual check validation logic
§

fn is_inherent(&self) -> bool

Tells whether this extrinsic is an inherent or not. -If you return true here, you must provide the correct inherent hooks above.
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where + input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], + peek_data: &[DynamicallyTypedData], + output_data: &[DynamicallyTypedData] +) -> Result<u64, <T as ConstraintChecker>::Error>

The on chain logic that makes the final check for whether a transaction is valid.
§

fn is_inherent(&self) -> bool

Tells whether this extrinsic is an inherent or not. +If you return true here, you must provide the correct inherent hooks above.
§

fn create_inherents<V>( + _authoring_inherent_data: &InherentData, + _previous_inherents: Vec<(Transaction<V, T>, H256)> +) -> Vec<Transaction<V, T>>

Create the inherent extrinsics to insert into a block that is being authored locally. +The inherent data is supplied by the authoring node.
§

fn check_inherents<V>( + _: &InherentData, + inherents: Vec<Transaction<V, T>>, + _: &mut CheckInherentsResult +)

Perform off-chain pre-execution checks on the inherents. +The inherent data is supplied by the importing node. +The inherent data available here is not necessarily the +same as what is available at authoring time.
§

fn genesis_transactions<V>() -> Vec<Transaction<V, T>>

Return the genesis transactions that are required for the inherents.
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
§

impl<T> DecodeAll for T
where T: Decode,

§

fn decode_all(input: &mut &[u8]) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

impl<T> DecodeLimit for T
where T: Decode,

§

fn decode_all_with_depth_limit( @@ -57,8 +66,8 @@ input: &mut &[u8] ) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
where I: Input,

Decode Self with the given maximum recursion depth and advance input by the number of -bytes consumed. Read more
source§

impl<T> DynClone for T
where - T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where +bytes consumed. Read more

source§

impl<T> DynClone for T
where + T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, @@ -81,14 +90,21 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -159,9 +175,9 @@ T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where @@ -169,8 +185,8 @@ S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<S> Codec for S
where - S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where + S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where T: Encode,

§

impl<T> EncodeLike<&T> for T
where T: Encode,

§

impl<T> EncodeLike<&mut T> for T
where T: Encode,

§

impl<T> EncodeLike<Arc<T>> for T
where @@ -185,8 +201,7 @@ T: Hash,

§

impl<T> MaybeHash for T
where T: Hash,

§

impl<T> MaybeRefUnwindSafe for T
where T: RefUnwindSafe,

§

impl<T> MaybeSerialize for T
where - T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where - T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

§

impl<T> Sequence for T
where - T: Eq + Hash,

§

impl<T> StaticTypeInfo for T
where + T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where + T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

§

impl<T> StaticTypeInfo for T
where T: TypeInfo + 'static,

\ No newline at end of file diff --git a/kitties/struct.KittyDNA.html b/kitties/struct.KittyDNA.html index fdd7dd4d5..679807e16 100644 --- a/kitties/struct.KittyDNA.html +++ b/kitties/struct.KittyDNA.html @@ -1,13 +1,12 @@ -KittyDNA in kitties - Rust -

Struct kitties::KittyDNA

source ·
pub struct KittyDNA(pub H256);

Tuple Fields§

§0: H256

Trait Implementations§

source§

impl Clone for KittyDNA

source§

fn clone(&self) -> KittyDNA

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for KittyDNA

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Decode for KittyDNA

source§

fn decode<__CodecInputEdqy: Input>( +KittyDNA in kitties - Rust

Struct kitties::KittyDNA

source ·
pub struct KittyDNA(pub H256);

Tuple Fields§

§0: H256

Trait Implementations§

source§

impl Clone for KittyDNA

source§

fn clone(&self) -> KittyDNA

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for KittyDNA

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Decode for KittyDNA

source§

fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Self, Error>

Attempt to deserialise the value from input.
§

fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>
where I: Input,

Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
§

fn skip<I>(input: &mut I) -> Result<(), Error>
where - I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl Default for KittyDNA

source§

fn default() -> KittyDNA

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for KittyDNA

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Encode for KittyDNA

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl Default for KittyDNA

source§

fn default() -> KittyDNA

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for KittyDNA

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Encode for KittyDNA

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )

Convert self to a slice and append it to the destination.
source§

fn encode(&self) -> Vec<u8>

Convert self to an owned vector.
source§

fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback: FnOnce(&[u8]) -> __CodecOutputReturn>( @@ -15,18 +14,16 @@ f: __CodecUsingEncodedCallback ) -> __CodecOutputReturn

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl Hash for KittyDNA

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for KittyDNA

source§

fn cmp(&self, other: &KittyDNA) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where - Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where - Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for KittyDNA

source§

fn cmp(&self, other: &KittyDNA) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where + Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where + Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for KittyDNA

source§

fn eq(&self, other: &KittyDNA) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for KittyDNA

source§

fn partial_cmp(&self, other: &KittyDNA) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= -operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
source§

impl Serialize for KittyDNA

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl TypeInfo for KittyDNA

§

type Identity = KittyDNA

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl EncodeLike for KittyDNA

source§

impl Eq for KittyDNA

source§

impl StructuralPartialEq for KittyDNA

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where - T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where - T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where +by ==.

1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for KittyDNA

source§

fn partial_cmp(&self, other: &KittyDNA) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= +operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= +operator. Read more
source§

impl Serialize for KittyDNA

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl TypeInfo for KittyDNA

§

type Identity = KittyDNA

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl EncodeLike for KittyDNA

source§

impl Eq for KittyDNA

source§

impl StructuralPartialEq for KittyDNA

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CallHasher for T
where T: Hash + ?Sized,

§

default fn get_hash<H, B>(value: &H, build_hasher: &B) -> u64
where @@ -44,8 +41,8 @@ input: &mut &[u8] ) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
where I: Input,

Decode Self with the given maximum recursion depth and advance input by the number of -bytes consumed. Read more
source§

impl<T> DynClone for T
where - T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where +bytes consumed. Read more

source§

impl<T> DynClone for T
where + T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, @@ -68,14 +65,21 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -146,9 +150,9 @@ T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where @@ -156,8 +160,8 @@ S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<S> Codec for S
where - S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where + S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where T: Encode,

§

impl<T> EncodeLike<&T> for T
where T: Encode,

§

impl<T> EncodeLike<&mut T> for T
where T: Encode,

§

impl<T> EncodeLike<Arc<T>> for T
where @@ -172,8 +176,7 @@ T: Hash,

§

impl<T> MaybeHash for T
where T: Hash,

§

impl<T> MaybeRefUnwindSafe for T
where T: RefUnwindSafe,

§

impl<T> MaybeSerialize for T
where - T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where - T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

§

impl<T> Sequence for T
where - T: Eq + Hash,

§

impl<T> StaticTypeInfo for T
where + T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where + T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

§

impl<T> StaticTypeInfo for T
where T: TypeInfo + 'static,

\ No newline at end of file diff --git a/kitties/struct.KittyData.html b/kitties/struct.KittyData.html index 374aa8e84..8bec8007d 100644 --- a/kitties/struct.KittyData.html +++ b/kitties/struct.KittyData.html @@ -1,5 +1,4 @@ -KittyData in kitties - Rust -

Struct kitties::KittyData

source ·
pub struct KittyData {
+KittyData in kitties - Rust

Struct kitties::KittyData

source ·
pub struct KittyData {
     pub parent: Parent,
     pub free_breedings: u64,
     pub dna: KittyDNA,
@@ -11,7 +10,7 @@
 ) -> Transaction<OV, OC>
where V: Verifier, OV: Verifier + From<V>, - OC: ConstraintChecker<OV> + From<FreeKittyConstraintChecker>,

Create a mint transaction for a single Kitty.

+ OC: ConstraintChecker + From<FreeKittyConstraintChecker>,

Create a mint transaction for a single Kitty.

Trait Implementations§

source§

impl Clone for KittyData

source§

fn clone(&self) -> KittyData

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for KittyData

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Decode for KittyData

source§

fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Self, Error>

Attempt to deserialise the value from input.
§

fn decode_into<I>( @@ -19,26 +18,24 @@ dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>
where I: Input,

Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
§

fn skip<I>(input: &mut I) -> Result<(), Error>
where - I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl Default for KittyData

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for KittyData

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Encode for KittyData

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl Default for KittyData

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for KittyData

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Encode for KittyData

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )

Convert self to a slice and append it to the destination.
§

fn encode(&self) -> Vec<u8>

Convert self to an owned vector.
§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl Hash for KittyData

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for KittyData

source§

fn cmp(&self, other: &KittyData) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where - Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where - Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for KittyData

source§

fn cmp(&self, other: &KittyData) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where + Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where + Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for KittyData

source§

fn eq(&self, other: &KittyData) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for KittyData

source§

fn partial_cmp(&self, other: &KittyData) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= -operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
source§

impl Serialize for KittyData

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl TryFrom<&DynamicallyTypedData> for KittyData

§

type Error = ConstraintCheckerError

The type returned in the event of a conversion error.
source§

fn try_from(a: &DynamicallyTypedData) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl TypeInfo for KittyData

§

type Identity = KittyData

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl UtxoData for KittyData

source§

const TYPE_ID: [u8; 4] = _

A unique identifier for this type. For now choosing this value and making sure it -really is unique is the problem of the developer. Ideally this would be better.
source§

impl EncodeLike for KittyData

source§

impl Eq for KittyData

source§

impl StructuralPartialEq for KittyData

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where - T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where - T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where +by ==.

1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for KittyData

source§

fn partial_cmp(&self, other: &KittyData) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= +operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= +operator. Read more
source§

impl Serialize for KittyData

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl TryFrom<&DynamicallyTypedData> for KittyData

§

type Error = ConstraintCheckerError

The type returned in the event of a conversion error.
source§

fn try_from(a: &DynamicallyTypedData) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl TypeInfo for KittyData

§

type Identity = KittyData

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl UtxoData for KittyData

source§

const TYPE_ID: [u8; 4] = _

A unique identifier for this type. For now choosing this value and making sure it +really is unique is the problem of the developer. Ideally this would be better.
source§

impl EncodeLike for KittyData

source§

impl Eq for KittyData

source§

impl StructuralPartialEq for KittyData

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CallHasher for T
where T: Hash + ?Sized,

§

default fn get_hash<H, B>(value: &H, build_hasher: &B) -> u64
where @@ -56,8 +53,8 @@ input: &mut &[u8] ) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
where I: Input,

Decode Self with the given maximum recursion depth and advance input by the number of -bytes consumed. Read more
source§

impl<T> DynClone for T
where - T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where +bytes consumed. Read more

source§

impl<T> DynClone for T
where + T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, @@ -80,14 +77,21 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -158,9 +162,9 @@ T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where @@ -168,8 +172,8 @@ S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<S> Codec for S
where - S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where + S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where T: Encode,

§

impl<T> EncodeLike<&T> for T
where T: Encode,

§

impl<T> EncodeLike<&mut T> for T
where T: Encode,

§

impl<T> EncodeLike<Arc<T>> for T
where @@ -184,8 +188,7 @@ T: Hash,

§

impl<T> MaybeHash for T
where T: Hash,

§

impl<T> MaybeRefUnwindSafe for T
where T: RefUnwindSafe,

§

impl<T> MaybeSerialize for T
where - T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where - T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

§

impl<T> Sequence for T
where - T: Eq + Hash,

§

impl<T> StaticTypeInfo for T
where + T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where + T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

§

impl<T> StaticTypeInfo for T
where T: TypeInfo + 'static,

\ No newline at end of file diff --git a/kitties/struct.KittyHelpers.html b/kitties/struct.KittyHelpers.html index 821ce1871..e39f8e75c 100644 --- a/kitties/struct.KittyHelpers.html +++ b/kitties/struct.KittyHelpers.html @@ -1,8 +1,5 @@ -KittyHelpers in kitties - Rust -

Struct kitties::KittyHelpers

source ·
pub struct KittyHelpers;

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where - T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where - T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where +KittyHelpers in kitties - Rust

Struct kitties::KittyHelpers

source ·
pub struct KittyHelpers;

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CheckedConversion for T

§

fn checked_from<T>(t: T) -> Option<Self>
where Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
§

fn checked_into<T>(self) -> Option<T>
where @@ -22,14 +19,21 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -98,9 +102,9 @@ Self: DerefMut<Target = T> + Deref, T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where diff --git a/money/all.html b/money/all.html index cdd2bc8a2..3a3383094 100644 --- a/money/all.html +++ b/money/all.html @@ -1,2 +1 @@ -List of all items in this crate -
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/money/enum.ConstraintCheckerError.html b/money/enum.ConstraintCheckerError.html index 6c682cd91..bf95eb434 100644 --- a/money/enum.ConstraintCheckerError.html +++ b/money/enum.ConstraintCheckerError.html @@ -1,6 +1,6 @@ -ConstraintCheckerError in money - Rust -
pub enum ConstraintCheckerError {
+ConstraintCheckerError in money - Rust

Enum money::ConstraintCheckerError

source ·
pub enum ConstraintCheckerError {
     BadlyTyped,
+    NoEvictionsAllowed,
     MintingWithInputs,
     MintingNothing,
     SpendingNothing,
@@ -10,6 +10,7 @@
 }
Expand description

Errors that can occur when checking money transactions.

Variants§

§

BadlyTyped

Dynamic typing issue. This error doesn’t discriminate between badly typed inputs and outputs.

+
§

NoEvictionsAllowed

The Money piece does not allow any evictions at all.

§

MintingWithInputs

The transaction attempts to consume inputs while minting. This is not allowed.

§

MintingNothing

The transaction attempts to mint zero coins. This is not allowed.

§

SpendingNothing

The transaction attempts to spend without consuming any inputs. @@ -28,25 +29,23 @@ dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>

where I: Input,

Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
§

fn skip<I>(input: &mut I) -> Result<(), Error>
where - I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl<'de> Deserialize<'de> for ConstraintCheckerError

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Encode for ConstraintCheckerError

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl<'de> Deserialize<'de> for ConstraintCheckerError

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Encode for ConstraintCheckerError

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )

Convert self to a slice and append it to the destination.
§

fn encode(&self) -> Vec<u8>

Convert self to an owned vector.
§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl Hash for ConstraintCheckerError

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for ConstraintCheckerError

source§

fn cmp(&self, other: &ConstraintCheckerError) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where - Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where - Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for ConstraintCheckerError

source§

fn cmp(&self, other: &ConstraintCheckerError) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where + Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where + Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for ConstraintCheckerError

source§

fn eq(&self, other: &ConstraintCheckerError) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for ConstraintCheckerError

source§

fn partial_cmp(&self, other: &ConstraintCheckerError) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= -operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
source§

impl Serialize for ConstraintCheckerError

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl TypeInfo for ConstraintCheckerError

§

type Identity = ConstraintCheckerError

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl EncodeLike for ConstraintCheckerError

source§

impl Eq for ConstraintCheckerError

source§

impl StructuralPartialEq for ConstraintCheckerError

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where - T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where - T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where +by ==.

1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for ConstraintCheckerError

source§

fn partial_cmp(&self, other: &ConstraintCheckerError) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= +operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= +operator. Read more
source§

impl Serialize for ConstraintCheckerError

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl TypeInfo for ConstraintCheckerError

§

type Identity = ConstraintCheckerError

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl EncodeLike for ConstraintCheckerError

source§

impl Eq for ConstraintCheckerError

source§

impl StructuralPartialEq for ConstraintCheckerError

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CallHasher for T
where T: Hash + ?Sized,

§

default fn get_hash<H, B>(value: &H, build_hasher: &B) -> u64
where @@ -63,8 +62,8 @@ input: &mut &[u8] ) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
where I: Input,

Decode Self with the given maximum recursion depth and advance input by the number of -bytes consumed. Read more
source§

impl<T> DynClone for T
where - T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where +bytes consumed. Read more

source§

impl<T> DynClone for T
where + T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, @@ -87,14 +86,21 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -165,9 +171,9 @@ T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where @@ -175,8 +181,8 @@ S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<S> Codec for S
where - S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where + S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where T: Encode,

§

impl<T> EncodeLike<&T> for T
where T: Encode,

§

impl<T> EncodeLike<&mut T> for T
where T: Encode,

§

impl<T> EncodeLike<Arc<T>> for T
where @@ -191,8 +197,7 @@ T: Hash,

§

impl<T> MaybeHash for T
where T: Hash,

§

impl<T> MaybeRefUnwindSafe for T
where T: RefUnwindSafe,

§

impl<T> MaybeSerialize for T
where - T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where - T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

§

impl<T> Sequence for T
where - T: Eq + Hash,

§

impl<T> StaticTypeInfo for T
where + T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where + T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

§

impl<T> StaticTypeInfo for T
where T: TypeInfo + 'static,

\ No newline at end of file diff --git a/money/enum.MoneyConstraintChecker.html b/money/enum.MoneyConstraintChecker.html index f021e3cac..63c0fbecd 100644 --- a/money/enum.MoneyConstraintChecker.html +++ b/money/enum.MoneyConstraintChecker.html @@ -1,5 +1,4 @@ -MoneyConstraintChecker in money - Rust -
pub enum MoneyConstraintChecker<const ID: u8> {
+MoneyConstraintChecker in money - Rust

Enum money::MoneyConstraintChecker

source ·
pub enum MoneyConstraintChecker<const ID: u8> {
     Spend,
     Mint,
 }
Expand description

The main constraint checker for the money piece. Allows spending and minting tokens.

@@ -16,30 +15,29 @@ dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>
where I: Input,
Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
§

fn skip<I>(input: &mut I) -> Result<(), Error>
where - I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl<'de, const ID: u8> Deserialize<'de> for MoneyConstraintChecker<ID>

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<const ID: u8> Encode for MoneyConstraintChecker<ID>

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl<'de, const ID: u8> Deserialize<'de> for MoneyConstraintChecker<ID>

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<const ID: u8> Encode for MoneyConstraintChecker<ID>

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )

Convert self to a slice and append it to the destination.
§

fn encode(&self) -> Vec<u8>

Convert self to an owned vector.
§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl<const ID: u8> Hash for MoneyConstraintChecker<ID>

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl<const ID: u8> Ord for MoneyConstraintChecker<ID>

source§

fn cmp(&self, other: &MoneyConstraintChecker<ID>) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where - Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where - Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl<const ID: u8> Ord for MoneyConstraintChecker<ID>

source§

fn cmp(&self, other: &MoneyConstraintChecker<ID>) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where + Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where + Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl<const ID: u8> PartialEq for MoneyConstraintChecker<ID>

source§

fn eq(&self, other: &MoneyConstraintChecker<ID>) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl<const ID: u8> PartialOrd for MoneyConstraintChecker<ID>

source§

fn partial_cmp(&self, other: &MoneyConstraintChecker<ID>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= -operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
source§

impl<const ID: u8> Serialize for MoneyConstraintChecker<ID>

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl<const ID: u8> SimpleConstraintChecker for MoneyConstraintChecker<ID>

§

type Error = ConstraintCheckerError

The error type that this constraint checker may return
source§

fn check( +by ==.

1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
source§

impl<const ID: u8> PartialOrd for MoneyConstraintChecker<ID>

source§

fn partial_cmp(&self, other: &MoneyConstraintChecker<ID>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= +operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= +operator. Read more
source§

impl<const ID: u8> Serialize for MoneyConstraintChecker<ID>

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl<const ID: u8> SimpleConstraintChecker for MoneyConstraintChecker<ID>

§

type Error = ConstraintCheckerError

The error type that this constraint checker may return
source§

fn check( &self, input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], _peeks: &[DynamicallyTypedData], output_data: &[DynamicallyTypedData] -) -> Result<TransactionPriority, Self::Error>

The actual check validation logic
source§

impl<const ID: u8> TypeInfo for MoneyConstraintChecker<ID>

§

type Identity = MoneyConstraintChecker<ID>

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl<const ID: u8> EncodeLike for MoneyConstraintChecker<ID>

source§

impl<const ID: u8> Eq for MoneyConstraintChecker<ID>

source§

impl<const ID: u8> StructuralPartialEq for MoneyConstraintChecker<ID>

Auto Trait Implementations§

§

impl<const ID: u8> RefUnwindSafe for MoneyConstraintChecker<ID>

§

impl<const ID: u8> Send for MoneyConstraintChecker<ID>

§

impl<const ID: u8> Sync for MoneyConstraintChecker<ID>

§

impl<const ID: u8> Unpin for MoneyConstraintChecker<ID>

§

impl<const ID: u8> UnwindSafe for MoneyConstraintChecker<ID>

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where - T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where - T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where +) -> Result<TransactionPriority, Self::Error>

The on chain logic that makes the final check for whether a transaction is valid.
source§

impl<const ID: u8> TypeInfo for MoneyConstraintChecker<ID>

§

type Identity = MoneyConstraintChecker<ID>

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl<const ID: u8> EncodeLike for MoneyConstraintChecker<ID>

source§

impl<const ID: u8> Eq for MoneyConstraintChecker<ID>

source§

impl<const ID: u8> StructuralPartialEq for MoneyConstraintChecker<ID>

Auto Trait Implementations§

§

impl<const ID: u8> Freeze for MoneyConstraintChecker<ID>

§

impl<const ID: u8> RefUnwindSafe for MoneyConstraintChecker<ID>

§

impl<const ID: u8> Send for MoneyConstraintChecker<ID>

§

impl<const ID: u8> Sync for MoneyConstraintChecker<ID>

§

impl<const ID: u8> Unpin for MoneyConstraintChecker<ID>

§

impl<const ID: u8> UnwindSafe for MoneyConstraintChecker<ID>

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CallHasher for T
where T: Hash + ?Sized,

§

default fn get_hash<H, B>(value: &H, build_hasher: &B) -> u64
where @@ -48,15 +46,26 @@ Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
§

fn checked_into<T>(self) -> Option<T>
where Self: TryInto<T>,

Consume self to return Some equivalent value of Option<T>. Read more
§

impl<Q, K> Comparable<K> for Q
where Q: Ord + ?Sized, - K: Borrow<Q> + ?Sized,

§

fn compare(&self, key: &K) -> Ordering

Compare self to key and return their ordering.
§

impl<T, V> ConstraintChecker<V> for T
where - T: SimpleConstraintChecker,

§

type Error = <T as SimpleConstraintChecker>::Error

The error type that this constraint checker may return
§

type InherentHooks = ()

Optional Associated Inherent processing logic. If this transaction type is not an inherent, use (). -If it is an inherent, use Self, and implement the TuxedoInherent trait.
§

fn check( + K: Borrow<Q> + ?Sized,

§

fn compare(&self, key: &K) -> Ordering

Compare self to key and return their ordering.
§

impl<T> ConstraintChecker for T
where + T: SimpleConstraintChecker,

§

type Error = <T as SimpleConstraintChecker>::Error

The error type that this constraint checker may return
§

fn check( &self, - inputs: &[Output<V>], - peeks: &[Output<V>], - outputs: &[Output<V>] -) -> Result<u64, <T as ConstraintChecker<V>>::Error>

The actual check validation logic
§

fn is_inherent(&self) -> bool

Tells whether this extrinsic is an inherent or not. -If you return true here, you must provide the correct inherent hooks above.
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where + input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], + peek_data: &[DynamicallyTypedData], + output_data: &[DynamicallyTypedData] +) -> Result<u64, <T as ConstraintChecker>::Error>

The on chain logic that makes the final check for whether a transaction is valid.
§

fn is_inherent(&self) -> bool

Tells whether this extrinsic is an inherent or not. +If you return true here, you must provide the correct inherent hooks above.
§

fn create_inherents<V>( + _authoring_inherent_data: &InherentData, + _previous_inherents: Vec<(Transaction<V, T>, H256)> +) -> Vec<Transaction<V, T>>

Create the inherent extrinsics to insert into a block that is being authored locally. +The inherent data is supplied by the authoring node.
§

fn check_inherents<V>( + _: &InherentData, + inherents: Vec<Transaction<V, T>>, + _: &mut CheckInherentsResult +)

Perform off-chain pre-execution checks on the inherents. +The inherent data is supplied by the importing node. +The inherent data available here is not necessarily the +same as what is available at authoring time.
§

fn genesis_transactions<V>() -> Vec<Transaction<V, T>>

Return the genesis transactions that are required for the inherents.
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
§

impl<T> DecodeAll for T
where T: Decode,

§

fn decode_all(input: &mut &[u8]) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

impl<T> DecodeLimit for T
where T: Decode,

§

fn decode_all_with_depth_limit( @@ -64,8 +73,8 @@ input: &mut &[u8] ) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
where I: Input,

Decode Self with the given maximum recursion depth and advance input by the number of -bytes consumed. Read more
source§

impl<T> DynClone for T
where - T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where +bytes consumed. Read more

source§

impl<T> DynClone for T
where + T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, @@ -88,14 +97,21 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -166,9 +182,9 @@ T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where @@ -176,8 +192,8 @@ S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<S> Codec for S
where - S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where + S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where T: Encode,

§

impl<T> EncodeLike<&T> for T
where T: Encode,

§

impl<T> EncodeLike<&mut T> for T
where T: Encode,

§

impl<T> EncodeLike<Arc<T>> for T
where @@ -192,8 +208,7 @@ T: Hash,

§

impl<T> MaybeHash for T
where T: Hash,

§

impl<T> MaybeRefUnwindSafe for T
where T: RefUnwindSafe,

§

impl<T> MaybeSerialize for T
where - T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where - T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

§

impl<T> Sequence for T
where - T: Eq + Hash,

§

impl<T> StaticTypeInfo for T
where + T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where + T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

§

impl<T> StaticTypeInfo for T
where T: TypeInfo + 'static,

\ No newline at end of file diff --git a/money/index.html b/money/index.html index 76a7a0a06..81d613163 100644 --- a/money/index.html +++ b/money/index.html @@ -1,5 +1,3 @@ -money - Rust -

Crate money

source ·
Expand description

An implementation of a simple fungible token.

+money - Rust

Crate money

source ·
Expand description

An implementation of a simple fungible token.

Structs§

  • A single coin in the fungible money system. A new-type wrapper around a u128 value.

Enums§

\ No newline at end of file diff --git a/money/struct.Coin.html b/money/struct.Coin.html index 4453a6ba5..6e116ea82 100644 --- a/money/struct.Coin.html +++ b/money/struct.Coin.html @@ -1,10 +1,9 @@ -Coin in money - Rust -

Struct money::Coin

source ·
pub struct Coin<const ID: u8>(pub u128);
Expand description

A single coin in the fungible money system. +Coin in money - Rust

Struct money::Coin

source ·
pub struct Coin<const ID: u8>(pub u128);
Expand description

A single coin in the fungible money system. A new-type wrapper around a u128 value.

Tuple Fields§

§0: u128

Implementations§

source§

impl<const ID: u8> Coin<ID>

source

pub fn new(amt: u128) -> Self

source

pub fn mint<V, OV, OC>(amt: u128, v: V) -> Transaction<OV, OC>
where V: Verifier, OV: Verifier + From<V>, - OC: ConstraintChecker<OV> + From<MoneyConstraintChecker<ID>>,

Create a mint transaction for a single Coin.

+ OC: ConstraintChecker + From<MoneyConstraintChecker<ID>>,

Create a mint transaction for a single Coin.

Trait Implementations§

source§

impl<const ID: u8> Cash for Coin<ID>

source§

fn value(&self) -> u128

Get the value of this token.
source§

const ID: u8 = ID

A 1-byte unique identifier for this coin. Might need more than 1 byte eventually…
source§

impl<const ID: u8> Clone for Coin<ID>

source§

fn clone(&self) -> Coin<ID>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<const ID: u8> Debug for Coin<ID>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<const ID: u8> Decode for Coin<ID>

source§

fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy @@ -13,8 +12,8 @@ dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>
where I: Input,

Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
§

fn skip<I>(input: &mut I) -> Result<(), Error>
where - I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl<'de, const ID: u8> Deserialize<'de> for Coin<ID>

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<const ID: u8> Encode for Coin<ID>

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl<'de, const ID: u8> Deserialize<'de> for Coin<ID>

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<const ID: u8> Encode for Coin<ID>

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )

Convert self to a slice and append it to the destination.
source§

fn encode(&self) -> Vec<u8>

Convert self to an owned vector.
source§

fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback: FnOnce(&[u8]) -> __CodecOutputReturn>( @@ -22,19 +21,17 @@ f: __CodecUsingEncodedCallback ) -> __CodecOutputReturn

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl<const ID: u8> Hash for Coin<ID>

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl<const ID: u8> Ord for Coin<ID>

source§

fn cmp(&self, other: &Coin<ID>) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where - Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where - Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl<const ID: u8> Ord for Coin<ID>

source§

fn cmp(&self, other: &Coin<ID>) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where + Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where + Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl<const ID: u8> PartialEq for Coin<ID>

source§

fn eq(&self, other: &Coin<ID>) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl<const ID: u8> PartialOrd for Coin<ID>

source§

fn partial_cmp(&self, other: &Coin<ID>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= -operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
source§

impl<const ID: u8> Serialize for Coin<ID>

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl<const ID: u8> TypeInfo for Coin<ID>

§

type Identity = Coin<ID>

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl<const ID: u8> UtxoData for Coin<ID>

source§

const TYPE_ID: [u8; 4] = _

A unique identifier for this type. For now choosing this value and making sure it -really is unique is the problem of the developer. Ideally this would be better.
source§

impl<const ID: u8> EncodeLike for Coin<ID>

source§

impl<const ID: u8> Eq for Coin<ID>

source§

impl<const ID: u8> StructuralPartialEq for Coin<ID>

Auto Trait Implementations§

§

impl<const ID: u8> RefUnwindSafe for Coin<ID>

§

impl<const ID: u8> Send for Coin<ID>

§

impl<const ID: u8> Sync for Coin<ID>

§

impl<const ID: u8> Unpin for Coin<ID>

§

impl<const ID: u8> UnwindSafe for Coin<ID>

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where - T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where - T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where +by ==.

1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
source§

impl<const ID: u8> PartialOrd for Coin<ID>

source§

fn partial_cmp(&self, other: &Coin<ID>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= +operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= +operator. Read more
source§

impl<const ID: u8> Serialize for Coin<ID>

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl<const ID: u8> TypeInfo for Coin<ID>

§

type Identity = Coin<ID>

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl<const ID: u8> UtxoData for Coin<ID>

source§

const TYPE_ID: [u8; 4] = _

A unique identifier for this type. For now choosing this value and making sure it +really is unique is the problem of the developer. Ideally this would be better.
source§

impl<const ID: u8> EncodeLike for Coin<ID>

source§

impl<const ID: u8> Eq for Coin<ID>

source§

impl<const ID: u8> StructuralPartialEq for Coin<ID>

Auto Trait Implementations§

§

impl<const ID: u8> Freeze for Coin<ID>

§

impl<const ID: u8> RefUnwindSafe for Coin<ID>

§

impl<const ID: u8> Send for Coin<ID>

§

impl<const ID: u8> Sync for Coin<ID>

§

impl<const ID: u8> Unpin for Coin<ID>

§

impl<const ID: u8> UnwindSafe for Coin<ID>

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CallHasher for T
where T: Hash + ?Sized,

§

default fn get_hash<H, B>(value: &H, build_hasher: &B) -> u64
where @@ -51,8 +48,8 @@ input: &mut &[u8] ) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
where I: Input,

Decode Self with the given maximum recursion depth and advance input by the number of -bytes consumed. Read more
source§

impl<T> DynClone for T
where - T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where +bytes consumed. Read more

source§

impl<T> DynClone for T
where + T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, @@ -75,14 +72,21 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -153,9 +157,9 @@ T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where @@ -163,8 +167,8 @@ S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<S> Codec for S
where - S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where + S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where T: Encode,

§

impl<T> EncodeLike<&T> for T
where T: Encode,

§

impl<T> EncodeLike<&mut T> for T
where T: Encode,

§

impl<T> EncodeLike<Arc<T>> for T
where @@ -179,8 +183,7 @@ T: Hash,

§

impl<T> MaybeHash for T
where T: Hash,

§

impl<T> MaybeRefUnwindSafe for T
where T: RefUnwindSafe,

§

impl<T> MaybeSerialize for T
where - T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where - T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

§

impl<T> Sequence for T
where - T: Eq + Hash,

§

impl<T> StaticTypeInfo for T
where + T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where + T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

§

impl<T> StaticTypeInfo for T
where T: TypeInfo + 'static,

\ No newline at end of file diff --git a/node_template/all.html b/node_template/all.html index 70fc3be7e..4648f506c 100644 --- a/node_template/all.html +++ b/node_template/all.html @@ -1,2 +1 @@ -List of all items in this crate -
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/node_template/chain_spec/fn.development_config.html b/node_template/chain_spec/fn.development_config.html index 50ac4df8d..b5b011fb3 100644 --- a/node_template/chain_spec/fn.development_config.html +++ b/node_template/chain_spec/fn.development_config.html @@ -1,2 +1 @@ -development_config in node_template::chain_spec - Rust -
pub fn development_config() -> Result<ChainSpec, String>
\ No newline at end of file +development_config in node_template::chain_spec - Rust

Function node_template::chain_spec::development_config

source ·
pub fn development_config() -> Result<ChainSpec, String>
\ No newline at end of file diff --git a/node_template/chain_spec/fn.local_testnet_config.html b/node_template/chain_spec/fn.local_testnet_config.html index 15c93d0c6..e022a0570 100644 --- a/node_template/chain_spec/fn.local_testnet_config.html +++ b/node_template/chain_spec/fn.local_testnet_config.html @@ -1,2 +1 @@ -local_testnet_config in node_template::chain_spec - Rust -
pub fn local_testnet_config() -> Result<ChainSpec, String>
\ No newline at end of file +local_testnet_config in node_template::chain_spec - Rust

Function node_template::chain_spec::local_testnet_config

source ·
pub fn local_testnet_config() -> Result<ChainSpec, String>
\ No newline at end of file diff --git a/node_template/chain_spec/index.html b/node_template/chain_spec/index.html index 394a5f3e1..8ae508455 100644 --- a/node_template/chain_spec/index.html +++ b/node_template/chain_spec/index.html @@ -1,2 +1 @@ -node_template::chain_spec - Rust -

Functions§

Type Aliases§

  • Specialized ChainSpec. This is a specialization of the general Substrate ChainSpec type.
\ No newline at end of file +node_template::chain_spec - Rust

Module node_template::chain_spec

source ·

Functions§

Type Aliases§

  • Specialized ChainSpec. This is a specialization of the general Substrate ChainSpec type.
\ No newline at end of file diff --git a/node_template/chain_spec/type.ChainSpec.html b/node_template/chain_spec/type.ChainSpec.html index 3b8c5041a..2f247c36a 100644 --- a/node_template/chain_spec/type.ChainSpec.html +++ b/node_template/chain_spec/type.ChainSpec.html @@ -1,3 +1,2 @@ -ChainSpec in node_template::chain_spec - Rust -
pub type ChainSpec = GenericChainSpec<RuntimeGenesisConfig>;
Expand description

Specialized ChainSpec. This is a specialization of the general Substrate ChainSpec type.

+ChainSpec in node_template::chain_spec - Rust

Type Alias node_template::chain_spec::ChainSpec

source ·
pub type ChainSpec = GenericChainSpec<()>;
Expand description

Specialized ChainSpec. This is a specialization of the general Substrate ChainSpec type.

Aliased Type§

struct ChainSpec { /* private fields */ }
\ No newline at end of file diff --git a/node_template/index.html b/node_template/index.html index 4ecac4a73..127526aed 100644 --- a/node_template/index.html +++ b/node_template/index.html @@ -1,6 +1,4 @@ -node_template - Rust -

Crate node_template

source ·

Modules§

Trait Implementations§

§

impl Clone for DenyUnsafe

§

fn clone(&self) -> DenyUnsafe

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl Debug for DenyUnsafe

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl Copy for DenyUnsafe

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where @@ -15,8 +14,8 @@ T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CheckedConversion for T

§

fn checked_from<T>(t: T) -> Option<Self>
where Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
§

fn checked_into<T>(self) -> Option<T>
where Self: TryInto<T>,

Consume self to return Some equivalent value of Option<T>. Read more
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where - Self: Into<T>,

Converts self into T using Into<T>. Read more
source§

impl<T> DynClone for T
where - T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

§

impl<T> FmtForward for T

§

fn fmt_binary(self) -> FmtBinary<Self>
where + Self: Into<T>,

Converts self into T using Into<T>. Read more
source§

impl<T> DynClone for T
where + T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

§

impl<T> FmtForward for T

§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where @@ -31,16 +30,23 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -110,9 +116,9 @@ T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where diff --git a/node_template/rpc/fn.create_full.html b/node_template/rpc/fn.create_full.html index bf10fad2f..b2008654f 100644 --- a/node_template/rpc/fn.create_full.html +++ b/node_template/rpc/fn.create_full.html @@ -1,8 +1,7 @@ -create_full in node_template::rpc - Rust -

Function node_template::rpc::create_full

source ·
pub fn create_full<C, P>(
+create_full in node_template::rpc - Rust

Function node_template::rpc::create_full

source ·
pub fn create_full<C, P>(
     _deps: FullDeps<C, P>
 ) -> Result<RpcModule<()>, Box<dyn Error + Send + Sync>>
where - C: ProvideRuntimeApi<Block> + HeaderBackend<Block> + HeaderMetadata<Block, Error = Error> + Send + Sync + 'static, - C::Api: BlockBuilder<Block>, + C: ProvideRuntimeApi<OpaqueBlock> + HeaderBackend<OpaqueBlock> + HeaderMetadata<OpaqueBlock, Error = Error> + Send + Sync + 'static, + C::Api: BlockBuilder<OpaqueBlock>, P: TransactionPool + 'static,
Expand description

Instantiate all full RPC extensions.

\ No newline at end of file diff --git a/node_template/rpc/index.html b/node_template/rpc/index.html index 8c115021d..7c90752e7 100644 --- a/node_template/rpc/index.html +++ b/node_template/rpc/index.html @@ -1,5 +1,4 @@ -node_template::rpc - Rust -

Module node_template::rpc

source ·
Expand description

A collection of node-specific RPC methods. +node_template::rpc - Rust

Module node_template::rpc

source ·
Expand description

A collection of node-specific RPC methods. Substrate provides the sc-rpc crate, which defines the core RPC layer used by Substrate nodes. This file extends those RPC definitions with capabilities that are specific to this project’s runtime configuration.

diff --git a/node_template/rpc/struct.FullDeps.html b/node_template/rpc/struct.FullDeps.html index 3d5b6bd64..20840a326 100644 --- a/node_template/rpc/struct.FullDeps.html +++ b/node_template/rpc/struct.FullDeps.html @@ -1,5 +1,4 @@ -FullDeps in node_template::rpc - Rust -

Struct node_template::rpc::FullDeps

source ·
pub struct FullDeps<C, P> {
+FullDeps in node_template::rpc - Rust

Struct node_template::rpc::FullDeps

source ·
pub struct FullDeps<C, P> {
     pub client: Arc<C>,
     pub pool: Arc<P>,
     pub deny_unsafe: DenyUnsafe,
@@ -7,7 +6,7 @@
 

Fields§

§client: Arc<C>

The client instance to use.

§pool: Arc<P>

Transaction pool instance.

§deny_unsafe: DenyUnsafe

Whether to deny unsafe calls

-

Auto Trait Implementations§

§

impl<C, P> RefUnwindSafe for FullDeps<C, P>
where +

Auto Trait Implementations§

§

impl<C, P> Freeze for FullDeps<C, P>

§

impl<C, P> RefUnwindSafe for FullDeps<C, P>

§

impl<C, P> Send for FullDeps<C, P>
where C: Sync + Send, @@ -38,16 +37,23 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more

source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -116,9 +122,9 @@ Self: DerefMut<Target = T> + Deref, T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where diff --git a/node_template/service/fn.new_full.html b/node_template/service/fn.new_full.html index c5ab2f6a6..470392337 100644 --- a/node_template/service/fn.new_full.html +++ b/node_template/service/fn.new_full.html @@ -1,3 +1,2 @@ -new_full in node_template::service - Rust -
pub fn new_full(config: Configuration) -> Result<TaskManager, Error>
Expand description

Builds a new service for a full client.

+new_full in node_template::service - Rust

Function node_template::service::new_full

source ·
pub fn new_full(config: Configuration) -> Result<TaskManager, Error>
Expand description

Builds a new service for a full client.

\ No newline at end of file diff --git a/node_template/service/fn.new_partial.html b/node_template/service/fn.new_partial.html index 18d3e89e5..99c94862d 100644 --- a/node_template/service/fn.new_partial.html +++ b/node_template/service/fn.new_partial.html @@ -1,4 +1,3 @@ -new_partial in node_template::service - Rust -
pub fn new_partial(
+new_partial in node_template::service - Rust

Function node_template::service::new_partial

source ·
pub fn new_partial(
     config: &Configuration
-) -> Result<PartialComponents<TFullClient<Block, RuntimeApi, NativeElseWasmExecutor<ExecutorDispatch>>, TFullBackend<Block>, LongestChain<TFullBackend<Block>, Block>, DefaultImportQueue<Block>, FullPool<Block, TFullClient<Block, RuntimeApi, NativeElseWasmExecutor<ExecutorDispatch>>>, (GrandpaBlockImport<TFullBackend<Block>, Block, TFullClient<Block, RuntimeApi, NativeElseWasmExecutor<ExecutorDispatch>>, LongestChain<TFullBackend<Block>, Block>>, LinkHalf<Block, TFullClient<Block, RuntimeApi, NativeElseWasmExecutor<ExecutorDispatch>>, LongestChain<TFullBackend<Block>, Block>>, Option<Telemetry>)>, Error>
\ No newline at end of file +) -> Result<PartialComponents<TFullClient<OpaqueBlock, RuntimeApi, NativeElseWasmExecutor<ExecutorDispatch>>, TFullBackend<OpaqueBlock>, LongestChain<TFullBackend<OpaqueBlock>, OpaqueBlock>, DefaultImportQueue<OpaqueBlock>, FullPool<OpaqueBlock, TFullClient<OpaqueBlock, RuntimeApi, NativeElseWasmExecutor<ExecutorDispatch>>>, (GrandpaBlockImport<TFullBackend<OpaqueBlock>, OpaqueBlock, TFullClient<OpaqueBlock, RuntimeApi, NativeElseWasmExecutor<ExecutorDispatch>>, LongestChain<TFullBackend<OpaqueBlock>, OpaqueBlock>>, LinkHalf<OpaqueBlock, TFullClient<OpaqueBlock, RuntimeApi, NativeElseWasmExecutor<ExecutorDispatch>>, LongestChain<TFullBackend<OpaqueBlock>, OpaqueBlock>>, Option<Telemetry>)>, Error>
\ No newline at end of file diff --git a/node_template/service/index.html b/node_template/service/index.html index 6ba0f5c45..c51131e9c 100644 --- a/node_template/service/index.html +++ b/node_template/service/index.html @@ -1,4 +1,3 @@ -node_template::service - Rust -

Module node_template::service

source ·
Expand description

Service and ServiceFactory implementation. Specialized wrapper over substrate service.

+node_template::service - Rust

Module node_template::service

source ·
Expand description

Service and ServiceFactory implementation. Specialized wrapper over substrate service.

Structs§

  • A generic CodeExecutor implementation that uses a delegate to determine wasm code equivalence and dispatch to native code when possible, falling back on WasmExecutor when not.

Functions§

\ No newline at end of file diff --git a/node_template/service/struct.ExecutorDispatch.html b/node_template/service/struct.ExecutorDispatch.html index c797bb1cc..f41ea04e2 100644 --- a/node_template/service/struct.ExecutorDispatch.html +++ b/node_template/service/struct.ExecutorDispatch.html @@ -1,6 +1,5 @@ -ExecutorDispatch in node_template::service - Rust -
pub struct ExecutorDispatch;

Trait Implementations§

source§

impl NativeExecutionDispatch for ExecutorDispatch

§

type ExtendHostFunctions = ()

Host functions for custom runtime interfaces that should be callable from within the runtime -besides the default Substrate runtime interfaces.
source§

fn dispatch(method: &str, data: &[u8]) -> Option<Vec<u8>>

Dispatch a method in the runtime.
source§

fn native_version() -> NativeVersion

Provide native runtime version.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +ExecutorDispatch in node_template::service - Rust

Struct node_template::service::ExecutorDispatch

source ·
pub struct ExecutorDispatch;

Trait Implementations§

source§

impl NativeExecutionDispatch for ExecutorDispatch

§

type ExtendHostFunctions = ()

Host functions for custom runtime interfaces that should be callable from within the runtime +besides the default Substrate runtime interfaces.
source§

fn dispatch(method: &str, data: &[u8]) -> Option<Vec<u8>>

Dispatch a method in the runtime.
source§

fn native_version() -> NativeVersion

Provide native runtime version.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where @@ -23,16 +22,23 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more

source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -101,9 +107,9 @@ Self: DerefMut<Target = T> + Deref, T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where diff --git a/node_template/service/struct.NativeElseWasmExecutor.html b/node_template/service/struct.NativeElseWasmExecutor.html index a9f2b51bd..c9a52d247 100644 --- a/node_template/service/struct.NativeElseWasmExecutor.html +++ b/node_template/service/struct.NativeElseWasmExecutor.html @@ -1,5 +1,4 @@ -NativeElseWasmExecutor in node_template::service - Rust -
pub struct NativeElseWasmExecutor<D>
where +NativeElseWasmExecutor in node_template::service - Rust

Struct node_template::service::NativeElseWasmExecutor

pub struct NativeElseWasmExecutor<D>
where D: NativeExecutionDispatch,
{ /* private fields */ }
Expand description

A generic CodeExecutor implementation that uses a delegate to determine wasm code equivalence and dispatch to native code when possible, falling back on WasmExecutor when not.

Implementations§

§

impl<D> NativeElseWasmExecutor<D>
where @@ -45,7 +44,7 @@
§ParametersResult<RuntimeVersion, Error>

Extract RuntimeVersion of the given runtime_code.

Auto Trait Implementations§

§

impl<D> !RefUnwindSafe for NativeElseWasmExecutor<D>

§

impl<D> Send for NativeElseWasmExecutor<D>

§

impl<D> Sync for NativeElseWasmExecutor<D>

§

impl<D> Unpin for NativeElseWasmExecutor<D>
where +) -> Result<RuntimeVersion, Error>

Extract RuntimeVersion of the given runtime_code.

Auto Trait Implementations§

§

impl<D> Freeze for NativeElseWasmExecutor<D>

§

impl<D> !RefUnwindSafe for NativeElseWasmExecutor<D>

§

impl<D> Send for NativeElseWasmExecutor<D>

§

impl<D> Sync for NativeElseWasmExecutor<D>

§

impl<D> Unpin for NativeElseWasmExecutor<D>
where <D as NativeExecutionDispatch>::ExtendHostFunctions: Unpin,

§

impl<D> !UnwindSafe for NativeElseWasmExecutor<D>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where @@ -54,8 +53,8 @@
§ParametersSized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CheckedConversion for T

§

fn checked_from<T>(t: T) -> Option<Self>
where Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
§

fn checked_into<T>(self) -> Option<T>
where Self: TryInto<T>,

Consume self to return Some equivalent value of Option<T>. Read more
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where - Self: Into<T>,

Converts self into T using Into<T>. Read more
source§

impl<T> DynClone for T
where - T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

§

impl<T> FmtForward for T

§

fn fmt_binary(self) -> FmtBinary<Self>
where + Self: Into<T>,

Converts self into T using Into<T>. Read more
source§

impl<T> DynClone for T
where + T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

§

impl<T> FmtForward for T

§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where @@ -70,16 +69,23 @@
§ParametersDebug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -149,9 +155,9 @@
§ParametersSized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where diff --git a/parachain_piece/all.html b/parachain_piece/all.html index 2bde51b57..f0af2a898 100644 --- a/parachain_piece/all.html +++ b/parachain_piece/all.html @@ -1,2 +1 @@ -List of all items in this crate -

List of all items

Structs

Enums

Traits

\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/parachain_piece/enum.ParachainError.html b/parachain_piece/enum.ParachainError.html index 94701d5f8..726c7475f 100644 --- a/parachain_piece/enum.ParachainError.html +++ b/parachain_piece/enum.ParachainError.html @@ -1,5 +1,4 @@ -ParachainError in parachain_piece - Rust -
pub enum ParachainError {
+ParachainError in parachain_piece - Rust

Enum parachain_piece::ParachainError

source ·
pub enum ParachainError {
     BadlyTyped,
     MissingNewInfo,
     ExtraOutputs,
@@ -13,9 +12,9 @@
 
§

MissingPreviousInfo

No previous parachain info was consumed in this transaction, but consuming the previous UTXO is required.

§

ExtraInputs

Multiple inputs were specified while setting the parachain info, but exactly one is required.

§

RelayBlockNotIncreasing

The new relay chain block number is expected to be higher than the previous, but that is not the case.

-

Trait Implementations§

source§

impl Debug for ParachainError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl PartialEq for ParachainError

source§

fn eq(&self, other: &ParachainError) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl Eq for ParachainError

source§

impl StructuralPartialEq for ParachainError

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Debug for ParachainError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl PartialEq for ParachainError

source§

fn eq(&self, other: &ParachainError) -> bool

This method tests for self and other values to be equal, and is used +by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
source§

impl Eq for ParachainError

source§

impl StructuralPartialEq for ParachainError

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where @@ -46,16 +45,23 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more

source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -124,9 +130,9 @@ Self: DerefMut<Target = T> + Deref, T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where diff --git a/parachain_piece/index.html b/parachain_piece/index.html index 60dd7930b..47d7d328b 100644 --- a/parachain_piece/index.html +++ b/parachain_piece/index.html @@ -1,6 +1,4 @@ -parachain_piece - Rust -

Crate parachain_piece

source ·
Expand description

Allow collators to include information about the relay chain, parachain, and their relationship, via an inherent.

+parachain_piece - Rust

Crate parachain_piece

source ·
Expand description

Allow collators to include information about the relay chain, parachain, and their relationship, via an inherent.

This piece is necessary if the runtime is going to work as a parachain.

In each block, the block author must include a single SetParachainInfo transaction that consumes the corresponding UTXO that was created in the previous block, and creates a new one with updated parachain info. @@ -12,4 +10,4 @@

§Hack Warning

Like the timestamp piece, this piece currently abuses the UpForGrabs verifier. This should be replaced with an Unspendable verifier and an eviction workflow.

-

Structs§

  • A constraint checker for the simple act of including new parachain information.

Enums§

  • Reasons that setting or cleaning up the parachain info may go wrong.

Traits§

  • Options to configure the timestamp piece when it is aggregated or used in a runtime.
\ No newline at end of file +

Structs§

  • The inherent data that is passed by the collator to the parachain runtime.
  • A constraint checker for the simple act of including new parachain information.

Enums§

  • Reasons that setting or cleaning up the parachain info may go wrong.

Traits§

  • Options to configure the timestamp piece when it is aggregated or used in a runtime.
\ No newline at end of file diff --git a/parachain_piece/sidebar-items.js b/parachain_piece/sidebar-items.js index f9516faa5..d44f43986 100644 --- a/parachain_piece/sidebar-items.js +++ b/parachain_piece/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"enum":["ParachainError"],"struct":["SetParachainInfo"],"trait":["ParachainPieceConfig"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":["ParachainError"],"struct":["ParachainInherentData","SetParachainInfo"],"trait":["ParachainPieceConfig"]}; \ No newline at end of file diff --git a/parachain_piece/struct.ParachainInherentData.html b/parachain_piece/struct.ParachainInherentData.html new file mode 100644 index 000000000..74e84d7d0 --- /dev/null +++ b/parachain_piece/struct.ParachainInherentData.html @@ -0,0 +1,205 @@ +ParachainInherentData in parachain_piece - Rust

Struct parachain_piece::ParachainInherentData

pub struct ParachainInherentData {
+    pub validation_data: PersistedValidationData,
+    pub relay_chain_state: StorageProof,
+    pub downward_messages: Vec<InboundDownwardMessage>,
+    pub horizontal_messages: BTreeMap<Id, Vec<InboundHrmpMessage>>,
+}
Expand description

The inherent data that is passed by the collator to the parachain runtime.

+

Fields§

§validation_data: PersistedValidationData§relay_chain_state: StorageProof

A storage proof of a predefined set of keys from the relay-chain.

+

Specifically this witness contains the data for:

+
    +
  • the current slot number at the given relay parent
  • +
  • active host configuration as per the relay parent,
  • +
  • the relay dispatch queue sizes
  • +
  • the list of egress HRMP channels (in the list of recipients form)
  • +
  • the metadata for the egress HRMP channels
  • +
+
§downward_messages: Vec<InboundDownwardMessage>

Downward messages in the order they were sent.

+
§horizontal_messages: BTreeMap<Id, Vec<InboundHrmpMessage>>

HRMP messages grouped by channels. The messages in the inner vec must be in order they +were sent. In combination with the rule of no more than one message in a channel per block, +this means sent_at is strictly greater than the previous one (if any).

+

Implementations§

§

impl ParachainInherentData

pub async fn create_at( + relay_parent: H256, + relay_chain_interface: &impl RelayChainInterface, + validation_data: &PersistedValidationData, + para_id: Id +) -> Option<ParachainInherentData>

Create the ParachainInherentData at the given relay_parent.

+

Returns None if the creation failed.

+

Trait Implementations§

§

impl Clone for ParachainInherentData

§

fn clone(&self) -> ParachainInherentData

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl Debug for ParachainInherentData

§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl Decode for ParachainInherentData

§

fn decode<__CodecInputEdqy>( + __codec_input_edqy: &mut __CodecInputEdqy +) -> Result<ParachainInherentData, Error>
where + __CodecInputEdqy: Input,

Attempt to deserialise the value from input.
§

fn decode_into<I>( + input: &mut I, + dst: &mut MaybeUninit<Self> +) -> Result<DecodeFinished, Error>
where + I: Input,

Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
§

fn skip<I>(input: &mut I) -> Result<(), Error>
where + I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
§

impl Encode for ParachainInherentData

§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
§

fn encode_to<__CodecOutputEdqy>( + &self, + __codec_dest_edqy: &mut __CodecOutputEdqy +)
where + __CodecOutputEdqy: Output + ?Sized,

Convert self to a slice and append it to the destination.
§

fn encode(&self) -> Vec<u8>

Convert self to an owned vector.
§

fn using_encoded<R, F>(&self, f: F) -> R
where + F: FnOnce(&[u8]) -> R,

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
§

impl From<ParachainInherentDataUtxo> for ParachainInherentData

§

fn from(val: ParachainInherentDataUtxo) -> ParachainInherentData

Converts to this type from the input type.
§

impl InherentDataProvider for ParachainInherentData

§

fn provide_inherent_data<'life0, 'life1, 'async_trait>( + &'life0 self, + inherent_data: &'life1 mut InherentData +) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where + 'life0: 'async_trait, + 'life1: 'async_trait, + ParachainInherentData: 'async_trait,

Provide inherent data that should be included in a block. Read more
§

fn try_handle_error<'life0, 'life1, 'life2, 'async_trait>( + &'life0 self, + _: &'life1 [u8; 8], + _: &'life2 [u8] +) -> Pin<Box<dyn Future<Output = Option<Result<(), Error>>> + Send + 'async_trait>>
where + 'life0: 'async_trait, + 'life1: 'async_trait, + 'life2: 'async_trait, + ParachainInherentData: 'async_trait,

Convert the given encoded error to a string. Read more
§

fn create_inherent_data<'life0, 'async_trait>( + &'life0 self +) -> Pin<Box<dyn Future<Output = Result<InherentData, Error>> + Send + 'async_trait>>
where + 'life0: 'async_trait, + Self: 'async_trait,

Convenience function for creating [InherentData]. Read more
§

impl PartialEq for ParachainInherentData

§

fn eq(&self, other: &ParachainInherentData) -> bool

This method tests for self and other values to be equal, and is used +by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
§

impl TypeInfo for ParachainInherentData

§

type Identity = ParachainInherentData

The type identifying for which type info is provided. Read more
§

fn type_info() -> Type

Returns the static type identifier for Self.
§

impl EncodeLike for ParachainInherentData

§

impl StructuralPartialEq for ParachainInherentData

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where + T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where + T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CheckedConversion for T

§

fn checked_from<T>(t: T) -> Option<Self>
where + Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
§

fn checked_into<T>(self) -> Option<T>
where + Self: TryInto<T>,

Consume self to return Some equivalent value of Option<T>. Read more
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where + Self: Into<T>,

Converts self into T using Into<T>. Read more
§

impl<T> DecodeAll for T
where + T: Decode,

§

fn decode_all(input: &mut &[u8]) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

impl<T> DecodeLimit for T
where + T: Decode,

§

fn decode_all_with_depth_limit( + limit: u32, + input: &mut &[u8] +) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
where + I: Input,

Decode Self with the given maximum recursion depth and advance input by the number of +bytes consumed. Read more
source§

impl<T> DynClone for T
where + T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

§

impl<T> EncodeAs<T> for T
where + T: Encode,

§

fn encode_as(&self) -> Vec<u8>

Convert Self into T, then encode T. Read more
§

impl<T> FmtForward for T

§

fn fmt_binary(self) -> FmtBinary<Self>
where + Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
§

fn fmt_display(self) -> FmtDisplay<Self>
where + Self: Display,

Causes self to use its Display implementation when +Debug-formatted.
§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where + Self: LowerExp,

Causes self to use its LowerExp implementation when +Debug-formatted.
§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>
where + Self: LowerHex,

Causes self to use its LowerHex implementation when +Debug-formatted.
§

fn fmt_octal(self) -> FmtOctal<Self>
where + Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
§

fn fmt_pointer(self) -> FmtPointer<Self>
where + Self: Pointer,

Causes self to use its Pointer implementation when +Debug-formatted.
§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>
where + Self: UpperExp,

Causes self to use its UpperExp implementation when +Debug-formatted.
§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where + Self: UpperHex,

Causes self to use its UpperHex implementation when +Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where + &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where + Outer: AsRef<T> + AsMut<T> + From<T>, + T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

+
§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

+
§

impl<T> KeyedVec for T
where + T: Codec,

§

fn to_keyed_vec(&self, prepend_key: &[u8]) -> Vec<u8>

Return an encoding of Self prepended by given slice.
§

impl<T> Pipe for T
where + T: ?Sized,

§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where + Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where + R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where + R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where + Self: Borrow<B>, + B: 'a + ?Sized, + R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
§

fn pipe_borrow_mut<'a, B, R>( + &'a mut self, + func: impl FnOnce(&'a mut B) -> R +) -> R
where + Self: BorrowMut<B>, + B: 'a + ?Sized, + R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe +function. Read more
§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where + Self: AsRef<U>, + U: 'a + ?Sized, + R: 'a,

Borrows self, then passes self.as_ref() into the pipe function.
§

fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
where + Self: AsMut<U>, + U: 'a + ?Sized, + R: 'a,

Mutably borrows self, then passes self.as_mut() into the pipe +function.
§

fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
where + Self: Deref<Target = T>, + T: 'a + ?Sized, + R: 'a,

Borrows self, then passes self.deref() into the pipe function.
§

fn pipe_deref_mut<'a, T, R>( + &'a mut self, + func: impl FnOnce(&'a mut T) -> R +) -> R
where + Self: DerefMut<Target = T> + Deref, + T: 'a + ?Sized, + R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe +function.
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
§

impl<T> SaturatedConversion for T

§

fn saturated_from<T>(t: T) -> Self
where + Self: UniqueSaturatedFrom<T>,

Convert from a value of T into an equivalent instance of Self. Read more
§

fn saturated_into<T>(self) -> T
where + Self: UniqueSaturatedInto<T>,

Consume self to return an equivalent value of T. Read more
§

impl<T> Tap for T

§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where + Self: Borrow<B>, + B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where + Self: BorrowMut<B>, + B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where + Self: AsRef<R>, + R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where + Self: AsMut<R>, + R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where + Self: Deref<Target = T>, + T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where + Self: DerefMut<Target = T> + Deref, + T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release +builds.
§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where + Self: Borrow<B>, + B: ?Sized,

Calls .tap_borrow() only in debug builds, and is erased in release +builds.
§

fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
where + Self: BorrowMut<B>, + B: ?Sized,

Calls .tap_borrow_mut() only in debug builds, and is erased in release +builds.
§

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
where + Self: AsRef<R>, + R: ?Sized,

Calls .tap_ref() only in debug builds, and is erased in release +builds.
§

fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
where + Self: AsMut<R>, + R: ?Sized,

Calls .tap_ref_mut() only in debug builds, and is erased in release +builds.
§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
where + Self: Deref<Target = T>, + T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release +builds.
§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where + Self: DerefMut<Target = T> + Deref, + T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release +builds.
source§

impl<T> ToOwned for T
where + T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where + T: Bounded, + S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
§

impl<S> Codec for S
where + S: Decode + Encode,

§

impl<T> EncodeLike<&&T> for T
where + T: Encode,

§

impl<T> EncodeLike<&T> for T
where + T: Encode,

§

impl<T> EncodeLike<&mut T> for T
where + T: Encode,

§

impl<T> EncodeLike<Arc<T>> for T
where + T: Encode,

§

impl<T> EncodeLike<Box<T>> for T
where + T: Encode,

§

impl<'a, T> EncodeLike<Cow<'a, T>> for T
where + T: ToOwned + Encode,

§

impl<T> EncodeLike<Rc<T>> for T
where + T: Encode,

§

impl<S> FullCodec for S
where + S: Decode + FullEncode,

§

impl<S> FullEncode for S
where + S: Encode + EncodeLike,

§

impl<T> JsonSchemaMaybe for T

§

impl<T> MaybeDebug for T
where + T: Debug,

§

impl<T> MaybeRefUnwindSafe for T
where + T: RefUnwindSafe,

§

impl<T> MaybeSend for T
where + T: Send,

§

impl<T> StaticTypeInfo for T
where + T: TypeInfo + 'static,

\ No newline at end of file diff --git a/parachain_piece/struct.SetParachainInfo.html b/parachain_piece/struct.SetParachainInfo.html index fcd26e2b3..5cc9f1eca 100644 --- a/parachain_piece/struct.SetParachainInfo.html +++ b/parachain_piece/struct.SetParachainInfo.html @@ -1,49 +1,47 @@ -SetParachainInfo in parachain_piece - Rust -
pub struct SetParachainInfo<T>(/* private fields */);
Expand description

A constraint checker for the simple act of including new parachain information.

+SetParachainInfo in parachain_piece - Rust

Struct parachain_piece::SetParachainInfo

source ·
pub struct SetParachainInfo<T>(/* private fields */);
Expand description

A constraint checker for the simple act of including new parachain information.

This is expected to be performed through an inherent, and to happen exactly once per block.

This transaction comsumes a single input which is the previous parachain info, And it creates a new output which is the current parachain info.

-

Trait Implementations§

source§

impl<T> Clone for SetParachainInfo<T>

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<T: ParachainPieceConfig + 'static, V: Verifier + From<UpForGrabs>> ConstraintChecker<V> for SetParachainInfo<T>

§

type Error = ParachainError

The error type that this constraint checker may return
§

type InherentHooks = TuxedoInherentAdapter<SetParachainInfo<T>>

Optional Associated Inherent processing logic. If this transaction type is not an inherent, use (). -If it is an inherent, use Self, and implement the TuxedoInherent trait.
source§

fn check( - &self, - input_data: &[Output<V>], - _peek_data: &[Output<V>], - output_data: &[Output<V>] -) -> Result<TransactionPriority, Self::Error>

The actual check validation logic
source§

fn is_inherent(&self) -> bool

Tells whether this extrinsic is an inherent or not. -If you return true here, you must provide the correct inherent hooks above.
source§

impl<T> Debug for SetParachainInfo<T>

source§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<T> Decode for SetParachainInfo<T>
where - PhantomData<T>: Decode,

source§

fn decode<__CodecInputEdqy: Input>( +

Trait Implementations§

source§

impl<T> Clone for SetParachainInfo<T>

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<T> Debug for SetParachainInfo<T>

source§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<T> Decode for SetParachainInfo<T>
where + PhantomData<T>: Decode,

source§

fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Self, Error>

Attempt to deserialise the value from input.
§

fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>
where I: Input,

Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
§

fn skip<I>(input: &mut I) -> Result<(), Error>
where - I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl<T> Default for SetParachainInfo<T>

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de, T> Deserialize<'de> for SetParachainInfo<T>

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<T> Encode for SetParachainInfo<T>
where - PhantomData<T>: Encode,

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl<T> Default for SetParachainInfo<T>

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de, T> Deserialize<'de> for SetParachainInfo<T>

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<T> Encode for SetParachainInfo<T>
where + PhantomData<T>: Encode,

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy -)

Convert self to a slice and append it to the destination.
source§

fn encode(&self) -> Vec<u8>

Convert self to an owned vector.
source§

fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback: FnOnce(&[u8]) -> __CodecOutputReturn>( +)

Convert self to a slice and append it to the destination.
source§

fn encode(&self) -> Vec<u8>

Convert self to an owned vector.
source§

fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback: FnOnce(&[u8]) -> __CodecOutputReturn>( &self, f: __CodecUsingEncodedCallback -) -> __CodecOutputReturn

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl<T: PartialEq> PartialEq for SetParachainInfo<T>

source§

fn eq(&self, other: &SetParachainInfo<T>) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl<T> Serialize for SetParachainInfo<T>

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl<V: Verifier + From<UpForGrabs>, T: ParachainPieceConfig + 'static> TuxedoInherent<V, SetParachainInfo<T>> for SetParachainInfo<T>

§

type Error = MakeFatalError<()>

source§

const INHERENT_IDENTIFIER: InherentIdentifier = INHERENT_IDENTIFIER

source§

fn create_inherent( +) -> __CodecOutputReturn

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl<T: ParachainPieceConfig + 'static> InherentHooks for SetParachainInfo<T>

§

type Error = MakeFatalError<()>

source§

const INHERENT_IDENTIFIER: InherentIdentifier = INHERENT_IDENTIFIER

source§

fn create_inherent<V: Verifier>( authoring_inherent_data: &InherentData, (_previous_inherent, previous_id): (Transaction<V, Self>, H256) ) -> Transaction<V, Self>

Create the inherent extrinsic to insert into a block that is being authored locally. -The inherent data is supplied by the authoring node.
source§

fn check_inherent( +The inherent data is supplied by the authoring node.

source§

fn check_inherent<V>( _importing_inherent_data: &InherentData, _inherent: Transaction<V, Self>, _result: &mut CheckInherentsResult )

Perform off-chain pre-execution checks on the inherent. The inherent data is supplied by the importing node. The inherent data available here is not guaranteed to be the -same as what is available at authoring time.
source§

fn genesis_transactions() -> Vec<Transaction<V, Self>>

Return the genesis transactions that are required for this inherent.
source§

impl<T> TypeInfo for SetParachainInfo<T>
where +same as what is available at authoring time.

source§

fn genesis_transactions<V: Verifier>() -> Vec<Transaction<V, Self>>

Return the genesis transactions that are required for this inherent.
source§

impl<T: PartialEq> PartialEq for SetParachainInfo<T>

source§

fn eq(&self, other: &SetParachainInfo<T>) -> bool

This method tests for self and other values to be equal, and is used +by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
source§

impl<T> Serialize for SetParachainInfo<T>

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl<T: ParachainPieceConfig + 'static> SimpleConstraintChecker for SetParachainInfo<T>

§

type Error = ParachainError

The error type that this constraint checker may return
source§

fn check( + &self, + input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], + _peek_data: &[DynamicallyTypedData], + output_data: &[DynamicallyTypedData] +) -> Result<TransactionPriority, Self::Error>

The on chain logic that makes the final check for whether a transaction is valid.
source§

impl<T> TypeInfo for SetParachainInfo<T>
where PhantomData<T>: TypeInfo + 'static, - T: 'static,

§

type Identity = SetParachainInfo<T>

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl<T> EncodeLike for SetParachainInfo<T>
where - PhantomData<T>: Encode,

source§

impl<T: Eq> Eq for SetParachainInfo<T>

source§

impl<T> StructuralPartialEq for SetParachainInfo<T>

Auto Trait Implementations§

§

impl<T> RefUnwindSafe for SetParachainInfo<T>
where + T: 'static,

§

type Identity = SetParachainInfo<T>

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl<T> EncodeLike for SetParachainInfo<T>
where + PhantomData<T>: Encode,

source§

impl<T: Eq> Eq for SetParachainInfo<T>

source§

impl<T> StructuralPartialEq for SetParachainInfo<T>

Auto Trait Implementations§

§

impl<T> Freeze for SetParachainInfo<T>

§

impl<T> RefUnwindSafe for SetParachainInfo<T>
where T: RefUnwindSafe,

§

impl<T> Send for SetParachainInfo<T>
where T: Send,

§

impl<T> Sync for SetParachainInfo<T>
where T: Sync,

§

impl<T> Unpin for SetParachainInfo<T>
where @@ -56,7 +54,26 @@ T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CheckedConversion for T

§

fn checked_from<T>(t: T) -> Option<Self>
where Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
§

fn checked_into<T>(self) -> Option<T>
where Self: TryInto<T>,

Consume self to return Some equivalent value of Option<T>. Read more
§

impl<T> Clear for T
where - T: Default + Eq + PartialEq,

§

fn is_clear(&self) -> bool

True iff no bits are set.
§

fn clear() -> T

Return the value of Self that is clear.
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where + T: Default + Eq + PartialEq,

§

fn is_clear(&self) -> bool

True iff no bits are set.
§

fn clear() -> T

Return the value of Self that is clear.
source§

impl<T> ConstraintChecker for T

§

type Error = <T as SimpleConstraintChecker>::Error

The error type that this constraint checker may return
source§

fn check( + &self, + input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], + peek_data: &[DynamicallyTypedData], + output_data: &[DynamicallyTypedData] +) -> Result<u64, <T as ConstraintChecker>::Error>

The on chain logic that makes the final check for whether a transaction is valid.
source§

fn is_inherent(&self) -> bool

Tells whether this extrinsic is an inherent or not. +If you return true here, you must provide the correct inherent hooks above.
source§

fn create_inherents<V>( + _authoring_inherent_data: &InherentData, + _previous_inherents: Vec<(Transaction<V, T>, H256)> +) -> Vec<Transaction<V, T>>

Create the inherent extrinsics to insert into a block that is being authored locally. +The inherent data is supplied by the authoring node.
source§

fn check_inherents<V>( + _: &InherentData, + inherents: Vec<Transaction<V, T>>, + _: &mut CheckInherentsResult +)

Perform off-chain pre-execution checks on the inherents. +The inherent data is supplied by the importing node. +The inherent data available here is not necessarily the +same as what is available at authoring time.
source§

fn genesis_transactions<V>() -> Vec<Transaction<V, T>>

Return the genesis transactions that are required for the inherents.
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
§

impl<T> DecodeAll for T
where T: Decode,

§

fn decode_all(input: &mut &[u8]) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

impl<T> DecodeLimit for T
where T: Decode,

§

fn decode_all_with_depth_limit( @@ -64,8 +81,8 @@ input: &mut &[u8] ) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
where I: Input,

Decode Self with the given maximum recursion depth and advance input by the number of -bytes consumed. Read more
source§

impl<T> DynClone for T
where - T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

§

impl<T> EncodeAs<T> for T
where +bytes consumed. Read more

source§

impl<T> DynClone for T
where + T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

§

impl<T> EncodeAs<T> for T
where T: Encode,

§

fn encode_as(&self) -> Vec<u8>

Convert Self into T, then encode T. Read more
source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where @@ -89,16 +106,23 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -169,9 +193,9 @@ T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where @@ -182,8 +206,8 @@ S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
§

impl<S> Codec for S
where - S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where + S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where T: Encode,

§

impl<T> EncodeLike<&T> for T
where T: Encode,

§

impl<T> EncodeLike<&mut T> for T
where T: Encode,

§

impl<T> EncodeLike<Arc<T>> for T
where @@ -196,7 +220,7 @@ T: Debug,

§

impl<T> MaybeRefUnwindSafe for T
where T: RefUnwindSafe,

§

impl<T> MaybeSend for T
where T: Send,

§

impl<T> MaybeSerialize for T
where - T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where + T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

§

impl<T> StaticTypeInfo for T
where T: TypeInfo + 'static,

\ No newline at end of file diff --git a/parachain_piece/trait.ParachainPieceConfig.html b/parachain_piece/trait.ParachainPieceConfig.html index 8311672ba..6a763e386 100644 --- a/parachain_piece/trait.ParachainPieceConfig.html +++ b/parachain_piece/trait.ParachainPieceConfig.html @@ -1,13 +1,12 @@ -ParachainPieceConfig in parachain_piece - Rust -
pub trait ParachainPieceConfig {
+ParachainPieceConfig in parachain_piece - Rust

Trait parachain_piece::ParachainPieceConfig

source ·
pub trait ParachainPieceConfig {
     type SetRelayParentNumberStorage: SetRelayParentNumberStorage;
 
     const PARA_ID: u32 = 2_000u32;
 }
Expand description

Options to configure the timestamp piece when it is aggregated or used in a runtime.

-

Required Associated Types§

source

type SetRelayParentNumberStorage: SetRelayParentNumberStorage

A means of setting an ambiently available relay parent number. This value WILL be used when +

Required Associated Types§

source

type SetRelayParentNumberStorage: SetRelayParentNumberStorage

A means of setting an ambiently available relay parent number. This value WILL be used when the collator calls the collation API after the block is authored and also in validate_block. Additionally, it MAY be used by any other pieces in the runtime who have access to it.

-

Provided Associated Constants§

source

const PARA_ID: u32 = 2_000u32

The Parachain Id of this chain. +

Provided Associated Constants§

source

const PARA_ID: u32 = 2_000u32

The Parachain Id of this chain. This is currently a copmile time constant, which is simple but not that flexible.

The default value is set to 2_000 to match the first available id in the rococo-local runtime.

Object Safety§

This trait is not object safe.

Implementors§

\ No newline at end of file diff --git a/parachain_template_node/all.html b/parachain_template_node/all.html index 06f895412..3774961f2 100644 --- a/parachain_template_node/all.html +++ b/parachain_template_node/all.html @@ -1,2 +1 @@ -List of all items in this crate -
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/parachain_template_node/chain_spec/fn.development_config.html b/parachain_template_node/chain_spec/fn.development_config.html index 6a25815cf..7c5df054b 100644 --- a/parachain_template_node/chain_spec/fn.development_config.html +++ b/parachain_template_node/chain_spec/fn.development_config.html @@ -1,3 +1 @@ -development_config in parachain_template_node::chain_spec - Rust -
pub fn development_config(
-) -> GenericChainSpec<RuntimeGenesisConfig, Extensions>
\ No newline at end of file +development_config in parachain_template_node::chain_spec - Rust
pub fn development_config() -> Result<GenericChainSpec<(), Extensions>, String>
\ No newline at end of file diff --git a/parachain_template_node/chain_spec/fn.local_testnet_config.html b/parachain_template_node/chain_spec/fn.local_testnet_config.html index dca8f2d89..8f4eebff7 100644 --- a/parachain_template_node/chain_spec/fn.local_testnet_config.html +++ b/parachain_template_node/chain_spec/fn.local_testnet_config.html @@ -1,3 +1,2 @@ -local_testnet_config in parachain_template_node::chain_spec - Rust -
pub fn local_testnet_config(
-) -> GenericChainSpec<RuntimeGenesisConfig, Extensions>
\ No newline at end of file +local_testnet_config in parachain_template_node::chain_spec - Rust
pub fn local_testnet_config(
+) -> Result<GenericChainSpec<(), Extensions>, String>
\ No newline at end of file diff --git a/parachain_template_node/chain_spec/index.html b/parachain_template_node/chain_spec/index.html index 28c46fbda..fc4af67f1 100644 --- a/parachain_template_node/chain_spec/index.html +++ b/parachain_template_node/chain_spec/index.html @@ -1,2 +1 @@ -parachain_template_node::chain_spec - Rust -

Structs§

Functions§

Type Aliases§

  • Specialized ChainSpec for the normal parachain runtime.
\ No newline at end of file +parachain_template_node::chain_spec - Rust

Module parachain_template_node::chain_spec

source ·

Structs§

Functions§

Type Aliases§

  • Specialized ChainSpec for the normal parachain runtime.
\ No newline at end of file diff --git a/parachain_template_node/chain_spec/struct.Extensions.html b/parachain_template_node/chain_spec/struct.Extensions.html index b7cebd8ea..975231d53 100644 --- a/parachain_template_node/chain_spec/struct.Extensions.html +++ b/parachain_template_node/chain_spec/struct.Extensions.html @@ -1,20 +1,19 @@ -Extensions in parachain_template_node::chain_spec - Rust -
pub struct Extensions {
+Extensions in parachain_template_node::chain_spec - Rust

Struct parachain_template_node::chain_spec::Extensions

source ·
pub struct Extensions {
     pub relay_chain: String,
     pub para_id: u32,
 }
Expand description

The extensions for the ChainSpec.

Fields§

§relay_chain: String

The relay chain of the Parachain.

§para_id: u32

The id of the Parachain.

Implementations§

source§

impl Extensions

source

pub fn try_get(chain_spec: &dyn ChainSpec) -> Option<&Self>

Try to get the extension from the given ChainSpec.

-

Trait Implementations§

source§

impl Clone for Extensions

source§

fn clone(&self) -> Extensions

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Extensions

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for Extensions

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extension for Extensions

§

type Forks = Option<()>

source§

fn get<T: 'static>(&self) -> Option<&T>

Get an extension of specific type.
source§

fn get_any(&self, t: TypeId) -> &dyn Any

Get an extension of specific type as reference to Any.
source§

fn get_any_mut(&mut self, t: TypeId) -> &mut dyn Any

Get an extension of specific type as mutable reference to Any.
§

fn forks<BlockNumber, T>(&self) -> Option<Forks<BlockNumber, T>>
where +

Trait Implementations§

source§

impl Clone for Extensions

source§

fn clone(&self) -> Extensions

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Extensions

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for Extensions

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extension for Extensions

§

type Forks = Option<()>

source§

fn get<T: 'static>(&self) -> Option<&T>

Get an extension of specific type.
source§

fn get_any(&self, t: TypeId) -> &dyn Any

Get an extension of specific type as reference to Any.
source§

fn get_any_mut(&mut self, t: TypeId) -> &mut dyn Any

Get an extension of specific type as mutable reference to Any.
§

fn forks<BlockNumber, T>(&self) -> Option<Forks<BlockNumber, T>>
where BlockNumber: Ord + Clone + 'static, T: Group + 'static, <Self::Forks as IsForks>::Extension: Extension, <<Self::Forks as IsForks>::Extension as Group>::Fork: Extension,

Get forkable extensions of specific type.
source§

impl Group for Extensions

§

type Fork = ExtensionsFork

An associated type containing fork definition.
source§

fn to_fork(self) -> Self::Fork

Convert to fork type.
source§

impl PartialEq for Extensions

source§

fn eq(&self, other: &Extensions) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl Serialize for Extensions

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl StructuralPartialEq for Extensions

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +by ==.

1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
source§

impl Serialize for Extensions

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl StructuralPartialEq for Extensions

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where @@ -29,8 +28,8 @@ generate &Any’s vtable from &Trait’s.

§

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.
§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be -further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
source§

impl<T> DynClone for T
where - T: Clone,

§

impl<T> FmtForward for T

§

fn fmt_binary(self) -> FmtBinary<Self>
where +further downcast into Arc<ConcreteType> where ConcreteType implements Trait.

source§

impl<T> DynClone for T
where + T: Clone,

§

impl<T> FmtForward for T

§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where @@ -45,17 +44,24 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<E> GetExtension for E
where E: Extension,

§

fn get_any(&self, t: TypeId) -> &(dyn Any + 'static)

Get an extension of specific type.
§

fn get_any_mut(&mut self, t: TypeId) -> &mut (dyn Any + 'static)

Get an extension of specific type with mutable access.
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T> IsType<T> for T

§

fn from_ref(t: &T) -> &T

Cast reference.
§

fn into_ref(&self) -> &T

Cast reference.
§

fn from_mut(t: &mut T) -> &mut T

Cast mutable reference.
§

fn into_mut(&mut self) -> &mut T

Cast mutable reference.
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> IsType<T> for T

§

fn from_ref(t: &T) -> &T

Cast reference.
§

fn into_ref(&self) -> &T

Cast reference.
§

fn from_mut(t: &mut T) -> &mut T

Cast mutable reference.
§

fn into_mut(&mut self) -> &mut T

Cast mutable reference.
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -127,9 +133,9 @@ T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where @@ -139,11 +145,11 @@ [WithDispatch] wrapper. Read more

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

§

impl<T> JsonSchemaMaybe for T

§

impl<T> MaybeDebug for T
where +WithDispatch wrapper. Read more
source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> JsonSchemaMaybe for T

§

impl<T> MaybeDebug for T
where T: Debug,

§

impl<T> MaybeRefUnwindSafe for T
where T: RefUnwindSafe,

§

impl<T> MaybeSend for T
where T: Send,

§

impl<T> MaybeSerialize for T
where - T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

source§

impl<T> Scalar for T
where + T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

source§

impl<T> Scalar for T
where T: 'static + Clone + PartialEq + Debug,

\ No newline at end of file diff --git a/parachain_template_node/chain_spec/struct.ExtensionsFork.html b/parachain_template_node/chain_spec/struct.ExtensionsFork.html index 3822d6844..7aa9a053c 100644 --- a/parachain_template_node/chain_spec/struct.ExtensionsFork.html +++ b/parachain_template_node/chain_spec/struct.ExtensionsFork.html @@ -1,16 +1,15 @@ -ExtensionsFork in parachain_template_node::chain_spec - Rust -
pub struct ExtensionsFork {
+ExtensionsFork in parachain_template_node::chain_spec - Rust
pub struct ExtensionsFork {
     pub relay_chain: Option<<String as Group>::Fork>,
     pub para_id: Option<<u32 as Group>::Fork>,
-}

Fields§

§relay_chain: Option<<String as Group>::Fork>§para_id: Option<<u32 as Group>::Fork>

Trait Implementations§

source§

impl Clone for ExtensionsFork

source§

fn clone(&self) -> ExtensionsFork

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ExtensionsFork

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for ExtensionsFork

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extension for ExtensionsFork

§

type Forks = Option<()>

source§

fn get<T: 'static>(&self) -> Option<&T>

Get an extension of specific type.
source§

fn get_any(&self, t: TypeId) -> &dyn Any

Get an extension of specific type as reference to Any.
source§

fn get_any_mut(&mut self, t: TypeId) -> &mut dyn Any

Get an extension of specific type as mutable reference to Any.
§

fn forks<BlockNumber, T>(&self) -> Option<Forks<BlockNumber, T>>
where +}

Fields§

§relay_chain: Option<<String as Group>::Fork>§para_id: Option<<u32 as Group>::Fork>

Trait Implementations§

source§

impl Clone for ExtensionsFork

source§

fn clone(&self) -> ExtensionsFork

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ExtensionsFork

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for ExtensionsFork

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Extension for ExtensionsFork

§

type Forks = Option<()>

source§

fn get<T: 'static>(&self) -> Option<&T>

Get an extension of specific type.
source§

fn get_any(&self, t: TypeId) -> &dyn Any

Get an extension of specific type as reference to Any.
source§

fn get_any_mut(&mut self, t: TypeId) -> &mut dyn Any

Get an extension of specific type as mutable reference to Any.
§

fn forks<BlockNumber, T>(&self) -> Option<Forks<BlockNumber, T>>
where BlockNumber: Ord + Clone + 'static, T: Group + 'static, <Self::Forks as IsForks>::Extension: Extension, <<Self::Forks as IsForks>::Extension as Group>::Fork: Extension,

Get forkable extensions of specific type.
source§

impl Fork for ExtensionsFork

§

type Base = Extensions

A base Group type.
source§

fn combine_with(&mut self, other: Self)

Combine with another struct. Read more
source§

fn to_base(self) -> Option<Self::Base>

Attempt to convert to the base type if all parameters are set.
source§

impl PartialEq for ExtensionsFork

source§

fn eq(&self, other: &ExtensionsFork) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl Serialize for ExtensionsFork

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl StructuralPartialEq for ExtensionsFork

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +by ==.

1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
source§

impl Serialize for ExtensionsFork

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl StructuralPartialEq for ExtensionsFork

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where @@ -25,8 +24,8 @@ generate &Any’s vtable from &Trait’s.

§

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.
§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be -further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
source§

impl<T> DynClone for T
where - T: Clone,

§

impl<T> FmtForward for T

§

fn fmt_binary(self) -> FmtBinary<Self>
where +further downcast into Arc<ConcreteType> where ConcreteType implements Trait.

source§

impl<T> DynClone for T
where + T: Clone,

§

impl<T> FmtForward for T

§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where @@ -41,17 +40,24 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<E> GetExtension for E
where E: Extension,

§

fn get_any(&self, t: TypeId) -> &(dyn Any + 'static)

Get an extension of specific type.
§

fn get_any_mut(&mut self, t: TypeId) -> &mut (dyn Any + 'static)

Get an extension of specific type with mutable access.
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T> IsType<T> for T

§

fn from_ref(t: &T) -> &T

Cast reference.
§

fn into_ref(&self) -> &T

Cast reference.
§

fn from_mut(t: &mut T) -> &mut T

Cast mutable reference.
§

fn into_mut(&mut self) -> &mut T

Cast mutable reference.
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> IsType<T> for T

§

fn from_ref(t: &T) -> &T

Cast reference.
§

fn into_ref(&self) -> &T

Cast reference.
§

fn from_mut(t: &mut T) -> &mut T

Cast mutable reference.
§

fn into_mut(&mut self) -> &mut T

Cast mutable reference.
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -123,9 +129,9 @@ T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where @@ -135,11 +141,11 @@ [WithDispatch] wrapper. Read more

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

§

impl<T> JsonSchemaMaybe for T

§

impl<T> MaybeDebug for T
where +WithDispatch wrapper. Read more
source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> JsonSchemaMaybe for T

§

impl<T> MaybeDebug for T
where T: Debug,

§

impl<T> MaybeRefUnwindSafe for T
where T: RefUnwindSafe,

§

impl<T> MaybeSend for T
where T: Send,

§

impl<T> MaybeSerialize for T
where - T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

source§

impl<T> Scalar for T
where + T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

source§

impl<T> Scalar for T
where T: 'static + Clone + PartialEq + Debug,

\ No newline at end of file diff --git a/parachain_template_node/chain_spec/type.ChainSpec.html b/parachain_template_node/chain_spec/type.ChainSpec.html index 801e4bc2e..8afa2a624 100644 --- a/parachain_template_node/chain_spec/type.ChainSpec.html +++ b/parachain_template_node/chain_spec/type.ChainSpec.html @@ -1,6 +1,6 @@ -ChainSpec in parachain_template_node::chain_spec - Rust -
pub type ChainSpec = GenericChainSpec<RuntimeGenesisConfig, Extensions>;
Expand description

Specialized ChainSpec for the normal parachain runtime.

+ChainSpec in parachain_template_node::chain_spec - Rust

Type Alias parachain_template_node::chain_spec::ChainSpec

source ·
pub type ChainSpec = GenericChainSpec<(), Extensions>;
Expand description

Specialized ChainSpec for the normal parachain runtime.

Aliased Type§

struct ChainSpec {
     client_spec: ClientSpec<Extensions>,
-    genesis: GenesisSource<TuxedoGenesisConfig<OuterVerifier, OuterConstraintChecker>>,
-}

Fields§

§client_spec: ClientSpec<Extensions>§genesis: GenesisSource<TuxedoGenesisConfig<OuterVerifier, OuterConstraintChecker>>
\ No newline at end of file + genesis: GenesisSource<()>, + _host_functions: PhantomData<()>, +}

Fields§

§client_spec: ClientSpec<Extensions>§genesis: GenesisSource<()>§_host_functions: PhantomData<()>
\ No newline at end of file diff --git a/parachain_template_node/cli/constant.AFTER_HELP_EXAMPLE.html b/parachain_template_node/cli/constant.AFTER_HELP_EXAMPLE.html index 2f4c8cf09..52e7fcae4 100644 --- a/parachain_template_node/cli/constant.AFTER_HELP_EXAMPLE.html +++ b/parachain_template_node/cli/constant.AFTER_HELP_EXAMPLE.html @@ -1,2 +1 @@ -AFTER_HELP_EXAMPLE in parachain_template_node::cli - Rust -
const AFTER_HELP_EXAMPLE: &str = "\u{1b}[1m\u{1b}[4mExamples:\u{1b}[22m\u{1b}[24m\n   \u{1b}[1mparachain-template-node build-spec --disable-default-bootnode > plain-parachain-chainspec.json\u{1b}[22m\n           Export a chainspec for a local testnet in json format.\n   \u{1b}[1mparachain-template-node --chain plain-parachain-chainspec.json --tmp -- --chain rococo-local\u{1b}[22m\n           Launch a full node with chain specification loaded from plain-parachain-chainspec.json.\n   \u{1b}[1mparachain-template-node\u{1b}[22m\n           Launch a full node with default parachain \u{1b}[3mlocal-testnet\u{1b}[23m and relay chain \u{1b}[3mrococo-local\u{1b}[23m.\n   \u{1b}[1mparachain-template-node --collator\u{1b}[22m\n           Launch a collator with default parachain \u{1b}[3mlocal-testnet\u{1b}[23m and relay chain \u{1b}[3mrococo-local\u{1b}[23m.\n ";
\ No newline at end of file +AFTER_HELP_EXAMPLE in parachain_template_node::cli - Rust

Constant parachain_template_node::cli::AFTER_HELP_EXAMPLE

source ·
const AFTER_HELP_EXAMPLE: &str = "\u{1b}[1m\u{1b}[4mExamples:\u{1b}[22m\u{1b}[24m\n   \u{1b}[1mparachain-template-node build-spec --disable-default-bootnode > plain-parachain-chainspec.json\u{1b}[22m\n           Export a chainspec for a local testnet in json format.\n   \u{1b}[1mparachain-template-node --chain plain-parachain-chainspec.json --tmp -- --chain rococo-local\u{1b}[22m\n           Launch a full node with chain specification loaded from plain-parachain-chainspec.json.\n   \u{1b}[1mparachain-template-node\u{1b}[22m\n           Launch a full node with default parachain \u{1b}[3mlocal-testnet\u{1b}[23m and relay chain \u{1b}[3mrococo-local\u{1b}[23m.\n   \u{1b}[1mparachain-template-node --collator\u{1b}[22m\n           Launch a collator with default parachain \u{1b}[3mlocal-testnet\u{1b}[23m and relay chain \u{1b}[3mrococo-local\u{1b}[23m.\n ";
\ No newline at end of file diff --git a/parachain_template_node/cli/enum.Subcommand.html b/parachain_template_node/cli/enum.Subcommand.html index 6f81a5bc4..f80e10627 100644 --- a/parachain_template_node/cli/enum.Subcommand.html +++ b/parachain_template_node/cli/enum.Subcommand.html @@ -1,5 +1,4 @@ -Subcommand in parachain_template_node::cli - Rust -
pub enum Subcommand {
+Subcommand in parachain_template_node::cli - Rust

Enum parachain_template_node::cli::Subcommand

source ·
pub enum Subcommand {
     BuildSpec(BuildSpecCmd),
     CheckBlock(CheckBlockCmd),
     ExportBlocks(ExportBlocksCmd),
@@ -33,7 +32,7 @@
 ) -> Result<(), Error>
Assign values from ArgMatches to self.
source§

fn update_from_arg_matches_mut<'b>( &mut self, __clap_arg_matches: &mut ArgMatches -) -> Result<(), Error>

Assign values from ArgMatches to self.
source§

impl Subcommand for Subcommand

source§

fn augment_subcommands<'b>(__clap_app: Command) -> Command

Append to [Command] so it can instantiate Self. Read more
source§

fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command

Append to [Command] so it can update self. Read more
source§

fn has_subcommand(__clap_name: &str) -> bool

Test whether Self can parse a specific subcommand

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +) -> Result<(), Error>

Assign values from ArgMatches to self.
source§

impl Subcommand for Subcommand

source§

fn augment_subcommands<'b>(__clap_app: Command) -> Command

Append to [Command] so it can instantiate Self. Read more
source§

fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command

Append to [Command] so it can update self. Read more
source§

fn has_subcommand(__clap_name: &str) -> bool

Test whether Self can parse a specific subcommand

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where @@ -63,16 +62,23 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T> IsType<T> for T

§

fn from_ref(t: &T) -> &T

Cast reference.
§

fn into_ref(&self) -> &T

Cast reference.
§

fn from_mut(t: &mut T) -> &mut T

Cast mutable reference.
§

fn into_mut(&mut self) -> &mut T

Cast mutable reference.
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> IsType<T> for T

§

fn from_ref(t: &T) -> &T

Cast reference.
§

fn into_ref(&self) -> &T

Cast reference.
§

fn from_mut(t: &mut T) -> &mut T

Cast mutable reference.
§

fn into_mut(&mut self) -> &mut T

Cast mutable reference.
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -143,9 +149,9 @@ Self: DerefMut<Target = T> + Deref, T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where diff --git a/parachain_template_node/cli/index.html b/parachain_template_node/cli/index.html index 0c8cf0fcf..f9b00de76 100644 --- a/parachain_template_node/cli/index.html +++ b/parachain_template_node/cli/index.html @@ -1,2 +1 @@ -parachain_template_node::cli - Rust -

Structs§

Enums§

Constants§

\ No newline at end of file +parachain_template_node::cli - Rust

Module parachain_template_node::cli

source ·

Structs§

Enums§

Constants§

\ No newline at end of file diff --git a/parachain_template_node/cli/struct.Cli.html b/parachain_template_node/cli/struct.Cli.html index e9714b933..6c74116d0 100644 --- a/parachain_template_node/cli/struct.Cli.html +++ b/parachain_template_node/cli/struct.Cli.html @@ -1,5 +1,4 @@ -Cli in parachain_template_node::cli - Rust -
pub struct Cli {
+Cli in parachain_template_node::cli - Rust

Struct parachain_template_node::cli::Cli

source ·
pub struct Cli {
     pub subcommand: Option<Subcommand>,
     pub run: RunCmd,
     pub no_hardware_benchmarks: bool,
@@ -18,22 +17,22 @@
 ) -> Result<(), Error>

Assign values from ArgMatches to self.
source§

fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches -) -> Result<(), Error>

Assign values from ArgMatches to self.
source§

impl Parser for Cli

§

fn parse() -> Self

Parse from std::env::args_os(), exit on error
§

fn try_parse() -> Result<Self, Error>

Parse from std::env::args_os(), return Err on error.
§

fn parse_from<I, T>(itr: I) -> Self
where +) -> Result<(), Error>

Assign values from ArgMatches to self.
source§

impl Parser for Cli

§

fn parse() -> Self

Parse from std::env::args_os(), [exit][Error::exit] on error.
§

fn try_parse() -> Result<Self, Error>

Parse from std::env::args_os(), return Err on error.
§

fn parse_from<I, T>(itr: I) -> Self
where I: IntoIterator<Item = T>, - T: Into<OsString> + Clone,

Parse from iterator, exit on error
§

fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
where + T: Into<OsString> + Clone,

Parse from iterator, [exit][Error::exit] on error.
§

fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
where I: IntoIterator<Item = T>, T: Into<OsString> + Clone,

Parse from iterator, return Err on error.
§

fn update_from<I, T>(&mut self, itr: I)
where I: IntoIterator<Item = T>, - T: Into<OsString> + Clone,

Update from iterator, exit on error
§

fn try_update_from<I, T>(&mut self, itr: I) -> Result<(), Error>
where + T: Into<OsString> + Clone,

Update from iterator, [exit][Error::exit] on error.
§

fn try_update_from<I, T>(&mut self, itr: I) -> Result<(), Error>
where I: IntoIterator<Item = T>, T: Into<OsString> + Clone,

Update from iterator, return Err on error.
source§

impl SubstrateCli for Cli

source§

fn impl_name() -> String

Implementation name.
source§

fn impl_version() -> String

Implementation version. Read more
source§

fn description() -> String

Executable file description.
source§

fn author() -> String

Executable file author.
source§

fn support_url() -> String

Support URL.
source§

fn copyright_start_year() -> i32

Copyright starting year (x-current year)
source§

fn load_spec(&self, id: &str) -> Result<Box<dyn ChainSpec>, String>

Chain spec factory
§

fn executable_name() -> String

Executable file name. Read more
§

fn from_args() -> Self
where - Self: Parser + Sized,

Helper function used to parse the command line arguments. This is the equivalent of + Self: Sized + Parser,
Helper function used to parse the command line arguments. This is the equivalent of [clap::Parser::parse()]. Read more
§

fn from_iter<I>(iter: I) -> Self
where - Self: Parser + Sized, + Self: Sized + Parser, I: IntoIterator, <I as IntoIterator>::Item: Into<OsString> + Clone,

Helper function used to parse the command line arguments. This is the equivalent of [clap::Parser::parse_from]. Read more
§

fn try_from_iter<I>(iter: I) -> Result<Self, Error>
where - Self: Parser + Sized, + Self: Sized + Parser, I: IntoIterator, <I as IntoIterator>::Item: Into<OsString> + Clone,

Helper function used to parse the command line arguments. This is the equivalent of [clap::Parser::try_parse_from] Read more
§

fn client_id() -> String

Returns the client ID: {impl_name}/v{impl_version}
§

fn create_configuration<T, DVC>( @@ -52,7 +51,7 @@ ) -> Result<Runner<Self>, Error>
where T: CliConfiguration, F: FnOnce(&mut LoggerBuilder, &Configuration),

Create a runner for the command provided in argument. The logger_hook can be used to setup -a custom profiler or update the logger configuration before it is initialized. Read more

Auto Trait Implementations§

§

impl RefUnwindSafe for Cli

§

impl Send for Cli

§

impl Sync for Cli

§

impl Unpin for Cli

§

impl UnwindSafe for Cli

Blanket Implementations§

source§

impl<T> Any for T
where +a custom profiler or update the logger configuration before it is initialized. Read more

Auto Trait Implementations§

§

impl Freeze for Cli

§

impl RefUnwindSafe for Cli

§

impl Send for Cli

§

impl Sync for Cli

§

impl Unpin for Cli

§

impl UnwindSafe for Cli

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where @@ -82,16 +81,23 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T> IsType<T> for T

§

fn from_ref(t: &T) -> &T

Cast reference.
§

fn into_ref(&self) -> &T

Cast reference.
§

fn from_mut(t: &mut T) -> &mut T

Cast mutable reference.
§

fn into_mut(&mut self) -> &mut T

Cast mutable reference.
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> IsType<T> for T

§

fn from_ref(t: &T) -> &T

Cast reference.
§

fn into_ref(&self) -> &T

Cast reference.
§

fn from_mut(t: &mut T) -> &mut T

Cast mutable reference.
§

fn into_mut(&mut self) -> &mut T

Cast mutable reference.
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -162,9 +168,9 @@ Self: DerefMut<Target = T> + Deref, T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where diff --git a/parachain_template_node/cli/struct.RelayChainCli.html b/parachain_template_node/cli/struct.RelayChainCli.html index 8fff9d920..8d691b5d7 100644 --- a/parachain_template_node/cli/struct.RelayChainCli.html +++ b/parachain_template_node/cli/struct.RelayChainCli.html @@ -1,5 +1,4 @@ -RelayChainCli in parachain_template_node::cli - Rust -
pub struct RelayChainCli {
+RelayChainCli in parachain_template_node::cli - Rust

Struct parachain_template_node::cli::RelayChainCli

source ·
pub struct RelayChainCli {
     pub base: RunCmd,
     pub chain_id: Option<String>,
     pub base_path: Option<PathBuf>,
@@ -39,12 +38,12 @@
     base_path: &PathBuf,
     cache_size: usize,
     database: Database
-) -> Result<DatabaseSource, Error>

Get the database configuration object for the parameters provided
§

fn state_pruning(&self) -> Result<Option<PruningMode>, Error>

Get the state pruning mode. Read more
§

fn blocks_pruning(&self) -> Result<BlocksPruning, Error>

Get the block pruning mode. Read more
§

fn wasm_method(&self) -> Result<WasmExecutionMethod, Error>

Get the WASM execution method. Read more
§

fn wasm_runtime_overrides(&self) -> Option<PathBuf>

Get the path where WASM overrides live. Read more
§

fn rpc_max_request_size(&self) -> Result<u32, Error>

Get maximum RPC request payload size.
§

fn rpc_max_response_size(&self) -> Result<u32, Error>

Get maximum RPC response payload size.
§

fn rpc_max_subscriptions_per_connection(&self) -> Result<u32, Error>

Get maximum number of subscriptions per connection.
§

fn offchain_worker(&self, role: &Role) -> Result<OffchainWorkerConfig, Error>

Returns an offchain worker config wrapped in Ok(_) Read more
§

fn dev_key_seed(&self, _is_dev: bool) -> Result<Option<String>, Error>

Get the development key seed from the current object Read more
§

fn tracing_targets(&self) -> Result<Option<String>, Error>

Get the tracing targets from the current object (if any) Read more
§

fn tracing_receiver(&self) -> Result<TracingReceiver, Error>

Get the TracingReceiver value from the current object Read more
§

fn node_key(&self, net_config_dir: &PathBuf) -> Result<NodeKeyConfig, Error>

Get the node key from the current object Read more
§

fn runtime_cache_size(&self) -> Result<u8, Error>

Get maximum different runtimes in cache Read more
§

fn create_configuration<C>( +) -> Result<DatabaseSource, Error>

Get the database configuration object for the parameters provided
§

fn state_pruning(&self) -> Result<Option<PruningMode>, Error>

Get the state pruning mode. Read more
§

fn blocks_pruning(&self) -> Result<BlocksPruning, Error>

Get the block pruning mode. Read more
§

fn wasm_method(&self) -> Result<WasmExecutionMethod, Error>

Get the WASM execution method. Read more
§

fn wasm_runtime_overrides(&self) -> Option<PathBuf>

Get the path where WASM overrides live. Read more
§

fn rpc_max_request_size(&self) -> Result<u32, Error>

Get maximum RPC request payload size.
§

fn rpc_max_response_size(&self) -> Result<u32, Error>

Get maximum RPC response payload size.
§

fn rpc_max_subscriptions_per_connection(&self) -> Result<u32, Error>

Get maximum number of subscriptions per connection.
§

fn offchain_worker(&self, role: &Role) -> Result<OffchainWorkerConfig, Error>

Returns an offchain worker config wrapped in Ok(_) Read more
§

fn dev_key_seed(&self, _is_dev: bool) -> Result<Option<String>, Error>

Get the development key seed from the current object Read more
§

fn tracing_targets(&self) -> Result<Option<String>, Error>

Get the tracing targets from the current object (if any) Read more
§

fn tracing_receiver(&self) -> Result<TracingReceiver, Error>

Get the TracingReceiver value from the current object Read more
§

fn node_key(&self, net_config_dir: &PathBuf) -> Result<NodeKeyConfig, Error>

Get the node key from the current object Read more
§

fn runtime_cache_size(&self) -> Result<u8, Error>

Get maximum different runtimes in cache Read more
§

fn create_configuration<C>( &self, cli: &C, tokio_handle: Handle ) -> Result<Configuration, Error>
where - C: SubstrateCli,

Create a Configuration object from the current object
§

fn log_filters(&self) -> Result<String, Error>

Get the filters for the logging. Read more
§

fn detailed_log_output(&self) -> Result<bool, Error>

Should the detailed log output be enabled.
§

fn enable_log_reloading(&self) -> Result<bool, Error>

Is log reloading enabled?
§

fn disable_log_color(&self) -> Result<bool, Error>

Should the log color output be disabled?
source§

impl Debug for RelayChainCli

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl DefaultConfigurationValues for RelayChainCli

source§

fn p2p_listen_port() -> u16

The port Substrate should listen on for p2p connections. Read more
source§

fn rpc_listen_port() -> u16

The port Substrate should listen on for JSON-RPC connections. Read more
source§

fn prometheus_listen_port() -> u16

The port Substrate should listen on for prometheus connections. Read more
source§

impl SubstrateCli for RelayChainCli

source§

fn impl_name() -> String

Implementation name.
source§

fn impl_version() -> String

Implementation version. Read more
source§

fn description() -> String

Executable file description.
source§

fn author() -> String

Executable file author.
source§

fn support_url() -> String

Support URL.
source§

fn copyright_start_year() -> i32

Copyright starting year (x-current year)
source§

fn load_spec(&self, id: &str) -> Result<Box<dyn ChainSpec>, String>

Chain spec factory
§

fn executable_name() -> String

Executable file name. Read more
§

fn client_id() -> String

Returns the client ID: {impl_name}/v{impl_version}
§

fn create_configuration<T, DVC>( + C: SubstrateCli,

Create a Configuration object from the current object
§

fn log_filters(&self) -> Result<String, Error>

Get the filters for the logging. Read more
§

fn detailed_log_output(&self) -> Result<bool, Error>

Should the detailed log output be enabled.
§

fn enable_log_reloading(&self) -> Result<bool, Error>

Is log reloading enabled?
§

fn disable_log_color(&self) -> Result<bool, Error>

Should the log color output be disabled?
source§

impl Debug for RelayChainCli

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl DefaultConfigurationValues for RelayChainCli

source§

fn p2p_listen_port() -> u16

The port Substrate should listen on for p2p connections. Read more
source§

fn rpc_listen_port() -> u16

The port Substrate should listen on for JSON-RPC connections. Read more
source§

fn prometheus_listen_port() -> u16

The port Substrate should listen on for prometheus connections. Read more
source§

impl SubstrateCli for RelayChainCli

source§

fn impl_name() -> String

Implementation name.
source§

fn impl_version() -> String

Implementation version. Read more
source§

fn description() -> String

Executable file description.
source§

fn author() -> String

Executable file author.
source§

fn support_url() -> String

Support URL.
source§

fn copyright_start_year() -> i32

Copyright starting year (x-current year)
source§

fn load_spec(&self, id: &str) -> Result<Box<dyn ChainSpec>, String>

Chain spec factory
§

fn executable_name() -> String

Executable file name. Read more
§

fn client_id() -> String

Returns the client ID: {impl_name}/v{impl_version}
§

fn create_configuration<T, DVC>( &self, command: &T, tokio_handle: Handle @@ -60,7 +59,7 @@ ) -> Result<Runner<Self>, Error>
where T: CliConfiguration, F: FnOnce(&mut LoggerBuilder, &Configuration),

Create a runner for the command provided in argument. The logger_hook can be used to setup -a custom profiler or update the logger configuration before it is initialized. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +a custom profiler or update the logger configuration before it is initialized. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where @@ -90,16 +89,23 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T> IsType<T> for T

§

fn from_ref(t: &T) -> &T

Cast reference.
§

fn into_ref(&self) -> &T

Cast reference.
§

fn from_mut(t: &mut T) -> &mut T

Cast mutable reference.
§

fn into_mut(&mut self) -> &mut T

Cast mutable reference.
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> IsType<T> for T

§

fn from_ref(t: &T) -> &T

Cast reference.
§

fn into_ref(&self) -> &T

Cast reference.
§

fn from_mut(t: &mut T) -> &mut T

Cast mutable reference.
§

fn into_mut(&mut self) -> &mut T

Cast mutable reference.
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -170,9 +176,9 @@ Self: DerefMut<Target = T> + Deref, T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where diff --git a/parachain_template_node/command/fn.load_spec.html b/parachain_template_node/command/fn.load_spec.html index 164390f02..9c76ae10c 100644 --- a/parachain_template_node/command/fn.load_spec.html +++ b/parachain_template_node/command/fn.load_spec.html @@ -1,2 +1 @@ -load_spec in parachain_template_node::command - Rust -
fn load_spec(id: &str) -> Result<Box<dyn ChainSpec>, String>
\ No newline at end of file +load_spec in parachain_template_node::command - Rust

Function parachain_template_node::command::load_spec

source ·
fn load_spec(id: &str) -> Result<Box<dyn ChainSpec>, String>
\ No newline at end of file diff --git a/parachain_template_node/command/fn.run.html b/parachain_template_node/command/fn.run.html index 8b5abc5e4..360117602 100644 --- a/parachain_template_node/command/fn.run.html +++ b/parachain_template_node/command/fn.run.html @@ -1,3 +1,2 @@ -run in parachain_template_node::command - Rust -
pub fn run() -> Result<()>
Expand description

Parse command line arguments into service configuration.

+run in parachain_template_node::command - Rust

Function parachain_template_node::command::run

source ·
pub fn run() -> Result<()>
Expand description

Parse command line arguments into service configuration.

\ No newline at end of file diff --git a/parachain_template_node/command/index.html b/parachain_template_node/command/index.html index c6cc7f58a..617ace346 100644 --- a/parachain_template_node/command/index.html +++ b/parachain_template_node/command/index.html @@ -1,2 +1 @@ -parachain_template_node::command - Rust -

Macros§

Functions§

  • load_spec 🔒
  • Parse command line arguments into service configuration.
\ No newline at end of file +parachain_template_node::command - Rust

Module parachain_template_node::command

source ·

Macros§

Functions§

  • load_spec 🔒
  • Parse command line arguments into service configuration.
\ No newline at end of file diff --git a/parachain_template_node/command/macro.construct_async_run.html b/parachain_template_node/command/macro.construct_async_run.html index 29ca0046d..175492ee4 100644 --- a/parachain_template_node/command/macro.construct_async_run.html +++ b/parachain_template_node/command/macro.construct_async_run.html @@ -1,4 +1,3 @@ -construct_async_run in parachain_template_node::command - Rust -
macro_rules! construct_async_run {
+construct_async_run in parachain_template_node::command - Rust
macro_rules! construct_async_run {
     (|$components:ident, $cli:ident, $cmd:ident, $config:ident| $( $code:tt )* ) => { ... };
 }
\ No newline at end of file diff --git a/parachain_template_node/dev_service/fn.new_dev.html b/parachain_template_node/dev_service/fn.new_dev.html index 82c9979bf..85b4039da 100644 --- a/parachain_template_node/dev_service/fn.new_dev.html +++ b/parachain_template_node/dev_service/fn.new_dev.html @@ -1,4 +1,3 @@ -new_dev in parachain_template_node::dev_service - Rust -
pub fn new_dev(config: Configuration) -> Result<TaskManager, Error>
Expand description

Builds a new development service. This service uses manual seal, and mocks +new_dev in parachain_template_node::dev_service - Rust

Function parachain_template_node::dev_service::new_dev

source ·
pub fn new_dev(config: Configuration) -> Result<TaskManager, Error>
Expand description

Builds a new development service. This service uses manual seal, and mocks the parachain inherent.

\ No newline at end of file diff --git a/parachain_template_node/dev_service/fn.new_partial.html b/parachain_template_node/dev_service/fn.new_partial.html index 74cd7af89..1fafb7f11 100644 --- a/parachain_template_node/dev_service/fn.new_partial.html +++ b/parachain_template_node/dev_service/fn.new_partial.html @@ -1,4 +1,3 @@ -new_partial in parachain_template_node::dev_service - Rust -
pub fn new_partial(
+new_partial in parachain_template_node::dev_service - Rust

Function parachain_template_node::dev_service::new_partial

source ·
pub fn new_partial(
     config: &Configuration
-) -> Result<PartialComponents<TFullClient<Block, RuntimeApi, NativeElseWasmExecutor<ExecutorDispatch>>, TFullBackend<Block>, LongestChain<TFullBackend<Block>, Block>, DefaultImportQueue<Block>, FullPool<Block, TFullClient<Block, RuntimeApi, NativeElseWasmExecutor<ExecutorDispatch>>>, Option<Telemetry>>, Error>
\ No newline at end of file +) -> Result<PartialComponents<TFullClient<OpaqueBlock, RuntimeApi, NativeElseWasmExecutor<ExecutorDispatch>>, TFullBackend<OpaqueBlock>, LongestChain<TFullBackend<OpaqueBlock>, OpaqueBlock>, DefaultImportQueue<OpaqueBlock>, FullPool<OpaqueBlock, TFullClient<OpaqueBlock, RuntimeApi, NativeElseWasmExecutor<ExecutorDispatch>>>, Option<Telemetry>>, Error>
\ No newline at end of file diff --git a/parachain_template_node/dev_service/index.html b/parachain_template_node/dev_service/index.html index b7db6a430..3b7aec816 100644 --- a/parachain_template_node/dev_service/index.html +++ b/parachain_template_node/dev_service/index.html @@ -1,5 +1,4 @@ -parachain_template_node::dev_service - Rust -
Expand description

The development service provides a way to run a parachain runtime in a real blockchain context, +parachain_template_node::dev_service - Rust

Module parachain_template_node::dev_service

source ·
Expand description

The development service provides a way to run a parachain runtime in a real blockchain context, but without a backing relay chain. This allows developers to quickly and easily spin up parachain nodes using the –dev flag, for example. It can also be used in integration tests.

Structs§

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T> IsType<T> for T

§

fn from_ref(t: &T) -> &T

Cast reference.
§

fn into_ref(&self) -> &T

Cast reference.
§

fn from_mut(t: &mut T) -> &mut T

Cast mutable reference.
§

fn into_mut(&mut self) -> &mut T

Cast mutable reference.
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> IsType<T> for T

§

fn from_ref(t: &T) -> &T

Cast reference.
§

fn into_ref(&self) -> &T

Cast reference.
§

fn from_mut(t: &mut T) -> &mut T

Cast mutable reference.
§

fn into_mut(&mut self) -> &mut T

Cast mutable reference.
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -110,9 +116,9 @@ Self: DerefMut<Target = T> + Deref, T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where diff --git a/parachain_template_node/dev_service/struct.NativeElseWasmExecutor.html b/parachain_template_node/dev_service/struct.NativeElseWasmExecutor.html index 80e8f3d7d..aff5e7e63 100644 --- a/parachain_template_node/dev_service/struct.NativeElseWasmExecutor.html +++ b/parachain_template_node/dev_service/struct.NativeElseWasmExecutor.html @@ -1,5 +1,4 @@ -NativeElseWasmExecutor in parachain_template_node::dev_service - Rust -
pub struct NativeElseWasmExecutor<D>
where +NativeElseWasmExecutor in parachain_template_node::dev_service - Rust
pub struct NativeElseWasmExecutor<D>
where D: NativeExecutionDispatch,
{ native_version: NativeVersion, wasm: WasmExecutor<ExtendedHostFunctions<(HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions), <D as NativeExecutionDispatch>::ExtendHostFunctions>>, @@ -48,7 +47,7 @@
§ParametersResult<RuntimeVersion, Error>

Extract RuntimeVersion of the given runtime_code.

Auto Trait Implementations§

§

impl<D> !RefUnwindSafe for NativeElseWasmExecutor<D>

§

impl<D> Send for NativeElseWasmExecutor<D>

§

impl<D> Sync for NativeElseWasmExecutor<D>

§

impl<D> Unpin for NativeElseWasmExecutor<D>
where +) -> Result<RuntimeVersion, Error>

Extract RuntimeVersion of the given runtime_code.

Auto Trait Implementations§

§

impl<D> Freeze for NativeElseWasmExecutor<D>

§

impl<D> !RefUnwindSafe for NativeElseWasmExecutor<D>

§

impl<D> Send for NativeElseWasmExecutor<D>

§

impl<D> Sync for NativeElseWasmExecutor<D>

§

impl<D> Unpin for NativeElseWasmExecutor<D>
where <D as NativeExecutionDispatch>::ExtendHostFunctions: Unpin,

§

impl<D> !UnwindSafe for NativeElseWasmExecutor<D>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where @@ -64,8 +63,8 @@
§Parameters&Any’s vtable from &Trait’s.

§

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.
§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be -further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
source§

impl<T> DynClone for T
where - T: Clone,

§

impl<T> FmtForward for T

§

fn fmt_binary(self) -> FmtBinary<Self>
where +further downcast into Arc<ConcreteType> where ConcreteType implements Trait.

source§

impl<T> DynClone for T
where + T: Clone,

§

impl<T> FmtForward for T

§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where @@ -80,16 +79,23 @@
§ParametersDebug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T> IsType<T> for T

§

fn from_ref(t: &T) -> &T

Cast reference.
§

fn into_ref(&self) -> &T

Cast reference.
§

fn from_mut(t: &mut T) -> &mut T

Cast mutable reference.
§

fn into_mut(&mut self) -> &mut T

Cast mutable reference.
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> IsType<T> for T

§

fn from_ref(t: &T) -> &T

Cast reference.
§

fn into_ref(&self) -> &T

Cast reference.
§

fn from_mut(t: &mut T) -> &mut T

Cast mutable reference.
§

fn into_mut(&mut self) -> &mut T

Cast mutable reference.
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -161,9 +167,9 @@
§ParametersSized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where diff --git a/parachain_template_node/dev_service/type.FullBackend.html b/parachain_template_node/dev_service/type.FullBackend.html index e43ca427b..0c415d732 100644 --- a/parachain_template_node/dev_service/type.FullBackend.html +++ b/parachain_template_node/dev_service/type.FullBackend.html @@ -1,5 +1,4 @@ -FullBackend in parachain_template_node::dev_service - Rust -
type FullBackend = TFullBackend<Block>;

Aliased Type§

struct FullBackend {
+FullBackend in parachain_template_node::dev_service - Rust

Type Alias parachain_template_node::dev_service::FullBackend

source ·
type FullBackend = TFullBackend<OpaqueBlock>;

Aliased Type§

struct FullBackend {
     pub(crate) storage: Arc<StorageDb<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>>,
     pub(crate) offchain_storage: LocalStorage,
     pub(crate) blockchain: BlockchainDb<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>,
diff --git a/parachain_template_node/dev_service/type.FullClient.html b/parachain_template_node/dev_service/type.FullClient.html
index 7487e34db..b15e4a185 100644
--- a/parachain_template_node/dev_service/type.FullClient.html
+++ b/parachain_template_node/dev_service/type.FullClient.html
@@ -1,5 +1,4 @@
-FullClient in parachain_template_node::dev_service - Rust
-    
pub(crate) type FullClient = TFullClient<Block, RuntimeApi, NativeElseWasmExecutor<ExecutorDispatch>>;

Aliased Type§

struct FullClient {
Show 14 fields +FullClient in parachain_template_node::dev_service - Rust

Type Alias parachain_template_node::dev_service::FullClient

source ·
pub(crate) type FullClient = TFullClient<OpaqueBlock, RuntimeApi, NativeElseWasmExecutor<ExecutorDispatch>>;

Aliased Type§

struct FullClient {
Show 14 fields backend: Arc<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>>, executor: LocalCallExecutor<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, NativeElseWasmExecutor<ExecutorDispatch>>, storage_notifications: StorageNotifications<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, @@ -13,5 +12,5 @@ config: ClientConfig<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, telemetry: Option<TelemetryHandle>, unpin_worker_sender: TracingUnboundedSender<H256>, - _phantom: PhantomData<RuntimeApi>, -
}

Fields§

§backend: Arc<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>>§executor: LocalCallExecutor<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, NativeElseWasmExecutor<ExecutorDispatch>>§storage_notifications: StorageNotifications<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>§import_notification_sinks: Mutex<RawMutex, Vec<TracingUnboundedSender<BlockImportNotification<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>>>>§every_import_notification_sinks: Mutex<RawMutex, Vec<TracingUnboundedSender<BlockImportNotification<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>>>>§finality_notification_sinks: Mutex<RawMutex, Vec<TracingUnboundedSender<FinalityNotification<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>>>>§import_actions: Mutex<RawMutex, Vec<Box<dyn Fn(&BlockImportNotification<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>) -> Vec<(Vec<u8>, Option<Vec<u8>>)> + Send>>>§finality_actions: Mutex<RawMutex, Vec<Box<dyn Fn(&FinalityNotification<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>) -> Vec<(Vec<u8>, Option<Vec<u8>>)> + Send>>>§importing_block: RwLock<RawRwLock, Option<H256>>§block_rules: BlockRules<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>§config: ClientConfig<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>§telemetry: Option<TelemetryHandle>§unpin_worker_sender: TracingUnboundedSender<H256>§_phantom: PhantomData<RuntimeApi>
\ No newline at end of file + _phantom: PhantomData<RuntimeApi>, +
}

Fields§

§backend: Arc<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>>§executor: LocalCallExecutor<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, NativeElseWasmExecutor<ExecutorDispatch>>§storage_notifications: StorageNotifications<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>§import_notification_sinks: Mutex<RawMutex, Vec<TracingUnboundedSender<BlockImportNotification<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>>>>§every_import_notification_sinks: Mutex<RawMutex, Vec<TracingUnboundedSender<BlockImportNotification<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>>>>§finality_notification_sinks: Mutex<RawMutex, Vec<TracingUnboundedSender<FinalityNotification<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>>>>§import_actions: Mutex<RawMutex, Vec<Box<dyn Fn(&BlockImportNotification<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>) -> Vec<(Vec<u8>, Option<Vec<u8>>)> + Send>>>§finality_actions: Mutex<RawMutex, Vec<Box<dyn Fn(&FinalityNotification<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>) -> Vec<(Vec<u8>, Option<Vec<u8>>)> + Send>>>§importing_block: RwLock<RawRwLock, Option<H256>>§block_rules: BlockRules<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>§config: ClientConfig<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>§telemetry: Option<TelemetryHandle>§unpin_worker_sender: TracingUnboundedSender<H256>§_phantom: PhantomData<RuntimeApi>
\ No newline at end of file diff --git a/parachain_template_node/dev_service/type.FullSelectChain.html b/parachain_template_node/dev_service/type.FullSelectChain.html index fa0200e07..1b02f713f 100644 --- a/parachain_template_node/dev_service/type.FullSelectChain.html +++ b/parachain_template_node/dev_service/type.FullSelectChain.html @@ -1,5 +1,4 @@ -FullSelectChain in parachain_template_node::dev_service - Rust -
type FullSelectChain = LongestChain<TFullBackend<Block>, Block>;

Aliased Type§

struct FullSelectChain {
+FullSelectChain in parachain_template_node::dev_service - Rust

Type Alias parachain_template_node::dev_service::FullSelectChain

source ·
type FullSelectChain = LongestChain<TFullBackend<OpaqueBlock>, OpaqueBlock>;

Aliased Type§

struct FullSelectChain {
     backend: Arc<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>>,
     _phantom: PhantomData<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>,
 }

Fields§

§backend: Arc<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>>§_phantom: PhantomData<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>
\ No newline at end of file diff --git a/parachain_template_node/fn.main.html b/parachain_template_node/fn.main.html index 35efcf840..f2c9bf1ee 100644 --- a/parachain_template_node/fn.main.html +++ b/parachain_template_node/fn.main.html @@ -1,2 +1 @@ -main in parachain_template_node - Rust -
pub(crate) fn main() -> Result<()>
\ No newline at end of file +main in parachain_template_node - Rust

Function parachain_template_node::main

source ·
pub(crate) fn main() -> Result<()>
\ No newline at end of file diff --git a/parachain_template_node/index.html b/parachain_template_node/index.html index 392501cc0..bc9236bbf 100644 --- a/parachain_template_node/index.html +++ b/parachain_template_node/index.html @@ -1,6 +1,4 @@ -parachain_template_node - Rust -
Expand description

Substrate Parachain Node Template CLI

+parachain_template_node - Rust

Crate parachain_template_node

source ·
Expand description

Substrate Parachain Node Template CLI

Modules§

Trait Implementations§

§

impl Clone for DenyUnsafe

§

fn clone(&self) -> DenyUnsafe

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl Debug for DenyUnsafe

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl Copy for DenyUnsafe

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where @@ -22,8 +21,8 @@ generate &Any’s vtable from &Trait’s.

§

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.

§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be -further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
source§

impl<T> DynClone for T
where - T: Clone,

§

impl<T> FmtForward for T

§

fn fmt_binary(self) -> FmtBinary<Self>
where +further downcast into Arc<ConcreteType> where ConcreteType implements Trait.

source§

impl<T> DynClone for T
where + T: Clone,

§

impl<T> FmtForward for T

§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where @@ -38,16 +37,23 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T> IsType<T> for T

§

fn from_ref(t: &T) -> &T

Cast reference.
§

fn into_ref(&self) -> &T

Cast reference.
§

fn from_mut(t: &mut T) -> &mut T

Cast mutable reference.
§

fn into_mut(&mut self) -> &mut T

Cast mutable reference.
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> IsType<T> for T

§

fn from_ref(t: &T) -> &T

Cast reference.
§

fn into_ref(&self) -> &T

Cast reference.
§

fn from_mut(t: &mut T) -> &mut T

Cast mutable reference.
§

fn into_mut(&mut self) -> &mut T

Cast mutable reference.
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -119,9 +125,9 @@ T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where diff --git a/parachain_template_node/rpc/fn.create_full.html b/parachain_template_node/rpc/fn.create_full.html index 4768d3709..8aea2af77 100644 --- a/parachain_template_node/rpc/fn.create_full.html +++ b/parachain_template_node/rpc/fn.create_full.html @@ -1,8 +1,7 @@ -create_full in parachain_template_node::rpc - Rust -
pub fn create_full<C, P>(
+create_full in parachain_template_node::rpc - Rust

Function parachain_template_node::rpc::create_full

source ·
pub fn create_full<C, P>(
     _deps: FullDeps<C, P>
 ) -> Result<RpcModule<()>, Box<dyn Error + Send + Sync>>
where - C: ProvideRuntimeApi<Block> + HeaderBackend<Block> + HeaderMetadata<Block, Error = Error> + Send + Sync + 'static, - C::Api: BlockBuilder<Block>, + C: ProvideRuntimeApi<OpaqueBlock> + HeaderBackend<OpaqueBlock> + HeaderMetadata<OpaqueBlock, Error = Error> + Send + Sync + 'static, + C::Api: BlockBuilder<OpaqueBlock>, P: TransactionPool + Sync + Send + 'static,
Expand description

Instantiate all RPC extensions.

\ No newline at end of file diff --git a/parachain_template_node/rpc/index.html b/parachain_template_node/rpc/index.html index 226dc3e50..7ec8bdd6a 100644 --- a/parachain_template_node/rpc/index.html +++ b/parachain_template_node/rpc/index.html @@ -1,5 +1,4 @@ -parachain_template_node::rpc - Rust -
Expand description

A collection of node-specific RPC methods. +parachain_template_node::rpc - Rust

Module parachain_template_node::rpc

source ·
Expand description

A collection of node-specific RPC methods. Substrate provides the sc-rpc crate, which defines the core RPC layer used by Substrate nodes. This file extends those RPC definitions with capabilities that are specific to this project’s runtime configuration.

diff --git a/parachain_template_node/rpc/struct.FullDeps.html b/parachain_template_node/rpc/struct.FullDeps.html index 0e53989be..988eb00e2 100644 --- a/parachain_template_node/rpc/struct.FullDeps.html +++ b/parachain_template_node/rpc/struct.FullDeps.html @@ -1,5 +1,4 @@ -FullDeps in parachain_template_node::rpc - Rust -
pub struct FullDeps<C, P> {
+FullDeps in parachain_template_node::rpc - Rust

Struct parachain_template_node::rpc::FullDeps

source ·
pub struct FullDeps<C, P> {
     pub client: Arc<C>,
     pub pool: Arc<P>,
     pub deny_unsafe: DenyUnsafe,
@@ -7,7 +6,7 @@
 

Fields§

§client: Arc<C>

The client instance to use.

§pool: Arc<P>

Transaction pool instance.

§deny_unsafe: DenyUnsafe

Whether to deny unsafe calls

-

Auto Trait Implementations§

§

impl<C, P> RefUnwindSafe for FullDeps<C, P>
where +

Auto Trait Implementations§

§

impl<C, P> Freeze for FullDeps<C, P>

§

impl<C, P> RefUnwindSafe for FullDeps<C, P>

§

impl<C, P> Send for FullDeps<C, P>
where C: Sync + Send, @@ -45,16 +44,23 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more

source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T> IsType<T> for T

§

fn from_ref(t: &T) -> &T

Cast reference.
§

fn into_ref(&self) -> &T

Cast reference.
§

fn from_mut(t: &mut T) -> &mut T

Cast mutable reference.
§

fn into_mut(&mut self) -> &mut T

Cast mutable reference.
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> IsType<T> for T

§

fn from_ref(t: &T) -> &T

Cast reference.
§

fn into_ref(&self) -> &T

Cast reference.
§

fn from_mut(t: &mut T) -> &mut T

Cast mutable reference.
§

fn into_mut(&mut self) -> &mut T

Cast mutable reference.
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -125,9 +131,9 @@ Self: DerefMut<Target = T> + Deref, T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where diff --git a/parachain_template_node/rpc/type.RpcExtension.html b/parachain_template_node/rpc/type.RpcExtension.html index 3ca1419e6..ec5010273 100644 --- a/parachain_template_node/rpc/type.RpcExtension.html +++ b/parachain_template_node/rpc/type.RpcExtension.html @@ -1,5 +1,4 @@ -RpcExtension in parachain_template_node::rpc - Rust -
pub type RpcExtension = RpcModule<()>;
Expand description

A type representing all RPC extensions.

+RpcExtension in parachain_template_node::rpc - Rust

Type Alias parachain_template_node::rpc::RpcExtension

source ·
pub type RpcExtension = RpcModule<()>;
Expand description

A type representing all RPC extensions.

Aliased Type§

struct RpcExtension {
     ctx: Arc<()>,
     methods: Methods,
diff --git a/parachain_template_node/service/fn.build_import_queue.html b/parachain_template_node/service/fn.build_import_queue.html
index 324c2b825..241d8137a 100644
--- a/parachain_template_node/service/fn.build_import_queue.html
+++ b/parachain_template_node/service/fn.build_import_queue.html
@@ -1,9 +1,8 @@
-build_import_queue in parachain_template_node::service - Rust
-    
fn build_import_queue(
-    client: Arc<TFullClient<Block, RuntimeApi, NativeElseWasmExecutor<ParachainNativeExecutor>>>,
-    block_import: ParachainBlockImport<Block, Arc<TFullClient<Block, RuntimeApi, NativeElseWasmExecutor<ParachainNativeExecutor>>>, TFullBackend<Block>>,
+build_import_queue in parachain_template_node::service - Rust

Function parachain_template_node::service::build_import_queue

source ·
fn build_import_queue(
+    client: Arc<TFullClient<OpaqueBlock, RuntimeApi, NativeElseWasmExecutor<ParachainNativeExecutor>>>,
+    block_import: ParachainBlockImport<OpaqueBlock, Arc<TFullClient<OpaqueBlock, RuntimeApi, NativeElseWasmExecutor<ParachainNativeExecutor>>>, TFullBackend<OpaqueBlock>>,
     config: &Configuration,
     telemetry: Option<TelemetryHandle>,
     task_manager: &TaskManager
-) -> Result<DefaultImportQueue<Block>, Error>
Expand description

Build the import queue for the parachain runtime.

+) -> Result<DefaultImportQueue<OpaqueBlock>, Error>
Expand description

Build the import queue for the parachain runtime.

\ No newline at end of file diff --git a/parachain_template_node/service/fn.new_partial.html b/parachain_template_node/service/fn.new_partial.html index c90535509..0be4ee25c 100644 --- a/parachain_template_node/service/fn.new_partial.html +++ b/parachain_template_node/service/fn.new_partial.html @@ -1,7 +1,6 @@ -new_partial in parachain_template_node::service - Rust -
pub fn new_partial(
+new_partial in parachain_template_node::service - Rust

Function parachain_template_node::service::new_partial

source ·
pub fn new_partial(
     config: &Configuration
-) -> Result<PartialComponents<TFullClient<Block, RuntimeApi, NativeElseWasmExecutor<ParachainNativeExecutor>>, TFullBackend<Block>, (), DefaultImportQueue<Block>, FullPool<Block, TFullClient<Block, RuntimeApi, NativeElseWasmExecutor<ParachainNativeExecutor>>>, (ParachainBlockImport<Block, Arc<TFullClient<Block, RuntimeApi, NativeElseWasmExecutor<ParachainNativeExecutor>>>, TFullBackend<Block>>, Option<Telemetry>, Option<TelemetryWorkerHandle>)>, Error>
Expand description

Starts a ServiceBuilder for a full service.

+) -> Result<PartialComponents<TFullClient<OpaqueBlock, RuntimeApi, NativeElseWasmExecutor<ParachainNativeExecutor>>, TFullBackend<OpaqueBlock>, (), DefaultImportQueue<OpaqueBlock>, FullPool<OpaqueBlock, TFullClient<OpaqueBlock, RuntimeApi, NativeElseWasmExecutor<ParachainNativeExecutor>>>, (ParachainBlockImport<OpaqueBlock, Arc<TFullClient<OpaqueBlock, RuntimeApi, NativeElseWasmExecutor<ParachainNativeExecutor>>>, TFullBackend<OpaqueBlock>>, Option<Telemetry>, Option<TelemetryWorkerHandle>)>, Error>
Expand description

Starts a ServiceBuilder for a full service.

Use this macro if you don’t actually need the full service, but just the builder in order to be able to perform chain operations.

\ No newline at end of file diff --git a/parachain_template_node/service/fn.start_consensus.html b/parachain_template_node/service/fn.start_consensus.html index cfc1c1669..330b51d90 100644 --- a/parachain_template_node/service/fn.start_consensus.html +++ b/parachain_template_node/service/fn.start_consensus.html @@ -1,17 +1,16 @@ -start_consensus in parachain_template_node::service - Rust -
fn start_consensus(
-    client: Arc<TFullClient<Block, RuntimeApi, NativeElseWasmExecutor<ParachainNativeExecutor>>>,
-    block_import: ParachainBlockImport<Block, Arc<TFullClient<Block, RuntimeApi, NativeElseWasmExecutor<ParachainNativeExecutor>>>, TFullBackend<Block>>,
+start_consensus in parachain_template_node::service - Rust

Function parachain_template_node::service::start_consensus

source ·
fn start_consensus(
+    client: Arc<TFullClient<OpaqueBlock, RuntimeApi, NativeElseWasmExecutor<ParachainNativeExecutor>>>,
+    block_import: ParachainBlockImport<OpaqueBlock, Arc<TFullClient<OpaqueBlock, RuntimeApi, NativeElseWasmExecutor<ParachainNativeExecutor>>>, TFullBackend<OpaqueBlock>>,
     prometheus_registry: Option<&Registry>,
     telemetry: Option<TelemetryHandle>,
     task_manager: &TaskManager,
     relay_chain_interface: Arc<dyn RelayChainInterface>,
-    transaction_pool: Arc<FullPool<Block, TFullClient<Block, RuntimeApi, NativeElseWasmExecutor<ParachainNativeExecutor>>>>,
-    sync_oracle: Arc<SyncingService<Block>>,
+    transaction_pool: Arc<FullPool<OpaqueBlock, TFullClient<OpaqueBlock, RuntimeApi, NativeElseWasmExecutor<ParachainNativeExecutor>>>>,
+    sync_oracle: Arc<SyncingService<OpaqueBlock>>,
     keystore: KeystorePtr,
     relay_chain_slot_duration: Duration,
     para_id: ParaId,
     collator_key: CollatorPair,
     overseer_handle: OverseerHandle,
-    announce_block: Arc<dyn Fn(Hash, Option<Vec<u8>>) + Send + Sync>
+    announce_block: Arc<dyn Fn(OpaqueHash, Option<Vec<u8>>) + Send + Sync>
 ) -> Result<(), Error>
\ No newline at end of file diff --git a/parachain_template_node/service/fn.start_node_impl.html b/parachain_template_node/service/fn.start_node_impl.html index 39bdc77dc..5eb91de48 100644 --- a/parachain_template_node/service/fn.start_node_impl.html +++ b/parachain_template_node/service/fn.start_node_impl.html @@ -1,10 +1,9 @@ -start_node_impl in parachain_template_node::service - Rust -
async fn start_node_impl(
+start_node_impl in parachain_template_node::service - Rust

Function parachain_template_node::service::start_node_impl

source ·
async fn start_node_impl(
     parachain_config: Configuration,
     polkadot_config: Configuration,
     collator_options: CollatorOptions,
     para_id: ParaId,
     hwbench: Option<HwBench>
-) -> Result<(TaskManager, Arc<TFullClient<Block, RuntimeApi, NativeElseWasmExecutor<ParachainNativeExecutor>>>)>
Expand description

Start a node with the given parachain Configuration and relay chain Configuration.

+) -> Result<(TaskManager, Arc<TFullClient<OpaqueBlock, RuntimeApi, NativeElseWasmExecutor<ParachainNativeExecutor>>>)>
Expand description

Start a node with the given parachain Configuration and relay chain Configuration.

This is the actual implementation that is abstract over the executor and the runtime api.

\ No newline at end of file diff --git a/parachain_template_node/service/fn.start_parachain_node.html b/parachain_template_node/service/fn.start_parachain_node.html index 66e22cdbd..7b95784ae 100644 --- a/parachain_template_node/service/fn.start_parachain_node.html +++ b/parachain_template_node/service/fn.start_parachain_node.html @@ -1,9 +1,8 @@ -start_parachain_node in parachain_template_node::service - Rust -
pub async fn start_parachain_node(
+start_parachain_node in parachain_template_node::service - Rust
pub async fn start_parachain_node(
     parachain_config: Configuration,
     polkadot_config: Configuration,
     collator_options: CollatorOptions,
     para_id: ParaId,
     hwbench: Option<HwBench>
-) -> Result<(TaskManager, Arc<TFullClient<Block, RuntimeApi, NativeElseWasmExecutor<ParachainNativeExecutor>>>)>
Expand description

Start a parachain node.

+) -> Result<(TaskManager, Arc<TFullClient<OpaqueBlock, RuntimeApi, NativeElseWasmExecutor<ParachainNativeExecutor>>>)>
Expand description

Start a parachain node.

\ No newline at end of file diff --git a/parachain_template_node/service/index.html b/parachain_template_node/service/index.html index 570a7ceff..16401401b 100644 --- a/parachain_template_node/service/index.html +++ b/parachain_template_node/service/index.html @@ -1,3 +1,2 @@ -parachain_template_node::service - Rust -
Expand description

Service and ServiceFactory implementation. Specialized wrapper over substrate service.

+parachain_template_node::service - Rust

Module parachain_template_node::service

source ·
Expand description

Service and ServiceFactory implementation. Specialized wrapper over substrate service.

Structs§

Functions§

Type Aliases§

\ No newline at end of file diff --git a/parachain_template_node/service/struct.ParachainNativeExecutor.html b/parachain_template_node/service/struct.ParachainNativeExecutor.html index fcc12d784..607add204 100644 --- a/parachain_template_node/service/struct.ParachainNativeExecutor.html +++ b/parachain_template_node/service/struct.ParachainNativeExecutor.html @@ -1,7 +1,6 @@ -ParachainNativeExecutor in parachain_template_node::service - Rust -
pub struct ParachainNativeExecutor;
Expand description

Native executor type.

-

Trait Implementations§

source§

impl NativeExecutionDispatch for ParachainNativeExecutor

§

type ExtendHostFunctions = ()

Host functions for custom runtime interfaces that should be callable from within the runtime -besides the default Substrate runtime interfaces.
source§

fn dispatch(method: &str, data: &[u8]) -> Option<Vec<u8>>

Dispatch a method in the runtime.
source§

fn native_version() -> NativeVersion

Provide native runtime version.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +ParachainNativeExecutor in parachain_template_node::service - Rust
pub struct ParachainNativeExecutor;
Expand description

Native executor type.

+

Trait Implementations§

source§

impl NativeExecutionDispatch for ParachainNativeExecutor

§

type ExtendHostFunctions = ()

Host functions for custom runtime interfaces that should be callable from within the runtime +besides the default Substrate runtime interfaces.
source§

fn dispatch(method: &str, data: &[u8]) -> Option<Vec<u8>>

Dispatch a method in the runtime.
source§

fn native_version() -> NativeVersion

Provide native runtime version.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where @@ -31,16 +30,23 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more

source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T> IsType<T> for T

§

fn from_ref(t: &T) -> &T

Cast reference.
§

fn into_ref(&self) -> &T

Cast reference.
§

fn from_mut(t: &mut T) -> &mut T

Cast mutable reference.
§

fn into_mut(&mut self) -> &mut T

Cast mutable reference.
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> IsType<T> for T

§

fn from_ref(t: &T) -> &T

Cast reference.
§

fn into_ref(&self) -> &T

Cast reference.
§

fn from_mut(t: &mut T) -> &mut T

Cast mutable reference.
§

fn into_mut(&mut self) -> &mut T

Cast mutable reference.
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -111,9 +117,9 @@ Self: DerefMut<Target = T> + Deref, T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where diff --git a/parachain_template_node/service/type.ParachainBackend.html b/parachain_template_node/service/type.ParachainBackend.html index 332af9c94..d2b8a7d14 100644 --- a/parachain_template_node/service/type.ParachainBackend.html +++ b/parachain_template_node/service/type.ParachainBackend.html @@ -1,5 +1,4 @@ -ParachainBackend in parachain_template_node::service - Rust -
type ParachainBackend = TFullBackend<Block>;

Aliased Type§

struct ParachainBackend {
+ParachainBackend in parachain_template_node::service - Rust

Type Alias parachain_template_node::service::ParachainBackend

source ·
type ParachainBackend = TFullBackend<OpaqueBlock>;

Aliased Type§

struct ParachainBackend {
     pub(crate) storage: Arc<StorageDb<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>>,
     pub(crate) offchain_storage: LocalStorage,
     pub(crate) blockchain: BlockchainDb<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>,
diff --git a/parachain_template_node/service/type.ParachainBlockImport.html b/parachain_template_node/service/type.ParachainBlockImport.html
index b7d0a647f..cdddccd55 100644
--- a/parachain_template_node/service/type.ParachainBlockImport.html
+++ b/parachain_template_node/service/type.ParachainBlockImport.html
@@ -1,5 +1,4 @@
-ParachainBlockImport in parachain_template_node::service - Rust
-    
type ParachainBlockImport = ParachainBlockImport<Block, Arc<TFullClient<Block, RuntimeApi, NativeElseWasmExecutor<ParachainNativeExecutor>>>, TFullBackend<Block>>;

Aliased Type§

struct ParachainBlockImport {
-    pub(crate) inner: Arc<Client<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, LocalCallExecutor<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, NativeElseWasmExecutor<ParachainNativeExecutor>>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, RuntimeApi>>,
+ParachainBlockImport in parachain_template_node::service - Rust

Type Alias parachain_template_node::service::ParachainBlockImport

source ·
type ParachainBlockImport = ParachainBlockImport<OpaqueBlock, Arc<TFullClient<OpaqueBlock, RuntimeApi, NativeElseWasmExecutor<ParachainNativeExecutor>>>, TFullBackend<OpaqueBlock>>;

Aliased Type§

struct ParachainBlockImport {
+    pub(crate) inner: Arc<Client<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, LocalCallExecutor<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, NativeElseWasmExecutor<ParachainNativeExecutor>>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, RuntimeApi>>,
     pub(crate) monitor: Option<SharedData<LevelMonitor<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>>>>,
-}

Fields§

§inner: Arc<Client<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, LocalCallExecutor<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, NativeElseWasmExecutor<ParachainNativeExecutor>>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, RuntimeApi>>§monitor: Option<SharedData<LevelMonitor<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>>>>
\ No newline at end of file +}

Fields§

§inner: Arc<Client<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, LocalCallExecutor<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, NativeElseWasmExecutor<ParachainNativeExecutor>>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, RuntimeApi>>§monitor: Option<SharedData<LevelMonitor<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>>>>
\ No newline at end of file diff --git a/parachain_template_node/service/type.ParachainClient.html b/parachain_template_node/service/type.ParachainClient.html index 52262a498..76002b40e 100644 --- a/parachain_template_node/service/type.ParachainClient.html +++ b/parachain_template_node/service/type.ParachainClient.html @@ -1,5 +1,4 @@ -ParachainClient in parachain_template_node::service - Rust -
type ParachainClient = TFullClient<Block, RuntimeApi, NativeElseWasmExecutor<ParachainNativeExecutor>>;

Aliased Type§

struct ParachainClient {
Show 14 fields +ParachainClient in parachain_template_node::service - Rust

Type Alias parachain_template_node::service::ParachainClient

source ·
type ParachainClient = TFullClient<OpaqueBlock, RuntimeApi, NativeElseWasmExecutor<ParachainNativeExecutor>>;

Aliased Type§

struct ParachainClient {
Show 14 fields backend: Arc<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>>, executor: LocalCallExecutor<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, NativeElseWasmExecutor<ParachainNativeExecutor>>, storage_notifications: StorageNotifications<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, @@ -13,5 +12,5 @@ config: ClientConfig<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, telemetry: Option<TelemetryHandle>, unpin_worker_sender: TracingUnboundedSender<H256>, - _phantom: PhantomData<RuntimeApi>, -
}

Fields§

§backend: Arc<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>>§executor: LocalCallExecutor<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, NativeElseWasmExecutor<ParachainNativeExecutor>>§storage_notifications: StorageNotifications<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>§import_notification_sinks: Mutex<RawMutex, Vec<TracingUnboundedSender<BlockImportNotification<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>>>>§every_import_notification_sinks: Mutex<RawMutex, Vec<TracingUnboundedSender<BlockImportNotification<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>>>>§finality_notification_sinks: Mutex<RawMutex, Vec<TracingUnboundedSender<FinalityNotification<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>>>>§import_actions: Mutex<RawMutex, Vec<Box<dyn Fn(&BlockImportNotification<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>) -> Vec<(Vec<u8>, Option<Vec<u8>>)> + Send>>>§finality_actions: Mutex<RawMutex, Vec<Box<dyn Fn(&FinalityNotification<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>) -> Vec<(Vec<u8>, Option<Vec<u8>>)> + Send>>>§importing_block: RwLock<RawRwLock, Option<H256>>§block_rules: BlockRules<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>§config: ClientConfig<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>§telemetry: Option<TelemetryHandle>§unpin_worker_sender: TracingUnboundedSender<H256>§_phantom: PhantomData<RuntimeApi>
\ No newline at end of file + _phantom: PhantomData<RuntimeApi>, +
}

Fields§

§backend: Arc<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>>§executor: LocalCallExecutor<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>, Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, NativeElseWasmExecutor<ParachainNativeExecutor>>§storage_notifications: StorageNotifications<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>§import_notification_sinks: Mutex<RawMutex, Vec<TracingUnboundedSender<BlockImportNotification<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>>>>§every_import_notification_sinks: Mutex<RawMutex, Vec<TracingUnboundedSender<BlockImportNotification<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>>>>§finality_notification_sinks: Mutex<RawMutex, Vec<TracingUnboundedSender<FinalityNotification<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>>>>§import_actions: Mutex<RawMutex, Vec<Box<dyn Fn(&BlockImportNotification<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>) -> Vec<(Vec<u8>, Option<Vec<u8>>)> + Send>>>§finality_actions: Mutex<RawMutex, Vec<Box<dyn Fn(&FinalityNotification<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>) -> Vec<(Vec<u8>, Option<Vec<u8>>)> + Send>>>§importing_block: RwLock<RawRwLock, Option<H256>>§block_rules: BlockRules<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>§config: ClientConfig<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>§telemetry: Option<TelemetryHandle>§unpin_worker_sender: TracingUnboundedSender<H256>§_phantom: PhantomData<RuntimeApi>
\ No newline at end of file diff --git a/parachain_template_node/service/type.ParachainExecutor.html b/parachain_template_node/service/type.ParachainExecutor.html index 61a14d133..484132219 100644 --- a/parachain_template_node/service/type.ParachainExecutor.html +++ b/parachain_template_node/service/type.ParachainExecutor.html @@ -1,5 +1,4 @@ -ParachainExecutor in parachain_template_node::service - Rust -
type ParachainExecutor = NativeElseWasmExecutor<ParachainNativeExecutor>;

Aliased Type§

struct ParachainExecutor {
+ParachainExecutor in parachain_template_node::service - Rust

Type Alias parachain_template_node::service::ParachainExecutor

source ·
type ParachainExecutor = NativeElseWasmExecutor<ParachainNativeExecutor>;

Aliased Type§

struct ParachainExecutor {
     native_version: NativeVersion,
     wasm: WasmExecutor<ExtendedHostFunctions<(HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions), ()>>,
 }

Fields§

§native_version: NativeVersion§wasm: WasmExecutor<ExtendedHostFunctions<(HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions), ()>>
\ No newline at end of file diff --git a/poe/all.html b/poe/all.html index 7075c9fdf..59050b593 100644 --- a/poe/all.html +++ b/poe/all.html @@ -1,2 +1 @@ -List of all items in this crate -
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/poe/enum.ConstraintCheckerError.html b/poe/enum.ConstraintCheckerError.html index 88a2de4eb..850263846 100644 --- a/poe/enum.ConstraintCheckerError.html +++ b/poe/enum.ConstraintCheckerError.html @@ -1,10 +1,11 @@ -ConstraintCheckerError in poe - Rust -
pub enum ConstraintCheckerError {
+ConstraintCheckerError in poe - Rust

Enum poe::ConstraintCheckerError

source ·
pub enum ConstraintCheckerError {
     WrongNumberInputs,
     WrongNumberOutputs,
     BadlyTypedInput,
     BadlyTypedOutput,
     EffectiveHeightInPast,
+    DisputingMismatchedClaims,
+    IncorrectDisputeWinner,
 }
Expand description

Errors that can occur when checking PoE Transactions

Variants§

§

WrongNumberInputs

Wrong number of inputs were provided to the constraint checker.

§

WrongNumberOutputs

Wrong number of outputs were provided to the constraint checker.

@@ -12,6 +13,8 @@
§

BadlyTypedOutput

An output data has the wrong type.

§

EffectiveHeightInPast

The effective height of this claim is in the past, So the claim cannot be created.

+
§

DisputingMismatchedClaims

Claims under dispute do not have the same hash, but they must.

+
§

IncorrectDisputeWinner

The winner of a dispute must be the oldest claim (the lowest block number)

Trait Implementations§

source§

impl Clone for ConstraintCheckerError

source§

fn clone(&self) -> ConstraintCheckerError

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ConstraintCheckerError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Decode for ConstraintCheckerError

source§

fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Self, Error>

Attempt to deserialise the value from input.
§

fn decode_into<I>( @@ -19,18 +22,16 @@ dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>
where I: Input,

Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
§

fn skip<I>(input: &mut I) -> Result<(), Error>
where - I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl<'de> Deserialize<'de> for ConstraintCheckerError

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Encode for ConstraintCheckerError

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl<'de> Deserialize<'de> for ConstraintCheckerError

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Encode for ConstraintCheckerError

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )

Convert self to a slice and append it to the destination.
§

fn encode(&self) -> Vec<u8>

Convert self to an owned vector.
§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl PartialEq for ConstraintCheckerError

source§

fn eq(&self, other: &ConstraintCheckerError) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl Serialize for ConstraintCheckerError

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl EncodeLike for ConstraintCheckerError

source§

impl Eq for ConstraintCheckerError

source§

impl StructuralPartialEq for ConstraintCheckerError

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where - T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where - T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where +by ==.

1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
source§

impl Serialize for ConstraintCheckerError

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl EncodeLike for ConstraintCheckerError

source§

impl Eq for ConstraintCheckerError

source§

impl StructuralPartialEq for ConstraintCheckerError

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CheckedConversion for T

§

fn checked_from<T>(t: T) -> Option<Self>
where Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
§

fn checked_into<T>(self) -> Option<T>
where @@ -42,8 +43,8 @@ input: &mut &[u8] ) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
where I: Input,

Decode Self with the given maximum recursion depth and advance input by the number of -bytes consumed. Read more
source§

impl<T> DynClone for T
where - T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where +bytes consumed. Read more

source§

impl<T> DynClone for T
where + T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, @@ -66,14 +67,21 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -144,9 +152,9 @@ T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where @@ -154,8 +162,8 @@ S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<S> Codec for S
where - S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where + S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where T: Encode,

§

impl<T> EncodeLike<&T> for T
where T: Encode,

§

impl<T> EncodeLike<&mut T> for T
where T: Encode,

§

impl<T> EncodeLike<Arc<T>> for T
where @@ -167,6 +175,6 @@ S: Encode + EncodeLike,

§

impl<T> JsonSchemaMaybe for T

§

impl<T> MaybeDebug for T
where T: Debug,

§

impl<T> MaybeRefUnwindSafe for T
where T: RefUnwindSafe,

§

impl<T> MaybeSerialize for T
where - T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where + T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

\ No newline at end of file diff --git a/poe/index.html b/poe/index.html index 998666ab1..d5341b3bc 100644 --- a/poe/index.html +++ b/poe/index.html @@ -1,6 +1,4 @@ -poe - Rust -

Crate poe

source ·
Expand description

This file represents a simple Proof of Existence application, identical in behavior +poe - Rust

Crate poe

source ·
Expand description

This file represents a simple Proof of Existence application, identical in behavior to the tutorial https://docs.substrate.io/tutorials/work-with-pallets/use-macros-in-a-custom-pallet/ Of course, this implementation is based on UTXOs and works with Tuxedo rather than FRAME.

The application allows users to claim the existence of a preimage for a particular hash with a diff --git a/poe/struct.PoeClaim.html b/poe/struct.PoeClaim.html index 640dcb46f..47e8e092e 100644 --- a/poe/struct.PoeClaim.html +++ b/poe/struct.PoeClaim.html @@ -1,56 +1,65 @@ -PoeClaim in poe - Rust

-

Struct poe::PoeClaim

source ·
pub struct PoeClaim<T>(/* private fields */);
Expand description

A constraint checker to create claims.

+PoeClaim in poe - Rust

Struct poe::PoeClaim

source ·
pub struct PoeClaim<T>(/* private fields */);
Expand description

A constraint checker to create claims.

This constraint checker allows the creation of many claims in a single operation It also allows the creation of zero claims, although such a transaction is useless and is simply a waste of caller fees.

-

Trait Implementations§

source§

impl<T> Clone for PoeClaim<T>

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<T> Debug for PoeClaim<T>

source§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<T> Decode for PoeClaim<T>
where - PhantomData<T>: Decode,

source§

fn decode<__CodecInputEdqy: Input>( +

Trait Implementations§

source§

impl<T> Clone for PoeClaim<T>

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<T> Debug for PoeClaim<T>

source§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<T> Decode for PoeClaim<T>
where + PhantomData<T>: Decode,

source§

fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Self, Error>

Attempt to deserialise the value from input.
§

fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>
where I: Input,

Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
§

fn skip<I>(input: &mut I) -> Result<(), Error>
where - I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl<'de, T> Deserialize<'de> for PoeClaim<T>

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<T> Encode for PoeClaim<T>
where - PhantomData<T>: Encode,

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl<'de, T> Deserialize<'de> for PoeClaim<T>

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<T> Encode for PoeClaim<T>
where + PhantomData<T>: Encode,

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy -)

Convert self to a slice and append it to the destination.
source§

fn encode(&self) -> Vec<u8>

Convert self to an owned vector.
source§

fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback: FnOnce(&[u8]) -> __CodecOutputReturn>( +)

Convert self to a slice and append it to the destination.
source§

fn encode(&self) -> Vec<u8>

Convert self to an owned vector.
source§

fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback: FnOnce(&[u8]) -> __CodecOutputReturn>( &self, f: __CodecUsingEncodedCallback -) -> __CodecOutputReturn

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl<T: PartialEq> PartialEq for PoeClaim<T>

source§

fn eq(&self, other: &PoeClaim<T>) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl<T> Serialize for PoeClaim<T>

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl<T: PoeConfig> SimpleConstraintChecker for PoeClaim<T>

§

type Error = ConstraintCheckerError

The error type that this constraint checker may return
source§

fn check( +) -> __CodecOutputReturn

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl<T: PartialEq> PartialEq for PoeClaim<T>

source§

fn eq(&self, other: &PoeClaim<T>) -> bool

This method tests for self and other values to be equal, and is used +by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
source§

impl<T> Serialize for PoeClaim<T>

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl<T: PoeConfig> SimpleConstraintChecker for PoeClaim<T>

§

type Error = ConstraintCheckerError

The error type that this constraint checker may return
source§

fn check( &self, input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], _peeks: &[DynamicallyTypedData], output_data: &[DynamicallyTypedData] -) -> Result<TransactionPriority, Self::Error>

The actual check validation logic
source§

impl<T> TypeInfo for PoeClaim<T>
where +) -> Result<TransactionPriority, Self::Error>

The on chain logic that makes the final check for whether a transaction is valid.
source§

impl<T> TypeInfo for PoeClaim<T>
where PhantomData<T>: TypeInfo + 'static, - T: TypeInfo + 'static,

§

type Identity = PoeClaim<T>

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl<T> EncodeLike for PoeClaim<T>
where - PhantomData<T>: Encode,

source§

impl<T: Eq> Eq for PoeClaim<T>

source§

impl<T> StructuralPartialEq for PoeClaim<T>

Auto Trait Implementations§

§

impl<T> RefUnwindSafe for PoeClaim<T>
where + T: TypeInfo + 'static,

§

type Identity = PoeClaim<T>

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl<T> EncodeLike for PoeClaim<T>
where + PhantomData<T>: Encode,

source§

impl<T: Eq> Eq for PoeClaim<T>

source§

impl<T> StructuralPartialEq for PoeClaim<T>

Auto Trait Implementations§

§

impl<T> Freeze for PoeClaim<T>

§

impl<T> RefUnwindSafe for PoeClaim<T>
where T: RefUnwindSafe,

§

impl<T> Send for PoeClaim<T>
where T: Send,

§

impl<T> Sync for PoeClaim<T>
where T: Sync,

§

impl<T> Unpin for PoeClaim<T>
where T: Unpin,

§

impl<T> UnwindSafe for PoeClaim<T>
where T: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where - T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where - T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CheckedConversion for T

§

fn checked_from<T>(t: T) -> Option<Self>
where Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
§

fn checked_into<T>(self) -> Option<T>
where - Self: TryInto<T>,

Consume self to return Some equivalent value of Option<T>. Read more
§

impl<T, V> ConstraintChecker<V> for T
where - T: SimpleConstraintChecker,

§

type Error = <T as SimpleConstraintChecker>::Error

The error type that this constraint checker may return
§

type InherentHooks = ()

Optional Associated Inherent processing logic. If this transaction type is not an inherent, use (). -If it is an inherent, use Self, and implement the TuxedoInherent trait.
§

fn check( + Self: TryInto<T>,

Consume self to return Some equivalent value of Option<T>. Read more
§

impl<T> ConstraintChecker for T
where + T: SimpleConstraintChecker,

§

type Error = <T as SimpleConstraintChecker>::Error

The error type that this constraint checker may return
§

fn check( &self, - inputs: &[Output<V>], - peeks: &[Output<V>], - outputs: &[Output<V>] -) -> Result<u64, <T as ConstraintChecker<V>>::Error>

The actual check validation logic
§

fn is_inherent(&self) -> bool

Tells whether this extrinsic is an inherent or not. -If you return true here, you must provide the correct inherent hooks above.
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where + input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], + peek_data: &[DynamicallyTypedData], + output_data: &[DynamicallyTypedData] +) -> Result<u64, <T as ConstraintChecker>::Error>

The on chain logic that makes the final check for whether a transaction is valid.
§

fn is_inherent(&self) -> bool

Tells whether this extrinsic is an inherent or not. +If you return true here, you must provide the correct inherent hooks above.
§

fn create_inherents<V>( + _authoring_inherent_data: &InherentData, + _previous_inherents: Vec<(Transaction<V, T>, H256)> +) -> Vec<Transaction<V, T>>

Create the inherent extrinsics to insert into a block that is being authored locally. +The inherent data is supplied by the authoring node.
§

fn check_inherents<V>( + _: &InherentData, + inherents: Vec<Transaction<V, T>>, + _: &mut CheckInherentsResult +)

Perform off-chain pre-execution checks on the inherents. +The inherent data is supplied by the importing node. +The inherent data available here is not necessarily the +same as what is available at authoring time.
§

fn genesis_transactions<V>() -> Vec<Transaction<V, T>>

Return the genesis transactions that are required for the inherents.
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
§

impl<T> DecodeAll for T
where T: Decode,

§

fn decode_all(input: &mut &[u8]) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

impl<T> DecodeLimit for T
where T: Decode,

§

fn decode_all_with_depth_limit( @@ -58,8 +67,8 @@ input: &mut &[u8] ) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
where I: Input,

Decode Self with the given maximum recursion depth and advance input by the number of -bytes consumed. Read more
source§

impl<T> DynClone for T
where - T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where +bytes consumed. Read more

source§

impl<T> DynClone for T
where + T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, @@ -82,14 +91,21 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -160,9 +176,9 @@ T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where @@ -170,8 +186,8 @@ S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<S> Codec for S
where - S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where + S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where T: Encode,

§

impl<T> EncodeLike<&T> for T
where T: Encode,

§

impl<T> EncodeLike<&mut T> for T
where T: Encode,

§

impl<T> EncodeLike<Arc<T>> for T
where @@ -183,7 +199,7 @@ S: Encode + EncodeLike,

§

impl<T> JsonSchemaMaybe for T

§

impl<T> MaybeDebug for T
where T: Debug,

§

impl<T> MaybeRefUnwindSafe for T
where T: RefUnwindSafe,

§

impl<T> MaybeSerialize for T
where - T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where + T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

§

impl<T> StaticTypeInfo for T
where T: TypeInfo + 'static,

\ No newline at end of file diff --git a/poe/struct.PoeDispute.html b/poe/struct.PoeDispute.html index e1dfaa4ac..5a82fc178 100644 --- a/poe/struct.PoeDispute.html +++ b/poe/struct.PoeDispute.html @@ -1,48 +1,51 @@ -PoeDispute in poe - Rust -

Struct poe::PoeDispute

source ·
pub struct PoeDispute;
Expand description

A constraint checker that resolves claim disputes by keeping whichever claim came first.

-

TODO this will work much more elegantly once peek is implemented. We only need to peek at the -older winning claim because it will remain in state afterwards.

-

TODO what shall we do about the verifier? Each claimer may have given their claim a verifier -such that their own private signature. Perhaps there should be a way for a constraint checker to override -the verifier logic? This is a concrete case where the constraint checker verifier separation is not ideal. -Another, weaker example, is when trying o implement something like sudo. Where we want a signature, -but we want to authorized signer to come from the a different part of state.

-

Trait Implementations§

source§

impl Clone for PoeDispute

source§

fn clone(&self) -> PoeDispute

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for PoeDispute

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Decode for PoeDispute

source§

fn decode<__CodecInputEdqy: Input>( +PoeDispute in poe - Rust

Struct poe::PoeDispute

source ·
pub struct PoeDispute;
Expand description

A constraint checker that resolves claim disputes by keeping whichever claim came first.

+

Any user may submit a transaction reporting conflicting claims, and the oldest one will be kept.

+

Trait Implementations§

source§

impl Clone for PoeDispute

source§

fn clone(&self) -> PoeDispute

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for PoeDispute

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Decode for PoeDispute

source§

fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Self, Error>

Attempt to deserialise the value from input.
§

fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>
where I: Input,

Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
§

fn skip<I>(input: &mut I) -> Result<(), Error>
where - I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl<'de> Deserialize<'de> for PoeDispute

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Encode for PoeDispute

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl<'de> Deserialize<'de> for PoeDispute

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Encode for PoeDispute

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )

Convert self to a slice and append it to the destination.
§

fn encode(&self) -> Vec<u8>

Convert self to an owned vector.
§

fn using_encoded<R, F>(&self, f: F) -> R
where - F: FnOnce(&[u8]) -> R,

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl PartialEq for PoeDispute

source§

fn eq(&self, other: &PoeDispute) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl Serialize for PoeDispute

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl SimpleConstraintChecker for PoeDispute

§

type Error = ConstraintCheckerError

The error type that this constraint checker may return
source§

fn check( + F: FnOnce(&[u8]) -> R,

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl PartialEq for PoeDispute

source§

fn eq(&self, other: &PoeDispute) -> bool

This method tests for self and other values to be equal, and is used +by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
source§

impl Serialize for PoeDispute

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl SimpleConstraintChecker for PoeDispute

§

type Error = ConstraintCheckerError

The error type that this constraint checker may return
source§

fn check( &self, - _input_data: &[DynamicallyTypedData], - _peeks: &[DynamicallyTypedData], - _output_data: &[DynamicallyTypedData] -) -> Result<TransactionPriority, Self::Error>

The actual check validation logic
source§

impl TypeInfo for PoeDispute

§

type Identity = PoeDispute

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl EncodeLike for PoeDispute

source§

impl Eq for PoeDispute

source§

impl StructuralPartialEq for PoeDispute

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where - T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where - T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where + input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], + peek_data: &[DynamicallyTypedData], + output_data: &[DynamicallyTypedData] +) -> Result<TransactionPriority, Self::Error>

The on chain logic that makes the final check for whether a transaction is valid.
source§

impl TypeInfo for PoeDispute

§

type Identity = PoeDispute

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl EncodeLike for PoeDispute

source§

impl Eq for PoeDispute

source§

impl StructuralPartialEq for PoeDispute

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CheckedConversion for T

§

fn checked_from<T>(t: T) -> Option<Self>
where Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
§

fn checked_into<T>(self) -> Option<T>
where - Self: TryInto<T>,

Consume self to return Some equivalent value of Option<T>. Read more
§

impl<T, V> ConstraintChecker<V> for T
where - T: SimpleConstraintChecker,

§

type Error = <T as SimpleConstraintChecker>::Error

The error type that this constraint checker may return
§

type InherentHooks = ()

Optional Associated Inherent processing logic. If this transaction type is not an inherent, use (). -If it is an inherent, use Self, and implement the TuxedoInherent trait.
§

fn check( + Self: TryInto<T>,

Consume self to return Some equivalent value of Option<T>. Read more
§

impl<T> ConstraintChecker for T
where + T: SimpleConstraintChecker,

§

type Error = <T as SimpleConstraintChecker>::Error

The error type that this constraint checker may return
§

fn check( &self, - inputs: &[Output<V>], - peeks: &[Output<V>], - outputs: &[Output<V>] -) -> Result<u64, <T as ConstraintChecker<V>>::Error>

The actual check validation logic
§

fn is_inherent(&self) -> bool

Tells whether this extrinsic is an inherent or not. -If you return true here, you must provide the correct inherent hooks above.
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where + input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], + peek_data: &[DynamicallyTypedData], + output_data: &[DynamicallyTypedData] +) -> Result<u64, <T as ConstraintChecker>::Error>

The on chain logic that makes the final check for whether a transaction is valid.
§

fn is_inherent(&self) -> bool

Tells whether this extrinsic is an inherent or not. +If you return true here, you must provide the correct inherent hooks above.
§

fn create_inherents<V>( + _authoring_inherent_data: &InherentData, + _previous_inherents: Vec<(Transaction<V, T>, H256)> +) -> Vec<Transaction<V, T>>

Create the inherent extrinsics to insert into a block that is being authored locally. +The inherent data is supplied by the authoring node.
§

fn check_inherents<V>( + _: &InherentData, + inherents: Vec<Transaction<V, T>>, + _: &mut CheckInherentsResult +)

Perform off-chain pre-execution checks on the inherents. +The inherent data is supplied by the importing node. +The inherent data available here is not necessarily the +same as what is available at authoring time.
§

fn genesis_transactions<V>() -> Vec<Transaction<V, T>>

Return the genesis transactions that are required for the inherents.
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
§

impl<T> DecodeAll for T
where T: Decode,

§

fn decode_all(input: &mut &[u8]) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

impl<T> DecodeLimit for T
where T: Decode,

§

fn decode_all_with_depth_limit( @@ -50,8 +53,8 @@ input: &mut &[u8] ) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
where I: Input,

Decode Self with the given maximum recursion depth and advance input by the number of -bytes consumed. Read more
source§

impl<T> DynClone for T
where - T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where +bytes consumed. Read more

source§

impl<T> DynClone for T
where + T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, @@ -74,14 +77,21 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -152,9 +162,9 @@ T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where @@ -162,8 +172,8 @@ S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<S> Codec for S
where - S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where + S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where T: Encode,

§

impl<T> EncodeLike<&T> for T
where T: Encode,

§

impl<T> EncodeLike<&mut T> for T
where T: Encode,

§

impl<T> EncodeLike<Arc<T>> for T
where @@ -175,7 +185,7 @@ S: Encode + EncodeLike,

§

impl<T> JsonSchemaMaybe for T

§

impl<T> MaybeDebug for T
where T: Debug,

§

impl<T> MaybeRefUnwindSafe for T
where T: RefUnwindSafe,

§

impl<T> MaybeSerialize for T
where - T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where + T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

§

impl<T> StaticTypeInfo for T
where T: TypeInfo + 'static,

\ No newline at end of file diff --git a/poe/struct.PoeRevoke.html b/poe/struct.PoeRevoke.html index a24de5ab0..797885e0a 100644 --- a/poe/struct.PoeRevoke.html +++ b/poe/struct.PoeRevoke.html @@ -1,42 +1,51 @@ -PoeRevoke in poe - Rust -

Struct poe::PoeRevoke

source ·
pub struct PoeRevoke;
Expand description

A constraint checker to revoke claims.

+PoeRevoke in poe - Rust

Struct poe::PoeRevoke

source ·
pub struct PoeRevoke;
Expand description

A constraint checker to revoke claims.

Like the creation constraint checker, this allows batch revocation.

-

Trait Implementations§

source§

impl Clone for PoeRevoke

source§

fn clone(&self) -> PoeRevoke

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for PoeRevoke

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Decode for PoeRevoke

source§

fn decode<__CodecInputEdqy: Input>( +

Trait Implementations§

source§

impl Clone for PoeRevoke

source§

fn clone(&self) -> PoeRevoke

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for PoeRevoke

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Decode for PoeRevoke

source§

fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Self, Error>

Attempt to deserialise the value from input.
§

fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>
where I: Input,

Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
§

fn skip<I>(input: &mut I) -> Result<(), Error>
where - I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl<'de> Deserialize<'de> for PoeRevoke

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Encode for PoeRevoke

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl<'de> Deserialize<'de> for PoeRevoke

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Encode for PoeRevoke

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )

Convert self to a slice and append it to the destination.
§

fn encode(&self) -> Vec<u8>

Convert self to an owned vector.
§

fn using_encoded<R, F>(&self, f: F) -> R
where - F: FnOnce(&[u8]) -> R,

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl PartialEq for PoeRevoke

source§

fn eq(&self, other: &PoeRevoke) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl Serialize for PoeRevoke

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl SimpleConstraintChecker for PoeRevoke

§

type Error = ConstraintCheckerError

The error type that this constraint checker may return
source§

fn check( + F: FnOnce(&[u8]) -> R,

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl PartialEq for PoeRevoke

source§

fn eq(&self, other: &PoeRevoke) -> bool

This method tests for self and other values to be equal, and is used +by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
source§

impl Serialize for PoeRevoke

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl SimpleConstraintChecker for PoeRevoke

§

type Error = ConstraintCheckerError

The error type that this constraint checker may return
source§

fn check( &self, input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], _peeks: &[DynamicallyTypedData], output_data: &[DynamicallyTypedData] -) -> Result<TransactionPriority, Self::Error>

The actual check validation logic
source§

impl TypeInfo for PoeRevoke

§

type Identity = PoeRevoke

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl EncodeLike for PoeRevoke

source§

impl Eq for PoeRevoke

source§

impl StructuralPartialEq for PoeRevoke

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where - T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where - T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where +) -> Result<TransactionPriority, Self::Error>

The on chain logic that makes the final check for whether a transaction is valid.
source§

impl TypeInfo for PoeRevoke

§

type Identity = PoeRevoke

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl EncodeLike for PoeRevoke

source§

impl Eq for PoeRevoke

source§

impl StructuralPartialEq for PoeRevoke

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CheckedConversion for T

§

fn checked_from<T>(t: T) -> Option<Self>
where Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
§

fn checked_into<T>(self) -> Option<T>
where - Self: TryInto<T>,

Consume self to return Some equivalent value of Option<T>. Read more
§

impl<T, V> ConstraintChecker<V> for T
where - T: SimpleConstraintChecker,

§

type Error = <T as SimpleConstraintChecker>::Error

The error type that this constraint checker may return
§

type InherentHooks = ()

Optional Associated Inherent processing logic. If this transaction type is not an inherent, use (). -If it is an inherent, use Self, and implement the TuxedoInherent trait.
§

fn check( + Self: TryInto<T>,

Consume self to return Some equivalent value of Option<T>. Read more
§

impl<T> ConstraintChecker for T
where + T: SimpleConstraintChecker,

§

type Error = <T as SimpleConstraintChecker>::Error

The error type that this constraint checker may return
§

fn check( &self, - inputs: &[Output<V>], - peeks: &[Output<V>], - outputs: &[Output<V>] -) -> Result<u64, <T as ConstraintChecker<V>>::Error>

The actual check validation logic
§

fn is_inherent(&self) -> bool

Tells whether this extrinsic is an inherent or not. -If you return true here, you must provide the correct inherent hooks above.
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where + input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], + peek_data: &[DynamicallyTypedData], + output_data: &[DynamicallyTypedData] +) -> Result<u64, <T as ConstraintChecker>::Error>

The on chain logic that makes the final check for whether a transaction is valid.
§

fn is_inherent(&self) -> bool

Tells whether this extrinsic is an inherent or not. +If you return true here, you must provide the correct inherent hooks above.
§

fn create_inherents<V>( + _authoring_inherent_data: &InherentData, + _previous_inherents: Vec<(Transaction<V, T>, H256)> +) -> Vec<Transaction<V, T>>

Create the inherent extrinsics to insert into a block that is being authored locally. +The inherent data is supplied by the authoring node.
§

fn check_inherents<V>( + _: &InherentData, + inherents: Vec<Transaction<V, T>>, + _: &mut CheckInherentsResult +)

Perform off-chain pre-execution checks on the inherents. +The inherent data is supplied by the importing node. +The inherent data available here is not necessarily the +same as what is available at authoring time.
§

fn genesis_transactions<V>() -> Vec<Transaction<V, T>>

Return the genesis transactions that are required for the inherents.
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
§

impl<T> DecodeAll for T
where T: Decode,

§

fn decode_all(input: &mut &[u8]) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

impl<T> DecodeLimit for T
where T: Decode,

§

fn decode_all_with_depth_limit( @@ -44,8 +53,8 @@ input: &mut &[u8] ) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
where I: Input,

Decode Self with the given maximum recursion depth and advance input by the number of -bytes consumed. Read more
source§

impl<T> DynClone for T
where - T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where +bytes consumed. Read more

source§

impl<T> DynClone for T
where + T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, @@ -68,14 +77,21 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -146,9 +162,9 @@ T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where @@ -156,8 +172,8 @@ S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<S> Codec for S
where - S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where + S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where T: Encode,

§

impl<T> EncodeLike<&T> for T
where T: Encode,

§

impl<T> EncodeLike<&mut T> for T
where T: Encode,

§

impl<T> EncodeLike<Arc<T>> for T
where @@ -169,7 +185,7 @@ S: Encode + EncodeLike,

§

impl<T> JsonSchemaMaybe for T

§

impl<T> MaybeDebug for T
where T: Debug,

§

impl<T> MaybeRefUnwindSafe for T
where T: RefUnwindSafe,

§

impl<T> MaybeSerialize for T
where - T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where + T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

§

impl<T> StaticTypeInfo for T
where T: TypeInfo + 'static,

\ No newline at end of file diff --git a/poe/trait.PoeConfig.html b/poe/trait.PoeConfig.html index 302d7c879..b5d602dc8 100644 --- a/poe/trait.PoeConfig.html +++ b/poe/trait.PoeConfig.html @@ -1,9 +1,8 @@ -PoeConfig in poe - Rust -

Trait poe::PoeConfig

source ·
pub trait PoeConfig {
+PoeConfig in poe - Rust

Trait poe::PoeConfig

source ·
pub trait PoeConfig {
     // Required method
     fn block_height() -> u32;
 }
Expand description

Configuration items for the Proof of Existence piece when it is instantiated in a concrete runtime.

-

Required Methods§

source

fn block_height() -> u32

A means of getting the current block height. +

Required Methods§

source

fn block_height() -> u32

A means of getting the current block height. Probably this will be the Tuxedo Executive

Object Safety§

This trait is not object safe.

Implementors§

\ No newline at end of file diff --git a/runtime_upgrade/all.html b/runtime_upgrade/all.html index 0600a5073..6a7a70195 100644 --- a/runtime_upgrade/all.html +++ b/runtime_upgrade/all.html @@ -1,2 +1 @@ -List of all items in this crate -

List of all items

Structs

Enums

\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/runtime_upgrade/enum.ConstraintCheckerError.html b/runtime_upgrade/enum.ConstraintCheckerError.html index 0e43a1d86..10fbc2fb9 100644 --- a/runtime_upgrade/enum.ConstraintCheckerError.html +++ b/runtime_upgrade/enum.ConstraintCheckerError.html @@ -1,9 +1,9 @@ -ConstraintCheckerError in runtime_upgrade - Rust -
pub enum ConstraintCheckerError {
+ConstraintCheckerError in runtime_upgrade - Rust

Enum runtime_upgrade::ConstraintCheckerError

source ·
pub enum ConstraintCheckerError {
     WrongNumberInputs,
     WrongNumberOutputs,
     BadlyTypedInput,
     BadlyTypedOutput,
+    NoEvictionsAllowed,
     InputMismatch,
     OutputMismatch,
 }
Expand description

Reasons that the RuntimeUpgrade constraint checker may fail

@@ -11,13 +11,12 @@
§

WrongNumberOutputs

Wrong number of outputs were provided to the constraint checker.

§

BadlyTypedInput

An input data has the wrong type.

§

BadlyTypedOutput

An output data has the wrong type.

+
§

NoEvictionsAllowed

The Runtime Upgrade piece does not allow any evictions at all.

§

InputMismatch

The consumed input does not match the current wasm. This should never happen and is indicative of inconsistent state. Perhaps another piece interfered?

§

OutputMismatch

The created output does not match the provided new runtime wasm.

-

Trait Implementations§

source§

impl Debug for ConstraintCheckerError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where - T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where - T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where +

Trait Implementations§

source§

impl Debug for ConstraintCheckerError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CheckedConversion for T

§

fn checked_from<T>(t: T) -> Option<Self>
where Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
§

fn checked_into<T>(self) -> Option<T>
where @@ -37,14 +36,21 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -113,9 +119,9 @@ Self: DerefMut<Target = T> + Deref, T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where diff --git a/runtime_upgrade/index.html b/runtime_upgrade/index.html index b5e5a0a31..50bbc103e 100644 --- a/runtime_upgrade/index.html +++ b/runtime_upgrade/index.html @@ -1,6 +1,4 @@ -runtime_upgrade - Rust -

Crate runtime_upgrade

source ·
Expand description

This is a small pallet that handles runtime upgrades in chains that want +runtime_upgrade - Rust

Crate runtime_upgrade

source ·
Expand description

This is a small pallet that handles runtime upgrades in chains that want to support them.

Right now this method is entirely unprotected (except by the verifier) which may not be realistic enough for public production chains. It should be composed diff --git a/runtime_upgrade/struct.RuntimeUpgrade.html b/runtime_upgrade/struct.RuntimeUpgrade.html index 7c381b602..eeb523039 100644 --- a/runtime_upgrade/struct.RuntimeUpgrade.html +++ b/runtime_upgrade/struct.RuntimeUpgrade.html @@ -1,48 +1,57 @@ -RuntimeUpgrade in runtime_upgrade - Rust

-
pub struct RuntimeUpgrade { /* private fields */ }
Expand description

The sole constraint checker for the runtime upgrade. It confirms that the UTXO +RuntimeUpgrade in runtime_upgrade - Rust

Struct runtime_upgrade::RuntimeUpgrade

source ·
pub struct RuntimeUpgrade { /* private fields */ }
Expand description

The sole constraint checker for the runtime upgrade. It confirms that the UTXO being consumed points to the correct current wasm and creates a new UTXO for the new wasm.

This constraint checker is somewhat non-standard in that it has a side-effect that writes the full wasm code to the well-known :code storage key. This is necessary to satisfy Substrate’s assumptions that this will happen.

-

Trait Implementations§

source§

impl Clone for RuntimeUpgrade

source§

fn clone(&self) -> RuntimeUpgrade

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for RuntimeUpgrade

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Decode for RuntimeUpgrade

source§

fn decode<__CodecInputEdqy: Input>( +

Trait Implementations§

source§

impl Clone for RuntimeUpgrade

source§

fn clone(&self) -> RuntimeUpgrade

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for RuntimeUpgrade

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Decode for RuntimeUpgrade

source§

fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Self, Error>

Attempt to deserialise the value from input.
§

fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>
where I: Input,

Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
§

fn skip<I>(input: &mut I) -> Result<(), Error>
where - I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl<'de> Deserialize<'de> for RuntimeUpgrade

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Encode for RuntimeUpgrade

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl<'de> Deserialize<'de> for RuntimeUpgrade

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Encode for RuntimeUpgrade

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy -)

Convert self to a slice and append it to the destination.
source§

fn encode(&self) -> Vec<u8>

Convert self to an owned vector.
source§

fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback: FnOnce(&[u8]) -> __CodecOutputReturn>( +)

Convert self to a slice and append it to the destination.
source§

fn encode(&self) -> Vec<u8>

Convert self to an owned vector.
source§

fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback: FnOnce(&[u8]) -> __CodecOutputReturn>( &self, f: __CodecUsingEncodedCallback -) -> __CodecOutputReturn

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl PartialEq for RuntimeUpgrade

source§

fn eq(&self, other: &RuntimeUpgrade) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl Serialize for RuntimeUpgrade

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl SimpleConstraintChecker for RuntimeUpgrade

§

type Error = ConstraintCheckerError

The error type that this constraint checker may return
source§

fn check( +) -> __CodecOutputReturn

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl PartialEq for RuntimeUpgrade

source§

fn eq(&self, other: &RuntimeUpgrade) -> bool

This method tests for self and other values to be equal, and is used +by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
source§

impl Serialize for RuntimeUpgrade

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl SimpleConstraintChecker for RuntimeUpgrade

§

type Error = ConstraintCheckerError

The error type that this constraint checker may return
source§

fn check( &self, input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], _peeks: &[DynamicallyTypedData], output_data: &[DynamicallyTypedData] -) -> Result<TransactionPriority, Self::Error>

The actual check validation logic
source§

impl TypeInfo for RuntimeUpgrade

§

type Identity = RuntimeUpgrade

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl EncodeLike for RuntimeUpgrade

source§

impl Eq for RuntimeUpgrade

source§

impl StructuralPartialEq for RuntimeUpgrade

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where - T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where - T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where +) -> Result<TransactionPriority, Self::Error>

The on chain logic that makes the final check for whether a transaction is valid.
source§

impl TypeInfo for RuntimeUpgrade

§

type Identity = RuntimeUpgrade

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl EncodeLike for RuntimeUpgrade

source§

impl Eq for RuntimeUpgrade

source§

impl StructuralPartialEq for RuntimeUpgrade

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CheckedConversion for T

§

fn checked_from<T>(t: T) -> Option<Self>
where Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
§

fn checked_into<T>(self) -> Option<T>
where - Self: TryInto<T>,

Consume self to return Some equivalent value of Option<T>. Read more
§

impl<T, V> ConstraintChecker<V> for T
where - T: SimpleConstraintChecker,

§

type Error = <T as SimpleConstraintChecker>::Error

The error type that this constraint checker may return
§

type InherentHooks = ()

Optional Associated Inherent processing logic. If this transaction type is not an inherent, use (). -If it is an inherent, use Self, and implement the TuxedoInherent trait.
§

fn check( + Self: TryInto<T>,

Consume self to return Some equivalent value of Option<T>. Read more
§

impl<T> ConstraintChecker for T
where + T: SimpleConstraintChecker,

§

type Error = <T as SimpleConstraintChecker>::Error

The error type that this constraint checker may return
§

fn check( &self, - inputs: &[Output<V>], - peeks: &[Output<V>], - outputs: &[Output<V>] -) -> Result<u64, <T as ConstraintChecker<V>>::Error>

The actual check validation logic
§

fn is_inherent(&self) -> bool

Tells whether this extrinsic is an inherent or not. -If you return true here, you must provide the correct inherent hooks above.
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where + input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], + peek_data: &[DynamicallyTypedData], + output_data: &[DynamicallyTypedData] +) -> Result<u64, <T as ConstraintChecker>::Error>

The on chain logic that makes the final check for whether a transaction is valid.
§

fn is_inherent(&self) -> bool

Tells whether this extrinsic is an inherent or not. +If you return true here, you must provide the correct inherent hooks above.
§

fn create_inherents<V>( + _authoring_inherent_data: &InherentData, + _previous_inherents: Vec<(Transaction<V, T>, H256)> +) -> Vec<Transaction<V, T>>

Create the inherent extrinsics to insert into a block that is being authored locally. +The inherent data is supplied by the authoring node.
§

fn check_inherents<V>( + _: &InherentData, + inherents: Vec<Transaction<V, T>>, + _: &mut CheckInherentsResult +)

Perform off-chain pre-execution checks on the inherents. +The inherent data is supplied by the importing node. +The inherent data available here is not necessarily the +same as what is available at authoring time.
§

fn genesis_transactions<V>() -> Vec<Transaction<V, T>>

Return the genesis transactions that are required for the inherents.
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
§

impl<T> DecodeAll for T
where T: Decode,

§

fn decode_all(input: &mut &[u8]) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

impl<T> DecodeLimit for T
where T: Decode,

§

fn decode_all_with_depth_limit( @@ -50,8 +59,8 @@ input: &mut &[u8] ) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
where I: Input,

Decode Self with the given maximum recursion depth and advance input by the number of -bytes consumed. Read more
source§

impl<T> DynClone for T
where - T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where +bytes consumed. Read more

source§

impl<T> DynClone for T
where + T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, @@ -74,14 +83,21 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -152,9 +168,9 @@ T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where @@ -162,8 +178,8 @@ S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<S> Codec for S
where - S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where + S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where T: Encode,

§

impl<T> EncodeLike<&T> for T
where T: Encode,

§

impl<T> EncodeLike<&mut T> for T
where T: Encode,

§

impl<T> EncodeLike<Arc<T>> for T
where @@ -175,7 +191,7 @@ S: Encode + EncodeLike,

§

impl<T> JsonSchemaMaybe for T

§

impl<T> MaybeDebug for T
where T: Debug,

§

impl<T> MaybeRefUnwindSafe for T
where T: RefUnwindSafe,

§

impl<T> MaybeSerialize for T
where - T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where + T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

§

impl<T> StaticTypeInfo for T
where T: TypeInfo + 'static,

\ No newline at end of file diff --git a/search-index.js b/search-index.js index 03faaeef5..8131c4d6f 100644 --- a/search-index.js +++ b/search-index.js @@ -1,20 +1,21 @@ var searchIndex = new Map(JSON.parse('[\ -["aggregator",{"doc":"","t":"XXX","n":["aggregate","tuxedo_constraint_checker","tuxedo_verifier"],"q":[[0,"aggregator"]],"d":["Automatically implements From for each type in an …","This macro treats the supplied enum as an aggregate …","This macro treats the supplied enum as an aggregate …"],"i":[0,0,0],"f":"```","c":[],"p":[],"b":[]}],\ -["amoeba",{"doc":"This file represents a simple example Tuxedo piece that …","t":"FFFFPPGPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["AmoebaCreation","AmoebaDeath","AmoebaDetails","AmoebaMitosis","BadlyTypedInput","BadlyTypedOutput","ConstraintCheckerError","CreatedNothing","CreatedTooMany","CreationMayNotConsume","DeathMayNotCreate","NoVictim","TooManyVictims","WrongGeneration","WrongNumberOfDaughters","WrongNumberOfMothers","__clone_box","__clone_box","__clone_box","__clone_box","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","check","check","check","check","check","check","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","decode","decode","decode","decode","decode_all","decode_all","decode_all","decode_all","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","drop","encode_to","encode_to","encode_to","encode_to","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","four_bytes","from","from","from","from","from","from_mut","from_mut","from_mut","from_mut","from_mut","from_ref","from_ref","from_ref","from_ref","from_ref","generation","init","init","init","init","init","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","is_inherent","is_inherent","is_inherent","serialize","serialize","serialize","serialize","size_hint","size_hint","size_hint","size_hint","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_info","type_info","type_info","type_name","type_name","type_name","type_name","type_name","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","vzip","vzip","vzip","vzip","vzip"],"q":[[0,"amoeba"],[217,"dyn_clone::sealed"],[218,"tuxedo_core::types"],[219,"core::result"],[220,"tuxedo_core::dynamic_typing"],[221,"sp_runtime::transaction_validity"],[222,"parity_scale_codec::error"],[223,"parity_scale_codec::codec"],[224,"serde::de"],[225,"parity_scale_codec::codec"],[226,"core::fmt"],[227,"core::fmt"],[228,"core::any"],[229,"alloc::sync"],[230,"alloc::rc"],[231,"serde::ser"],[232,"alloc::vec"],[233,"core::any"]],"d":["A constraint checker for simple creation of an amoeba.","A constraint checker for simple death of an amoeba.","An amoeba tracked by our simple Amoeba APP","A constraint checker for the process of amoeba mitosis The …","An input data has the wrong type.","An output data has the wrong type.","Reasons that the amoeba constraint checkers may fail","Amoeba creation requires a new amoeba to be created, but …","Amoeba creation is not a mass operation. Only one new …","No input may be consumed by amoeba creation.","No output may be created by amoeba death.","Amoeba death requires a “victim” amoeba that will be …","Amoeba death is not a mass operation. Only one “victim”…","The daughters did not have to right generation based on …","Amoeba mitosis requires exactly two daughter amoebas to be …","Amoeba mitosis requires exactly one mother amoeba to be …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Four totally arbitrary bytes that each amoeba has. There …","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","How many generations after the original Eve Amoeba this …","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[0,0,0,0,10,10,0,10,10,10,10,10,10,10,10,10,13,7,11,12,13,10,7,11,12,13,10,7,11,12,7,7,11,11,12,12,13,7,11,12,13,7,11,12,13,7,11,12,13,7,11,12,13,7,11,12,13,7,11,12,13,10,7,11,12,13,10,7,11,12,13,7,11,12,13,10,7,11,12,13,7,11,12,13,10,7,11,12,13,13,13,13,13,10,10,10,10,10,7,7,7,7,7,11,11,11,11,11,12,12,12,12,12,13,10,7,11,12,13,13,10,7,11,12,13,10,7,11,12,13,10,7,11,12,13,13,10,7,11,12,13,10,7,11,12,13,10,7,11,12,13,10,7,11,12,13,10,7,11,12,7,11,12,13,7,11,12,13,7,11,12,13,7,11,12,13,7,11,12,13,10,7,11,12,13,10,7,11,12,13,10,7,11,12,7,11,12,13,10,7,11,12,13,10,7,11,12,13,10,7,11,12,13,10,7,11,12],"f":"````````````````{{cb}d{}}000{ce{}{}}000000000{{c{h{{f{e}}}}{h{{f{e}}}}{h{{f{e}}}}}{{l{j}}}{}{}}{{n{h{A`}}{h{A`}}{h{A`}}}{{l{AbAd}}}}{{Af{h{A`}}{h{A`}}{h{A`}}}{{l{Abc}}}{}}22{{Ah{h{A`}}{h{A`}}{h{A`}}}{{l{Abc}}}{}}{AjAj}{nn}{AfAf}{AhAh}{{ce}d{}{}}000{c{{l{AjAl}}}An}{c{{l{nAl}}}An}{c{{l{AfAl}}}An}{c{{l{AhAl}}}An}{{{h{B`}}}{{l{cAl}}}{}}000{{Bb{h{B`}}}{{l{cAl}}}{}}000{{Bbc}{{l{eAl}}}An{}}000{Bdc{}}000000000{c{{l{Aj}}}Bf}{c{{l{n}}}Bf}{c{{l{Af}}}Bf}{c{{l{Ah}}}Bf}{Bdd}0000{{Ajc}d{BhBj}}{{nc}d{BhBj}}{{Afc}d{BhBj}}{{Ahc}d{BhBj}}{{AjAj}Bl}{{AdAd}Bl}{{nn}Bl}{{AfAf}Bl}{{AhAh}Bl}{{ce}Bl{}{}}000000000000000000000000{{AjBn}C`}{{AdBn}C`}{{nBn}C`}{{AfBn}C`}{{AhBn}C`}`{cc{}}0000{ce{}{}}000000000`{{}Bd}000011111{{{Cb{c}}}{{Cb{Cd}}}{}}0000{{{Cf{c}}}{{Cf{Cd}}}{}}0000{{{Ch{c}}}{{Ch{Cd}}}{}}0000{cBl{}}00{{Ajc}lCj}{{nc}lCj}{{Afc}lCj}{{Ahc}lCj}{AjBd}{nBd}{AfBd}{AhBd}{{c{h{B`}}}{{Cl{B`}}}{}}000>>>>{c{{l{e}}}{}{}}000000000{cCn{}}0000{{}D`}00{cDb{}}0000{ce{}{}}00000000000000","c":[],"p":[[5,"Private",217],[1,"unit"],[5,"Output",218],[1,"slice"],[1,"u64"],[6,"Result",219],[5,"AmoebaMitosis",0],[5,"DynamicallyTypedData",220],[8,"TransactionPriority",221],[6,"ConstraintCheckerError",0],[5,"AmoebaDeath",0],[5,"AmoebaCreation",0],[5,"AmoebaDetails",0],[5,"Error",222],[10,"Input",223],[1,"u8"],[1,"u32"],[1,"usize"],[10,"Deserializer",224],[10,"Output",223],[10,"Sized",225],[1,"bool"],[5,"Formatter",226],[8,"Result",226],[5,"Box",227],[10,"Any",228],[5,"Arc",229],[5,"Rc",230],[10,"Serializer",231],[5,"Vec",232],[5,"TypeId",228],[5,"Type",233],[1,"str"]],"b":[]}],\ -["derive_no_bound",{"doc":"Macros to derive common traits without bounds","t":"YYY","n":["CloneNoBound","DebugNoBound","DefaultNoBound"],"q":[[0,"derive_no_bound"]],"d":["Derive Clone but do not bound any generic. Docs are at …","Derive Debug but do not bound any generics. Docs are at …","derive Default but do no bound any generic. Docs are at …"],"i":[0,0,0],"f":"```","c":[],"p":[],"b":[]}],\ -["kitties",{"doc":"An NFT game inspired by cryptokitties. This is a game …","t":"PGPGPFPFFFPPGPPPPPPPPPPPPGPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["BadlyTyped","ConstraintCheckerError","Dad","DadKittyStatus","DadTooTired","FreeKittyConstraintChecker","HadBirthRecently","KittyDNA","KittyData","KittyHelpers","MinimumSpendAndBreedNotMet","Mom","MomKittyStatus","MomNotReadyYet","NewChildDnaIncorrect","NewChildFreeBreedingsIncorrect","NewChildHasNonZeroBreedings","NewChildIncorrectParentInfo","NewDadIsStillRearinToGo","NewMomIsStillRearinToGo","NewParentDnaDoesntMatchOld","NewParentFreeBreedingsIncorrect","NewParentNumberBreedingsIncorrect","NotEnoughFamilyMembers","NotEnoughFreeBreedings","Parent","RearinToGo","RearinToGo","Tired","TooManyBreedingsForKitty","TwoDadsNotValid","TwoMomsNotValid","TwoParentsDoNotExist","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","check","check","clear","clear","clear","clear","clear","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","cmp","cmp","cmp","compare","compare","compare","compare","compare","compare","compare","dad","decode","decode","decode","decode","decode","decode","decode","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","default","default","default","default","default","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","dna","drop","drop","drop","drop","drop","drop","drop","drop","encode","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","eq","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","free_breedings","from","from","from","from","from","from","from","from","from_mut","from_mut","from_mut","from_mut","from_mut","from_mut","from_mut","from_mut","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","get_hash","get_hash","get_hash","get_hash","get_hash","get_hash","get_hash","hash","hash","hash","hash","hash","hash","hash","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","is_clear","is_clear","is_clear","is_clear","is_clear","is_inherent","mint","mom","num_breedings","parent","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","serialize","serialize","serialize","serialize","serialize","serialize","serialize","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_name","type_name","type_name","type_name","type_name","type_name","type_name","type_name","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","using_encoded","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip"],"q":[[0,"kitties"],[403,"dyn_clone::sealed"],[404,"tuxedo_core::types"],[405,"core::result"],[406,"tuxedo_core::dynamic_typing"],[407,"sp_runtime::transaction_validity"],[408,"core::cmp"],[409,"parity_scale_codec::error"],[410,"parity_scale_codec::codec"],[411,"serde::de"],[412,"alloc::vec"],[413,"parity_scale_codec::codec"],[414,"core::fmt"],[415,"core::fmt"],[416,"core::hash"],[417,"core::any"],[418,"alloc::sync"],[419,"alloc::rc"],[420,"tuxedo_core::types"],[421,"core::convert"],[422,"tuxedo_core::constraint_checker"],[423,"core::option"],[424,"serde::ser"],[425,"core::any"],[426,"core::ops::function"]],"d":["Dynamic typing issue. This error doesn’t discriminate …","","","","Dad cannot breed because he is still too tired.","","","","","","Needed when spending for breeding.","","","Mom has recently given birth and isnt ready to breed.","New child DNA is not correct given the protocol.","New child doesnt have the correct number of free breedings.","New child has non zero breedings which is impossible …","New child parent info is either in Tired state or …","New Dad after breeding should be in Tired state.","New Mom after breeding should be in HadBirthRecently state.","New parents DNA does not match the old one parent has to …","Number of free breedings of new parent is not correct.","New parent Breedings has not incremented or is incorrect.","Incorrect number of outputs when it comes to breeding.","Not enough free breedings available for these parents.","","","","","Too many breedings for this kitty can no longer breed.","Cannot have two dads when breeding.","Cannot have two moms when breeding.","Need two parents to breed.","","","","","","","","","","","","","","","","","","","","","","","","","Checks: - input_data is of length 2 - output_data is of …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Create a mint transaction for a single Kitty.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[15,0,12,0,15,0,11,0,0,0,15,12,0,15,15,15,15,15,15,15,15,15,15,15,15,0,10,11,10,15,15,15,15,7,10,11,12,13,14,15,47,7,10,11,12,13,14,15,47,7,10,11,12,13,14,15,7,7,10,11,12,13,14,7,10,11,12,13,14,15,7,10,11,12,13,14,15,7,10,11,12,13,14,15,7,10,11,12,13,14,15,12,7,10,11,12,13,14,15,7,10,11,12,13,14,15,7,10,11,12,13,14,15,7,10,11,12,13,14,15,10,11,12,13,14,47,7,10,11,12,13,14,15,47,7,10,11,12,13,14,15,7,10,11,12,13,14,15,14,47,7,10,11,12,13,14,15,13,7,10,11,12,13,14,15,7,10,11,12,13,14,15,7,7,7,7,7,10,10,10,10,10,11,11,11,11,11,12,12,12,12,12,13,13,13,13,13,14,14,14,14,14,15,15,15,15,15,7,10,11,12,13,14,15,14,47,7,10,11,12,13,14,15,47,7,10,11,12,13,14,15,47,7,10,11,12,13,14,15,7,10,11,12,13,14,15,7,10,11,12,13,14,15,47,7,10,11,12,13,14,15,47,7,10,11,12,13,14,15,47,7,10,11,12,13,14,15,47,7,10,11,12,13,14,15,47,7,10,11,12,13,14,15,10,11,12,13,14,7,14,12,14,14,7,10,11,12,13,14,15,7,10,11,12,13,14,15,7,10,11,12,13,14,15,7,10,11,12,13,14,15,7,10,11,12,13,14,15,47,7,10,11,12,13,14,14,15,47,7,10,11,12,13,14,15,47,7,10,11,12,13,14,15,7,10,11,12,13,14,15,47,7,10,11,12,13,14,15,47,7,10,11,12,13,14,15,47,7,10,11,12,13,14,15,13,47,7,10,11,12,13,14,15],"f":"`````````````````````````````````{{cb}d{}}000000{ce{}{}}000000000000000{{c{h{{f{e}}}}{h{{f{e}}}}{h{{f{e}}}}}{{l{j}}}{}{}}{{n{h{A`}}{h{A`}}{h{A`}}}{{l{Abc}}}{}}{{}c{}}0000{nn}{AdAd}{AfAf}{AhAh}{AjAj}{AlAl}{AnAn}{{ce}d{}{}}000000{{nn}B`}{{AdAd}B`}{{AfAf}B`}{{AhAh}B`}{{AjAj}B`}{{AlAl}B`}{{AnAn}B`}{{ce}B`{}{}}000000{{}Ah}{c{{l{nBb}}}Bd}{c{{l{AdBb}}}Bd}{c{{l{AfBb}}}Bd}{c{{l{AhBb}}}Bd}{c{{l{AjBb}}}Bd}{c{{l{AlBb}}}Bd}{c{{l{AnBb}}}Bd}{{{h{Bf}}}{{l{cBb}}}{}}000000{{Bh{h{Bf}}}{{l{cBb}}}{}}000000{{Bhc}{{l{eBb}}}Bd{}}000000{{}Ad}{{}Af}<{{}Aj}{{}Al}{Bjc{}}000000000000000{c{{l{n}}}Bl}{c{{l{Ad}}}Bl}{c{{l{Af}}}Bl}{c{{l{Ah}}}Bl}{c{{l{Aj}}}Bl}{c{{l{Al}}}Bl}{c{{l{An}}}Bl}`{Bjd}0000000{Aj{{Bn{Bf}}}}{{nc}d{C`Cb}}{{Adc}d{C`Cb}}{{Afc}d{C`Cb}}{{Ahc}d{C`Cb}}{{Ajc}d{C`Cb}}{{Alc}d{C`Cb}}{{Anc}d{C`Cb}}{{nn}Cd}{{AdAd}Cd}{{AfAf}Cd}{{AhAh}Cd}{{AjAj}Cd}{{AlAl}Cd}{{AnAn}Cd}{{ce}Cd{}{}}0000000000000000000000000000000000{{nCf}Ch}{{AdCf}Ch}{{AfCf}Ch}{{AhCf}Ch}{{AjCf}Ch}{{AlCf}Ch}{{AnCf}Ch}`{cc{}}0000000{ce{}{}}000000000000000{{ce}j{CjCb}Cl}000000{{nc}dCn}{{Adc}dCn}{{Afc}dCn}{{Ahc}dCn}{{Ajc}dCn}{{Alc}dCn}{{Anc}dCn}{{}Bj}000000099999999{{{D`{c}}}{{D`{Db}}}{}}0000000{{{Dd{c}}}{{Dd{Db}}}{}}0000000{{{Df{c}}}{{Df{Db}}}{}}0000000{cCd{}}00000{{Ah{h{Bf}}c}{{Dh{eg}}}Dj{Dj{Dl{c}}}{{Dn{e}}{Dl{n}}}}{{}Ah}``{{nn}{{E`{B`}}}}{{AdAd}{{E`{B`}}}}{{AfAf}{{E`{B`}}}}{{AhAh}{{E`{B`}}}}{{AjAj}{{E`{B`}}}}{{AlAl}{{E`{B`}}}}{{AnAn}{{E`{B`}}}}{{nc}lEb}{{Adc}lEb}{{Afc}lEb}{{Ahc}lEb}{{Ajc}lEb}{{Alc}lEb}{{Anc}lEb}{nBj}{AdBj}{AfBj}{AhBj}{AjBj}{AlBj}{AnBj}{{c{h{Bf}}}{{Bn{Bf}}}{}}000000{ce{}{}}000000{c{{l{e}}}{}{}}000000{A`{{l{Alc}}}{}}111111111{cEd{}}0000000{{}Ef}000000{cEh{}}00000005555555555555555{{Aje}c{}{{El{{h{Bf}}}{{Ej{c}}}}}}66666666","c":[],"p":[[5,"Private",403],[1,"unit"],[5,"Output",404],[1,"slice"],[1,"u64"],[6,"Result",405],[5,"FreeKittyConstraintChecker",0],[5,"DynamicallyTypedData",406],[8,"TransactionPriority",407],[6,"DadKittyStatus",0],[6,"MomKittyStatus",0],[6,"Parent",0],[5,"KittyDNA",0],[5,"KittyData",0],[6,"ConstraintCheckerError",0],[6,"Ordering",408],[5,"Error",409],[10,"Input",410],[1,"u8"],[1,"u32"],[1,"usize"],[10,"Deserializer",411],[5,"Vec",412],[10,"Output",410],[10,"Sized",413],[1,"bool"],[5,"Formatter",414],[8,"Result",414],[10,"Hash",415],[10,"BuildHasher",415],[10,"Hasher",415],[5,"Box",416],[10,"Any",417],[5,"Arc",418],[5,"Rc",419],[5,"Transaction",404],[10,"Verifier",420],[10,"From",421],[10,"ConstraintChecker",422],[6,"Option",423],[10,"Serializer",424],[5,"TypeId",417],[5,"Type",425],[1,"str"],[17,"Output"],[10,"FnOnce",426],[5,"KittyHelpers",0]],"b":[]}],\ -["money",{"doc":"An implementation of a simple fungible token.","t":"PFGPPPGPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["BadlyTyped","Coin","ConstraintCheckerError","Mint","MintingNothing","MintingWithInputs","MoneyConstraintChecker","OutputsExceedInputs","Spend","SpendingNothing","ValueOverflow","ZeroValueCoin","__clone_box","__clone_box","__clone_box","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","check","check","clone","clone","clone","clone_into","clone_into","clone_into","cmp","cmp","cmp","compare","compare","compare","decode","decode","decode","decode_all","decode_all","decode_all","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","drop","drop","drop","encode","encode_to","encode_to","encode_to","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","from","from","from","from_mut","from_mut","from_mut","from_ref","from_ref","from_ref","get_hash","get_hash","get_hash","hash","hash","hash","init","init","init","into","into","into","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","is_inherent","mint","new","partial_cmp","partial_cmp","partial_cmp","serialize","serialize","serialize","size_hint","size_hint","size_hint","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","type_info","type_info","type_info","type_name","type_name","type_name","unchecked_into","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","using_encoded","value","vzip","vzip","vzip"],"q":[[0,"money"],[158,"dyn_clone::sealed"],[159,"tuxedo_core::types"],[160,"core::result"],[161,"tuxedo_core::dynamic_typing"],[162,"sp_runtime::transaction_validity"],[163,"core::cmp"],[164,"parity_scale_codec::error"],[165,"parity_scale_codec::codec"],[166,"serde::de"],[167,"alloc::vec"],[168,"parity_scale_codec::codec"],[169,"core::fmt"],[170,"core::fmt"],[171,"core::hash"],[172,"core::any"],[173,"alloc::sync"],[174,"alloc::rc"],[175,"tuxedo_core::types"],[176,"core::convert"],[177,"tuxedo_core::constraint_checker"],[178,"core::option"],[179,"serde::ser"],[180,"core::any"],[181,"core::ops::function"]],"d":["Dynamic typing issue. This error doesn’t discriminate …","A single coin in the fungible money system. A new-type …","Errors that can occur when checking money transactions.","A mint transaction that creates no coins out of the void. …","The transaction attempts to mint zero coins. This is not …","The transaction attempts to consume inputs while minting. …","The main constraint checker for the money piece. Allows …","The value of the spent input coins is less than the value …","A typical spend transaction where some coins are consumed …","The transaction attempts to spend without consuming any …","The value consumed or created by this transaction …","The transaction attempted to create a coin with zero …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","Create a mint transaction for a single Coin.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[11,0,0,7,11,11,0,11,7,11,11,11,7,10,11,7,10,11,7,10,11,7,7,7,10,11,7,10,11,7,10,11,7,10,11,7,10,11,7,10,11,7,10,11,7,10,11,7,10,11,7,10,11,7,10,11,7,10,11,10,7,10,11,7,10,11,7,7,7,7,7,10,10,10,10,10,11,11,11,11,11,7,10,11,7,10,11,7,10,11,7,10,11,7,10,11,7,10,11,7,10,11,7,10,11,7,10,11,7,10,11,7,10,11,7,10,10,7,10,11,7,10,11,7,10,11,7,10,11,7,10,11,7,10,11,7,10,11,7,10,11,7,10,11,7,10,11,7,10,11,7,10,11,10,10,7,10,11],"f":"````````````{{cb}d{}}00{ce{}{}}00000{{c{h{{f{e}}}}{h{{f{e}}}}{h{{f{e}}}}}{{l{j}}}{}{}}{{n{h{A`}}{h{A`}}{h{A`}}}{{l{Abc}}}{}}{nn}{AdAd}{AfAf}{{ce}d{}{}}00{{nn}Ah}{{AdAd}Ah}{{AfAf}Ah}{{ce}Ah{}{}}00{c{{l{nAj}}}Al}{c{{l{AdAj}}}Al}{c{{l{AfAj}}}Al}{{{h{An}}}{{l{cAj}}}{}}00{{B`{h{An}}}{{l{cAj}}}{}}00{{B`c}{{l{eAj}}}Al{}}00{Bbc{}}00000{c{{l{n}}}Bd}{c{{l{Ad}}}Bd}{c{{l{Af}}}Bd}{Bbd}00{Ad{{Bf{An}}}}{{nc}d{BhBj}}{{Adc}d{BhBj}}{{Afc}d{BhBj}}{{nn}Bl}{{AdAd}Bl}{{AfAf}Bl}{{ce}Bl{}{}}00000000000000{{nBn}C`}{{AdBn}C`}{{AfBn}C`}{cc{}}00{ce{}{}}00000{{ce}j{CbBj}Cd}00{{nc}dCf}{{Adc}dCf}{{Afc}dCf}{{}Bb}00555{{{Ch{c}}}{{Ch{Cj}}}{}}00{{{Cl{c}}}{{Cl{Cj}}}{}}00{{{Cn{c}}}{{Cn{Cj}}}{}}00{cBl{}}{{D`c}{{Db{eg}}}Dd{Dd{Df{c}}}{{Dh{e}}{Df{n}}}}{D`Ad}{{nn}{{Dj{Ah}}}}{{AdAd}{{Dj{Ah}}}}{{AfAf}{{Dj{Ah}}}}{{nc}lDl}{{Adc}lDl}{{Afc}lDl}{nBb}{AdBb}{AfBb}{{c{h{An}}}{{Bf{An}}}{}}00{ce{}{}}00{c{{l{e}}}{}{}}00000{cDn{}}00{{}E`}00{cEb{}}00444444{{Ade}c{}{{Ef{{h{An}}}{{Ed{c}}}}}}{AdD`}666","c":[],"p":[[5,"Private",158],[1,"unit"],[5,"Output",159],[1,"slice"],[1,"u64"],[6,"Result",160],[6,"MoneyConstraintChecker",0],[5,"DynamicallyTypedData",161],[8,"TransactionPriority",162],[5,"Coin",0],[6,"ConstraintCheckerError",0],[6,"Ordering",163],[5,"Error",164],[10,"Input",165],[1,"u8"],[1,"u32"],[1,"usize"],[10,"Deserializer",166],[5,"Vec",167],[10,"Output",165],[10,"Sized",168],[1,"bool"],[5,"Formatter",169],[8,"Result",169],[10,"Hash",170],[10,"BuildHasher",170],[10,"Hasher",170],[5,"Box",171],[10,"Any",172],[5,"Arc",173],[5,"Rc",174],[1,"u128"],[5,"Transaction",159],[10,"Verifier",175],[10,"From",176],[10,"ConstraintChecker",177],[6,"Option",178],[10,"Serializer",179],[5,"TypeId",172],[5,"Type",180],[1,"str"],[17,"Output"],[10,"FnOnce",181]],"b":[]}],\ -["node_template",{"doc":"","t":"CCCIHHGFPPNNNNNNONNHONNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHHNNNNNNNNNNNNNNNNNN","n":["chain_spec","rpc","service","ChainSpec","development_config","local_testnet_config","DenyUnsafe","FullDeps","No","Yes","__clone_box","borrow","borrow","borrow_mut","borrow_mut","check_if_safe","client","clone","clone_into","create_full","deny_unsafe","deref","deref","deref_mut","deref_mut","drop","drop","fmt","from","from","from_mut","from_mut","from_ref","from_ref","init","init","into","into","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","pool","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","type_name","type_name","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","vzip","vzip","ExecutorDispatch","NativeElseWasmExecutor","__clone_box","allow_missing_host_functions","borrow","borrow","borrow_mut","borrow_mut","call","clone","clone_into","deref","deref","deref_mut","deref_mut","dispatch","drop","drop","from","from","from_mut","from_mut","from_ref","from_ref","init","init","into","into","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","native_version","native_version","new","new_full","new_partial","new_with_wasm_executor","read_runtime_version","runtime_version","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","type_name","type_name","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","vzip","vzip"],"q":[[0,"node_template"],[3,"node_template::chain_spec"],[6,"node_template::rpc"],[60,"node_template::service"],[117,"alloc::string"],[118,"core::result"],[119,"dyn_clone::sealed"],[120,"sc_rpc_api::policy"],[121,"jsonrpsee_core::server::rpc_module"],[122,"core::error"],[123,"alloc::boxed"],[124,"tuxedo_template_runtime::opaque"],[125,"sp_api"],[126,"sp_blockchain::backend"],[127,"sp_blockchain::error"],[128,"sp_blockchain::header_metadata"],[129,"core::marker"],[130,"core::marker"],[131,"core::fmt"],[132,"core::fmt"],[133,"alloc::sync"],[134,"alloc::rc"],[135,"core::any"],[136,"sp_externalities"],[137,"sp_core::traits"],[138,"sp_core::traits"],[139,"sc_executor_common::error"],[140,"core::option"],[141,"sp_version"],[142,"sc_executor::wasm_runtime"],[143,"sc_service::config"],[144,"sc_service::task_manager"],[145,"sc_service::error"],[146,"tuxedo_template_runtime"],[147,"sc_service::builder"],[148,"sc_service::builder"],[149,"sc_consensus::import_queue"],[150,"sc_transaction_pool"],[151,"sc_consensus_grandpa::import"],[152,"sc_consensus_grandpa"],[153,"sc_telemetry"],[154,"sc_service"],[155,"sp_io::storage"],[156,"sp_io::default_child_storage"],[157,"sp_io::misc"],[158,"sp_io::wasm_tracing"],[159,"sp_io::offchain"],[160,"sp_io::crypto"],[161,"sp_io::hashing"],[162,"sp_io::allocator"],[163,"sp_io::panic_handler"],[164,"sp_io::logging"],[165,"sp_io::trie"],[166,"sp_io::offchain_index"],[167,"sp_io::transaction_index"],[168,"sp_wasm_interface"],[169,"sc_executor::executor"]],"d":["","A collection of node-specific RPC methods. Substrate …","Service and ServiceFactory implementation. Specialized …","Specialized ChainSpec. This is a specialization of the …","","","Signifies whether a potentially unsafe RPC should be …","Full client dependencies.","Allows calling every RPCs.","Denies only potentially unsafe RPCs.","","","","","","Returns Ok(()) if the RPCs considered unsafe are safe to …","The client instance to use.","","","Instantiate all full RPC extensions.","Whether to deny unsafe calls","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","Transaction pool instance.","","","","","","","","","","","","","","","","","A generic CodeExecutor implementation that uses a delegate …","","Ignore missing function imports if set true.","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","Create new instance.","Builds a new service for a full client.","","Create a new instance using the given WasmExecutor.","","","","","","","","","","","","","","","","",""],"i":[0,0,0,0,0,0,0,0,6,6,6,8,6,8,6,6,8,6,6,0,8,8,6,8,6,8,6,6,8,6,8,6,8,6,8,6,8,6,8,6,8,6,8,6,8,6,8,6,8,6,8,6,8,6,8,6,8,6,8,6,0,0,29,29,48,29,48,29,29,29,29,48,29,48,29,48,48,29,48,29,48,29,48,29,48,29,48,29,48,29,48,29,48,29,48,29,29,0,0,29,29,29,29,48,29,48,29,48,29,48,29,48,29,48,29,48,29],"f":"````{{}{{f{bd}}}}0````{{ch}j{}}{ce{}{}}000{l{{f{jn}}}}`{ll}{{ce}j{}{}}{{{A`{ce}}}{{f{{Ab{j}}{Af{Ad}}}}}{{Aj{Ah}}{Al{Ah}}{Bb{Ah}{{An{B`}}}}BdBf}Bh}`{Bjc{}}000{Bjj}0{{lBl}{{f{jBn}}}}{cc{}}08888{{}Bj}099{{{Af{c}}}{{Af{C`}}}{}}0{{{Cb{c}}}{{Cb{C`}}}{}}0{{{Cd{c}}}{{Cd{C`}}}{}}0`<{c{{f{e}}}{}{}}000{cCf{}}0{cCh{}}0??????``{{ch}j{}}{{{Cj{c}}Cl}jCn}{ce{}{}}000{{{Cj{c}}D`DbCh{Df{Dd}}ClDh}{{Dn{{f{{Dj{Dd}}Dl}}Cl}}}Cn}{{{Cj{c}}}{{Cj{c}}}Cn}{{ce}j{}{}}{Bjc{}}000{{Ch{Df{Dd}}}{{E`{{Dj{Dd}}}}}}{Bjj}0{cc{}}07777{{}Bj}088{{{Af{c}}}{{Af{C`}}}{}}0{{{Cb{c}}}{{Cb{C`}}}{}}0{{{Cd{c}}}{{Cd{C`}}}{}}0{{}Eb}{{{Cj{c}}}EbCn}{{Ed{E`{Ef}}BjDd}{{Cj{c}}}Cn}{Eh{{f{EjEl}}}}{Eh{{f{{Gb{{Fb{AhEn{Cj{F`}}}}{Fd{Ah}}{Ff{{Fd{Ah}}Ah}}{Fh{Ah}}{Fj{Ah{Fb{AhEn{Cj{F`}}}}}}{Dn{{Fl{{Fd{Ah}}Ah{Fb{AhEn{Cj{F`}}}}{Ff{{Fd{Ah}}Ah}}}}{Fn{Ah{Fb{AhEn{Cj{F`}}}}{Ff{{Fd{Ah}}Ah}}}}{E`{G`}}}}}}El}}}}{{{I`{{Hn{{Dn{GdGfGhGjGlGnH`HbHdHfHhHjHl}}}}}}}{{Cj{c}}}Cn}{{{Cj{c}}{Df{Dd}}D`}{{f{{Dj{Dd}}d}}}Cn}{{{Cj{c}}D`Db}{{f{IbDl}}}Cn}{ce{}{}}{c{{f{e}}}{}{}}000{cCf{}}0{cCh{}}0333333","c":[63,96],"p":[[8,"ChainSpec",3],[5,"String",117],[6,"Result",118],[5,"Private",119],[1,"unit"],[6,"DenyUnsafe",6],[5,"UnsafeRpcError",120],[5,"FullDeps",6],[5,"RpcModule",121],[10,"Error",122],[5,"Box",123],[8,"Block",124],[10,"ProvideRuntimeApi",125],[10,"HeaderBackend",126],[17,"Error"],[6,"Error",127],[10,"HeaderMetadata",128],[10,"Send",129],[10,"Sync",129],[10,"TransactionPool",130],[1,"usize"],[5,"Formatter",131],[5,"Error",131],[10,"Any",132],[5,"Arc",133],[5,"Rc",134],[5,"TypeId",132],[1,"str"],[5,"NativeElseWasmExecutor",60],[1,"bool"],[10,"NativeExecutionDispatch",135],[10,"Externalities",136],[5,"RuntimeCode",137],[1,"u8"],[1,"slice"],[6,"CallContext",137],[5,"Vec",138],[6,"Error",139],[1,"tuple"],[6,"Option",140],[5,"NativeVersion",141],[6,"WasmExecutionMethod",142],[1,"u64"],[5,"Configuration",143],[5,"TaskManager",144],[6,"Error",145],[5,"RuntimeApi",146],[5,"ExecutorDispatch",60],[8,"TFullClient",147],[8,"TFullBackend",147],[5,"LongestChain",148],[8,"DefaultImportQueue",149],[8,"FullPool",150],[5,"GrandpaBlockImport",151],[5,"LinkHalf",152],[5,"Telemetry",153],[5,"PartialComponents",154],[5,"HostFunctions",155],[5,"HostFunctions",156],[5,"HostFunctions",157],[5,"HostFunctions",158],[5,"HostFunctions",159],[5,"HostFunctions",160],[5,"HostFunctions",161],[5,"HostFunctions",162],[5,"HostFunctions",163],[5,"HostFunctions",164],[5,"HostFunctions",165],[5,"HostFunctions",166],[5,"HostFunctions",167],[5,"ExtendedHostFunctions",168],[5,"WasmExecutor",135],[5,"RuntimeVersion",141]],"b":[]}],\ -["parachain_piece",{"doc":"Allow collators to include information about the relay …","t":"PPPPPTGKPFRNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["BadlyTyped","ExtraInputs","ExtraOutputs","MissingNewInfo","MissingPreviousInfo","PARA_ID","ParachainError","ParachainPieceConfig","RelayBlockNotIncreasing","SetParachainInfo","SetRelayParentNumberStorage","__clone_box","borrow","borrow","borrow_mut","borrow_mut","check","check_inherent","clear","clone","clone_into","create_inherent","decode","decode_all","decode_all_with_depth_limit","decode_with_depth_limit","default","deref","deref","deref_mut","deref_mut","deserialize","drop","drop","encode","encode_as","encode_to","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","from","from","from_mut","from_mut","from_ref","from_ref","genesis_transactions","init","init","into","into","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","is_clear","is_inherent","serialize","size_hint","to_keyed_vec","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","type_info","type_name","type_name","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","using_encoded","vzip","vzip"],"q":[[0,"parachain_piece"],[90,"dyn_clone::sealed"],[91,"tuxedo_core::types"],[92,"sp_runtime::transaction_validity"],[93,"core::result"],[94,"tuxedo_core::verifier"],[95,"tuxedo_core::verifier"],[96,"sp_inherents"],[97,"tuxedo_core::types"],[98,"parity_scale_codec::error"],[99,"parity_scale_codec::codec"],[100,"serde::de"],[101,"alloc::vec"],[102,"parity_scale_codec::codec"],[103,"core::cmp"],[104,"core::fmt"],[105,"core::fmt"],[106,"core::any"],[107,"alloc::sync"],[108,"alloc::rc"],[109,"serde::ser"],[110,"core::any"],[111,"core::ops::function"]],"d":["UTXO data has an unexpected type","Multiple inputs were specified while setting the parachain …","Multiple outputs were specified while setting the …","When attempting to set a new parachain info, you have not …","No previous parachain info was consumed in this …","The Parachain Id of this chain. This is currently a …","Reasons that setting or cleaning up the parachain info may …","Options to configure the timestamp piece when it is …","The new relay chain block number is expected to be higher …","A constraint checker for the simple act of including new …","A means of setting an ambiently available relay parent …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[26,26,26,26,26,8,0,0,26,0,8,3,26,3,26,3,3,3,3,3,3,3,3,3,3,3,3,26,3,26,3,3,26,3,3,3,3,26,3,26,26,26,26,26,3,3,3,3,3,26,3,26,3,26,3,26,3,3,26,3,26,3,26,3,26,3,26,3,3,3,3,3,3,3,26,3,26,3,26,3,3,26,3,26,3,26,3,3,26,3],"f":"```````````{{cb}d{}}{ce{}{}}000{{{f{c}}{j{{h{e}}}}{j{{h{e}}}}{j{{h{e}}}}}{{n{lg}}}A`{Ab{Af{Ad}}}{}}{{Ah{Aj{c{f{e}}}}Al}d{Ab{Af{Ad}}}A`}{{}c{}}{{{f{c}}}{{f{c}}}{}}{{ce}d{}{}}{{Ah{B`{{Aj{c{f{e}}}}An}}}{{Aj{c{f{e}}}}}{Ab{Af{Ad}}}A`}{c{{n{{f{e}}Bb}}}Bd{}}{{{j{Bf}}}{{n{cBb}}}{}}{{Bh{j{Bf}}}{{n{cBb}}}{}}{{Bhc}{{n{eBb}}}Bd{}}{{}{{f{c}}}{}}{Bjc{}}000{c{{n{{f{e}}}}}Bl{}}{Bjd}0{{{f{c}}}{{Bn{Bf}}}{}}{c{{Bn{Bf}}}{}}{{{f{c}}e}d{}{C`Cb}}{{CdCd}Cf}{{{f{c}}{f{c}}}CfCh}{{ce}Cf{}{}}000000000{{CdCj}Cl}{{{f{c}}Cj}Cl{}}{cc{}}0{ce{}{}}000{{}{{Bn{{Aj{c{f{e}}}}}}}{Ab{Af{Ad}}}A`}{{}Bj}022{{{Cn{c}}}{{Cn{D`}}}{}}0{{{Db{c}}}{{Db{D`}}}{}}0{{{Dd{c}}}{{Dd{D`}}}{}}0{cCf{}}{{{f{c}}}CfA`}{{{f{c}}e}n{}Df}{{{f{c}}}Bj{}}{{c{j{Bf}}}{{Bn{Bf}}}{}}:{c{{n{e}}}{}{}}000{cDh{}}0{{}Dj}{cDl{}}0>>>>{{{f{c}}g}e{}{}{{E`{{j{Bf}}}{{Dn{e}}}}}}??","c":[],"p":[[5,"Private",90],[1,"unit"],[5,"SetParachainInfo",0],[5,"Output",91],[1,"slice"],[8,"TransactionPriority",92],[6,"Result",93],[10,"ParachainPieceConfig",0],[10,"Verifier",94],[5,"UpForGrabs",94],[10,"From",95],[5,"InherentData",96],[5,"Transaction",91],[5,"CheckInherentsResult",96],[5,"H256",97],[1,"tuple"],[5,"Error",98],[10,"Input",99],[1,"u8"],[1,"u32"],[1,"usize"],[10,"Deserializer",100],[5,"Vec",101],[10,"Output",99],[10,"Sized",102],[6,"ParachainError",0],[1,"bool"],[10,"PartialEq",103],[5,"Formatter",104],[8,"Result",104],[5,"Box",105],[10,"Any",106],[5,"Arc",107],[5,"Rc",108],[10,"Serializer",109],[5,"TypeId",106],[5,"Type",110],[1,"str"],[17,"Output"],[10,"FnOnce",111]],"b":[]}],\ -["parachain_template_node",{"doc":"Substrate Parachain Node Template CLI","t":"CCCCHCCIFFNNNNNNNNNNONNNNNNNNNNNHNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHOOOONNNNNNNNNNNNNNNNNNNNNNNNNSPPFPPPPPPPFPGNNNNNNNNNNNNNONONNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNONNNNNNONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNQHHFIIIFNOONNNNNOOOOONNNNNONNONNNNNNNOOOONNNNNNNNNNNNOOOOONNNNNNNNNNNNNNNNNNNNOONNNNONHHNONNOOOOONNNNNNNNNNNNNNNNNONNOGFPIPNNNNNNNNNNONNHOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNIIIIFONNOOOONNHOONNNNOOOONNNNNNOOOOONONNNNNNNNNOONONOHOOHHHOOOONNNNNNNNONO","n":["chain_spec","cli","command","dev_service","main","rpc","service","ChainSpec","Extensions","ExtensionsFork","__clone_box","__clone_box","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","client_spec","clone","clone","clone_into","clone_into","combine_with","deref","deref","deref_mut","deref_mut","deserialize","deserialize","development_config","drop","drop","eq","eq","fmt","fmt","from","from","from_mut","from_mut","from_mut","from_mut","from_ref","from_ref","from_ref","from_ref","from_subset","from_subset","genesis","get","get","get_any","get_any","get_any","get_any","get_any_mut","get_any_mut","get_any_mut","get_any_mut","init","init","into","into","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_mut","into_mut","into_ref","into_ref","is_in_subset","is_in_subset","local_testnet_config","para_id","para_id","relay_chain","relay_chain","serialize","serialize","to_base","to_fork","to_owned","to_owned","to_subset","to_subset","to_subset_unchecked","to_subset_unchecked","try_from","try_from","try_get","try_into","try_into","type_id","type_id","type_name","type_name","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","vzip","vzip","AFTER_HELP_EXAMPLE","BuildSpec","CheckBlock","Cli","ExportBlocks","ExportGenesisHead","ExportGenesisState","ExportGenesisWasm","ExportState","ImportBlocks","PurgeChain","RelayChainCli","Revert","Subcommand","announce_block","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","augment_args","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","author","author","base","base_path","base_path","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","chain_id","chain_id","command","command_for_update","copyright_start_year","copyright_start_year","default_heap_pages","deref","deref","deref","deref_mut","deref_mut","deref_mut","description","description","disable_grandpa","drop","drop","drop","fmt","fmt","fmt","force_authoring","from","from","from","from_arg_matches","from_arg_matches","from_arg_matches_mut","from_arg_matches_mut","from_mut","from_mut","from_mut","from_mut","from_mut","from_mut","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_subset","from_subset","from_subset","group_id","has_subcommand","impl_name","impl_name","impl_version","impl_version","import_params","init","init","init","init","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_mut","into_mut","into_mut","into_ref","into_ref","into_ref","is_in_subset","is_in_subset","is_in_subset","keystore_params","load_spec","load_spec","max_runtime_instances","network_params","new","no_hardware_benchmarks","node_name","p2p_listen_port","prometheus_config","prometheus_listen_port","relay_chain_args","role","rpc_addr","rpc_cors","rpc_listen_port","rpc_max_connections","rpc_methods","run","shared_params","subcommand","support_url","support_url","telemetry_endpoints","to_subset","to_subset","to_subset","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","transaction_pool","trie_cache_maximum_size","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","type_name","type_name","type_name","unchecked_into","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches_mut","update_from_arg_matches_mut","vzip","vzip","vzip","construct_async_run","load_spec","run","ExecutorDispatch","FullBackend","FullClient","FullSelectChain","NativeElseWasmExecutor","__clone_box","_phantom","_phantom","allow_missing_host_functions","as_any","as_any","as_any_mut","as_any_mut","backend","backend","block_rules","blockchain","blocks_pruning","borrow","borrow","borrow_mut","borrow_mut","call","canonicalization_delay","clone","clone_into","config","deref","deref","deref_mut","deref_mut","dispatch","drop","drop","every_import_notification_sinks","executor","finality_actions","finality_notification_sinks","from","from","from_mut","from_mut","from_mut","from_mut","from_ref","from_ref","from_ref","from_ref","from_subset","from_subset","genesis_state","import_actions","import_lock","import_notification_sinks","importing_block","init","init","into","into","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_mut","into_mut","into_ref","into_ref","io_stats","is_archive","is_in_subset","is_in_subset","native_version","native_version","native_version","new","new_dev","new_partial","new_with_wasm_executor","offchain_storage","read_runtime_version","runtime_version","shared_trie_cache","state_usage","storage","storage_notifications","telemetry","to_owned","to_subset","to_subset","to_subset_unchecked","to_subset_unchecked","try_from","try_from","try_into","try_into","type_id","type_id","type_name","type_name","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","unpin_worker_sender","vzip","vzip","wasm","DenyUnsafe","FullDeps","No","RpcExtension","Yes","__clone_box","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","check_if_safe","client","clone","clone_into","create_full","ctx","deny_unsafe","deref","deref","deref_mut","deref_mut","drop","drop","fmt","from","from","from_mut","from_mut","from_mut","from_mut","from_ref","from_ref","from_ref","from_ref","from_subset","from_subset","init","init","into","into","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_mut","into_mut","into_ref","into_ref","is_in_subset","is_in_subset","methods","pool","to_owned","to_subset","to_subset","to_subset_unchecked","to_subset_unchecked","try_from","try_from","try_into","try_into","type_id","type_id","type_name","type_name","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","vzip","vzip","ParachainBackend","ParachainBlockImport","ParachainClient","ParachainExecutor","ParachainNativeExecutor","_phantom","as_any","as_any_mut","backend","block_rules","blockchain","blocks_pruning","borrow","borrow_mut","build_import_queue","canonicalization_delay","config","deref","deref_mut","dispatch","drop","every_import_notification_sinks","executor","finality_actions","finality_notification_sinks","from","from_mut","from_mut","from_ref","from_ref","from_subset","genesis_state","import_actions","import_lock","import_notification_sinks","importing_block","init","inner","into","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_mut","into_ref","io_stats","is_archive","is_in_subset","monitor","native_version","native_version","new_partial","offchain_storage","shared_trie_cache","start_consensus","start_node_impl","start_parachain_node","state_usage","storage","storage_notifications","telemetry","to_subset","to_subset_unchecked","try_from","try_into","type_id","type_name","unchecked_into","unique_saturated_into","unpin_worker_sender","vzip","wasm"],"q":[[0,"parachain_template_node"],[7,"parachain_template_node::chain_spec"],[114,"parachain_template_node::cli"],[293,"parachain_template_node::command"],[296,"parachain_template_node::dev_service"],[411,"parachain_template_node::rpc"],[494,"parachain_template_node::service"],[568,"sc_cli::error"],[569,"dyn_clone::sealed"],[570,"core::any"],[571,"core::result"],[572,"serde::de"],[573,"tuxedo_template_runtime::genesis"],[574,"sc_chain_spec::chain_spec"],[575,"core::fmt"],[576,"core::fmt"],[577,"core::any"],[578,"alloc::sync"],[579,"alloc::rc"],[580,"serde::ser"],[581,"sc_chain_spec"],[582,"clap_builder::builder::command"],[583,"alloc::string"],[584,"sc_service::config"],[585,"clap_builder::parser::matches::arg_matches"],[586,"clap_builder"],[587,"clap_builder::util::id"],[588,"sc_cli::params::import_params"],[589,"sc_service::config"],[590,"core::ops::function"],[591,"sc_cli::params::keystore_params"],[592,"sc_cli::params::network_params"],[593,"core::iter::traits::iterator"],[594,"sc_service::config"],[595,"core::net::socket_addr"],[596,"alloc::vec"],[597,"sc_service::config"],[598,"sc_telemetry::endpoints"],[599,"sc_transaction_pool::graph::pool"],[600,"sc_executor::executor"],[601,"sp_externalities"],[602,"sp_core::traits"],[603,"sp_core::traits"],[604,"sp_version"],[605,"sc_executor::wasm_runtime"],[606,"sc_service::task_manager"],[607,"sc_service::error"],[608,"tuxedo_template_runtime::opaque"],[609,"tuxedo_template_runtime"],[610,"sc_service::builder"],[611,"sc_service::builder"],[612,"sc_consensus::import_queue"],[613,"sc_transaction_pool"],[614,"sc_telemetry"],[615,"sc_service"],[616,"sp_io::storage"],[617,"sp_io::default_child_storage"],[618,"sp_io::misc"],[619,"sp_io::wasm_tracing"],[620,"sp_io::offchain"],[621,"sp_io::crypto"],[622,"sp_io::hashing"],[623,"sp_io::allocator"],[624,"sp_io::panic_handler"],[625,"sp_io::logging"],[626,"sp_io::trie"],[627,"sp_io::offchain_index"],[628,"sp_io::transaction_index"],[629,"sp_wasm_interface"],[630,"sc_executor::executor"],[631,"jsonrpsee_core::server::rpc_module"],[632,"core::error"],[633,"sp_api"],[634,"sp_blockchain::backend"],[635,"sp_blockchain::error"],[636,"sp_blockchain::header_metadata"],[637,"core::marker"],[638,"core::marker"],[639,"core::fmt"],[640,"sc_telemetry"],[641,"cumulus_relay_chain_interface"],[642,"sc_network_sync::service::chain_sync"],[643,"sp_keystore"],[644,"core::time"],[645,"polkadot_parachain_primitives::primitives"],[646,"polkadot_primitives::v6"],[647,"polkadot_overseer"],[648,"core::ops::function"],[649,"sc_sysinfo"],[650,"sc_service::error"]],"d":["","","","The development service provides a way to run a parachain …","","A collection of node-specific RPC methods. Substrate …","Service and ServiceFactory implementation. Specialized …","Specialized ChainSpec for the normal parachain runtime.","The extensions for the ChainSpec.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Get a mutable reference to the inner from the outer.","","Get a mutable reference to the inner from the outer.","Get a reference to the inner from the outer.","","Get a reference to the inner from the outer.","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","The id of the Parachain.","","The relay chain of the Parachain.","","","","","","","","","","","","","Try to get the extension from the given ChainSpec.","","","","","","","","","","","","","","Build a chain specification.","Validate blocks.","","Export blocks.","Export the genesis head data of the parachain. Head data …","Export the genesis head data (NOT STATE!) of the parachain.","Export the genesis wasm of the parachain.","Export the state of a given block into a chain spec.","Import blocks.","Remove the whole chain.","","Revert the chain to a previous state.","Sub-commands supported by the collator.","","","","","","","","","","","","","","The actual relay chain cli object.","","The base path that should be used by the relay chain.","","","","","","","","Optional chain id that should be passed to the relay chain.","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","","","Get a mutable reference to the inner from the outer.","","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","","","Get a reference to the inner from the outer.","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Parse the relay chain CLI parameters using the para chain …","Disable automatic hardware benchmarks.","","","","","Relay chain arguments","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Parse command line arguments into service configuration.","","","","","A generic CodeExecutor implementation that uses a delegate …","","","","Ignore missing function imports if set true.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Get a mutable reference to the inner from the outer.","","Get a mutable reference to the inner from the outer.","","","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","Create new instance.","Builds a new development service. This service uses manual …","","Create a new instance using the given WasmExecutor.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Signifies whether a potentially unsafe RPC should be …","Full client dependencies","Allows calling every RPCs.","A type representing all RPC extensions.","Denies only potentially unsafe RPCs.","","","","","","","","","","Returns Ok(()) if the RPCs considered unsafe are safe to …","The client instance to use.","","","Instantiate all RPC extensions.","","Whether to deny unsafe calls","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","","Get a reference to the inner from the outer.","","","Get a reference to the inner from the outer.","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","Transaction pool instance.","","","","","","","","","","","","","","","","","","","","","","","","Native executor type.","","","","","","","","","","Build the import queue for the parachain runtime.","","","","","","","","","","","Returns the argument unchanged.","","Get a mutable reference to the inner from the outer.","","Get a reference to the inner from the outer.","","","","","","","","","Calls U::from(self).","","","","","","","","","","","","","","","Starts a ServiceBuilder for a full service.","","","","Start a node with the given parachain Configuration and …","Start a parachain node.","","","","","","","","","","","","","","",""],"i":[0,0,0,0,0,0,0,0,0,0,5,6,5,6,5,6,5,6,5,6,121,5,6,5,6,5,5,6,5,6,5,6,0,5,6,5,6,5,6,5,6,5,5,6,6,5,5,6,6,5,6,121,5,6,5,5,6,6,5,5,6,6,5,6,5,6,5,5,6,6,5,5,6,6,5,5,6,6,5,6,5,6,5,6,0,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,6,5,6,5,6,5,6,5,6,5,6,5,6,0,29,29,0,29,29,29,29,29,29,29,0,29,0,23,29,30,23,29,30,23,30,30,29,29,30,23,23,23,23,29,30,23,29,30,23,23,23,30,30,30,23,23,29,30,23,29,30,23,30,23,23,29,30,23,29,30,23,23,29,30,23,29,30,29,30,29,29,30,30,23,23,29,29,30,30,23,23,29,30,23,30,29,30,23,30,23,23,29,30,23,23,29,30,23,29,29,30,30,23,23,29,29,30,30,23,23,29,29,30,30,23,23,29,30,23,29,30,23,29,30,23,23,30,23,23,23,23,30,23,23,23,23,30,23,23,23,23,23,23,30,23,30,30,23,23,29,30,23,29,30,23,23,23,29,30,23,29,30,23,29,30,23,29,30,23,29,30,23,29,30,23,29,30,29,30,29,30,23,0,0,0,0,0,0,0,0,52,122,123,52,52,67,52,67,122,123,122,124,124,52,67,52,67,52,124,52,52,122,52,67,52,67,67,52,67,122,122,122,122,52,67,52,52,67,67,52,52,67,67,52,67,124,122,124,122,122,52,67,52,67,52,52,67,67,52,52,67,67,52,52,67,67,52,67,52,67,124,124,52,67,52,67,52,52,0,0,52,124,52,52,124,124,124,122,122,52,52,67,52,67,52,67,52,67,52,67,52,67,52,67,52,67,122,52,67,52,0,0,91,0,91,91,93,91,93,91,93,91,93,91,91,93,91,91,0,125,93,93,91,93,91,93,91,91,93,91,93,93,91,91,93,93,91,91,93,91,93,91,93,91,93,93,91,91,93,93,91,91,93,93,91,91,93,91,93,91,93,91,125,93,91,93,91,93,91,93,91,93,91,93,91,93,91,93,91,93,91,93,91,0,0,0,0,0,126,105,105,126,126,127,127,105,105,0,127,126,105,105,105,105,126,126,126,126,105,105,105,105,105,105,127,126,127,126,126,105,128,105,105,105,105,105,105,105,105,105,127,127,105,128,105,129,0,127,127,0,0,0,127,127,126,126,105,105,105,105,105,105,105,105,126,105,129],"f":"````{{}{{d{b}}}}`````{{cf}b{}}0{ch{}}000{ce{}{}}000`{jj}{ll}{{ce}b{}{}}0{{jj}b}{nc{}}000{c{{A`{j}}}Ab}{c{{A`{l}}}Ab}{{}{{Af{Adl}}}}{nb}0{{jj}Ah}{{ll}Ah}{{jAj}Al}{{lAj}Al}{cc{}}00>0>>0>0>>`{j{{An{c}}}{}}{l{{An{c}}}{}}{{jB`}h}{{cB`}h{}}{{lB`}h}11201{{}n}0{ce{}{}}0{{{Bb{c}}}{{Bb{h}}}{}}000{{{Bd{c}}}{{Bd{h}}}{}}000{{{Bf{c}}}{{Bf{h}}}{}}0003333{cAh{}}0{{}{{Af{Adl}}}}````{{jc}A`Bh}{{lc}A`Bh}={lc{}}88{c{{An{e}}}{}{}}099{c{{A`{e}}}{}{}}0{Bj{{An{l}}}}11{cB`{}}0{cBl{}}0======``````````````{Bn{{d{Ah}}}}{ch{}}00000{C`C`}000{{}Cb}0`{Bn{{d{{An{Cd}}}}}}`{ce{}{}}00000{{BnAh}{{d{Cb}}}}`{{}C`}0{{}Cf}0{Bn{{d{{An{Ch}}}}}}{nc{}}0000077:{nb}00{{CjAj}Al}{{ClAj}Al}{{BnAj}Al}>{cc{}}00{Cn{{A`{CjD`}}}}{Cn{{A`{ClD`}}}}102<<22<2<<22<<<<{{}{{An{Db}}}}{BlAh}{{}Cb}000{Bn{{An{Dd}}}}{{}n}0{{BnCbCbcDf}{{d{b}}}{{Dj{DhDf}}}}1{ce{}{}}00{{{Bb{c}}}{{Bb{h}}}{}}00000{{{Bd{c}}}{{Bd{h}}}{}}00000{{{Bf{c}}}{{Bf{h}}}{}}00000333333{cAh{}}00{Bn{{An{Dl}}}}{{ClBl}{{A`{{Bb{Bj}}Cb}}}}{{BnBl}{{A`{{Bb{Bj}}Cb}}}}{Bn{{d{{An{n}}}}}}{Bn{{An{Dn}}}}{{Dfc}Bn{{Eb{}{{E`{Cb}}}}}}`{Bn{{d{Cb}}}}{{}Ed}{{BnEd{Bb{Bj}}}{{d{{An{Ef}}}}}}1`{{BnAh}{{d{Eh}}}}{{BnEd}{{d{{An{Ej}}}}}}{{BnAh}{{d{{An{{El{Cb}}}}}}}}4{Bn{{d{En}}}}{Bn{{d{F`}}}}`{BnFb}`{{}Cb}0{{Bn{Bb{Bj}}}{{d{{An{Fd}}}}}}{c{{An{e}}}{}{}}00{ce{}{}}00{{BnAh}{{d{Ff}}}}{Bn{{d{{An{n}}}}}}{c{{A`{e}}}{}{}}00000{cB`{}}00{cBl{}}00555555{{CjCn}{{A`{bD`}}}}{{ClCn}{{A`{bD`}}}}10777`{Bl{{A`{{Bb{Bj}}Cb}}}}{{}{{d{b}}}}`````{{cf}b{}}``{{{Fh{c}}Ah}bFj}{ch{}}000`````<<<<{{{Fh{c}}FlFnBl{Gb{G`}}AhGd}{{Gh{{A`{{El{G`}}Gf}}Ah}}}Fj}`{{{Fh{c}}}{{Fh{c}}}Fj}{{ce}b{}{}}`{nc{}}000{{Bl{Gb{G`}}}{{An{{El{G`}}}}}}{nb}0````{cc{}}0{ce{}{}}101100100`````{{}n}011{{{Bb{c}}}{{Bb{h}}}{}}000{{{Bd{c}}}{{Bd{h}}}{}}000{{{Bf{c}}}{{Bf{h}}}{}}0004444``{cAh{}}0{{{Fh{c}}}GjFj}{{}Gj}`{{Gl{An{Ch}}nG`}{{Fh{c}}}Fj}{Df{{A`{GnH`}}}}{Df{{A`{{Id{{Hh{HbHd{Fh{Hf}}}}{Hj{Hb}}{Hl{{Hj{Hb}}Hb}}{Hn{Hb}}{I`{Hb{Hh{HbHd{Fh{Hf}}}}}}{An{Ib}}}}H`}}}}{{{Kb{{K`{{Gh{IfIhIjIlInJ`JbJdJfJhJjJlJn}}}}}}}{{Fh{c}}}Fj}`{{{Fh{c}}{Gb{G`}}Fl}{{A`{{El{G`}}Cb}}}Fj}{{{Fh{c}}FlFn}{{A`{KdGf}}}Fj}`````={c{{An{e}}}{}{}}0>>{c{{A`{e}}}{}{}}000{cB`{}}0{cBl{}}0{ce{}{}}000`00``````{{cf}b{}}{ch{}}0002222{Kf{{A`{bKh}}}}`{KfKf}{{ce}b{}{}}{{{Kj{ce}}}{{A`{{Kl{b}}{Bb{Kn}}}}}{{L`{Hb}}{Lb{Hb}}{Lh{Hb}{{Ld{Lf}}}}LjLl}{LnLlLj}}``{nc{}}000{nb}0{{KfAj}{{A`{bM`}}}}{cc{}}00::0:00:::{{}n}0;;{{{Bb{c}}}{{Bb{h}}}{}}000{{{Bd{c}}}{{Bd{h}}}{}}000{{{Bf{c}}}{{Bf{h}}}{}}000>>>>{cAh{}}0``?{c{{An{e}}}{}{}}0{ce{}{}}0{c{{A`{e}}}{}{}}000{cB`{}}0{cBl{}}0333333``````{ch{}}0````44{{{Bd{{Hh{HbHd{Fh{Mb}}}}}}{Md{Hb{Bd{{Hh{HbHd{Fh{Mb}}}}}}{Hj{Hb}}}}Df{An{Mf}}Gn}{{A`{{Hn{Hb}}H`}}}}``??{{Bl{Gb{G`}}}{{An{{El{G`}}}}}}?````==6=66`````<`6;;::9966``8`{{}Gj}`{Df{{A`{{Id{{Hh{HbHd{Fh{Mb}}}}{Hj{Hb}}b{Hn{Hb}}{I`{Hb{Hh{HbHd{Fh{Mb}}}}}}{Gh{{Md{Hb{Bd{{Hh{HbHd{Fh{Mb}}}}}}{Hj{Hb}}}}{An{Ib}}{An{Mh}}}}}}H`}}}}``{{{Bd{{Hh{HbHd{Fh{Mb}}}}}}{Md{Hb{Bd{{Hh{HbHd{Fh{Mb}}}}}}{Hj{Hb}}}}{An{Mj}}{An{Mf}}Gn{Bd{Ml}}{Bd{{I`{Hb{Hh{HbHd{Fh{Mb}}}}}}}}{Bd{{Mn{Hb}}}}N`NbNdNfNh{Bd{Nj}}}{{A`{bH`}}}}{{DfDfNlNd{An{Nn}}}{{O`{{Gh{Gn{Bd{{Hh{HbHd{Fh{Mb}}}}}}}}}}}}0````;:9987::`:`","c":[304,378],"p":[[1,"unit"],[8,"Result",568],[5,"Private",569],[10,"Any",570],[5,"ExtensionsFork",7],[5,"Extensions",7],[1,"usize"],[6,"Result",571],[10,"Deserializer",572],[8,"RuntimeGenesisConfig",573],[5,"ChainSpec",574],[1,"bool"],[5,"Formatter",575],[8,"Result",575],[6,"Option",576],[5,"TypeId",570],[5,"Box",577],[5,"Arc",578],[5,"Rc",579],[10,"Serializer",580],[10,"ChainSpec",581],[1,"str"],[5,"RelayChainCli",114],[5,"Command",582],[5,"String",583],[5,"BasePath",584],[1,"i32"],[1,"u64"],[6,"Subcommand",114],[5,"Cli",114],[5,"ArgMatches",585],[8,"Error",586],[5,"Id",587],[5,"ImportParams",588],[5,"Configuration",584],[5,"LoggerBuilder",589],[10,"FnOnce",590],[5,"KeystoreParams",591],[5,"NetworkParams",592],[17,"Item"],[10,"Iterator",593],[1,"u16"],[5,"PrometheusConfig",584],[6,"Role",594],[6,"SocketAddr",595],[5,"Vec",596],[1,"u32"],[6,"RpcMethods",584],[5,"SharedParams",597],[5,"TelemetryEndpoints",598],[5,"Options",599],[5,"NativeElseWasmExecutor",296],[10,"NativeExecutionDispatch",600],[10,"Externalities",601],[5,"RuntimeCode",602],[1,"u8"],[1,"slice"],[6,"CallContext",602],[6,"Error",603],[1,"tuple"],[5,"NativeVersion",604],[6,"WasmExecutionMethod",605],[5,"TaskManager",606],[6,"Error",607],[8,"Block",608],[5,"RuntimeApi",609],[5,"ExecutorDispatch",296],[8,"TFullClient",610],[8,"TFullBackend",610],[5,"LongestChain",611],[8,"DefaultImportQueue",612],[8,"FullPool",613],[5,"Telemetry",614],[5,"PartialComponents",615],[5,"HostFunctions",616],[5,"HostFunctions",617],[5,"HostFunctions",618],[5,"HostFunctions",619],[5,"HostFunctions",620],[5,"HostFunctions",621],[5,"HostFunctions",622],[5,"HostFunctions",623],[5,"HostFunctions",624],[5,"HostFunctions",625],[5,"HostFunctions",626],[5,"HostFunctions",627],[5,"HostFunctions",628],[5,"ExtendedHostFunctions",629],[5,"WasmExecutor",600],[5,"RuntimeVersion",604],[6,"DenyUnsafe",411],[5,"UnsafeRpcError",630],[5,"FullDeps",411],[5,"RpcModule",631],[10,"Error",632],[10,"ProvideRuntimeApi",633],[10,"HeaderBackend",634],[17,"Error"],[6,"Error",635],[10,"HeaderMetadata",636],[10,"Send",637],[10,"Sync",637],[10,"TransactionPool",638],[5,"Error",575],[5,"ParachainNativeExecutor",494],[5,"ParachainBlockImport",639],[5,"TelemetryHandle",614],[5,"TelemetryWorkerHandle",614],[5,"Registry",640],[10,"RelayChainInterface",641],[5,"SyncingService",642],[8,"KeystorePtr",643],[5,"Duration",644],[5,"Id",645],[8,"CollatorPair",646],[5,"Handle",647],[10,"Fn",590],[5,"CollatorOptions",648],[5,"HwBench",649],[8,"Result",607],[8,"ChainSpec",7],[8,"FullClient",296],[8,"FullSelectChain",296],[8,"FullBackend",296],[8,"RpcExtension",411],[8,"ParachainClient",494],[8,"ParachainBackend",494],[8,"ParachainBlockImport",494],[8,"ParachainExecutor",494]],"b":[]}],\ -["poe",{"doc":"This file represents a simple Proof of Existence …","t":"PPGPFKFFPPNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["BadlyTypedInput","BadlyTypedOutput","ConstraintCheckerError","EffectiveHeightInPast","PoeClaim","PoeConfig","PoeDispute","PoeRevoke","WrongNumberInputs","WrongNumberOutputs","__clone_box","__clone_box","__clone_box","__clone_box","block_height","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","check","check","check","check","check","check","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","decode","decode","decode","decode","decode_all","decode_all","decode_all","decode_all","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","encode","encode_to","encode_to","encode_to","encode_to","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","from","from","from","from","from_mut","from_mut","from_mut","from_mut","from_ref","from_ref","from_ref","from_ref","init","init","init","init","into","into","into","into","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","is_inherent","is_inherent","is_inherent","serialize","serialize","serialize","serialize","size_hint","size_hint","size_hint","size_hint","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_info","type_info","type_info","type_name","type_name","type_name","type_name","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","using_encoded","vzip","vzip","vzip","vzip"],"q":[[0,"poe"],[185,"dyn_clone::sealed"],[186,"tuxedo_core::dynamic_typing"],[187,"sp_runtime::transaction_validity"],[188,"core::result"],[189,"tuxedo_core::types"],[190,"parity_scale_codec::error"],[191,"parity_scale_codec::codec"],[192,"serde::de"],[193,"alloc::vec"],[194,"parity_scale_codec::codec"],[195,"core::cmp"],[196,"core::fmt"],[197,"core::fmt"],[198,"core::any"],[199,"alloc::sync"],[200,"alloc::rc"],[201,"serde::ser"],[202,"core::any"],[203,"core::ops::function"]],"d":["An input data has the wrong type.","An output data has the wrong type.","Errors that can occur when checking PoE Transactions","The effective height of this claim is in the past, So the …","A constraint checker to create claims.","Configuration items for the Proof of Existence piece when …","A constraint checker that resolves claim disputes by …","A constraint checker to revoke claims.","Wrong number of inputs were provided to the constraint …","Wrong number of outputs were provided to the constraint …","","","","","A means of getting the current block height. Probably this …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[14,14,0,14,0,0,0,0,14,14,14,4,12,13,9,14,4,12,13,14,4,12,13,4,4,12,12,13,13,14,4,12,13,14,4,12,13,14,4,12,13,14,4,12,13,14,4,12,13,14,4,12,13,14,4,12,13,14,4,12,13,14,4,12,13,14,4,12,13,4,14,4,12,13,14,4,12,13,14,14,14,14,14,4,4,4,4,4,12,12,12,12,12,13,13,13,13,13,14,4,12,13,14,4,12,13,14,4,12,13,14,4,12,13,14,4,12,13,14,4,12,13,14,4,12,13,14,4,12,13,14,4,12,13,4,12,13,14,4,12,13,14,4,12,13,14,4,12,13,14,4,12,13,14,4,12,13,14,4,12,13,14,4,12,13,4,12,13,14,4,12,13,14,4,12,13,14,4,12,13,4,14,4,12,13],"f":"``````````{{cb}d{}}000{{}f}{ce{}{}}0000000{{{h{c}}{l{j}}{l{j}}{l{j}}}{{A`{ne}}}Ab{}}{{c{l{{Ad{e}}}}{l{{Ad{e}}}}{l{{Ad{e}}}}}{{A`{Af}}}{}{}}0{{Ah{l{j}}{l{j}}{l{j}}}{{A`{nc}}}{}}1{{Aj{l{j}}{l{j}}{l{j}}}{{A`{nc}}}{}}{AlAl}{{{h{c}}}{{h{c}}}{}}{AhAh}{AjAj}{{ce}d{}{}}000{c{{A`{AlAn}}}B`}{c{{A`{{h{e}}An}}}B`{}}{c{{A`{AhAn}}}B`}{c{{A`{AjAn}}}B`}{{{l{Bb}}}{{A`{cAn}}}{}}000{{f{l{Bb}}}{{A`{cAn}}}{}}000{{fc}{{A`{eAn}}}B`{}}000{Bdc{}}0000000{c{{A`{Al}}}Bf}{c{{A`{{h{e}}}}}Bf{}}{c{{A`{Ah}}}Bf}{c{{A`{Aj}}}Bf}{Bdd}000{{{h{c}}}{{Bh{Bb}}}{}}{{Alc}d{BjBl}}{{{h{c}}e}d{}{BjBl}}{{Ahc}d{BjBl}}{{Ajc}d{BjBl}}{{AlAl}Bn}{{{h{c}}{h{c}}}BnC`}{{AhAh}Bn}{{AjAj}Bn}{{ce}Bn{}{}}0000000000000000000{{AlCb}Cd}{{{h{c}}Cb}Cd{}}{{AhCb}Cd}{{AjCb}Cd}{cc{}}000{ce{}{}}0000000{{}Bd}0001111{{{Cf{c}}}{{Cf{Ch}}}{}}000{{{Cj{c}}}{{Cj{Ch}}}{}}000{{{Cl{c}}}{{Cl{Ch}}}{}}000{cBn{}}00{{Alc}A`Cn}{{{h{c}}e}A`{}Cn}{{Ahc}A`Cn}{{Ajc}A`Cn}{AlBd}{{{h{c}}}Bd{}}{AhBd}{AjBd}{{c{l{Bb}}}{{Bh{Bb}}}{}}000>>>>{c{{A`{e}}}{}{}}0000000{cD`{}}000{{}Db}00{cDd{}}000{ce{}{}}0000000{{{h{c}}g}e{}{}{{Dh{{l{Bb}}}{{Df{e}}}}}}1111","c":[],"p":[[5,"Private",185],[1,"unit"],[1,"u32"],[5,"PoeClaim",0],[5,"DynamicallyTypedData",186],[1,"slice"],[8,"TransactionPriority",187],[6,"Result",188],[10,"PoeConfig",0],[5,"Output",189],[1,"u64"],[5,"PoeRevoke",0],[5,"PoeDispute",0],[6,"ConstraintCheckerError",0],[5,"Error",190],[10,"Input",191],[1,"u8"],[1,"usize"],[10,"Deserializer",192],[5,"Vec",193],[10,"Output",191],[10,"Sized",194],[1,"bool"],[10,"PartialEq",195],[5,"Formatter",196],[8,"Result",196],[5,"Box",197],[10,"Any",198],[5,"Arc",199],[5,"Rc",200],[10,"Serializer",201],[5,"TypeId",198],[5,"Type",202],[1,"str"],[17,"Output"],[10,"FnOnce",203]],"b":[]}],\ -["runtime_upgrade",{"doc":"This is a small pallet that handles runtime upgrades in …","t":"PPGPPFPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["BadlyTypedInput","BadlyTypedOutput","ConstraintCheckerError","InputMismatch","OutputMismatch","RuntimeUpgrade","WrongNumberInputs","WrongNumberOutputs","__clone_box","borrow","borrow","borrow_mut","borrow_mut","check","check","clone","clone_into","decode","decode_all","decode_all_with_depth_limit","decode_with_depth_limit","deref","deref","deref_mut","deref_mut","deserialize","drop","drop","encode","encode_to","eq","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","from","from","from_mut","from_mut","from_ref","from_ref","init","init","into","into","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","is_inherent","serialize","size_hint","to_keyed_vec","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","type_info","type_name","type_name","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","using_encoded","vzip","vzip"],"q":[[0,"runtime_upgrade"],[75,"dyn_clone::sealed"],[76,"tuxedo_core::types"],[77,"core::result"],[78,"tuxedo_core::dynamic_typing"],[79,"sp_runtime::transaction_validity"],[80,"parity_scale_codec::error"],[81,"parity_scale_codec::codec"],[82,"serde::de"],[83,"alloc::vec"],[84,"parity_scale_codec::codec"],[85,"core::fmt"],[86,"core::fmt"],[87,"core::any"],[88,"alloc::sync"],[89,"alloc::rc"],[90,"serde::ser"],[91,"core::any"],[92,"core::ops::function"]],"d":["An input data has the wrong type.","An output data has the wrong type.","Reasons that the RuntimeUpgrade constraint checker may fail","The consumed input does not match the current wasm. This …","The created output does not match the provided new runtime …","The sole constraint checker for the runtime upgrade. It …","Wrong number of inputs were provided to the constraint …","Wrong number of outputs were provided to the constraint …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[20,20,0,20,20,0,20,20,7,20,7,20,7,7,7,7,7,7,7,7,7,20,7,20,7,7,20,7,7,7,7,7,7,7,7,7,20,7,20,7,20,7,20,7,20,7,20,7,20,7,20,7,20,7,7,7,7,7,7,20,7,20,7,20,7,7,20,7,20,7,20,7,7,20,7],"f":"````````{{cb}d{}}{ce{}{}}000{{c{h{{f{e}}}}{h{{f{e}}}}{h{{f{e}}}}}{{l{j}}}{}{}}{{n{h{A`}}{h{A`}}{h{A`}}}{{l{Abc}}}{}}{nn}{{ce}d{}{}}{c{{l{nAd}}}Af}{{{h{Ah}}}{{l{cAd}}}{}}{{Aj{h{Ah}}}{{l{cAd}}}{}}{{Ajc}{{l{eAd}}}Af{}}{Alc{}}000{c{{l{n}}}An}{Ald}0{n{{B`{Ah}}}}{{nc}d{BbBd}}{{nn}Bf}{{ce}Bf{}{}}0000{{BhBj}Bl}{{nBj}Bl}{cc{}}0{ce{}{}}000{{}Al}011{{{Bn{c}}}{{Bn{C`}}}{}}0{{{Cb{c}}}{{Cb{C`}}}{}}0{{{Cd{c}}}{{Cd{C`}}}{}}0{cBf{}}{{nc}lCf}{nAl}{{c{h{Ah}}}{{B`{Ah}}}{}}8{c{{l{e}}}{}{}}000{cCh{}}0{{}Cj}{cCl{}}0<<<<{{ne}c{}{{D`{{h{Ah}}}{{Cn{c}}}}}}==","c":[],"p":[[5,"Private",75],[1,"unit"],[5,"Output",76],[1,"slice"],[1,"u64"],[6,"Result",77],[5,"RuntimeUpgrade",0],[5,"DynamicallyTypedData",78],[8,"TransactionPriority",79],[5,"Error",80],[10,"Input",81],[1,"u8"],[1,"u32"],[1,"usize"],[10,"Deserializer",82],[5,"Vec",83],[10,"Output",81],[10,"Sized",84],[1,"bool"],[6,"ConstraintCheckerError",0],[5,"Formatter",85],[8,"Result",85],[5,"Box",86],[10,"Any",87],[5,"Arc",88],[5,"Rc",89],[10,"Serializer",90],[5,"TypeId",87],[5,"Type",91],[1,"str"],[17,"Output"],[10,"FnOnce",92]],"b":[]}],\ -["timestamp",{"doc":"Allow block authors to include a timestamp via an inherent …","t":"PFPPPPTTTTPPPPFFKGPPNNNOMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["BadlyTyped","CleanUpTimestamp","CleanupCannotCreateState","CleanupRequiresOneReference","DontBeSoHasty","InputsWhileSettingTimestamp","MAX_DRIFT","MINIMUM_TIME_INTERVAL","MIN_BLOCKS_BEFORE_CLEANUP","MIN_TIME_BEFORE_CLEANUP","MissingNewTimestamp","MissingPreviousTimestamp","NewTimestampWrongHeight","PreviousTimestampWrongHeight","SetTimestamp","Timestamp","TimestampConfig","TimestampError","TimestampTooOld","TooManyOutputsWhileSettingTimestamp","__clone_box","__clone_box","__clone_box","block","block_height","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","check","check","check","check_inherent","clear","clear","clear","clone","clone","clone","clone_into","clone_into","clone_into","cmp","compare","create_inherent","decode","decode","decode","decode_all","decode_all","decode_all","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","default","default","default","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","drop","drop","drop","drop","encode","encode","encode_to","encode_to","encode_to","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","from","from","from","from","from_mut","from_mut","from_mut","from_mut","from_ref","from_ref","from_ref","from_ref","genesis_transactions","init","init","init","init","into","into","into","into","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","is_clear","is_clear","is_clear","is_inherent","is_inherent","new","partial_cmp","serialize","serialize","size_hint","size_hint","size_hint","time","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_info","type_info","type_name","type_name","type_name","type_name","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","using_encoded","using_encoded","vzip","vzip","vzip","vzip"],"q":[[0,"timestamp"],[195,"dyn_clone::sealed"],[196,"tuxedo_core::types"],[197,"sp_runtime::transaction_validity"],[198,"core::result"],[199,"tuxedo_core::verifier"],[200,"tuxedo_core::verifier"],[201,"tuxedo_core::dynamic_typing"],[202,"sp_inherents"],[203,"tuxedo_core::types"],[204,"primitive_types"],[205,"parity_scale_codec::error"],[206,"parity_scale_codec::codec"],[207,"serde::de"],[208,"alloc::vec"],[209,"parity_scale_codec::codec"],[210,"core::cmp"],[211,"core::fmt"],[212,"core::any"],[213,"alloc::sync"],[214,"alloc::rc"],[215,"core::option"],[216,"serde::ser"],[217,"core::any"],[218,"core::ops::function"]],"d":["UTXO data has an unexpected type","Allows users to voluntarily clean up old timestamps by …","When cleaning up old timestamps, you may not create any …","When cleaning up old timestamps, you must supply exactly …","You may not clean up old timestamps until they are at …","Inputs were specified while setting the timestamp, but …","The maximum amount by which a valid block’s timestamp …","The minimum amount of time by which the timestamp may be …","The minimum number of blocks that must have passed before …","The minimum amount of time that must have passed before an …","When attempting to set a new best timestamp, you have not …","No previous timestamp was peeked at in this transaction, …","The block height reported in the new timestamp does not …","The previous timestamp that is peeked at must be from the …","A constraint checker for the simple act of setting a new …","A timestamp, since the unix epoch, noted at some point in …","Options to configure the timestamp piece in your runtime. …","Reasons that setting or cleaning up the timestamp may go …","The new timestamp is not sufficiently far after the …","Multiple outputs were specified while setting the …","","","","The block number in which this timestamp was noted.","A means of getting the current block height. Probably this …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","The time, in milliseconds, since the unix epoch.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[32,0,32,32,32,32,9,9,9,9,32,32,32,32,0,0,0,0,32,32,19,4,13,19,9,19,32,4,13,19,32,4,13,4,13,13,4,19,4,13,19,4,13,19,4,13,19,19,4,19,4,13,19,4,13,19,4,13,19,4,13,19,4,13,19,32,4,13,19,32,4,13,4,13,19,32,4,13,4,13,19,4,13,19,32,4,13,19,19,19,19,19,32,32,32,32,32,4,4,4,4,4,13,13,13,13,13,19,32,4,13,19,32,4,13,19,32,4,13,19,32,4,13,4,19,32,4,13,19,32,4,13,19,32,4,13,19,32,4,13,19,32,4,13,19,4,13,4,13,19,19,4,13,19,4,13,19,19,4,13,19,4,13,19,32,4,13,19,32,4,13,19,32,4,13,4,13,19,32,4,13,19,32,4,13,19,32,4,13,4,13,19,32,4,13],"f":"````````````````````{{cb}d{}}00`{{}f}{ce{}{}}0000000{{{h{c}}{l{{j{e}}}}{l{{j{e}}}}{l{{j{e}}}}}{{A`{ng}}}Ab{Ad{Ah{Af}}}{}}{{{Aj{c}}{l{Al}}{l{Al}}{l{Al}}}{{A`{ne}}}Ab{}}{{c{l{{j{e}}}}{l{{j{e}}}}{l{{j{e}}}}}{{A`{An}}}{}{}}{{B`{Bb{c{h{e}}}}Bd}d{Ad{Ah{Af}}}Ab}{{}c{}}00{BfBf}{{{h{c}}}{{h{c}}}{}}{{{Aj{c}}}{{Aj{c}}}{}}{{ce}d{}{}}00{{BfBf}Bh}{{ce}Bh{}{}}{{B`{Bl{{Bb{c{h{e}}}}Bj}}}{{Bb{c{h{e}}}}}{Ad{Ah{Af}}}Ab}{c{{A`{BfBn}}}C`}{c{{A`{{h{e}}Bn}}}C`{}}{c{{A`{{Aj{e}}Bn}}}C`{}}{{{l{Cb}}}{{A`{cBn}}}{}}00{{f{l{Cb}}}{{A`{cBn}}}{}}00{{fc}{{A`{eBn}}}C`{}}00{{}Bf}{{}{{h{c}}}{}}{{}{{Aj{c}}}{}}{Cdc{}}0000000{c{{A`{{h{e}}}}}Cf{}}{c{{A`{{Aj{e}}}}}Cf{}}{Cdd}000{{{h{c}}}{{Ch{Cb}}}{}}{{{Aj{c}}}{{Ch{Cb}}}{}}{{Bfc}d{CjCl}}{{{h{c}}e}d{}{CjCl}}{{{Aj{c}}e}d{}{CjCl}}{{BfBf}Cn}{{D`D`}Cn}{{{h{c}}{h{c}}}CnDb}{{{Aj{c}}{Aj{c}}}CnDb}{{ce}Cn{}{}}0000000000000000000{{BfDd}Df}{{D`Dd}Df}{{{h{c}}Dd}Df{}}{{{Aj{c}}Dd}Df{}}{cc{}}000{ce{}{}}0000000{{}{{Ch{{Bb{c{h{e}}}}}}}{Ad{Ah{Af}}}Ab}{{}Cd}0002222{{{Dh{c}}}{{Dh{Dj}}}{}}000{{{Dl{c}}}{{Dl{Dj}}}{}}000{{{Dn{c}}}{{Dn{Dj}}}{}}000{cCn{}}00{{{h{c}}}CnAb}1{{Anf}Bf}{{BfBf}{{E`{Bh}}}}{{{h{c}}e}A`{}Eb}{{{Aj{c}}e}A`{}Eb}{BfCd}{{{h{c}}}Cd{}}{{{Aj{c}}}Cd{}}`{{c{l{Cb}}}{{Ch{Cb}}}{}}00???{c{{A`{e}}}{}{}}0000000{cEd{}}000{{}Ef}0{cEh{}}000{ce{}{}}0000000{{{h{c}}g}e{}{}{{El{{l{Cb}}}{{Ej{e}}}}}}{{{Aj{c}}g}e{}{}{{El{{l{Cb}}}{{Ej{e}}}}}}2222","c":[],"p":[[5,"Private",195],[1,"unit"],[1,"u32"],[5,"SetTimestamp",0],[5,"Output",196],[1,"slice"],[8,"TransactionPriority",197],[6,"Result",198],[10,"TimestampConfig",0],[10,"Verifier",199],[5,"UpForGrabs",199],[10,"From",200],[5,"CleanUpTimestamp",0],[5,"DynamicallyTypedData",201],[1,"u64"],[5,"InherentData",202],[5,"Transaction",196],[5,"CheckInherentsResult",202],[5,"Timestamp",0],[6,"Ordering",203],[5,"H256",204],[1,"tuple"],[5,"Error",205],[10,"Input",206],[1,"u8"],[1,"usize"],[10,"Deserializer",207],[5,"Vec",208],[10,"Output",206],[10,"Sized",209],[1,"bool"],[6,"TimestampError",0],[10,"PartialEq",203],[5,"Formatter",210],[8,"Result",210],[5,"Box",211],[10,"Any",212],[5,"Arc",213],[5,"Rc",214],[6,"Option",215],[10,"Serializer",216],[5,"TypeId",212],[5,"Type",217],[1,"str"],[17,"Output"],[10,"FnOnce",218]],"b":[]}],\ -["tuxedo_core",{"doc":"This crate is the core of the Tuxedo runtime framework.","t":"EFEEXNNNNNNNCNNNCQNQNNNCNCNNNNNNCCNNXXNNCNNCNNCNKRRRKMMMPGFTKPNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNONNNNNNNNNFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNRTKSFKFNNNNNMMNNNMMNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNYYYKTMPIPPFPPFFPFGPNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNONNNNNNNNNNNNNNNNNNNNNNNOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNONNNNNFNNNNNNNNNNNNNNNNNNNNNNNFFFFFKNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNOONNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOMNNNNNNNNN","n":["ConstraintChecker","Executive","SimpleConstraintChecker","Verifier","aggregate","apply_extrinsic","apply_tuxedo_transaction","block_height","borrow","borrow_mut","check_inherents","close_block","constraint_checker","deref","deref_mut","drop","dynamic_typing","ensure","execute_block","fail","from","from_mut","from_ref","genesis","inherent_extrinsics","inherents","init","into","into_any","into_any_arc","into_any_rc","open_block","support_macros","traits","try_from","try_into","tuxedo_constraint_checker","tuxedo_verifier","type_id","type_name","types","unchecked_into","unique_saturated_into","utxo_set","validate_transaction","validate_tuxedo_transaction","verifier","vzip","ConstraintChecker","Error","Error","InherentHooks","SimpleConstraintChecker","check","check","is_inherent","DecodingFailed","DynamicTypingError","DynamicallyTypedData","TYPE_ID","UtxoData","WrongType","__clone_box","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","data","decode","decode_all","decode_all_with_depth_limit","decode_with_depth_limit","deref","deref","deref_mut","deref_mut","deserialize","drop","drop","encode_to","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","extract","fmt","fmt","fmt","from","from","from","from_mut","from_mut","from_ref","from_ref","init","init","into","into","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","serialize","size_hint","testing","to_keyed_vec","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","type_id","type_info","type_name","type_name","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","vzip","vzip","Bogus","borrow","borrow_mut","decode","decode_all","decode_all_with_depth_limit","decode_with_depth_limit","deref","deref_mut","drop","encode_to","eq","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","from","from_mut","from_ref","init","into","into_any","into_any_arc","into_any_rc","size_hint","to_keyed_vec","try_from","try_into","type_id","type_name","unchecked_into","unique_saturated_into","vzip","TuxedoGenesisBlockBuilder","TuxedoGenesisConfig","assimilate_storage","borrow","borrow","borrow_mut","borrow_mut","build_genesis_block","deref","deref","deref_mut","deref_mut","deserialize","drop","drop","from","from","from_mut","from_mut","from_ref","from_ref","get_transaction","init","init","into","into","into_any","into_any","into_any_arc","into_any_rc","into_any_rc","new","new","serialize","try_from","try_from","try_into","try_into","type_id","type_id","type_name","type_name","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","vzip","vzip","Error","INHERENT_IDENTIFIER","InherentInternal","PARENT_INHERENT_IDENTIFIER","ParentBlockInherentDataProvider","TuxedoInherent","TuxedoInherentAdapter","__clone_box","borrow","borrow","borrow_mut","borrow_mut","check_inherent","check_inherents","check_inherents","clone","clone_into","create_inherent","create_inherents","create_inherents","default","deref","deref","deref","deref_mut","deref_mut","drop","drop","fmt","from","from","from_mut","from_mut","from_ref","from_ref","genesis_transactions","genesis_transactions","genesis_transactions","init","init","into","into","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","provide_inherent_data","to_owned","try_from","try_from","try_handle_error","try_into","try_into","type_id","type_id","type_info","type_name","type_name","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","vzip","vzip","CloneNoBound","DebugNoBound","DefaultNoBound","Cash","ID","value","ConstraintCheckerError","DispatchResult","DuplicateInput","Err","Input","MissingInput","Ok","Output","OutputRef","PreExistingOutput","Transaction","UtxoError","VerifierError","__clone_box","__clone_box","__clone_box","__clone_box","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","checker","clear","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","decode","decode","decode","decode","decode_all","decode_all","decode_all","decode_all","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","default","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","drop","encode_to","encode_to","encode_to","encode_to","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from_mut","from_mut","from_mut","from_mut","from_mut","from_ref","from_ref","from_ref","from_ref","from_ref","index","init","init","init","init","init","inputs","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","is_clear","is_signed","new","output_ref","outputs","payload","peeks","redeemer","serialize","serialize","serialize","serialize","size_hint","size_hint","size_hint","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_owned","to_owned","to_owned","to_owned","transform","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","tx_hash","type_id","type_id","type_id","type_id","type_id","type_info","type_info","type_info","type_info","type_name","type_name","type_name","type_name","type_name","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","verifier","vzip","vzip","vzip","vzip","vzip","TransparentUtxoSet","borrow","borrow_mut","consume_utxo","deref","deref_mut","drop","from","from_mut","from_ref","init","into","into_any","into_any_arc","into_any_rc","peek_utxo","store_utxo","try_from","try_into","type_id","type_name","unchecked_into","unique_saturated_into","vzip","SignatureAndIndex","Sr25519Signature","TestVerifier","ThresholdMultiSignature","UpForGrabs","Verifier","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clear","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","decode","decode","decode","decode","decode","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","default","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","drop","encode","encode","encode_to","encode_to","encode_to","encode_to","encode_to","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from_mut","from_mut","from_mut","from_mut","from_mut","from_ref","from_ref","from_ref","from_ref","from_ref","has_duplicate_signatories","index","init","init","init","init","init","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","is_clear","new","new","owner_pubkey","serialize","serialize","serialize","serialize","serialize","signatories","signature","size_hint","size_hint","size_hint","size_hint","size_hint","threshold","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_info","type_info","type_info","type_info","type_name","type_name","type_name","type_name","type_name","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","using_encoded","using_encoded","verifies","verify","verify","verify","verify","verify","vzip","vzip","vzip","vzip","vzip"],"q":[[0,"tuxedo_core"],[48,"tuxedo_core::constraint_checker"],[56,"tuxedo_core::dynamic_typing"],[137,"tuxedo_core::dynamic_typing::testing"],[172,"tuxedo_core::genesis"],[220,"tuxedo_core::inherents"],[286,"tuxedo_core::support_macros"],[289,"tuxedo_core::traits"],[292,"tuxedo_core::types"],[513,"tuxedo_core::utxo_set"],[537,"tuxedo_core::verifier"],[768,"sp_runtime"],[769,"sp_inherents"],[770,"sp_inherents"],[771,"alloc::vec"],[772,"alloc::boxed"],[773,"core::any"],[774,"alloc::sync"],[775,"alloc::rc"],[776,"core::result"],[777,"core::any"],[778,"sp_runtime::transaction_validity"],[779,"dyn_clone::sealed"],[780,"parity_scale_codec::error"],[781,"parity_scale_codec::codec"],[782,"serde::de"],[783,"parity_scale_codec::codec"],[784,"core::fmt"],[785,"alloc::string"],[786,"scale_info::ty"],[787,"sp_storage"],[788,"sp_blockchain::error"],[789,"sc_client_api::backend"],[790,"sc_executor"],[791,"sp_core::traits"],[792,"serde::de"],[793,"sp_runtime"],[794,"primitive_types"],[795,"core::default"],[796,"core::future::future"],[797,"core::pin"],[798,"sp_inherents"],[799,"core::convert"],[800,"scale_info"],[801,"core::convert"]],"d":["","The executive. Each runtime is encouraged to make a type …","","","Automatically implements From for each type in an …","","Does full verification and application of tuxedo …","A helper function that allows tuxedo runtimes to read the …","","","","","A constraint checker is a piece of logic that determines …","","","","Dynamic Typing utilities for Tuxedo runtimes","Evaluate $x:expr and if not true return Err($y:expr).","","Return Err of the expression: return Err($expression);.","Returns the argument unchanged.","Get a mutable reference to the inner from the outer.","Get a reference to the inner from the outer.","Custom GenesisBlockBuilder for Tuxedo, to allow extrinsics …","","APIs and utilities for working with Substrate’s …","","Calls U::from(self).","","","","","These macros are copied from frame-support. Substrate …","General-purpose runtime traits for describing common types …","","","This macro treats the supplied enum as an aggregate …","This macro treats the supplied enum as an aggregate …","","","The common types that will be used across a Tuxedo …","","","For now this is a higher level description of the default …","","Does pool-style validation of a tuxedo transaction. Does …","A verifier is a piece of logic that determines whether an …","","A single constraint checker that a transaction can choose …","The error type that this constraint checker may return","The error type that this constraint checker may return","Optional Associated Inherent processing logic. If this …","A simplified constraint checker that a transaction can …","The actual check validation logic","The actual check validation logic","Tells whether this extrinsic is an inherent or not. If you …","Although the types matched, the data could not be decoded …","Errors that can occur when casting dynamically typed data …","A piece of encoded data with a type id associated Strongly …","A unique identifier for this type. For now choosing this …","A trait that must be implemented for any data that can be …","The data provided was not of the target decoding type.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Extracts strongly typed data from an Output, iff the …","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A bogus data type for use in tests.","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Get a mutable reference to the inner from the outer.","Get a reference to the inner from the outer.","","Calls U::from(self).","","","","","","","","","","","","","","The TuxedoGenesisConfig struct is used to configure the …","Assimilate the storage into the genesis block. This is …","","","","","Build the genesis block, including the extrinsics found in …","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","Create a new TuxedoGenesisConfig from a WASM binary and a …","","","","","","","","","","","","","","","","","","Almost identical to TuxedoInherent, but allows returning …","An inherent identifier for the Tuxedo parent block inherent","An inherent data provider that inserts the previous block …","Tuxedo’s controlled interface around Substrate’s …","An adapter to transform structured Tuxedo inherents into …","","","","","","Perform off-chain pre-execution checks on the inherent. …","Perform off-chain pre-execution checks on the inherents. …","","","","Create the inherent extrinsic to insert into a block that …","Create the inherent extrinsic to insert into a block that …","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","Return the genesis transactions that are required for the …","Return the genesis transactions that are required for this …","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","Derive [Clone] but do not bound any generic. Docs are at …","Derive [Debug] but do not bound any generics. Docs are at …","derive Default but do no bound any generic. Docs are at …","A trait for UTXOs that can act like coins, or bank notes.","A 1-byte unique identifier for this coin. Might need more …","Get the value of this token.","The constraint checker errored.","The Result of dispatching a UTXO transaction.","This transaction defines the same input multiple times","Contains the error value","A reference the a utxo that will be consumed along with …","One or more of the inputs required by this transaction is …","Contains the success value","An opaque piece of Transaction output data. This is how …","A reference to a output that is expected to exist in the …","This transaction defines an output that already existed in …","A UTXO Transaction","","The Verifier errored. TODO determine whether it is useful …","","","","","","","","","","","","","","","Which piece of constraint checking logic is used to …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","The index of this output among all outputs created by the …","","","","","","Existing pieces of state to be read and consumed from …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","a reference to the output being consumed","New state to be placed into storage","","Existing state to be read, but not consumed, from storage","","","","","","","","","","","","","","","","","A helper function for transforming a transaction generic …","","","","","","","","","","","A hash of the transaction that created this output","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Consume a Utxo from the set.","","","","Returns the argument unchanged.","Get a mutable reference to the inner from the outer.","Get a reference to the inner from the outer.","","Calls U::from(self).","","","","Fetch a utxo from the set.","Add a utxo into the set. This will overwrite any utxo that …","","","","","","","","Combination of a signature plus and index so that the …","A typical verifier that checks an sr25519 signature","A testing verifier that passes or depending on the enclosed","A Threshold multisignature. Some number of member …","A simple verifier that allows anyone to consume an output …","A means of checking that an output can be verified (aka …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","","The index of this signer in the signatory vector","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","All the member signatories, some (or all depending on the …","The signature of the signer","","","","","","The minimum number of valid signatures needed to consume …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Whether the verifier should pass","","","","","","","","","",""],"i":[0,0,0,0,0,87,87,87,87,87,87,87,0,87,87,87,0,0,87,0,87,87,87,0,87,0,87,87,87,87,87,87,0,0,87,87,0,0,87,87,0,87,87,0,87,87,0,87,0,25,5,5,0,25,5,5,42,0,0,43,0,42,26,26,42,26,42,26,26,26,26,26,26,26,26,42,26,42,26,26,42,26,26,42,26,26,26,26,26,42,42,42,42,42,26,26,42,42,26,26,42,26,42,26,42,26,42,26,42,26,42,26,42,26,42,26,26,0,26,26,42,26,42,26,42,26,42,26,26,26,42,26,42,26,42,26,42,0,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,0,0,50,52,50,52,50,52,52,50,52,50,50,52,50,52,50,52,50,52,50,50,52,50,52,50,52,50,50,52,50,52,50,50,52,50,52,50,52,50,52,50,52,50,52,50,52,50,88,88,0,0,0,0,0,62,66,62,66,62,88,32,62,62,62,88,32,62,62,66,66,62,66,62,66,62,62,66,62,66,62,66,62,32,88,62,66,62,66,62,66,62,66,62,66,62,66,62,66,62,66,66,62,66,62,62,66,62,66,62,66,62,66,62,0,0,0,0,70,70,23,0,23,3,0,23,3,0,0,23,0,0,23,72,2,73,31,72,2,73,23,31,72,2,73,23,31,2,2,72,2,73,31,72,2,73,31,72,2,73,31,72,2,73,31,72,2,73,31,72,2,73,31,2,72,2,73,23,31,72,2,73,23,31,72,2,73,31,72,2,73,23,31,72,2,73,31,72,2,73,23,31,72,72,72,72,72,2,2,2,2,2,73,73,73,73,73,23,23,23,23,23,31,31,31,31,31,72,2,73,23,31,72,2,73,23,31,31,31,72,2,73,23,31,72,2,73,23,31,72,72,2,73,23,31,2,72,2,73,23,31,72,2,73,23,31,72,2,73,23,31,72,2,73,23,31,2,2,2,73,2,31,2,73,72,2,73,31,72,73,31,72,2,73,31,72,2,73,31,2,72,2,73,23,31,72,2,73,23,31,72,72,2,73,23,31,72,2,73,31,72,2,73,23,31,72,2,73,23,31,72,2,73,23,31,31,72,2,73,23,31,0,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,0,0,0,0,0,0,80,81,82,83,84,80,81,82,83,84,80,81,82,83,84,81,80,81,82,83,84,80,81,82,83,84,80,81,82,83,84,80,81,82,83,84,80,81,82,83,84,80,81,82,83,84,81,80,81,82,83,84,80,81,82,83,84,80,81,82,83,84,80,81,82,83,84,80,84,80,81,82,83,84,80,81,82,83,84,80,80,80,80,80,81,81,81,81,81,82,82,82,82,82,83,83,83,83,83,84,84,84,84,84,80,81,82,83,84,80,81,82,83,84,80,81,82,83,84,80,81,82,83,84,82,83,80,81,82,83,84,80,81,82,83,84,80,81,82,83,84,80,81,82,83,84,80,81,82,83,84,81,80,82,80,80,81,82,83,84,82,83,80,81,82,83,84,82,80,81,82,83,84,80,81,82,83,84,80,81,82,83,84,80,81,82,83,84,80,81,82,83,84,80,81,82,84,80,81,82,83,84,80,81,82,83,84,80,81,82,83,84,80,84,84,4,80,81,82,84,80,81,82,83,84],"f":"`````{{}b}{{{d{ce}}}fh{{j{c}}}}{{}}{ce{}{}}0{{gl}nh{{j{c}}}{{Ab{}{{A`{{d{ce}}}}}}}}2`{Adc{}}0{AdAf}``{gAfh{{j{c}}}{{Ab{}{{A`{{d{ce}}}}}}}}`{cc{}}55`{lAh}`{{}Ad}7{{{Aj{c}}}{{Aj{Al}}}{}}{{{An{c}}}{{An{Al}}}{}}{{{B`{c}}}{{B`{Al}}}{}}{{}Af}``{c{{Bb{e}}}{}{}}0``{cBd{}}{cBf{}}`>>`{BhBj}{{{d{ce}}}{{Bb{BlBn}}}h{{j{c}}}}`{ce{}{}}`````{{{Cb{}{{C`{c}}}}{Cf{Cd}}{Cf{Cd}}{Cf{Cd}}}{{Bb{Chc}}}Cj}{{{j{}{{C`{c}}{Cl{e}}}}{Cf{{Cn{g}}}}{Cf{{Cn{g}}}}{Cf{{Cn{g}}}}}{{Bb{Chc}}}CjD`{}}{{{j{}{{C`{c}}{Cl{e}}}}}DbCjD`{}}``````{{cDd}Af{}}4444{CdCd}{{ce}Af{}{}}`{c{{Bb{CdDf}}}Dh}{{{Cf{Dj}}}{{Bb{cDf}}}{}}{{Dl{Cf{Dj}}}{{Bb{cDf}}}{}}{{Dlc}{{Bb{eDf}}}Dh{}}{Adc{}}000{c{{Bb{Cd}}}Dn}{AdAf}0{{Cdc}Af{E`Eb}}{{CdCd}Db}{{EdEd}Db}{{ce}Db{}{}}000000000{Cd{{Bb{cEd}}}Ef}{{CdEh}Ej}{{EdEh}Ej}0{cc{}}{cCdEf}1{ce{}{}}000{{}Ad}011{{{Aj{c}}}{{Aj{Al}}}{}}0{{{An{c}}}{{An{Al}}}{}}0{{{B`{c}}}{{B`{Al}}}{}}0{{Cdc}BbEl}{CdAd}`{{c{Cf{Dj}}}{{Ah{Dj}}}{}}7{cEn{}}{c{{Bb{e}}}{}{}}000{cBd{}}0`{{}F`}{cBf{}}0<<<<<<`<<{c{{Bb{FbDf}}}Dh}{{{Cf{Dj}}}{{Bb{cDf}}}{}}{{Dl{Cf{Dj}}}{{Bb{cDf}}}{}}{{Dlc}{{Bb{eDf}}}Dh{}}{Adc{}}0{AdAf}{{Fbc}Af{E`Eb}}{{FbFb}Db}{{ce}Db{}{}}0000{{FbEh}Ej}{cc{}}{ce{}{}}0{{}Ad}1{{{Aj{c}}}{{Aj{Al}}}{}}{{{An{c}}}{{An{Al}}}{}}{{{B`{c}}}{{B`{Al}}}{}}{FbAd}{{c{Cf{Dj}}}{{Ah{Dj}}}{}}{c{{Bb{e}}}{}{}}0{cBd{}}{cBf{}}999``{{{Fd{ce}}Ff}{{Bb{AfEn}}}h{{j{c}}}}::::{{{Fh{ceg}}}{{Fl{{Fj{ci}}}}}Ab{{Fn{c}}}{G`Gb}{}}{Adc{}}000{c{{Bb{{Fd{eg}}}}}DnGdGd}{AdAf}0??>>>>{{{Fd{ce}}Ad}{{Gf{{d{ce}}}}}{}{}}>>??==<;;{{GhDb{An{e}}g}{{Fl{{Fh{ceg}}}}}Ab{{Fn{c}}}{G`Gb}}{{{Ah{Dj}}{Ah{{d{ce}}}}}{{Fd{ce}}}{}{}}{{{Fd{ce}}g}BbGjGjEl};;;;::99{ce{}{}}00000```````{{cDd}Af{}}1111{{l{d{ce}}n}Af{}{{j{c}}}}{{l{Ah{{d{ce}}}}n}Af{}{{j{c}}}}{{l{Ah{{d{ce}}}}n}Afh{{j{c}}}}{{{Gl{c}}}{{Gl{c}}}Gn}{{ce}Af{}{}}{{l{Fj{{d{ce}}H`}}}{{d{ce}}}{}{{j{c}}}}{{l{Ah{{Fj{{d{ce}}H`}}}}}{{Ah{{d{ce}}}}}{}{{j{c}}}}{{l{Ah{{Fj{{d{ce}}H`}}}}}{{Ah{{d{ce}}}}}h{{j{c}}}}{{}{{Gl{c}}}Hb}{{{Hd{c}}}e{}{}}{Adc{}}000{AdAf}0{{{Gl{c}}Eh}EjCj}{cc{}}0????{{}{{Ah{{d{ce}}}}}{}{{j{c}}}}0{{}{{Ah{{d{ce}}}}}h{{j{c}}}}{{}Ad}0{ce{}{}}0{{{Aj{c}}}{{Aj{Al}}}{}}0{{{An{c}}}{{An{Al}}}{}}0{{{B`{c}}}{{B`{Al}}}{}}0{{{Hd{c}}l}{{Hh{{Aj{Hf}}}}}Ab}4{c{{Bb{e}}}{}{}}0{{{Hd{c}}Hj{Cf{Dj}}}{{Hh{{Aj{Hf}}}}}Ab}11{cBd{}}0{{}F`}{cBf{}}0999999`````{HlHn}`````````````{{cDd}Af{}}000;;;;;;;;;;`{{}c{}}{I`I`}{{{d{ce}}}{{d{ce}}}GnGn}{IbIb}{{{Cn{c}}}{{Cn{c}}}Gn}{{ce}Af{}{}}000{c{{Bb{I`Df}}}Dh}{c{{Bb{{d{eg}}Df}}}DhIdId}{c{{Bb{IbDf}}}Dh}{c{{Bb{{Cn{e}}Df}}}DhId}{{{Cf{Dj}}}{{Bb{cDf}}}{}}000{{Dl{Cf{Dj}}}{{Bb{cDf}}}{}}000{{Dlc}{{Bb{eDf}}}Dh{}}000{{}{{d{ce}}}HbHb}{Adc{}}000000000{c{{Bb{I`}}}Dn}{c{{Bb{{d{eg}}}}}DnGdGd}{c{{Bb{Ib}}}Dn}{c{{Bb{{Cn{e}}}}}DnGd}{AdAf}0000{{I`c}Af{E`Eb}}{{{d{ce}}g}AfIfIf{E`Eb}}{{Ibc}Af{E`Eb}}{{{Cn{c}}e}AfIf{E`Eb}}{{I`I`}Db}{{{d{ce}}{d{ce}}}DbIhIh}{{IbIb}Db}{{{Bn{c}}{Bn{c}}}DbIh}{{{Cn{c}}{Cn{c}}}DbIh}{{ce}Db{}{}}000000000000000000000000{{I`Eh}Ej}{{{d{ce}}Eh}EjCjCj}{{IbEh}Ej}{{{Bn{c}}Eh}EjCj}{{{Cn{c}}Eh}EjCj}{cc{}}0000{{{Fj{cg}}}{{Cn{e}}}{{Ij{Cd}}}{}{{Ij{e}}}}{Cd{{Cn{c}}}Hb}{ce{}{}}000000000`{{}Ad}0000`11111{{{Aj{c}}}{{Aj{Al}}}{}}0000{{{An{c}}}{{An{Al}}}{}}0000{{{B`{c}}}{{B`{Al}}}{}}0000{cDb{}}{{{d{ce}}}{{Gf{Db}}}{Ilh}{Il{j{c}}}}{{{d{ce}}{Gf{g}}}{{Gf{{d{ce}}}}}{Ilh}{Il{j{c}}}{}}`````{{I`c}BbEl}{{{d{ce}}g}BbGjGjEl}{{Ibc}BbEl}{{{Cn{c}}e}BbGjEl}{I`Ad}{IbAd}{{{Cn{c}}}AdIf}{{c{Cf{Dj}}}{{Ah{Dj}}}{}}000????{{{d{ce}}}{{d{cg}}}GnGn{{In{e}}}}{c{{Bb{e}}}{}{}}000000000`{cBd{}}0000{{}F`}000{cBf{}}0000{ce{}{}}000000000`00000`00{I`{{Gf{{Cn{c}}}}}h}{Adc{}}0{AdAf}{cc{}}44{{}Ad}5{{{Aj{c}}}{{Aj{Al}}}{}}{{{An{c}}}{{An{Al}}}{}}{{{B`{c}}}{{B`{Al}}}{}}7{{I`{Cn{c}}}Afh}==<:999``````{{cDd}Af{}}0000::::::::::{{}c{}}{J`J`}{JbJb}{JdJd}{JfJf}{JhJh}{{ce}Af{}{}}0000{c{{Bb{J`Df}}}Dh}{c{{Bb{JbDf}}}Dh}{c{{Bb{JdDf}}}Dh}{c{{Bb{JfDf}}}Dh}{c{{Bb{JhDf}}}Dh}{{{Cf{Dj}}}{{Bb{cDf}}}{}}0000{{Dl{Cf{Dj}}}{{Bb{cDf}}}{}}0000{{Dlc}{{Bb{eDf}}}Dh{}}0000{{}Jb}{Adc{}}000000000{c{{Bb{J`}}}Dn}{c{{Bb{Jb}}}Dn}{c{{Bb{Jd}}}Dn}{c{{Bb{Jf}}}Dn}{c{{Bb{Jh}}}Dn}{AdAf}0000{J`{{Ah{Dj}}}}{Jh{{Ah{Dj}}}}{{J`c}Af{E`Eb}}{{Jbc}Af{E`Eb}}{{Jdc}Af{E`Eb}}{{Jfc}Af{E`Eb}}{{Jhc}Af{E`Eb}}{{J`J`}Db}{{JbJb}Db}{{JdJd}Db}{{JfJf}Db}{{JhJh}Db}{{ce}Db{}{}}000000000000000000000000{{J`Eh}Ej}{{JbEh}Ej}{{JdEh}Ej}{{JfEh}Ej}{{JhEh}Ej}{cc{}}0000{ce{}{}}000000000{JdDb}`{{}Ad}000022222{{{Aj{c}}}{{Aj{Al}}}{}}0000{{{An{c}}}{{An{Al}}}{}}0000{{{B`{c}}}{{B`{Al}}}{}}0000{cDb{}}{cJ`{{Ij{H`}}}}{{Dj{Ah{H`}}}Jd}`{{J`c}BbEl}{{Jbc}BbEl}{{Jdc}BbEl}{{Jfc}BbEl}{{Jhc}BbEl}``{J`Ad}{JbAd}{JdAd}{JfAd}{JhAd}`{{c{Cf{Dj}}}{{Ah{Dj}}}{}}0000{ce{}{}}0000{c{{Bb{e}}}{}{}}000000000{cBd{}}0000{{}F`}000{cBf{}}00004444444444{{J`e}c{}{{Jl{{Cf{Dj}}}{{Jj{c}}}}}}{{Jhe}c{}{{Jl{{Cf{Dj}}}{{Jj{c}}}}}}`{{h{Cf{Dj}}{Cf{Dj}}}Db}{{J`{Cf{Dj}}{Cf{Dj}}}Db}{{Jb{Cf{Dj}}{Cf{Dj}}}Db}{{Jd{Cf{Dj}}{Cf{Dj}}}Db}{{Jh{Cf{Dj}}{Cf{Dj}}}Db};;;;;","c":[],"p":[[8,"ApplyExtrinsicResult",768],[5,"Transaction",292],[8,"DispatchResult",292],[10,"Verifier",537],[10,"ConstraintChecker",48],[5,"InherentData",769],[5,"CheckInherentsResult",769],[17,"Extrinsic"],[10,"Block",770],[1,"usize"],[1,"unit"],[5,"Vec",771],[5,"Box",772],[10,"Any",773],[5,"Arc",774],[5,"Rc",775],[6,"Result",776],[5,"TypeId",773],[1,"str"],[6,"TransactionSource",777],[8,"TransactionValidity",777],[5,"ValidTransaction",777],[6,"UtxoError",292],[17,"Error"],[10,"SimpleConstraintChecker",48],[5,"DynamicallyTypedData",56],[1,"slice"],[8,"TransactionPriority",777],[10,"Debug",778],[17,"InherentHooks"],[5,"Output",292],[10,"InherentInternal",220],[1,"bool"],[5,"Private",779],[5,"Error",780],[10,"Input",781],[1,"u8"],[1,"u32"],[10,"Deserializer",782],[10,"Output",781],[10,"Sized",783],[6,"DynamicTypingError",56],[10,"UtxoData",56],[5,"Formatter",778],[8,"Result",778],[10,"Serializer",784],[5,"String",785],[5,"Type",786],[5,"Bogus",137],[5,"TuxedoGenesisConfig",172],[5,"Storage",787],[5,"TuxedoGenesisBlockBuilder",172],[1,"tuple"],[8,"Result",788],[10,"Backend",789],[10,"RuntimeVersionOf",790],[10,"CodeExecutor",791],[10,"Deserialize",782],[6,"Option",792],[10,"BuildStorage",768],[10,"Serialize",784],[5,"TuxedoInherentAdapter",220],[10,"Clone",793],[5,"H256",794],[10,"Default",795],[5,"ParentBlockInherentDataProvider",220],[10,"Future",796],[5,"Pin",797],[8,"InherentIdentifier",769],[10,"Cash",289],[1,"u128"],[5,"OutputRef",292],[5,"Input",292],[10,"Decode",781],[10,"Encode",781],[10,"PartialEq",798],[10,"Into",799],[10,"TypeInfo",800],[10,"From",799],[5,"Sr25519Signature",537],[5,"UpForGrabs",537],[5,"ThresholdMultiSignature",537],[5,"SignatureAndIndex",537],[5,"TestVerifier",537],[17,"Output"],[10,"FnOnce",801],[5,"Executive",0],[10,"TuxedoInherent",220],[5,"TransparentUtxoSet",513]],"b":[[96,"impl-Display-for-DynamicTypingError"],[97,"impl-Debug-for-DynamicTypingError"],[409,"impl-From%3C(P,+V1)%3E-for-Output%3CV%3E"],[410,"impl-From%3CDynamicallyTypedData%3E-for-Output%3CV%3E"]]}],\ -["tuxedo_parachain_core",{"doc":"This module is the core of Tuxedo’s parachain support.","t":"KGKFGKNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNQMNNNNNNNNNNNENNNNNNNNNNNNNNNNN","n":["GetRelayParentNumberStorage","MockRelayParentNumberStorage","ParachainExecutiveExtension","ParachainInherentDataUtxo","RelayParentNumberStorage","SetRelayParentNumberStorage","__clone_box","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","collect_collation_info","decode","decode_all","decode_all_with_depth_limit","decode_with_depth_limit","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","encode","encode_as","encode_to","fmt","from","from","from","from","from_mut","from_mut","from_mut","from_ref","from_ref","from_ref","get","get","init","init","init","into","into","into","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","register_validate_block","set","set","set","size_hint","to_keyed_vec","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","tuxedo_core","type_id","type_id","type_id","type_info","type_name","type_name","type_name","unchecked_into","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","using_encoded","vzip","vzip","vzip"],"q":[[0,"tuxedo_parachain_core"],[91,"dyn_clone::sealed"],[92,"cumulus_primitives_core"],[93,"parity_scale_codec::error"],[94,"core::result"],[95,"parity_scale_codec::codec"],[96,"alloc::vec"],[97,"parity_scale_codec::codec"],[98,"core::fmt"],[99,"core::fmt"],[100,"alloc::boxed"],[101,"core::any"],[102,"alloc::sync"],[103,"alloc::rc"],[104,"core::any"],[105,"core::ops::function"]],"d":["An abstraction over reading the ambiently available relay …","A mock version of the RelayParentNumberStorage that can be …","An extension trait that allows us to implement more …","A wrapper type around Cumulus’s ParachainInherentData …","A public interface for accessing and mutating the relay …","An abstraction over setting the ambiently available relay …","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","Register the validate_block function that is used by …","","","","","","","","","","","","","Re-export of the Tuxedo-core crate. This allows …","","","","","","","","","","","","","","","","",""],"i":[0,0,0,0,0,0,3,27,28,3,27,28,3,3,3,29,3,3,3,3,27,28,3,27,28,3,27,28,3,3,3,3,3,27,28,3,3,27,28,3,27,28,3,30,27,27,28,3,27,28,3,27,28,3,27,28,3,27,28,3,0,31,27,28,3,3,3,27,28,3,27,28,3,0,27,28,3,3,27,28,3,27,28,3,27,28,3,3,27,28,3],"f":"``````{{cb}d{}}{ce{}{}}00000{ff}{{ce}d{}{}}{ch{}}{c{{l{fj}}}n}{{{Ab{A`}}}{{l{cj}}}{}}{{Ad{Ab{A`}}}{{l{cj}}}{}}{{Adc}{{l{ej}}}n{}}{Afc{}}00000{Afd}00{f{{Ah{A`}}}}{c{{Ah{A`}}}{}}{{fc}d{AjAl}}{{fAn}B`}{cc{}}0{Bbf}1??????{{}Ad}0{{}Af}00{ce{}{}}00{{{Bd{c}}}{{Bd{Bf}}}{}}00{{{Bh{c}}}{{Bh{Bf}}}{}}00{{{Bj{c}}}{{Bj{Bf}}}{}}00`{Add}00{fAf}{{c{Ab{A`}}}{{Ah{A`}}}{}}6{c{{l{e}}}{}{}}00000`{cBl{}}00{{}Bn}{cC`{}}00::::::{{fe}c{}{{Cd{{Ab{A`}}}{{Cb{c}}}}}};;;","c":[],"p":[[5,"Private",91],[1,"unit"],[5,"ParachainInherentDataUtxo",0],[5,"CollationInfo",92],[5,"Error",93],[6,"Result",94],[10,"Input",95],[1,"u8"],[1,"slice"],[1,"u32"],[1,"usize"],[5,"Vec",96],[10,"Output",95],[10,"Sized",97],[5,"Formatter",98],[8,"Result",98],[5,"ParachainInherentData",99],[5,"Box",100],[10,"Any",101],[5,"Arc",102],[5,"Rc",103],[5,"TypeId",101],[5,"Type",104],[1,"str"],[17,"Output"],[10,"FnOnce",105],[6,"RelayParentNumberStorage",0],[6,"MockRelayParentNumberStorage",0],[10,"ParachainExecutiveExtension",0],[10,"GetRelayParentNumberStorage",0],[10,"SetRelayParentNumberStorage",0]],"b":[]}],\ -["tuxedo_register_validate_block",{"doc":"This macro is copied from …","t":"Q","n":["register_validate_block"],"q":[[0,"tuxedo_register_validate_block"]],"d":[""],"i":[0],"f":"`","c":[],"p":[],"b":[]}],\ -["tuxedo_template_runtime",{"doc":"The Tuxedo Template Runtime is an example runtime that uses","t":"PPPPPPPPPIIFIPPPIPPPGGGGIPPPPPPPPPPPPFFFPPPPPPPPIPSSSNNNNECNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNONNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNENNNEHOCOOOOENNNENNNNNNNNNONENNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNHIHFIFIFNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["AmoebaCreation","AmoebaCreation","AmoebaCreation","AmoebaDeath","AmoebaDeath","AmoebaDeath","AmoebaMitosis","AmoebaMitosis","AmoebaMitosis","Block","BlockNumber","DummyParachainInfo","Executive","FreeKittyConstraintChecker","FreeKittyConstraintChecker","FreeKittyConstraintChecker","Header","Money","Money","Money","OuterConstraintChecker","OuterConstraintCheckerError","OuterConstraintCheckerInherentHooks","OuterVerifier","Output","ParachainInfo","ParachainInfo","ParachainInfo","PoeClaim","PoeClaim","PoeClaim","PoeDispute","PoeDispute","PoeDispute","PoeRevoke","PoeRevoke","PoeRevoke","Runtime","RuntimeApi","RuntimeApiImpl","RuntimeUpgrade","RuntimeUpgrade","RuntimeUpgrade","SetTimestamp","SetTimestamp","SetTimestamp","Sr25519Signature","ThresholdMultiSignature","Transaction","UpForGrabs","VERSION","WASM_BINARY","WASM_BINARY_BLOATY","__clone_box","__clone_box","__clone_box","__clone_box","amoeba","api","api_version","apply_extrinsic","authorities","block_height","block_height","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","check","check","check","check_inherents","check_inherents","checker","clear","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","collect_collation_info","construct_runtime_api","create_inherents","current_set_id","decode","decode","decode","decode","decode_all","decode_all","decode_all","decode_all","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_session_keys","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","default","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","digest","drop","drop","drop","drop","drop","drop","drop","drop","encode_as","encode_as","encode_as","encode_as","encode_to","encode_to","encode_to","encode_to","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","execute_block","execute_in_transaction","extract_proof","extrinsics","extrinsics_root","finalize_block","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_mut","from_mut","from_mut","from_mut","from_mut","from_mut","from_mut","from_mut","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","generate_key_ownership_proof","generate_session_keys","genesis","genesis_transactions","grandpa_authorities","has_api","has_api_with","header","inherent_extrinsics","init","init","init","init","init","init","init","init","initialize_block","inputs","into","into","into","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_storage_changes","is_clear","is_inherent","is_inherent","kitties","metadata","metadata_at_version","metadata_versions","money","native_version","number","opaque","outputs","parent_hash","payload","peeks","poe","proof_recorder","record_proof","register_extension","runtime_upgrade","serialize","serialize","serialize","set_call_context","size_hint","size_hint","size_hint","size_hint","slot_duration","state_root","submit_report_equivocation_unsigned_extrinsic","timestamp","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_info","type_info","type_info","type_info","type_info","type_name","type_name","type_name","type_name","type_name","type_name","type_name","type_name","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","validate_transaction","verifier","verify","version","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","dispatch","RuntimeGenesisConfig","development_genesis_config","AuraAppPublic","Block","GrandpaAppPublic","Hash","SessionKeys","__clone_box","aura","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","decode","decode_all","decode_all_with_depth_limit","decode_into_raw_public_keys","decode_with_depth_limit","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","drop","drop","drop","encode_as","encode_to","eq","equivalent","equivalent","equivalent","equivalent","equivalent","extrinsics","fmt","from","from","from","from_mut","from_mut","from_mut","from_ref","from_ref","from_ref","generate","get_raw","grandpa","header","init","init","init","into","into","into","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_raw_public_keys","key_ids","serialize","size_hint","to_keyed_vec","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","type_info","type_name","type_name","type_name","unchecked_into","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","vzip","vzip","vzip"],"q":[[0,"tuxedo_template_runtime"],[382,"tuxedo_template_runtime::api"],[383,"tuxedo_template_runtime::genesis"],[385,"tuxedo_template_runtime::opaque"],[481,"dyn_clone::sealed"],[482,"core::option"],[483,"sp_api"],[484,"core::result"],[485,"sp_runtime::traits"],[486,"sp_api"],[487,"sp_consensus_aura::sr25519"],[488,"alloc::vec"],[489,"tuxedo_core::types"],[490,"sp_runtime::transaction_validity"],[491,"tuxedo_core::dynamic_typing"],[492,"sp_inherents"],[493,"tuxedo_core::types"],[494,"sp_api"],[495,"sp_consensus_grandpa"],[496,"parity_scale_codec::error"],[497,"parity_scale_codec::codec"],[498,"sp_core::crypto"],[499,"serde::de"],[500,"parity_scale_codec::codec"],[501,"sp_runtime"],[502,"sp_trie::storage_proof"],[503,"core::fmt"],[504,"core::fmt"],[505,"tuxedo_core::verifier"],[506,"poe"],[507,"timestamp"],[508,"parachain_piece"],[509,"money"],[510,"poe"],[511,"amoeba"],[512,"poe"],[513,"core::any"],[514,"alloc::sync"],[515,"alloc::rc"],[516,"sp_api"],[517,"sp_runtime::traits"],[518,"sp_core"],[519,"sp_version"],[520,"sp_api"],[521,"serde::ser"],[522,"sp_core::traits"],[523,"sp_consensus_slots"],[524,"sp_runtime::traits"],[525,"sp_runtime::transaction_validity"]],"d":["Checks that a single amoeba is simply created from the void…","","","Checks that a single amoeba is simply removed from the …","","","Checks that an amoeba can split into two new amoebas","","","","","A Dummy constraint checker that does nothing. It is only …","","Checks Free Kitty transactions","","","","Checks monetary transactions in a basic fungible …","","","A constraint checker is a piece of logic that can be used …","This type is generated by the #[tuxedo_constraint_checker] …","This type is generated by the #[tuxedo_constraint_checker] …","A verifier checks that an individual input can be …","","Set some parachain related information via an inherent …","","","Checks that new valid proofs of existence are claimed","","","Checks that one winning claim came earlier than all the …","","","Checks that proofs of existence are revoked.","","","The main struct in this module.","","Implements all runtime apis for the client side.","Upgrade the Wasm Runtime","","","Set the block’s timestamp via an inherent extrinsic.","","","","","","","This runtime version.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Which piece of constraint checking logic is used to …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A chain-specific digest of data useful for light clients …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The accompanying extrinsics.","The merkle root of the extrinsics.","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","","","Helper module to build a genesis configuration for the …","","","","","The block header.","","","","","","","","","","","Existing pieces of state to be read and consumed from …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The version information used to identify this runtime when …","The block number.","Opaque types. These are used by the CLI to instantiate …","New state to be placed into storage","The parent hash.","","Existing state to be read, but not consumed, from storage","","","","","","","","","","","","","","","The state trie merkle root","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Helper type for the ChainSpec.","","","Opaque block type.","","Opaque block hash type.","","","","","","","","","","","","","","","Decode Self from the given encoded slice and convert Self …","","","","","","","","","","","","","","","","","","","","The accompanying extrinsics.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","Generate a set of keys with optionally using the given …","","","The block header.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","Converts Self into a Vec of (raw public key, KeyTypeId).","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[13,46,47,13,46,47,13,46,47,0,0,0,0,13,46,47,0,13,46,47,0,0,0,0,0,13,46,47,13,46,47,13,46,47,13,46,47,0,0,0,13,46,47,13,46,47,14,14,0,14,0,0,0,14,13,19,25,0,0,3,25,25,25,25,14,13,46,47,19,25,91,3,14,13,46,47,19,25,91,3,13,19,19,47,25,92,19,14,13,19,25,14,13,19,25,25,91,47,25,14,13,19,25,14,13,19,25,14,13,19,25,25,14,13,19,25,19,14,13,46,47,19,25,91,3,14,13,46,47,19,25,91,3,14,13,19,93,14,13,46,47,19,25,91,3,14,13,19,25,14,13,19,25,14,13,19,25,14,14,14,14,14,13,13,13,13,13,19,19,19,19,19,25,25,25,25,25,25,3,3,24,93,25,14,13,46,47,19,14,14,14,14,13,13,13,13,13,13,13,13,13,13,13,13,46,47,19,25,91,3,14,13,46,47,19,25,91,3,14,13,46,47,19,25,91,3,25,25,0,47,25,3,3,24,25,14,13,46,47,19,25,91,3,25,92,14,13,46,47,19,25,91,3,14,13,46,47,19,25,91,3,14,13,46,47,19,25,91,14,13,46,47,19,25,91,3,3,19,13,19,0,25,25,25,0,0,93,0,92,93,94,92,0,3,3,3,0,14,13,19,3,14,13,19,25,25,93,25,0,14,13,19,25,14,13,19,25,14,13,46,47,19,25,91,3,14,13,46,47,19,25,91,3,14,13,46,47,19,25,91,3,14,13,47,19,25,14,13,46,47,19,25,91,3,14,13,46,47,19,25,91,3,14,13,46,47,19,25,91,3,25,94,14,25,14,13,46,47,19,25,91,3,0,0,0,0,0,0,0,0,90,90,95,96,90,95,96,90,90,90,90,90,90,90,90,95,96,90,95,96,90,90,95,96,90,90,90,90,90,90,90,90,90,97,90,95,96,90,95,96,90,95,96,90,90,90,90,97,95,96,90,95,96,90,95,96,90,95,96,90,95,96,90,90,90,90,90,90,90,95,96,90,95,96,90,95,96,90,90,95,96,90,95,96,90,95,96,90,95,96,90],"f":"`````````````````````````````````````````````````````{{cb}d{}}000``{{{f{ce}}}{{n{{j{h}}l}}}A`{{Ab{c}}}}{{}Ad}{{}{{Ah{Af}}}}{{}h}0{ce{}{}}000000000000000{{Aj{B`{{An{Al}}}}{B`{{An{Al}}}}{B`{{An{Al}}}}}{{n{Bbc}}}{}}{{c{B`{{An{e}}}}{B`{{An{e}}}}{B`{{An{e}}}}}{{n{Bd}}}{}{}}{{Bf{B`{Bh}}{B`{Bh}}{B`{Bh}}}{{n{Bbd}}}}{{Bj{Ah{{Bl{AlAj}}}}Bn}d}{{C`Bj}Bn}`{{}c{}}{AlAl}{AjAj}{BfBf}{CbCb}{{ce}d{}{}}000{{}Cd}{e{{Cf{g}}}A`{{Ab{c}}}{}}{{Bj{Ah{{Cj{{Bl{AlAj}}Ch}}}}}{{Ah{{Bl{AlAj}}}}}}{{}Cl}{c{{n{AlCn}}}D`}{c{{n{AjCn}}}D`}{c{{n{BfCn}}}D`}{c{{n{CbCn}}}D`}{{{B`{Db}}}{{n{cCn}}}{}}000{{h{B`{Db}}}{{n{cCn}}}{}}000{{{Ah{Db}}}{{j{{Ah{{Cj{{Ah{Db}}Dd}}}}}}}}{{hc}{{n{eCn}}}D`{}}000{{}Bf}{Dfc{}}000000000000000{c{{n{Al}}}Dh}{c{{n{Aj}}}Dh}{c{{n{Bf}}}Dh}`{Dfd}0000000{c{{Ah{Db}}}{}}000{{Alc}d{DjDl}}{{Ajc}d{DjDl}}{{Bfc}d{DjDl}}{{Cbc}d{DjDl}}{{AlAl}Dn}{{AjAj}Dn}{{BfBf}Dn}{{CbCb}Dn}{{ce}Dn{}{}}0000000000000000000{C`d}{{{f{ce}}i}gA`{{Ab{c}}}{}{{Ed{{f{ce}}}{{E`{{Eb{g}}}}}}}}{{{f{ce}}}{{j{Ef}}}A`{{Ab{c}}}}``{{}}{{AlEh}Ej}{{AjEh}Ej}{{ElEh}Ej}{{EnEh}Ej}{{BfEh}Ej}{F`Al}{FbAl}{FdAl}{cc{}}0{FfAj}{{{Fh{Cb}}}Aj}{{{Fj{Cb}}}Aj}{{{Fl{Cb}}}Aj}{FnAj}{G`Aj}{GbAj}{GdAj}{GfAj}{GhAj}{GjAj};;;;;;{ce{}{}}000000000000000{{ClGl}{{j{Gn}}}}{{{j{{Ah{Db}}}}}{{Ah{Db}}}}`{{}{{Ah{{Bl{AlAj}}}}}}{{}H`}{{{f{ce}}}{{n{Dnl}}}A`{{Ab{c}}}}{{{f{ce}}g}{{n{Dnl}}}A`{{Ab{c}}}{{Hb{h}{{E`{Dn}}}}}}`{BjAh}{{}Df}0000000{{}d}`99999999{{{Hd{c}}}{{Hd{Hf}}}{}}0000000{{{Hh{c}}}{{Hh{Hf}}}{}}000000{{{Hj{c}}}{{Hj{Hf}}}{}}0000000{{{f{ce}}g}{{n{{Hl{c}}Hn}}}A`{{Ab{c}}}{{Ib{{I`{c}}}}}}{cDn{}}{AjDn}1`{{}Id}{h{{j{Id}}}}{{}{{Ah{h}}}}`{{}If}```````{{{f{ce}}}{{j{{Ih{c}}}}}A`{{Ab{c}}}}{{{f{ce}}}dA`{{Ab{c}}}}{{{f{ce}}g}dA`{{Ab{c}}}Ij}`{{Alc}nIl}{{Ajc}nIl}{{Bfc}nIl}{{{f{ce}}In}dA`{{Ab{c}}}}{AlDf}{AjDf}{BfDf}{CbDf}{{}J`}`{{{Jd{{Jb{C`}}}}Gn}{{j{d}}}}`{{c{B`{Db}}}{{Ah{Db}}}{}}000{ce{}{}}000{c{{n{e}}}{}{}}000000000000000{cJf{}}0000000{{}Jh}0000{cJj{}}00000004444444444444444{JlJn}`{{Al{B`{Db}}{B`{Db}}}Dn}{{}K`}77777777{{Jj{B`{Db}}}{{j{{Ah{Db}}}}}}`{{}Kb}`````{{cb}d{}}`::::::{KdKd}{{ce}d{}{}}{c{{n{KdCn}}}D`}{{{B`{Db}}}{{n{cCn}}}{}}{{h{B`{Db}}}{{n{cCn}}}{}}{{{B`{Db}}}{{j{{Ah{{Cj{{Ah{Db}}Dd}}}}}}}}{{hc}{{n{eCn}}}D`{}}{Dfc{}}00000{c{{n{Kd}}}Dh}{Dfd}00{c{{Ah{Db}}}{}}{{Kdc}d{DjDl}}{{KdKd}Dn}{{ce}Dn{}{}}0000`{{KdEh}Ej}{cc{}}00{ce{}{}}00000{{{j{{Ah{Db}}}}}{{Ah{Db}}}}{{KdDd}{{B`{Db}}}}``{{}Df}00333{{{Hd{c}}}{{Hd{Hf}}}{}}00{{{Hh{c}}}{{Hh{Hf}}}{}}00{{{Hj{c}}}{{Hj{Hf}}}{}}00{Kd{{Ah{{Cj{{Ah{Db}}Dd}}}}}}{{}{{B`{Dd}}}}{{Kdc}nIl}{KdDf}{{c{B`{Db}}}{{Ah{Db}}}{}};{c{{n{e}}}{}{}}00000{cJf{}}00{{}Jh}{cJj{}}00?????????","c":[],"p":[[5,"Private",481],[1,"unit"],[5,"RuntimeApiImpl",0],[1,"u32"],[6,"Option",482],[6,"ApiError",483],[6,"Result",484],[10,"Block",485],[10,"CallApiAt",483],[8,"ApplyExtrinsicResult",486],[8,"AuthorityId",487],[5,"Vec",488],[6,"OuterConstraintChecker",0],[6,"OuterVerifier",0],[5,"Output",489],[1,"slice"],[8,"TransactionPriority",490],[1,"u64"],[5,"DummyParachainInfo",0],[5,"DynamicallyTypedData",491],[5,"InherentData",492],[5,"Transaction",489],[5,"CheckInherentsResult",492],[8,"Block",0],[5,"Runtime",0],[5,"CollationInfo",493],[5,"ApiRef",483],[5,"H256",494],[1,"tuple"],[8,"SetId",495],[5,"Error",496],[10,"Input",497],[1,"u8"],[5,"KeyTypeId",498],[1,"usize"],[10,"Deserializer",499],[10,"Output",497],[10,"Sized",500],[1,"bool"],[17,"Output"],[6,"TransactionOutcome",486],[10,"FnOnce",501],[5,"StorageProof",502],[5,"Formatter",503],[8,"Result",503],[6,"OuterConstraintCheckerError",0],[6,"OuterConstraintCheckerInherentHooks",0],[5,"UpForGrabs",504],[5,"ThresholdMultiSignature",504],[5,"Sr25519Signature",504],[5,"RuntimeUpgrade",505],[5,"PoeClaim",506],[5,"SetTimestamp",507],[5,"SetParachainInfo",508],[6,"MoneyConstraintChecker",509],[5,"PoeRevoke",506],[5,"AmoebaCreation",510],[5,"AmoebaDeath",510],[5,"AmoebaMitosis",510],[5,"FreeKittyConstraintChecker",511],[5,"PoeDispute",506],[8,"AuthorityId",495],[5,"OpaqueKeyOwnershipProof",495],[8,"AuthorityList",495],[10,"Fn",501],[5,"Box",512],[10,"Any",513],[5,"Arc",514],[5,"Rc",515],[8,"StorageChanges",483],[5,"String",516],[8,"HashingFor",485],[10,"Backend",517],[5,"OpaqueMetadata",518],[5,"NativeVersion",519],[8,"ProofRecorder",483],[10,"Extension",520],[10,"Serializer",521],[6,"CallContext",522],[5,"SlotDuration",523],[8,"NumberFor",485],[5,"EquivocationProof",495],[5,"TypeId",513],[5,"Type",524],[1,"str"],[6,"TransactionSource",490],[8,"TransactionValidity",490],[5,"RuntimeVersion",519],[8,"RuntimeGenesisConfig",383],[5,"SessionKeys",385],[5,"RuntimeApi",0],[8,"Transaction",0],[8,"Header",0],[8,"Output",0],[5,"AuraAppPublic",385],[5,"GrandpaAppPublic",385],[8,"Block",385]],"b":[[62,"impl-PoeConfig-for-Runtime"],[63,"impl-TimestampConfig-for-Runtime"],[188,"impl-From%3CUpForGrabs%3E-for-OuterVerifier"],[189,"impl-From%3CThresholdMultiSignature%3E-for-OuterVerifier"],[190,"impl-From%3CSr25519Signature%3E-for-OuterVerifier"],[193,"impl-From%3CRuntimeUpgrade%3E-for-OuterConstraintChecker"],[194,"impl-From%3CPoeClaim%3CRuntime%3E%3E-for-OuterConstraintChecker"],[195,"impl-From%3CSetTimestamp%3CRuntime%3E%3E-for-OuterConstraintChecker"],[196,"impl-From%3CSetParachainInfo%3CRuntime%3E%3E-for-OuterConstraintChecker"],[197,"impl-From%3CMoneyConstraintChecker%3C0%3E%3E-for-OuterConstraintChecker"],[198,"impl-From%3CPoeRevoke%3E-for-OuterConstraintChecker"],[199,"impl-From%3CAmoebaCreation%3E-for-OuterConstraintChecker"],[200,"impl-From%3CAmoebaDeath%3E-for-OuterConstraintChecker"],[201,"impl-From%3CAmoebaMitosis%3E-for-OuterConstraintChecker"],[202,"impl-From%3CFreeKittyConstraintChecker%3E-for-OuterConstraintChecker"],[203,"impl-From%3CPoeDispute%3E-for-OuterConstraintChecker"]]}],\ -["tuxedo_template_wallet",{"doc":"A simple CLI wallet. For now it is a toy just to start …","t":"SCCHHCHCCHHCHCHCHPFGSPPFPPPPPPFPPONNNNNNNNNNNNNNNNNONNNNNNNNNONNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOSSSHHHHHHHHHHHIRKIFINNMNNNNNNNNNNNNCNNNNNNNFNNNNNNNNNNNNNNNNNNNNNHHHSSSSHHHHHHHHHHHHHHHHHHSHH","n":["DEFAULT_ENDPOINT","amoeba","cli","default_data_path","h256_from_string","keystore","main","money","output_filter","output_ref_from_string","pretty_print_verifier","rpc","strip_0x_prefix","sync","temp_dir","timestamp","amoeba_demo","AmoebaDemo","Cli","Command","DEFAULT_MINT_VALUE","GenerateKey","InsertKey","MintCoinArgs","MintCoins","RemoveKey","ShowAllOutputs","ShowBalance","ShowKeys","ShowTimestamp","SpendArgs","SpendCoins","VerifyCoin","amount","augment_args","augment_args","augment_args","augment_args_for_update","augment_args_for_update","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","command","command","command_for_update","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","dev","drop","drop","drop","drop","endpoint","fmt","fmt","fmt","fmt","from","from","from","from","from_arg_matches","from_arg_matches","from_arg_matches","from_arg_matches","from_arg_matches_mut","from_arg_matches_mut","from_arg_matches_mut","from_arg_matches_mut","from_mut","from_mut","from_mut","from_mut","from_ref","from_ref","from_ref","from_ref","group_id","group_id","group_id","has_subcommand","init","init","init","init","input","into","into","into","into","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","no_sync","output_amount","owner","path","recipient","tmp","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_name","type_name","type_name","type_name","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches_mut","update_from_arg_matches_mut","update_from_arg_matches_mut","update_from_arg_matches_mut","vzip","vzip","vzip","vzip","output_ref","password","pub_key","seed","KEY_TYPE","SHAWN_PHRASE","SHAWN_PUB_KEY","generate_key","get_keys","has_key","insert_development_key_for_this_session","insert_key","remove_key","sign_with","apply_transaction","get_coin_from_storage","mint_coins","spend_coins","Filter","Filter","OutputFilter","OutputInfo","Sr25519SignatureFilter","TxHash","borrow","borrow_mut","build_filter","build_filter","deref","deref_mut","drop","from","from_mut","from_ref","init","into","into_any","into_any_arc","into_any_rc","tests","try_from","try_into","type_id","type_name","unchecked_into","unique_saturated_into","vzip","TestSr25519SignatureFilter","borrow","borrow_mut","build_filter","deref","deref_mut","drop","from","from_mut","from_ref","init","into","into_any","into_any_arc","into_any_rc","try_from","try_into","type_id","type_name","unchecked_into","unique_saturated_into","vzip","fetch_storage","node_get_block","node_get_block_hash","BLOCKS","BLOCK_HASHES","SPENT","UNSPENT","add_unspent_output","apply_block","apply_transaction","get_arbitrary_unspent_set","get_balances","get_block","get_block_hash","get_unspent","height","open_db","print_block_hashes_tree","print_unspent_tree","remove_unspent_output","spend_output","synchronize","unapply_highest_block","unapply_transaction","unspend_output","TIMESTAMP","apply_transaction","get_timestamp"],"q":[[0,"tuxedo_template_wallet"],[16,"tuxedo_template_wallet::amoeba"],[17,"tuxedo_template_wallet::cli"],[158,"tuxedo_template_wallet::cli::Command"],[162,"tuxedo_template_wallet::keystore"],[172,"tuxedo_template_wallet::money"],[176,"tuxedo_template_wallet::output_filter"],[205,"tuxedo_template_wallet::output_filter::tests"],[227,"tuxedo_template_wallet::rpc"],[230,"tuxedo_template_wallet::sync"],[252,"tuxedo_template_wallet::timestamp"],[255,"std::path"],[256,"primitive_types"],[257,"anyhow"],[258,"tuxedo_core::types"],[259,"clap_builder"],[260,"core::result"],[261,"tuxedo_template_runtime"],[262,"jsonrpsee_http_client::client"],[263,"clap_builder::builder::command"],[264,"core::fmt"],[265,"core::fmt"],[266,"clap_builder::util::id"],[267,"core::option"],[268,"alloc::boxed"],[269,"core::any"],[270,"alloc::sync"],[271,"alloc::rc"],[272,"core::any"],[273,"alloc::string"],[274,"alloc::vec"],[275,"core::iter::traits::iterator"],[276,"std::path"],[277,"sled::db"],[278,"tuxedo_core::types"],[279,"tuxedo_core::verifier"],[280,"tuxedo_template_runtime"],[281,"tuxedo_template_runtime"]],"d":["The default RPC endpoint for the wallet to connect to","Toy off-chain process to create an amoeba and perform …","Tuxedo Template Wallet’s Command Line Interface.","Generate the platform-specific default data path for the …","Parse a string into an H256 that represents a public key","Wallet’s local keystore.","","Wallet features related to spending money and checking …","","Parse an output ref from a string","Utility to pretty print an outer verifier","Strongly typed helper functions for communicating with the …","Takes a string and checks for a 0x prefix. Returns a …","This module is responsible for maintaining the wallet’s …","Generate a plaform-specific temporary directory for the …","Wallet features related to on-chain timestamps.","","Demonstrate creating an amoeba and performing mitosis on …","The wallet’s main CLI struct","The tasks supported by the wallet","The default number of coins to be minted.","Generate a private key using either some or no password …","Insert a private key into the keystore to later use when …","","Mint coins , optionally amount and publicKey of owner can …","Remove a specific key from the keystore. WARNING! This …","Show the complete list of UTXOs known to the wallet.","For each key tracked by the wallet, shows the sum of all …","Show public information about all the keys in the keystore.","Show the latest on-chain timestamp.","","Spend some coins. For now, all outputs in a single …","Verify that a particular coin exists. Show its value and …","Pass the amount to be minted.","","","","","","","","","","","","","","","","","","","","","","","","","","","","Specify a development wallet instance, using a temporary …","","","","","RPC endpoint of the node that this wallet will connect to.","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a mutable reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","Get a reference to the inner from the outer.","","","","","","","","","An input to be consumed by this transaction. This argument …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","Skip the initial sync that the wallet typically performs …","An output amount. For the transaction to be valid, the …","Hex encoded address (sr25519 pubkey) of the owner.","Path where the wallet data is stored. Default value is …","Hex encoded address (sr25519 pubkey) of the recipient.","A temporary directory will be created to store the …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A hex-encoded output reference","Initialize a public/private key pair with a password","The public key to remove","Seed phrase of the key to insert.","A KeyTypeId to use in the keystore for Tuxedo …","A default seed phrase for signing inputs when none is …","The public key corresponding to the default seed above.","Generate a new key from system entropy and insert it into …","","Check whether a specific key is in the keystore","Insert the example “Shawn” key into the keystore for …","Insert the private key associated with the given seed into …","Caution. Removes key from keystore. Call with care.","Sign a given message with the private key that corresponds …","Apply a transaction to the local database, storing the new …","Given an output ref, fetch the details about this coin …","Create and send a transaction that mints the coins on the …","Create and send a transaction that spends coins on the …","The Filter type which is the closure signature used by …","The Filter type which is the closure signature used by …","","","","","","","Builds a filter to be passed to wallet sync functions to …","","","","","Returns the argument unchanged.","Get a mutable reference to the inner from the outer.","Get a reference to the inner from the outer.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Get a mutable reference to the inner from the outer.","Get a reference to the inner from the outer.","","Calls U::from(self).","","","","","","","","","","","Fetch an output from chain storage given an OutputRef","Typed helper to get the node’s full block at a …","Typed helper to get the Node’s block hash at a …","The identifier for the blocks tree in the db.","The identifier for the block_hashes tree in the db.","The identifier for the spent tree in the db.","The identifier for the unspent tree in the db.","Add a new output to the database updating all tables.","Apply a block to the local database","Apply a single transaction to the local database The …","Picks an arbitrary set of unspent outputs from the …","Iterate the entire unspent set summing the values of the …","Gets the block from the local database given a block hash. …","Gets the block hash from the local database given a block …","Gets the owner and amount associated with an output ref …","Get the block height that the wallet is currently synced to","Open a database at the given location intended for the …","Debugging use. Print out the entire block_hashes tree.","Debugging use. Print the entire unspent outputs tree.","Remove an output from the database updating all tables.","Mark an existing output as spent. This does not purge all …","Synchronize the local database to the database of the …","Unapply the best block that the wallet currently knows …","Run a transaction backwards against a database. Mark all …","Mark an output that was previously spent back as unspent.","The identifier for the current timestamp in the db.","","Apply a transaction to the local database, storing the new …"],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,16,16,0,16,16,16,16,16,16,0,16,16,17,13,17,18,13,17,18,16,16,13,16,17,18,13,16,17,18,13,13,13,13,16,17,18,13,16,17,18,13,13,16,17,18,13,13,16,17,18,13,16,17,18,13,16,17,18,13,16,17,18,13,16,17,18,13,16,17,18,13,17,18,16,13,16,17,18,18,13,16,17,18,13,16,17,18,13,16,17,18,13,16,17,18,13,18,17,13,18,13,13,16,17,18,13,16,17,18,13,16,17,18,13,16,17,18,13,16,17,18,13,16,17,18,13,16,17,18,13,16,17,18,13,16,17,18,49,50,51,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,0,0,0,0,54,54,53,54,54,54,54,54,54,54,54,54,54,54,54,0,54,54,54,54,54,54,54,0,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"f":"```{{}b}{d{{h{f}}}}`{{}{{h{j}}}}``{d{{A`{ln}}}}{Abj}`{dd}`5`{Ad{{h{j}}}}`````````````````{AfAf}0000000{ce{}{}}0000000{{}Af}`0{Ahc{}}0000000`{Ahj}000`{{AjAl}An}{{B`Al}An}{{BbAl}An}{{BdAl}An}{cc{}}000{Bf{{A`{Ajn}}}}{Bf{{A`{B`n}}}}{Bf{{A`{Bbn}}}}{Bf{{A`{Bdn}}}}3210<<<<<<<<{{}{{Bj{Bh}}}}00{dBl}{{}Ah}000`????{{{Bn{c}}}{{Bn{C`}}}{}}000{{{Cb{c}}}{{Cb{C`}}}{}}000{{{Cd{c}}}{{Cd{C`}}}{}}000``````{c{{A`{e}}}{}{}}0000000{cCf{}}000{cd{}}000{ce{}{}}0000000{{AjBf}{{A`{jn}}}}{{B`Bf}{{A`{jn}}}}{{BbBf}{{A`{jn}}}}{{BdBf}{{A`{jn}}}}32104444```````{{Ch{Bj{Cj}}}{{h{j}}}}{Ch{{h{{`{{Db{}{{Cl{{D`{Cn}}}}}}}}}}}}{{Chf}Bl}{Ch{{h{j}}}}{{Chd}{{h{j}}}}{{Ddf}{{h{j}}}}{{ChDf{Dh{Cn}}}{{h{{D`{Cn}}}}}}{{DjDl{Dn{Ab}}}{{h{j}}}}{{lAd}{{h{{Eb{E`Ab}}}}}}{{AdBb}{{h{j}}}}{{DjAdChBd}{{h{j}}}}``````??{Abc{}}0{Ahc{}}0{Ahj}{cc{}}{ce{}{}}0{{}Ah}1{{{Bn{c}}}{{Bn{C`}}}{}}{{{Cb{c}}}{{Cb{C`}}}{}}{{{Cd{c}}}{{Cd{C`}}}{}}`{c{{A`{e}}}{}{}}0{cCf{}}{cd{}}777`77;::9877675432210777{{lAd}{{h{{Dn{c}}}}}Ed}{{fAd}{{h{{Bj{Ef}}}}}}{{DlAd}{{h{{Bj{f}}}}}}````{{DjlfEh}{{h{j}}}}{{DjEffc}{{h{j}}}{{El{Ab}{{Ej{Bl}}}}}}{{DjEnc}{{h{j}}}{{El{Ab}{{Ej{Bl}}}}}}{{DjEh}{{h{{Bj{{D`{l}}}}}}}}{Dj{{h{{`{{Db{}{{Cl{{Eb{fEh}}}}}}}}}}}}{{Djf}{{h{{Bj{Ef}}}}}}{{DjDl}{{h{{Bj{f}}}}}}{{Djl}{{h{{Bj{{Eb{fEh}}}}}}}}{Dj{{h{{Bj{Dl}}}}}}{{bfEf}{{h{Dj}}}}{Dj{{h{j}}}}0{{Djl}{{h{j}}}}0{{DjAdc}{{h{j}}}{{El{Ab}{{Ej{Bl}}}}}}{Dj{{h{Ef}}}}{{DjEn}{{h{j}}}}3`{{Dj{Dn{Ab}}}{{h{j}}}}{Dj{{h{F`}}}}","c":[],"p":[[5,"PathBuf",255],[1,"str"],[5,"H256",256],[8,"Result",257],[1,"unit"],[5,"OutputRef",258],[8,"Error",259],[6,"Result",260],[6,"OuterVerifier",261],[5,"HttpClient",262],[5,"Command",263],[1,"usize"],[5,"Cli",17],[5,"Formatter",264],[8,"Result",264],[6,"Command",17],[5,"MintCoinArgs",17],[5,"SpendArgs",17],[5,"ArgMatches",265],[5,"Id",266],[6,"Option",267],[1,"bool"],[5,"Box",268],[10,"Any",269],[5,"Arc",270],[5,"Rc",271],[5,"TypeId",269],[5,"LocalKeystore",272],[5,"String",273],[17,"Item"],[1,"u8"],[5,"Vec",274],[10,"Iterator",275],[5,"Path",255],[5,"Public",276],[1,"slice"],[5,"Db",277],[1,"u32"],[5,"Output",258],[5,"Coin",278],[1,"tuple"],[10,"Verifier",279],[8,"Block",261],[1,"u128"],[17,"Output"],[10,"Fn",280],[8,"Transaction",261],[1,"u64"],[15,"VerifyCoin",158],[15,"GenerateKey",158],[15,"RemoveKey",158],[15,"InsertKey",158],[10,"OutputFilter",176],[5,"Sr25519SignatureFilter",176],[5,"TestSr25519SignatureFilter",205]],"b":[]}]\ +["aggregator",{"t":"XXX","n":["aggregate","tuxedo_constraint_checker","tuxedo_verifier"],"q":[[0,"aggregator"]],"i":[0,0,0],"f":"```","D":"f","p":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAAAEAAAAAAA"}],\ +["amoeba",{"t":"FFFFPPGPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["AmoebaCreation","AmoebaDeath","AmoebaDetails","AmoebaMitosis","BadlyTypedInput","BadlyTypedOutput","ConstraintCheckerError","CreatedNothing","CreatedTooMany","CreationMayNotConsume","DeathMayNotCreate","NoEvictionsAllowed","NoVictim","TooManyVictims","WrongGeneration","WrongNumberOfDaughters","WrongNumberOfMothers","__clone_box","__clone_box","__clone_box","__clone_box","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","check","check","check","check","check","check","check_inherents","check_inherents","check_inherents","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","create_inherents","create_inherents","create_inherents","decode","decode","decode","decode","decode_all","decode_all","decode_all","decode_all","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","drop","encode_to","encode_to","encode_to","encode_to","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","four_bytes","from","from","from","from","from","from_mut","from_mut","from_mut","from_mut","from_mut","from_ref","from_ref","from_ref","from_ref","from_ref","generation","genesis_transactions","genesis_transactions","genesis_transactions","init","init","init","init","init","into","into","into","into","into","is_inherent","is_inherent","is_inherent","serialize","serialize","serialize","serialize","size_hint","size_hint","size_hint","size_hint","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_info","type_info","type_info","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","vzip","vzip","vzip","vzip","vzip"],"q":[[0,"amoeba"],[207,"dyn_clone::sealed"],[208,"tuxedo_core::dynamic_typing"],[209,"core::result"],[210,"sp_runtime::transaction_validity"],[211,"sp_inherents"],[212,"tuxedo_core::types"],[213,"alloc::vec"],[214,"sp_inherents"],[215,"parity_scale_codec::error"],[216,"parity_scale_codec::codec"],[217,"serde::de"],[218,"parity_scale_codec::codec"],[219,"core::fmt"],[220,"core::fmt"],[221,"core::any"],[222,"scale_info::ty"]],"i":[0,0,0,0,9,9,0,9,9,9,9,9,9,9,9,9,9,16,7,10,11,16,9,7,10,11,16,9,7,10,11,7,7,10,10,11,11,7,10,11,16,7,10,11,16,7,10,11,7,10,11,16,7,10,11,16,7,10,11,16,7,10,11,16,7,10,11,16,9,7,10,11,16,9,7,10,11,16,7,10,11,16,9,7,10,11,16,7,10,11,16,9,7,10,11,16,16,16,16,16,9,9,9,9,9,7,7,7,7,7,10,10,10,10,10,11,11,11,11,11,16,9,7,10,11,16,16,9,7,10,11,16,9,7,10,11,16,9,7,10,11,16,7,10,11,16,9,7,10,11,16,9,7,10,11,7,10,11,16,7,10,11,16,7,10,11,16,7,10,11,16,7,10,11,16,9,7,10,11,16,9,7,10,11,16,9,7,10,11,7,10,11,16,9,7,10,11,16,9,7,10,11,16,9,7,10,11],"f":"`````````````````{{cb}d{}}000{ce{}{}}000000000{{c{h{f}}{h{f}}{h{f}}{h{f}}}{{l{j}}}{}}{{n{h{f}}{h{f}}{h{f}}{h{f}}}{{l{A`Ab}}}}1{{Ad{h{f}}{h{f}}{h{f}}{h{f}}}{{l{A`c}}}{}}{{Af{h{f}}{h{f}}{h{f}}{h{f}}}{{l{A`c}}}{}}3{{Ah{Al{{Aj{ce}}}}An}d{}{}}00{B`B`}{nn}{AdAd}{AfAf}{{ce}d{}{}}000{{Ah{Al{{Bd{{Aj{ce}}Bb}}}}}{{Al{{Aj{ce}}}}}{}{}}00{c{{l{B`Bf}}}Bh}{c{{l{nBf}}}Bh}{c{{l{AdBf}}}Bh}{c{{l{AfBf}}}Bh}{{{h{Bj}}}{{l{cBf}}}{}}000{{Bl{h{Bj}}}{{l{cBf}}}{}}000{{Blc}{{l{eBf}}}Bh{}}000{Bnc{}}000000000{c{{l{B`}}}C`}{c{{l{n}}}C`}{c{{l{Ad}}}C`}{c{{l{Af}}}C`}{Bnd}0000{{B`c}d{CbCd}}{{nc}d{CbCd}}{{Adc}d{CbCd}}{{Afc}d{CbCd}}{{B`B`}Cf}{{AbAb}Cf}{{nn}Cf}{{AdAd}Cf}{{AfAf}Cf}{{ce}Cf{}{}}000000000000000000000000{{B`Ch}Cj}{{AbCh}Cj}{{nCh}Cj}{{AdCh}Cj}{{AfCh}Cj}`{cc{}}0000{ce{}{}}000000000`{{}{{Al{{Aj{ce}}}}}{}{}}00{{}Bn}000022222{cCf{}}00{{B`c}lCl}{{nc}lCl}{{Adc}lCl}{{Afc}lCl}{B`Bn}{nBn}{AdBn}{AfBn}{{c{h{Bj}}}{{Al{Bj}}}{}}000<<<<{c{{l{e}}}{}{}}000000000{cCn{}}0000{{}D`}00???????????????","D":"E`","p":[[5,"Private",207],[1,"unit"],[5,"DynamicallyTypedData",208],[1,"slice"],[1,"u64"],[6,"Result",209],[5,"AmoebaMitosis",0],[8,"TransactionPriority",210],[6,"ConstraintCheckerError",0],[5,"AmoebaDeath",0],[5,"AmoebaCreation",0],[5,"InherentData",211],[5,"Transaction",212],[5,"Vec",213],[5,"CheckInherentsResult",211],[5,"AmoebaDetails",0],[5,"H256",214],[1,"tuple"],[5,"Error",215],[10,"Input",216],[1,"u8"],[1,"u32"],[1,"usize"],[10,"Deserializer",217],[10,"Output",216],[10,"Sized",218],[1,"bool"],[5,"Formatter",219],[8,"Result",219],[10,"Serializer",220],[5,"TypeId",221],[5,"Type",222]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAKcAAwASAGsAjwAHAJwAMwA="}],\ +["derive_no_bound",{"t":"YYY","n":["CloneNoBound","DebugNoBound","DefaultNoBound"],"q":[[0,"derive_no_bound"]],"i":[0,0,0],"f":"```","D":"h","p":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAAAAAA="}],\ +["kitties",{"t":"PGPGPFPFFFPPGPPPPPPPPPPPPPGPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["BadlyTyped","ConstraintCheckerError","Dad","DadKittyStatus","DadTooTired","FreeKittyConstraintChecker","HadBirthRecently","KittyDNA","KittyData","KittyHelpers","MinimumSpendAndBreedNotMet","Mom","MomKittyStatus","MomNotReadyYet","NewChildDnaIncorrect","NewChildFreeBreedingsIncorrect","NewChildHasNonZeroBreedings","NewChildIncorrectParentInfo","NewDadIsStillRearinToGo","NewMomIsStillRearinToGo","NewParentDnaDoesntMatchOld","NewParentFreeBreedingsIncorrect","NewParentNumberBreedingsIncorrect","NoEvictionsAllowed","NotEnoughFamilyMembers","NotEnoughFreeBreedings","Parent","RearinToGo","RearinToGo","Tired","TooManyBreedingsForKitty","TwoDadsNotValid","TwoMomsNotValid","TwoParentsDoNotExist","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","check","check","check_inherents","clear","clear","clear","clear","clear","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","cmp","cmp","cmp","compare","compare","compare","compare","compare","compare","compare","create_inherents","dad","decode","decode","decode","decode","decode","decode","decode","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","default","default","default","default","default","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","dna","drop","drop","drop","drop","drop","drop","drop","drop","encode","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","eq","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","free_breedings","from","from","from","from","from","from","from","from","from_mut","from_mut","from_mut","from_mut","from_mut","from_mut","from_mut","from_mut","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","genesis_transactions","get_hash","get_hash","get_hash","get_hash","get_hash","get_hash","get_hash","hash","hash","hash","hash","hash","hash","hash","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","is_clear","is_clear","is_clear","is_clear","is_clear","is_inherent","mint","mom","num_breedings","parent","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","serialize","serialize","serialize","serialize","serialize","serialize","serialize","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_info","type_info","type_info","type_info","type_info","type_info","type_info","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","using_encoded","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip"],"q":[[0,"kitties"],[375,"dyn_clone::sealed"],[376,"tuxedo_core::dynamic_typing"],[377,"sp_runtime::transaction_validity"],[378,"core::result"],[379,"sp_inherents"],[380,"tuxedo_core::types"],[381,"alloc::vec"],[382,"sp_inherents"],[383,"primitive_types"],[384,"parity_scale_codec::error"],[385,"parity_scale_codec::codec"],[386,"serde::de"],[387,"parity_scale_codec::codec"],[388,"core::fmt"],[389,"core::fmt"],[390,"core::hash"],[391,"core::convert"],[392,"tuxedo_core::constraint_checker"],[393,"core::option"],[394,"serde::ser"],[395,"core::any"],[396,"scale_info::ty"],[397,"core::ops::function"]],"i":[18,0,15,0,18,0,14,0,0,0,18,15,0,18,18,18,18,18,18,18,18,18,18,18,18,18,0,13,14,13,18,18,18,18,3,13,14,15,16,17,18,45,3,13,14,15,16,17,18,45,3,13,14,15,16,17,18,3,3,3,13,14,15,16,17,3,13,14,15,16,17,18,3,13,14,15,16,17,18,3,13,14,15,16,17,18,3,13,14,15,16,17,18,3,15,3,13,14,15,16,17,18,3,13,14,15,16,17,18,3,13,14,15,16,17,18,3,13,14,15,16,17,18,13,14,15,16,17,45,3,13,14,15,16,17,18,45,3,13,14,15,16,17,18,3,13,14,15,16,17,18,17,45,3,13,14,15,16,17,18,16,3,13,14,15,16,17,18,3,13,14,15,16,17,18,3,3,3,3,3,13,13,13,13,13,14,14,14,14,14,15,15,15,15,15,16,16,16,16,16,17,17,17,17,17,18,18,18,18,18,3,13,14,15,16,17,18,17,45,3,13,14,15,16,17,18,45,3,13,14,15,16,17,18,45,3,13,14,15,16,17,18,3,3,13,14,15,16,17,18,3,13,14,15,16,17,18,45,3,13,14,15,16,17,18,45,3,13,14,15,16,17,18,13,14,15,16,17,3,17,15,17,17,3,13,14,15,16,17,18,3,13,14,15,16,17,18,3,13,14,15,16,17,18,3,13,14,15,16,17,18,3,13,14,15,16,17,18,45,3,13,14,15,16,17,17,18,45,3,13,14,15,16,17,18,45,3,13,14,15,16,17,18,3,13,14,15,16,17,18,45,3,13,14,15,16,17,18,45,3,13,14,15,16,17,18,16,45,3,13,14,15,16,17,18],"f":"``````````````````````````````````{{cb}d{}}000000{ce{}{}}000000000000000{{f{j{h}}{j{h}}{j{h}}{j{h}}}{{n{lc}}}{}}{{c{j{h}}{j{h}}{j{h}}{j{h}}}{{n{A`}}}{}}{{Ab{Af{{Ad{ce}}}}Ah}d{}{}}{{}c{}}0000{ff}{AjAj}{AlAl}{AnAn}{B`B`}{BbBb}{BdBd}{{ce}d{}{}}000000{{ff}Bf}{{AjAj}Bf}{{AlAl}Bf}{{AnAn}Bf}{{B`B`}Bf}{{BbBb}Bf}{{BdBd}Bf}{{ce}Bf{}{}}000000{{Ab{Af{{Bj{{Ad{ce}}Bh}}}}}{{Af{{Ad{ce}}}}}{}{}}{{}An}{c{{n{fBl}}}Bn}{c{{n{AjBl}}}Bn}{c{{n{AlBl}}}Bn}{c{{n{AnBl}}}Bn}{c{{n{B`Bl}}}Bn}{c{{n{BbBl}}}Bn}{c{{n{BdBl}}}Bn}{{{j{C`}}}{{n{cBl}}}{}}000000{{Cb{j{C`}}}{{n{cBl}}}{}}000000{{Cbc}{{n{eBl}}}Bn{}}000000{{}Aj}{{}Al}<{{}B`}{{}Bb}{Cdc{}}000000000000000{c{{n{f}}}Cf}{c{{n{Aj}}}Cf}{c{{n{Al}}}Cf}{c{{n{An}}}Cf}{c{{n{B`}}}Cf}{c{{n{Bb}}}Cf}{c{{n{Bd}}}Cf}`{Cdd}0000000{B`{{Af{C`}}}}{{fc}d{ChCj}}{{Ajc}d{ChCj}}{{Alc}d{ChCj}}{{Anc}d{ChCj}}{{B`c}d{ChCj}}{{Bbc}d{ChCj}}{{Bdc}d{ChCj}}{{ff}Cl}{{AjAj}Cl}{{AlAl}Cl}{{AnAn}Cl}{{B`B`}Cl}{{BbBb}Cl}{{BdBd}Cl}{{ce}Cl{}{}}0000000000000000000000000000000000{{fCn}D`}{{AjCn}D`}{{AlCn}D`}{{AnCn}D`}{{B`Cn}D`}{{BbCn}D`}{{BdCn}D`}`{cc{}}0000000{ce{}{}}000000000000000{{}{{Af{{Ad{ce}}}}}{}{}}{{ce}A`{DbCj}Dd}000000{{fc}dDf}{{Ajc}dDf}{{Alc}dDf}{{Anc}dDf}{{B`c}dDf}{{Bbc}dDf}{{Bdc}dDf}{{}Cd}0000000::::::::{cCl{}}00000{{An{j{C`}}c}{{Ad{eg}}}Dh{Dh{Dj{c}}}{Dl{Dj{f}}}}{{}An}``{{ff}{{Dn{Bf}}}}{{AjAj}{{Dn{Bf}}}}{{AlAl}{{Dn{Bf}}}}{{AnAn}{{Dn{Bf}}}}{{B`B`}{{Dn{Bf}}}}{{BbBb}{{Dn{Bf}}}}{{BdBd}{{Dn{Bf}}}}{{fc}nE`}{{Ajc}nE`}{{Alc}nE`}{{Anc}nE`}{{B`c}nE`}{{Bbc}nE`}{{Bdc}nE`}{fCd}{AjCd}{AlCd}{AnCd}{B`Cd}{BbCd}{BdCd}{{c{j{C`}}}{{Af{C`}}}{}}000000{ce{}{}}000000{c{{n{e}}}{}{}}00000{h{{n{Bbc}}}{}}1111111111{cEb{}}0000000{{}Ed}0000004444444444444444{{B`e}c{}{{Eh{{j{C`}}}{{Ef{c}}}}}}55555555","D":"Fn","p":[[5,"Private",375],[1,"unit"],[5,"FreeKittyConstraintChecker",0],[5,"DynamicallyTypedData",376],[1,"slice"],[8,"TransactionPriority",377],[6,"Result",378],[1,"u64"],[5,"InherentData",379],[5,"Transaction",380],[5,"Vec",381],[5,"CheckInherentsResult",379],[6,"DadKittyStatus",0],[6,"MomKittyStatus",0],[6,"Parent",0],[5,"KittyDNA",0],[5,"KittyData",0],[6,"ConstraintCheckerError",0],[6,"Ordering",382],[5,"H256",383],[1,"tuple"],[5,"Error",384],[10,"Input",385],[1,"u8"],[1,"u32"],[1,"usize"],[10,"Deserializer",386],[10,"Output",385],[10,"Sized",387],[1,"bool"],[5,"Formatter",388],[8,"Result",388],[10,"Hash",389],[10,"BuildHasher",389],[10,"Hasher",389],[10,"Verifier",390],[10,"From",391],[10,"ConstraintChecker",392],[6,"Option",393],[10,"Serializer",394],[5,"TypeId",395],[5,"Type",396],[17,"Output"],[10,"FnOnce",397],[5,"KittyHelpers",0]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAEABCQACAAIABgAEAAwAAQAbAAMAIwAWADsAnwDzABYAEgEFABkBXgA="}],\ +["money",{"t":"PFGPPPGPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["BadlyTyped","Coin","ConstraintCheckerError","Mint","MintingNothing","MintingWithInputs","MoneyConstraintChecker","NoEvictionsAllowed","OutputsExceedInputs","Spend","SpendingNothing","ValueOverflow","ZeroValueCoin","__clone_box","__clone_box","__clone_box","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","check","check","check_inherents","clone","clone","clone","clone_into","clone_into","clone_into","cmp","cmp","cmp","compare","compare","compare","create_inherents","decode","decode","decode","decode_all","decode_all","decode_all","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","drop","drop","drop","encode","encode_to","encode_to","encode_to","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","from","from","from","from_mut","from_mut","from_mut","from_ref","from_ref","from_ref","genesis_transactions","get_hash","get_hash","get_hash","hash","hash","hash","init","init","init","into","into","into","is_inherent","mint","new","partial_cmp","partial_cmp","partial_cmp","serialize","serialize","serialize","size_hint","size_hint","size_hint","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","type_info","type_info","type_info","unchecked_into","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","using_encoded","value","vzip","vzip","vzip"],"q":[[0,"money"],[150,"dyn_clone::sealed"],[151,"tuxedo_core::dynamic_typing"],[152,"sp_runtime::transaction_validity"],[153,"core::result"],[154,"sp_inherents"],[155,"tuxedo_core::types"],[156,"alloc::vec"],[157,"sp_inherents"],[158,"primitive_types"],[159,"parity_scale_codec::error"],[160,"parity_scale_codec::codec"],[161,"serde::de"],[162,"parity_scale_codec::codec"],[163,"core::fmt"],[164,"core::fmt"],[165,"core::hash"],[166,"core::convert"],[167,"tuxedo_core::constraint_checker"],[168,"core::option"],[169,"serde::ser"],[170,"core::any"],[171,"scale_info::ty"],[172,"core::ops::function"]],"i":[14,0,0,3,14,14,0,14,14,3,14,14,14,3,13,14,3,13,14,3,13,14,3,3,3,3,13,14,3,13,14,3,13,14,3,13,14,3,3,13,14,3,13,14,3,13,14,3,13,14,3,13,14,3,13,14,3,13,14,3,13,14,13,3,13,14,3,13,14,3,3,3,3,3,13,13,13,13,13,14,14,14,14,14,3,13,14,3,13,14,3,13,14,3,13,14,3,3,13,14,3,13,14,3,13,14,3,13,14,3,13,13,3,13,14,3,13,14,3,13,14,3,13,14,3,13,14,3,13,14,3,13,14,3,13,14,3,13,14,3,13,14,3,13,14,13,13,3,13,14],"f":"`````````````{{cb}d{}}00{ce{}{}}00000{{f{j{h}}{j{h}}{j{h}}{j{h}}}{{n{lc}}}{}}{{c{j{h}}{j{h}}{j{h}}{j{h}}}{{n{A`}}}{}}{{Ab{Af{{Ad{ce}}}}Ah}d{}{}}{ff}{AjAj}{AlAl}{{ce}d{}{}}00{{ff}An}{{AjAj}An}{{AlAl}An}{{ce}An{}{}}00{{Ab{Af{{Bb{{Ad{ce}}B`}}}}}{{Af{{Ad{ce}}}}}{}{}}{c{{n{fBd}}}Bf}{c{{n{AjBd}}}Bf}{c{{n{AlBd}}}Bf}{{{j{Bh}}}{{n{cBd}}}{}}00{{Bj{j{Bh}}}{{n{cBd}}}{}}00{{Bjc}{{n{eBd}}}Bf{}}00{Blc{}}00000{c{{n{f}}}Bn}{c{{n{Aj}}}Bn}{c{{n{Al}}}Bn}{Bld}00{Aj{{Af{Bh}}}}{{fc}d{C`Cb}}{{Ajc}d{C`Cb}}{{Alc}d{C`Cb}}{{ff}Cd}{{AjAj}Cd}{{AlAl}Cd}{{ce}Cd{}{}}00000000000000{{fCf}Ch}{{AjCf}Ch}{{AlCf}Ch}{cc{}}00{ce{}{}}00000{{}{{Af{{Ad{ce}}}}}{}{}}{{ce}A`{CjCb}Cl}00{{fc}dCn}{{Ajc}dCn}{{Alc}dCn}{{}Bl}00666{cCd{}}{{D`c}{{Ad{eg}}}Db{Db{Dd{c}}}{Df{Dd{f}}}}{D`Aj}{{ff}{{Dh{An}}}}{{AjAj}{{Dh{An}}}}{{AlAl}{{Dh{An}}}}{{fc}nDj}{{Ajc}nDj}{{Alc}nDj}{fBl}{AjBl}{AlBl}{{c{j{Bh}}}{{Af{Bh}}}{}}00{ce{}{}}00{c{{n{e}}}{}{}}00000{cDl{}}00{{}Dn}00333333{{Aje}c{}{{Eb{{j{Bh}}}{{E`{c}}}}}}{AjD`}555","D":"Cf","p":[[5,"Private",150],[1,"unit"],[6,"MoneyConstraintChecker",0],[5,"DynamicallyTypedData",151],[1,"slice"],[8,"TransactionPriority",152],[6,"Result",153],[1,"u64"],[5,"InherentData",154],[5,"Transaction",155],[5,"Vec",156],[5,"CheckInherentsResult",154],[5,"Coin",0],[6,"ConstraintCheckerError",0],[6,"Ordering",157],[5,"H256",158],[1,"tuple"],[5,"Error",159],[10,"Input",160],[1,"u8"],[1,"u32"],[1,"usize"],[10,"Deserializer",161],[10,"Output",160],[10,"Sized",162],[1,"bool"],[5,"Formatter",163],[8,"Result",163],[10,"Hash",164],[10,"BuildHasher",164],[10,"Hasher",164],[1,"u128"],[10,"Verifier",165],[10,"From",166],[10,"ConstraintChecker",167],[6,"Option",168],[10,"Serializer",169],[5,"TypeId",170],[5,"Type",171],[17,"Output"],[10,"FnOnce",172]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAHsABAAOAEkAYQAJAG4AAABwACYA"}],\ +["node_template",{"t":"CCCIHHGFPPNNNNNNONNHONNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHHNNNNNNNNNNNNNNNNNN","n":["chain_spec","rpc","service","ChainSpec","development_config","local_testnet_config","DenyUnsafe","FullDeps","No","Yes","__clone_box","borrow","borrow","borrow_mut","borrow_mut","check_if_safe","client","clone","clone_into","create_full","deny_unsafe","deref","deref","deref_mut","deref_mut","drop","drop","fmt","from","from","from_mut","from_mut","from_ref","from_ref","init","init","into","into","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","pool","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","type_name","type_name","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","vzip","vzip","ExecutorDispatch","NativeElseWasmExecutor","__clone_box","allow_missing_host_functions","borrow","borrow","borrow_mut","borrow_mut","call","clone","clone_into","deref","deref","deref_mut","deref_mut","dispatch","drop","drop","from","from","from_mut","from_mut","from_ref","from_ref","init","init","into","into","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","native_version","native_version","new","new_full","new_partial","new_with_wasm_executor","read_runtime_version","runtime_version","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","type_name","type_name","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","vzip","vzip"],"q":[[0,"node_template"],[3,"node_template::chain_spec"],[6,"node_template::rpc"],[60,"node_template::service"],[117,"alloc::string"],[118,"core::result"],[119,"dyn_clone::sealed"],[120,"sc_rpc_api::policy"],[121,"jsonrpsee_core::server::rpc_module"],[122,"core::error"],[123,"alloc::boxed"],[124,"tuxedo_core::types"],[125,"sp_api"],[126,"sp_blockchain::backend"],[127,"sp_blockchain::error"],[128,"sp_blockchain::header_metadata"],[129,"core::marker"],[130,"core::marker"],[131,"core::fmt"],[132,"core::fmt"],[133,"alloc::sync"],[134,"alloc::rc"],[135,"core::any"],[136,"sp_externalities"],[137,"sp_core::traits"],[138,"sp_core::traits"],[139,"sc_executor_common::error"],[140,"core::option"],[141,"sp_version"],[142,"sc_executor::wasm_runtime"],[143,"sc_service::config"],[144,"sc_service::task_manager"],[145,"sc_service::error"],[146,"tuxedo_template_runtime"],[147,"sc_service::builder"],[148,"sc_service::builder"],[149,"sc_consensus::import_queue"],[150,"sc_transaction_pool"],[151,"sc_consensus_grandpa::import"],[152,"sc_consensus_grandpa"],[153,"sc_telemetry"],[154,"sc_service"],[155,"sp_io::storage"],[156,"sp_io::default_child_storage"],[157,"sp_io::misc"],[158,"sp_io::wasm_tracing"],[159,"sp_io::offchain"],[160,"sp_io::crypto"],[161,"sp_io::hashing"],[162,"sp_io::allocator"],[163,"sp_io::panic_handler"],[164,"sp_io::logging"],[165,"sp_io::trie"],[166,"sp_io::offchain_index"],[167,"sp_io::transaction_index"],[168,"sp_wasm_interface"],[169,"sc_executor::executor"]],"i":[0,0,0,0,0,0,0,0,6,6,6,8,6,8,6,6,8,6,6,0,8,8,6,8,6,8,6,6,8,6,8,6,8,6,8,6,8,6,8,6,8,6,8,6,8,6,8,6,8,6,8,6,8,6,8,6,8,6,8,6,0,0,29,29,48,29,48,29,29,29,29,48,29,48,29,48,48,29,48,29,48,29,48,29,48,29,48,29,48,29,48,29,48,29,48,29,29,0,0,29,29,29,29,48,29,48,29,48,29,48,29,48,29,48,29,48,29],"f":"````{{}{{f{bd}}}}0````{{ch}j{}}{ce{}{}}000{l{{f{jn}}}}`{ll}{{ce}j{}{}}{{{A`{ce}}}{{f{{Ab{j}}{Af{Ad}}}}}{{Aj{Ah}}{Al{Ah}}{Bb{Ah}{{An{B`}}}}BdBf}Bh}`{Bjc{}}000{Bjj}0{{lBl}{{f{jBn}}}}{cc{}}08888{{}Bj}099{{{Af{c}}}{{Af{C`}}}{}}0{{{Cb{c}}}{{Cb{C`}}}{}}0{{{Cd{c}}}{{Cd{C`}}}{}}0`<{c{{f{e}}}{}{}}000{cCf{}}0{cCh{}}0??????``{{ch}j{}}{{{Cj{c}}Cl}jCn}{ce{}{}}000{{{Cj{c}}D`DbCh{Df{Dd}}ClDh}{{Dn{{f{{Dj{Dd}}Dl}}Cl}}}Cn}{{{Cj{c}}}{{Cj{c}}}Cn}{{ce}j{}{}}{Bjc{}}000{{Ch{Df{Dd}}}{{E`{{Dj{Dd}}}}}}{Bjj}0{cc{}}07777{{}Bj}088{{{Af{c}}}{{Af{C`}}}{}}0{{{Cb{c}}}{{Cb{C`}}}{}}0{{{Cd{c}}}{{Cd{C`}}}{}}0{{}Eb}{{{Cj{c}}}EbCn}{{Ed{E`{Ef}}BjDd}{{Cj{c}}}Cn}{Eh{{f{EjEl}}}}{Eh{{f{{Gb{{Fb{AhEn{Cj{F`}}}}{Fd{Ah}}{Ff{{Fd{Ah}}Ah}}{Fh{Ah}}{Fj{Ah{Fb{AhEn{Cj{F`}}}}}}{Dn{{Fl{{Fd{Ah}}Ah{Fb{AhEn{Cj{F`}}}}{Ff{{Fd{Ah}}Ah}}}}{Fn{Ah{Fb{AhEn{Cj{F`}}}}{Ff{{Fd{Ah}}Ah}}}}{E`{G`}}}}}}El}}}}{{{I`{{Hn{{Dn{GdGfGhGjGlGnH`HbHdHfHhHjHl}}}}}}}{{Cj{c}}}Cn}{{{Cj{c}}{Df{Dd}}D`}{{f{{Dj{Dd}}d}}}Cn}{{{Cj{c}}D`Db}{{f{IbDl}}}Cn}{ce{}{}}{c{{f{e}}}{}{}}000{cCf{}}0{cCh{}}0333333","D":"Db","p":[[8,"ChainSpec",3],[5,"String",117],[6,"Result",118],[5,"Private",119],[1,"unit"],[6,"DenyUnsafe",6],[5,"UnsafeRpcError",120],[5,"FullDeps",6],[5,"RpcModule",121],[10,"Error",122],[5,"Box",123],[8,"OpaqueBlock",124],[10,"ProvideRuntimeApi",125],[10,"HeaderBackend",126],[17,"Error"],[6,"Error",127],[10,"HeaderMetadata",128],[10,"Send",129],[10,"Sync",129],[10,"TransactionPool",130],[1,"usize"],[5,"Formatter",131],[5,"Error",131],[10,"Any",132],[5,"Arc",133],[5,"Rc",134],[5,"TypeId",132],[1,"str"],[5,"NativeElseWasmExecutor",60],[1,"bool"],[10,"NativeExecutionDispatch",135],[10,"Externalities",136],[5,"RuntimeCode",137],[1,"u8"],[1,"slice"],[6,"CallContext",137],[5,"Vec",138],[6,"Error",139],[1,"tuple"],[6,"Option",140],[5,"NativeVersion",141],[6,"WasmExecutionMethod",142],[1,"u64"],[5,"Configuration",143],[5,"TaskManager",144],[6,"Error",145],[5,"RuntimeApi",146],[5,"ExecutorDispatch",60],[8,"TFullClient",147],[8,"TFullBackend",147],[5,"LongestChain",148],[8,"DefaultImportQueue",149],[8,"FullPool",150],[5,"GrandpaBlockImport",151],[5,"LinkHalf",152],[5,"Telemetry",153],[5,"PartialComponents",154],[5,"HostFunctions",155],[5,"HostFunctions",156],[5,"HostFunctions",157],[5,"HostFunctions",158],[5,"HostFunctions",159],[5,"HostFunctions",160],[5,"HostFunctions",161],[5,"HostFunctions",162],[5,"HostFunctions",163],[5,"HostFunctions",164],[5,"HostFunctions",165],[5,"HostFunctions",166],[5,"HostFunctions",167],[5,"ExtendedHostFunctions",168],[5,"WasmExecutor",135],[5,"RuntimeVersion",141]],"b":[],"c":"OjAAAAEAAAAAAAEAEAAAAEAAYQA=","e":"OzAAAAEAAFQADgAAAAEABQABAAsABAASAAEAFgAGACMAAQAnAAUALgAPAD8AAABBAA0AVQABAFkABwBjAAAAZQAQAA=="}],\ +["parachain_piece",{"t":"PPPPPTGFKPFRNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNN","n":["BadlyTyped","ExtraInputs","ExtraOutputs","MissingNewInfo","MissingPreviousInfo","PARA_ID","ParachainError","ParachainInherentData","ParachainPieceConfig","RelayBlockNotIncreasing","SetParachainInfo","SetRelayParentNumberStorage","__clone_box","__clone_box","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","check","check","check_inherent","check_inherents","clear","clone","clone","clone_into","clone_into","create_at","create_inherent","create_inherents","decode","decode","decode_all","decode_all","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","default","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","downward_messages","drop","drop","drop","encode","encode_as","encode_as","encode_to","encode_to","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","from","from","from","from","from_mut","from_mut","from_mut","from_ref","from_ref","from_ref","genesis_transactions","genesis_transactions","horizontal_messages","init","init","init","into","into","into","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","is_clear","is_inherent","provide_inherent_data","relay_chain_state","serialize","size_hint","size_hint","to_keyed_vec","to_keyed_vec","to_owned","to_owned","try_from","try_from","try_from","try_handle_error","try_into","try_into","try_into","type_id","type_id","type_id","type_info","type_info","type_name","type_name","type_name","unchecked_into","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","using_encoded","validation_data","vzip","vzip","vzip"],"q":[[0,"parachain_piece"],[138,"dyn_clone::sealed"],[139,"tuxedo_core::dynamic_typing"],[140,"sp_runtime::transaction_validity"],[141,"core::result"],[142,"sp_inherents"],[143,"tuxedo_core::types"],[144,"sp_inherents"],[145,"primitive_types"],[146,"polkadot_primitives::v6"],[147,"polkadot_parachain_primitives::primitives"],[148,"core::option"],[149,"cumulus_relay_chain_interface"],[150,"tuxedo_core::verifier"],[151,"parity_scale_codec::error"],[152,"parity_scale_codec::codec"],[153,"serde::de"],[154,"parity_scale_codec::codec"],[155,"core::cmp"],[156,"core::fmt"],[157,"core::fmt"],[158,"alloc::boxed"],[159,"core::any"],[160,"alloc::sync"],[161,"alloc::rc"],[162,"core::future::future"],[163,"core::pin"],[164,"serde::ser"],[165,"core::any"],[166,"core::ops::function"]],"i":[30,30,30,30,30,8,0,0,0,30,0,8,3,14,30,3,14,30,3,14,3,3,3,3,3,3,14,3,14,14,3,3,3,14,3,14,3,14,3,14,3,30,3,14,30,3,14,3,14,30,3,14,3,3,14,3,14,30,3,14,30,30,30,30,30,3,3,3,3,3,30,3,14,30,3,14,14,30,3,14,30,3,14,3,3,14,30,3,14,30,3,14,30,3,14,30,3,14,30,3,14,3,3,14,14,3,3,14,3,14,3,14,30,3,14,14,30,3,14,30,3,14,3,14,30,3,14,30,3,14,30,3,14,3,14,30,3,14],"f":"````````````{{cb}d{}}0{ce{}{}}00000{{{f{c}}{j{h}}{j{h}}{j{h}}{j{h}}}{{n{le}}}A`{}}{{c{j{h}}{j{h}}{j{h}}{j{h}}}{{n{Ab}}}{}}{{Ad{Af{c{f{e}}}}Ah}d{}A`}{{Ad{Aj{{Af{ce}}}}Ah}d{}{}}{{}c{}}{{{f{c}}}{{f{c}}}{}}{AlAl}{{ce}d{}{}}0{{AncB`Bb}{{Bd{Al}}}Bf}{{Ad{Bh{{Af{c{f{e}}}}An}}}{{Af{c{f{e}}}}}BjA`}{{Ad{Aj{{Bh{{Af{ce}}An}}}}}{{Aj{{Af{ce}}}}}{}{}}{c{{n{{f{e}}Bl}}}Bn{}}{c{{n{AlBl}}}Bn}{{{j{C`}}}{{n{cBl}}}{}}0{{Cb{j{C`}}}{{n{cBl}}}{}}0{{Cbc}{{n{eBl}}}Bn{}}0{{}{{f{c}}}{}}{Cdc{}}00000{c{{n{{f{e}}}}}Cf{}}`{Cdd}00{{{f{c}}}{{Aj{C`}}}{}}{c{{Aj{C`}}}{}}0{{{f{c}}e}d{}{ChCj}}{{Alc}d{ChCj}}{{ClCl}Cn}{{{f{c}}{f{c}}}CnD`}{{AlAl}Cn}{{ce}Cn{}{}}000000000{{ClDb}Dd}{{{f{c}}Db}Dd{}}{{AlDb}{{n{dDf}}}}{cc{}}00{DhAl}{ce{}{}}00000{{}{{Aj{{Af{c{f{e}}}}}}}BjA`}{{}{{Aj{{Af{ce}}}}}{}{}}`{{}Cd}00333{{{Dj{c}}}{{Dj{Dl}}}{}}00{{{Dn{c}}}{{Dn{Dl}}}{}}00{{{E`{c}}}{{E`{Dl}}}{}}00{cCn{}}0{{AlAd}{{Ed{{Dj{Eb}}}}}}`{{{f{c}}e}n{}Ef}{{{f{c}}}Cd{}}{AlCd}{{c{j{C`}}}{{Aj{C`}}}{}}0<<{c{{n{e}}}{}{}}00{{Al{Eh{C`}}{j{C`}}}{{Ed{{Dj{Eb}}}}}}111{cEj{}}00{{}El}0{cEn{}}00{ce{}{}}00000{{{f{c}}g}e{}{}{{Fb{{j{C`}}}{{F`{e}}}}}}`111","D":"Cj","p":[[5,"Private",138],[1,"unit"],[5,"SetParachainInfo",0],[5,"DynamicallyTypedData",139],[1,"slice"],[8,"TransactionPriority",140],[6,"Result",141],[10,"ParachainPieceConfig",0],[1,"u64"],[5,"InherentData",142],[5,"Transaction",143],[5,"CheckInherentsResult",142],[5,"Vec",144],[5,"ParachainInherentData",0],[5,"H256",145],[5,"PersistedValidationData",146],[5,"Id",147],[6,"Option",148],[10,"RelayChainInterface",149],[1,"tuple"],[10,"Verifier",150],[5,"Error",151],[10,"Input",152],[1,"u8"],[1,"u32"],[1,"usize"],[10,"Deserializer",153],[10,"Output",152],[10,"Sized",154],[6,"ParachainError",0],[1,"bool"],[10,"PartialEq",155],[5,"Formatter",156],[8,"Result",156],[5,"Error",156],[5,"ParachainInherentDataUtxo",157],[5,"Box",158],[10,"Any",159],[5,"Arc",160],[5,"Rc",161],[10,"Future",162],[5,"Pin",163],[10,"Serializer",164],[1,"array"],[5,"TypeId",159],[5,"Type",165],[1,"str"],[17,"Output"],[10,"FnOnce",166]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAG0ACAANABAAHwARADIAFwBNAAAAVAABAFcAAgBdAAsAagAgAA=="}],\ +["parachain_template_node",{"t":"CCCCHCCIFFNNONNNNNNNNONNNNNNNNNNNHNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHOOOONNNNNNNNNNNNNNNNNNNNNNNNNSPPFPPPPPPPFPGNNNNNNNNNNNNNONONNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNONNNNNNONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNQHHFIIIFNOONNNNNOOOOONNNNNONNONNNNNNNOOOONNNNNNNNNNNNOOOOONNNNNNNNNNNNNNNNNNNNOONNNNONHHNONNOOOOONNNNNNNNNNNNNNNNNONNOGFPIPNNNNNNNNNNONNHOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNIIIIFONNOOOONNHOONNNNOOOONNNNNNOOOOONONNNNNNNNNOONONOHOOHHHOOOONNNNNNNNONO","n":["chain_spec","cli","command","dev_service","main","rpc","service","ChainSpec","Extensions","ExtensionsFork","__clone_box","__clone_box","_host_functions","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","client_spec","clone","clone","clone_into","clone_into","combine_with","deref","deref","deref_mut","deref_mut","deserialize","deserialize","development_config","drop","drop","eq","eq","fmt","fmt","from","from","from_mut","from_mut","from_mut","from_mut","from_ref","from_ref","from_ref","from_ref","from_subset","from_subset","genesis","get","get","get_any","get_any","get_any","get_any","get_any_mut","get_any_mut","get_any_mut","get_any_mut","init","init","into","into","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_mut","into_mut","into_ref","into_ref","is_in_subset","is_in_subset","local_testnet_config","para_id","para_id","relay_chain","relay_chain","serialize","serialize","to_base","to_fork","to_owned","to_owned","to_subset","to_subset","to_subset_unchecked","to_subset_unchecked","try_from","try_from","try_get","try_into","try_into","type_id","type_id","type_name","type_name","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","vzip","vzip","AFTER_HELP_EXAMPLE","BuildSpec","CheckBlock","Cli","ExportBlocks","ExportGenesisHead","ExportGenesisState","ExportGenesisWasm","ExportState","ImportBlocks","PurgeChain","RelayChainCli","Revert","Subcommand","announce_block","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","augment_args","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","author","author","base","base_path","base_path","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","chain_id","chain_id","command","command_for_update","copyright_start_year","copyright_start_year","default_heap_pages","deref","deref","deref","deref_mut","deref_mut","deref_mut","description","description","disable_grandpa","drop","drop","drop","fmt","fmt","fmt","force_authoring","from","from","from","from_arg_matches","from_arg_matches","from_arg_matches_mut","from_arg_matches_mut","from_mut","from_mut","from_mut","from_mut","from_mut","from_mut","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_subset","from_subset","from_subset","group_id","has_subcommand","impl_name","impl_name","impl_version","impl_version","import_params","init","init","init","init","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_mut","into_mut","into_mut","into_ref","into_ref","into_ref","is_in_subset","is_in_subset","is_in_subset","keystore_params","load_spec","load_spec","max_runtime_instances","network_params","new","no_hardware_benchmarks","node_name","p2p_listen_port","prometheus_config","prometheus_listen_port","relay_chain_args","role","rpc_addr","rpc_cors","rpc_listen_port","rpc_max_connections","rpc_methods","run","shared_params","subcommand","support_url","support_url","telemetry_endpoints","to_subset","to_subset","to_subset","to_subset_unchecked","to_subset_unchecked","to_subset_unchecked","transaction_pool","trie_cache_maximum_size","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","type_name","type_name","type_name","unchecked_into","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches_mut","update_from_arg_matches_mut","vzip","vzip","vzip","construct_async_run","load_spec","run","ExecutorDispatch","FullBackend","FullClient","FullSelectChain","NativeElseWasmExecutor","__clone_box","_phantom","_phantom","allow_missing_host_functions","as_any","as_any","as_any_mut","as_any_mut","backend","backend","block_rules","blockchain","blocks_pruning","borrow","borrow","borrow_mut","borrow_mut","call","canonicalization_delay","clone","clone_into","config","deref","deref","deref_mut","deref_mut","dispatch","drop","drop","every_import_notification_sinks","executor","finality_actions","finality_notification_sinks","from","from","from_mut","from_mut","from_mut","from_mut","from_ref","from_ref","from_ref","from_ref","from_subset","from_subset","genesis_state","import_actions","import_lock","import_notification_sinks","importing_block","init","init","into","into","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_mut","into_mut","into_ref","into_ref","io_stats","is_archive","is_in_subset","is_in_subset","native_version","native_version","native_version","new","new_dev","new_partial","new_with_wasm_executor","offchain_storage","read_runtime_version","runtime_version","shared_trie_cache","state_usage","storage","storage_notifications","telemetry","to_owned","to_subset","to_subset","to_subset_unchecked","to_subset_unchecked","try_from","try_from","try_into","try_into","type_id","type_id","type_name","type_name","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","unpin_worker_sender","vzip","vzip","wasm","DenyUnsafe","FullDeps","No","RpcExtension","Yes","__clone_box","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","check_if_safe","client","clone","clone_into","create_full","ctx","deny_unsafe","deref","deref","deref_mut","deref_mut","drop","drop","fmt","from","from","from_mut","from_mut","from_mut","from_mut","from_ref","from_ref","from_ref","from_ref","from_subset","from_subset","init","init","into","into","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_mut","into_mut","into_ref","into_ref","is_in_subset","is_in_subset","methods","pool","to_owned","to_subset","to_subset","to_subset_unchecked","to_subset_unchecked","try_from","try_from","try_into","try_into","type_id","type_id","type_name","type_name","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","vzip","vzip","ParachainBackend","ParachainBlockImport","ParachainClient","ParachainExecutor","ParachainNativeExecutor","_phantom","as_any","as_any_mut","backend","block_rules","blockchain","blocks_pruning","borrow","borrow_mut","build_import_queue","canonicalization_delay","config","deref","deref_mut","dispatch","drop","every_import_notification_sinks","executor","finality_actions","finality_notification_sinks","from","from_mut","from_mut","from_ref","from_ref","from_subset","genesis_state","import_actions","import_lock","import_notification_sinks","importing_block","init","inner","into","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_mut","into_ref","io_stats","is_archive","is_in_subset","monitor","native_version","native_version","new_partial","offchain_storage","shared_trie_cache","start_consensus","start_node_impl","start_parachain_node","state_usage","storage","storage_notifications","telemetry","to_subset","to_subset_unchecked","try_from","try_into","type_id","type_name","unchecked_into","unique_saturated_into","unpin_worker_sender","vzip","wasm"],"q":[[0,"parachain_template_node"],[7,"parachain_template_node::chain_spec"],[115,"parachain_template_node::cli"],[294,"parachain_template_node::command"],[297,"parachain_template_node::dev_service"],[412,"parachain_template_node::rpc"],[495,"parachain_template_node::service"],[569,"sc_cli::error"],[570,"dyn_clone::sealed"],[571,"core::any"],[572,"core::result"],[573,"serde::de"],[574,"sc_chain_spec::chain_spec"],[575,"alloc::string"],[576,"core::fmt"],[577,"core::fmt"],[578,"core::any"],[579,"alloc::sync"],[580,"alloc::rc"],[581,"serde::ser"],[582,"sc_chain_spec"],[583,"clap_builder::builder::command"],[584,"sc_service::config"],[585,"clap_builder::parser::matches::arg_matches"],[586,"clap_builder"],[587,"clap_builder::util::id"],[588,"sc_cli::params::import_params"],[589,"sc_service::config"],[590,"core::ops::function"],[591,"sc_cli::params::keystore_params"],[592,"sc_cli::params::network_params"],[593,"core::iter::traits::iterator"],[594,"sc_service::config"],[595,"core::net::socket_addr"],[596,"alloc::vec"],[597,"sc_service::config"],[598,"sc_telemetry::endpoints"],[599,"sc_transaction_pool::graph::pool"],[600,"sc_executor::executor"],[601,"sp_externalities"],[602,"sp_core::traits"],[603,"sp_core::traits"],[604,"sp_version"],[605,"sc_executor::wasm_runtime"],[606,"sc_service::task_manager"],[607,"sc_service::error"],[608,"tuxedo_core::types"],[609,"tuxedo_parachain_runtime"],[610,"sc_service::builder"],[611,"sc_service::builder"],[612,"sc_consensus::import_queue"],[613,"sc_transaction_pool"],[614,"sc_telemetry"],[615,"sc_service"],[616,"sp_io::storage"],[617,"sp_io::default_child_storage"],[618,"sp_io::misc"],[619,"sp_io::wasm_tracing"],[620,"sp_io::offchain"],[621,"sp_io::crypto"],[622,"sp_io::hashing"],[623,"sp_io::allocator"],[624,"sp_io::panic_handler"],[625,"sp_io::logging"],[626,"sp_io::trie"],[627,"sp_io::offchain_index"],[628,"sp_io::transaction_index"],[629,"sp_wasm_interface"],[630,"sc_executor::executor"],[631,"jsonrpsee_core::server::rpc_module"],[632,"core::error"],[633,"sp_api"],[634,"sp_blockchain::backend"],[635,"sp_blockchain::error"],[636,"sp_blockchain::header_metadata"],[637,"core::marker"],[638,"core::marker"],[639,"core::fmt"],[640,"sc_telemetry"],[641,"cumulus_relay_chain_interface"],[642,"sc_network_sync::service::syncing_service"],[643,"sp_keystore"],[644,"core::time"],[645,"polkadot_parachain_primitives::primitives"],[646,"polkadot_primitives::v6"],[647,"polkadot_overseer"],[648,"core::ops::function"],[649,"sc_sysinfo"],[650,"sc_service::error"]],"i":[0,0,0,0,0,0,0,0,0,0,5,6,120,5,6,5,6,5,6,5,6,120,5,6,5,6,5,5,6,5,6,5,6,0,5,6,5,6,5,6,5,6,5,5,6,6,5,5,6,6,5,6,120,5,6,5,5,6,6,5,5,6,6,5,6,5,6,5,5,6,6,5,5,6,6,5,5,6,6,5,6,5,6,5,6,0,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,6,5,6,5,6,5,6,5,6,5,6,5,6,0,28,28,0,28,28,28,28,28,28,28,0,28,0,23,28,29,23,28,29,23,29,29,28,28,29,23,23,23,23,28,29,23,28,29,23,23,23,29,29,29,23,23,28,29,23,28,29,23,29,23,23,28,29,23,28,29,23,23,28,29,23,28,29,28,29,28,28,29,29,23,23,28,28,29,29,23,23,28,29,23,29,28,29,23,29,23,23,28,29,23,23,28,29,23,28,28,29,29,23,23,28,28,29,29,23,23,28,28,29,29,23,23,28,29,23,28,29,23,28,29,23,23,29,23,23,23,23,29,23,23,23,23,29,23,23,23,23,23,23,29,23,29,29,23,23,28,29,23,28,29,23,23,23,28,29,23,28,29,23,28,29,23,28,29,23,28,29,23,28,29,23,28,29,28,29,28,29,23,0,0,0,0,0,0,0,0,51,121,122,51,51,66,51,66,121,122,121,123,123,51,66,51,66,51,123,51,51,121,51,66,51,66,66,51,66,121,121,121,121,51,66,51,51,66,66,51,51,66,66,51,66,123,121,123,121,121,51,66,51,66,51,51,66,66,51,51,66,66,51,51,66,66,51,66,51,66,123,123,51,66,51,66,51,51,0,0,51,123,51,51,123,123,123,121,121,51,51,66,51,66,51,66,51,66,51,66,51,66,51,66,51,66,121,51,66,51,0,0,90,0,90,90,92,90,92,90,92,90,92,90,90,92,90,90,0,124,92,92,90,92,90,92,90,90,92,90,92,92,90,90,92,92,90,90,92,90,92,90,92,90,92,92,90,90,92,92,90,90,92,92,90,90,92,90,92,90,92,90,124,92,90,92,90,92,90,92,90,92,90,92,90,92,90,92,90,92,90,92,90,0,0,0,0,0,125,104,104,125,125,126,126,104,104,0,126,125,104,104,104,104,125,125,125,125,104,104,104,104,104,104,126,125,126,125,125,104,127,104,104,104,104,104,104,104,104,104,126,126,104,127,104,128,0,126,126,0,0,0,126,126,125,125,104,104,104,104,104,104,104,104,125,104,128],"f":"````{{}{{d{b}}}}`````{{cf}b{}}0`{ch{}}000{ce{}{}}000`{jj}{ll}{{ce}b{}{}}0{{jj}b}{nc{}}000{c{{A`{j}}}Ab}{c{{A`{l}}}Ab}{{}{{A`{{Ad{bl}}Af}}}}{nb}0{{jj}Ah}{{ll}Ah}{{jAj}Al}{{lAj}Al}{cc{}}00>0>0>>0>>`{j{{An{c}}}{}}{l{{An{c}}}{}}{{cB`}h{}}{{jB`}h}{{lB`}h}22102{{}n}0{ce{}{}}0{{{Bb{c}}}{{Bb{h}}}{}}000{{{Bd{c}}}{{Bd{h}}}{}}000{{{Bf{c}}}{{Bf{h}}}{}}0003333{cAh{}}0{{}{{A`{{Ad{bl}}Af}}}}````{{jc}A`Bh}{{lc}A`Bh}={lc{}}88{c{{An{e}}}{}{}}099{c{{A`{e}}}{}{}}0{Bj{{An{l}}}}11{cB`{}}0{cBl{}}0======``````````````{Bn{{d{Ah}}}}{ch{}}00000{C`C`}000{{}Af}0`{Bn{{d{{An{Cb}}}}}}`{ce{}{}}00000{{BnAh}{{d{Af}}}}`{{}C`}0{{}Cd}0{Bn{{d{{An{Cf}}}}}}{nc{}}0000077:{nb}00{{ChAj}Al}{{CjAj}Al}{{BnAj}Al}>{cc{}}00{Cl{{A`{ChCn}}}}{Cl{{A`{CjCn}}}}10<22<2<<22<2<<<<{{}{{An{D`}}}}{BlAh}{{}Af}000{Bn{{An{Db}}}}{{}n}0{{BnAfAfcDd}{{d{b}}}{{Dh{DfDd}}}}1{ce{}{}}00{{{Bb{c}}}{{Bb{h}}}{}}00000{{{Bd{c}}}{{Bd{h}}}{}}00000{{{Bf{c}}}{{Bf{h}}}{}}00000333333{cAh{}}00{Bn{{An{Dj}}}}{{CjBl}{{A`{{Bb{Bj}}Af}}}}{{BnBl}{{A`{{Bb{Bj}}Af}}}}{Bn{{d{{An{n}}}}}}{Bn{{An{Dl}}}}{{Ddc}Bn{{E`{}{{Dn{Af}}}}}}`{Bn{{d{Af}}}}{{}Eb}{{BnEb{Bb{Bj}}}{{d{{An{Ed}}}}}}1`{{BnAh}{{d{Ef}}}}{{BnEb}{{d{{An{Eh}}}}}}{{BnAh}{{d{{An{{Ej{Af}}}}}}}}4{Bn{{d{El}}}}{Bn{{d{En}}}}`{BnF`}`{{}Af}0{{Bn{Bb{Bj}}}{{d{{An{Fb}}}}}}{c{{An{e}}}{}{}}00{ce{}{}}00{{BnAh}{{d{Fd}}}}{Bn{{d{{An{n}}}}}}{c{{A`{e}}}{}{}}00000{cB`{}}00{cBl{}}00555555{{ChCl}{{A`{bCn}}}}{{CjCl}{{A`{bCn}}}}10777`{Bl{{A`{{Bb{Bj}}Af}}}}{{}{{d{b}}}}`````{{cf}b{}}``{{{Ff{c}}Ah}bFh}{ch{}}000`````<<<<{{{Ff{c}}FjFlBl{G`{Fn}}AhGb}{{Gf{{A`{{Ej{Fn}}Gd}}Ah}}}Fh}`{{{Ff{c}}}{{Ff{c}}}Fh}{{ce}b{}{}}`{nc{}}000{{Bl{G`{Fn}}}{{An{{Ej{Fn}}}}}}{nb}0````{cc{}}00{ce{}{}}01011000`````{{}n}011{{{Bb{c}}}{{Bb{h}}}{}}000{{{Bd{c}}}{{Bd{h}}}{}}000{{{Bf{c}}}{{Bf{h}}}{}}0004444``{cAh{}}0{{{Ff{c}}}GhFh}{{}Gh}`{{Gj{An{Cf}}nFn}{{Ff{c}}}Fh}{Dd{{A`{GlGn}}}}{Dd{{A`{{Ib{{Hf{H`Hb{Ff{Hd}}}}{Hh{H`}}{Hj{{Hh{H`}}H`}}{Hl{H`}}{Hn{H`{Hf{H`Hb{Ff{Hd}}}}}}{An{I`}}}}Gn}}}}{{{K`{{Jn{{Gf{IdIfIhIjIlInJ`JbJdJfJhJjJl}}}}}}}{{Ff{c}}}Fh}`{{{Ff{c}}{G`{Fn}}Fj}{{A`{{Ej{Fn}}Af}}}Fh}{{{Ff{c}}FjFl}{{A`{KbGd}}}Fh}`````={c{{An{e}}}{}{}}0>>{c{{A`{e}}}{}{}}000{cB`{}}0{cBl{}}0{ce{}{}}000`00``````{{cf}b{}}{ch{}}0002222{Kd{{A`{bKf}}}}`{KdKd}{{ce}b{}{}}{{{Kh{ce}}}{{A`{{Kj{b}}{Bb{Kl}}}}}{{Kn{H`}}{L`{H`}}{Lf{H`}{{Lb{Ld}}}}LhLj}{LlLjLh}}``{nc{}}000{nb}0{{KdAj}{{A`{bLn}}}}{cc{}}0:0:00:0:::{{}n}0;;{{{Bb{c}}}{{Bb{h}}}{}}000{{{Bd{c}}}{{Bd{h}}}{}}000{{{Bf{c}}}{{Bf{h}}}{}}000>>>>{cAh{}}0``?{c{{An{e}}}{}{}}0{ce{}{}}0{c{{A`{e}}}{}{}}000{cB`{}}0{cBl{}}0333333``````{ch{}}0````44{{{Bd{{Hf{H`Hb{Ff{M`}}}}}}{Mb{H`{Bd{{Hf{H`Hb{Ff{M`}}}}}}{Hh{H`}}}}Dd{An{Md}}Gl}{{A`{{Hl{H`}}Gn}}}}``??{{Bl{G`{Fn}}}{{An{{Ej{Fn}}}}}}?````=6=6=6`````<`6;;::9966``8`{{}Gh}`{Dd{{A`{{Ib{{Hf{H`Hb{Ff{M`}}}}{Hh{H`}}b{Hl{H`}}{Hn{H`{Hf{H`Hb{Ff{M`}}}}}}{Gf{{Mb{H`{Bd{{Hf{H`Hb{Ff{M`}}}}}}{Hh{H`}}}}{An{I`}}{An{Mf}}}}}}Gn}}}}``{{{Bd{{Hf{H`Hb{Ff{M`}}}}}}{Mb{H`{Bd{{Hf{H`Hb{Ff{M`}}}}}}{Hh{H`}}}}{An{Mh}}{An{Md}}Gl{Bd{Mj}}{Bd{{Hn{H`{Hf{H`Hb{Ff{M`}}}}}}}}{Bd{{Ml{H`}}}}MnN`NbNdNf{Bd{Nh}}}{{A`{bGn}}}}{{DdDdNjNb{An{Nl}}}{{Nn{{Gf{Gl{Bd{{Hf{H`Hb{Ff{M`}}}}}}}}}}}}0````;:9987::`:`","D":"Jn","p":[[1,"unit"],[8,"Result",569],[5,"Private",570],[10,"Any",571],[5,"ExtensionsFork",7],[5,"Extensions",7],[1,"usize"],[6,"Result",572],[10,"Deserializer",573],[5,"ChainSpec",574],[5,"String",575],[1,"bool"],[5,"Formatter",576],[8,"Result",576],[6,"Option",577],[5,"TypeId",571],[5,"Box",578],[5,"Arc",579],[5,"Rc",580],[10,"Serializer",581],[10,"ChainSpec",582],[1,"str"],[5,"RelayChainCli",115],[5,"Command",583],[5,"BasePath",584],[1,"i32"],[1,"u64"],[6,"Subcommand",115],[5,"Cli",115],[5,"ArgMatches",585],[8,"Error",586],[5,"Id",587],[5,"ImportParams",588],[5,"Configuration",584],[5,"LoggerBuilder",589],[10,"FnOnce",590],[5,"KeystoreParams",591],[5,"NetworkParams",592],[17,"Item"],[10,"Iterator",593],[1,"u16"],[5,"PrometheusConfig",584],[6,"Role",594],[6,"SocketAddr",595],[5,"Vec",596],[1,"u32"],[6,"RpcMethods",584],[5,"SharedParams",597],[5,"TelemetryEndpoints",598],[5,"Options",599],[5,"NativeElseWasmExecutor",297],[10,"NativeExecutionDispatch",600],[10,"Externalities",601],[5,"RuntimeCode",602],[1,"u8"],[1,"slice"],[6,"CallContext",602],[6,"Error",603],[1,"tuple"],[5,"NativeVersion",604],[6,"WasmExecutionMethod",605],[5,"TaskManager",606],[6,"Error",607],[8,"OpaqueBlock",608],[5,"RuntimeApi",609],[5,"ExecutorDispatch",297],[8,"TFullClient",610],[8,"TFullBackend",610],[5,"LongestChain",611],[8,"DefaultImportQueue",612],[8,"FullPool",613],[5,"Telemetry",614],[5,"PartialComponents",615],[5,"HostFunctions",616],[5,"HostFunctions",617],[5,"HostFunctions",618],[5,"HostFunctions",619],[5,"HostFunctions",620],[5,"HostFunctions",621],[5,"HostFunctions",622],[5,"HostFunctions",623],[5,"HostFunctions",624],[5,"HostFunctions",625],[5,"HostFunctions",626],[5,"HostFunctions",627],[5,"HostFunctions",628],[5,"ExtendedHostFunctions",629],[5,"WasmExecutor",600],[5,"RuntimeVersion",604],[6,"DenyUnsafe",412],[5,"UnsafeRpcError",630],[5,"FullDeps",412],[5,"RpcModule",631],[10,"Error",632],[10,"ProvideRuntimeApi",633],[10,"HeaderBackend",634],[17,"Error"],[6,"Error",635],[10,"HeaderMetadata",636],[10,"Send",637],[10,"Sync",637],[10,"TransactionPool",638],[5,"Error",576],[5,"ParachainNativeExecutor",495],[5,"ParachainBlockImport",639],[5,"TelemetryHandle",614],[5,"TelemetryWorkerHandle",614],[5,"Registry",640],[10,"RelayChainInterface",641],[5,"SyncingService",642],[8,"KeystorePtr",643],[5,"Duration",644],[5,"Id",645],[8,"CollatorPair",646],[5,"Handle",647],[10,"Fn",590],[5,"CollatorOptions",648],[5,"HwBench",649],[8,"Result",607],[8,"ChainSpec",7],[8,"FullClient",297],[8,"FullSelectChain",297],[8,"FullBackend",297],[8,"RpcExtension",412],[8,"ParachainClient",495],[8,"ParachainBackend",495],[8,"ParachainBlockImport",495],[8,"ParachainExecutor",495]],"b":[],"c":"OjAAAAEAAAAAAAEAEAAAADIBfAE=","e":"OzAAAAEAAOIBNQABAAIABQAAAAoAHgArAAAALQAAAC8AAAAyAA8ARAATAFkAAABbAAsAaAAMAHcAAAB/AAAAggAMAJAAAACSAAYAmgAUALIAAwC3AAEAugAAAL0AAQDAAAAAwgANANMAHwD1AAMA+gAuACoBAwAvAQIAMwEcAFIBAABVAQAAVwEBAFoBCABlARYAfgEAAIABHACiAQgArQEBALABAACyAQYAvAEAAL4BAQDBAQAAwwEDAMkBEgDdARYA9QEIAP8BCQALAgAADQIIABcCDQAmAgIAKwIOAA=="}],\ +["poe",{"t":"PPGPPPFKFFPPNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["BadlyTypedInput","BadlyTypedOutput","ConstraintCheckerError","DisputingMismatchedClaims","EffectiveHeightInPast","IncorrectDisputeWinner","PoeClaim","PoeConfig","PoeDispute","PoeRevoke","WrongNumberInputs","WrongNumberOutputs","__clone_box","__clone_box","__clone_box","__clone_box","block_height","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","check","check","check","check","check","check","check_inherents","check_inherents","check_inherents","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","create_inherents","create_inherents","create_inherents","decode","decode","decode","decode","decode_all","decode_all","decode_all","decode_all","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","encode","encode_to","encode_to","encode_to","encode_to","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","from","from","from","from","from_mut","from_mut","from_mut","from_mut","from_ref","from_ref","from_ref","from_ref","genesis_transactions","genesis_transactions","genesis_transactions","init","init","init","init","into","into","into","into","is_inherent","is_inherent","is_inherent","serialize","serialize","serialize","serialize","size_hint","size_hint","size_hint","size_hint","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_info","type_info","type_info","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","using_encoded","vzip","vzip","vzip","vzip"],"q":[[0,"poe"],[180,"dyn_clone::sealed"],[181,"tuxedo_core::dynamic_typing"],[182,"sp_runtime::transaction_validity"],[183,"core::result"],[184,"sp_inherents"],[185,"tuxedo_core::types"],[186,"alloc::vec"],[187,"sp_inherents"],[188,"parity_scale_codec::error"],[189,"parity_scale_codec::codec"],[190,"serde::de"],[191,"parity_scale_codec::codec"],[192,"core::cmp"],[193,"core::fmt"],[194,"core::fmt"],[195,"core::any"],[196,"scale_info::ty"],[197,"core::ops::function"]],"i":[17,17,0,17,17,17,0,0,0,0,17,17,17,4,11,12,9,17,4,11,12,17,4,11,12,4,4,11,11,12,12,4,11,12,17,4,11,12,17,4,11,12,4,11,12,17,4,11,12,17,4,11,12,17,4,11,12,17,4,11,12,17,4,11,12,17,4,11,12,17,4,11,12,17,4,11,12,4,17,4,11,12,17,4,11,12,17,17,17,17,17,4,4,4,4,4,11,11,11,11,11,12,12,12,12,12,17,4,11,12,17,4,11,12,17,4,11,12,17,4,11,12,4,11,12,17,4,11,12,17,4,11,12,4,11,12,17,4,11,12,17,4,11,12,17,4,11,12,17,4,11,12,17,4,11,12,17,4,11,12,17,4,11,12,4,11,12,17,4,11,12,17,4,11,12,4,17,4,11,12],"f":"````````````{{cb}d{}}000{{}f}{ce{}{}}0000000{{{h{c}}{l{j}}{l{j}}{l{j}}{l{j}}}{{A`{ne}}}Ab{}}{{c{l{j}}{l{j}}{l{j}}{l{j}}}{{A`{Ad}}}{}}{{Af{l{j}}{l{j}}{l{j}}{l{j}}}{{A`{nc}}}{}}1{{Ah{l{j}}{l{j}}{l{j}}{l{j}}}{{A`{nc}}}{}}2{{Aj{An{{Al{ce}}}}B`}d{}{}}00{BbBb}{{{h{c}}}{{h{c}}}{}}{AfAf}{AhAh}{{ce}d{}{}}000{{Aj{An{{Bf{{Al{ce}}Bd}}}}}{{An{{Al{ce}}}}}{}{}}00{c{{A`{BbBh}}}Bj}{c{{A`{{h{e}}Bh}}}Bj{}}{c{{A`{AfBh}}}Bj}{c{{A`{AhBh}}}Bj}{{{l{Bl}}}{{A`{cBh}}}{}}000{{f{l{Bl}}}{{A`{cBh}}}{}}000{{fc}{{A`{eBh}}}Bj{}}000{Bnc{}}0000000{c{{A`{Bb}}}C`}{c{{A`{{h{e}}}}}C`{}}{c{{A`{Af}}}C`}{c{{A`{Ah}}}C`}{Bnd}000{{{h{c}}}{{An{Bl}}}{}}{{Bbc}d{CbCd}}{{{h{c}}e}d{}{CbCd}}{{Afc}d{CbCd}}{{Ahc}d{CbCd}}{{BbBb}Cf}{{{h{c}}{h{c}}}CfCh}{{AfAf}Cf}{{AhAh}Cf}{{ce}Cf{}{}}0000000000000000000{{BbCj}Cl}{{{h{c}}Cj}Cl{}}{{AfCj}Cl}{{AhCj}Cl}{cc{}}000{ce{}{}}0000000{{}{{An{{Al{ce}}}}}{}{}}00{{}Bn}0002222{cCf{}}00{{Bbc}A`Cn}{{{h{c}}e}A`{}Cn}{{Afc}A`Cn}{{Ahc}A`Cn}{BbBn}{{{h{c}}}Bn{}}{AfBn}{AhBn}{{c{l{Bl}}}{{An{Bl}}}{}}000<<<<{c{{A`{e}}}{}{}}0000000{cD`{}}000{{}Db}00????????{{{h{c}}g}e{}{}{{Df{{l{Bl}}}{{Dd{e}}}}}}{ce{}{}}000","D":"Cl","p":[[5,"Private",180],[1,"unit"],[1,"u32"],[5,"PoeClaim",0],[5,"DynamicallyTypedData",181],[1,"slice"],[8,"TransactionPriority",182],[6,"Result",183],[10,"PoeConfig",0],[1,"u64"],[5,"PoeRevoke",0],[5,"PoeDispute",0],[5,"InherentData",184],[5,"Transaction",185],[5,"Vec",186],[5,"CheckInherentsResult",184],[6,"ConstraintCheckerError",0],[5,"H256",187],[1,"tuple"],[5,"Error",188],[10,"Input",189],[1,"u8"],[1,"usize"],[10,"Deserializer",190],[10,"Output",189],[10,"Sized",191],[1,"bool"],[10,"PartialEq",192],[5,"Formatter",193],[8,"Result",193],[10,"Serializer",194],[5,"TypeId",195],[5,"Type",196],[17,"Output"],[10,"FnOnce",197]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAJYABAANAAMAEgBcAHsABgCGAC4A"}],\ +["runtime_upgrade",{"t":"PPGPPPFPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["BadlyTypedInput","BadlyTypedOutput","ConstraintCheckerError","InputMismatch","NoEvictionsAllowed","OutputMismatch","RuntimeUpgrade","WrongNumberInputs","WrongNumberOutputs","__clone_box","borrow","borrow","borrow_mut","borrow_mut","check","check","check_inherents","clone","clone_into","create_inherents","decode","decode_all","decode_all_with_depth_limit","decode_with_depth_limit","deref","deref","deref_mut","deref_mut","deserialize","drop","drop","encode","encode_to","eq","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","from","from","from_mut","from_mut","from_ref","from_ref","genesis_transactions","init","init","into","into","is_inherent","serialize","size_hint","to_keyed_vec","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","type_info","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","using_encoded","vzip","vzip"],"q":[[0,"runtime_upgrade"],[71,"dyn_clone::sealed"],[72,"tuxedo_core::dynamic_typing"],[73,"sp_runtime::transaction_validity"],[74,"core::result"],[75,"sp_inherents"],[76,"tuxedo_core::types"],[77,"alloc::vec"],[78,"sp_inherents"],[79,"parity_scale_codec::error"],[80,"parity_scale_codec::codec"],[81,"serde::de"],[82,"parity_scale_codec::codec"],[83,"core::fmt"],[84,"core::fmt"],[85,"core::any"],[86,"scale_info::ty"],[87,"core::ops::function"]],"i":[24,24,0,24,24,24,0,24,24,3,24,3,24,3,3,3,3,3,3,3,3,3,3,3,24,3,24,3,3,24,3,3,3,3,3,3,3,3,3,24,3,24,3,24,3,24,3,3,24,3,24,3,3,3,3,3,3,24,3,24,3,24,3,3,24,3,24,3,3,24,3],"f":"`````````{{cb}d{}}{ce{}{}}000{{f{j{h}}{j{h}}{j{h}}{j{h}}}{{n{lc}}}{}}{{c{j{h}}{j{h}}{j{h}}{j{h}}}{{n{A`}}}{}}{{Ab{Af{{Ad{ce}}}}Ah}d{}{}}{ff}{{ce}d{}{}}{{Ab{Af{{Al{{Ad{ce}}Aj}}}}}{{Af{{Ad{ce}}}}}{}{}}{c{{n{fAn}}}B`}{{{j{Bb}}}{{n{cAn}}}{}}{{Bd{j{Bb}}}{{n{cAn}}}{}}{{Bdc}{{n{eAn}}}B`{}}{Bfc{}}000{c{{n{f}}}Bh}{Bfd}0{f{{Af{Bb}}}}{{fc}d{BjBl}}{{ff}Bn}{{ce}Bn{}{}}0000{{C`Cb}Cd}{{fCb}Cd}{cc{}}0{ce{}{}}000{{}{{Af{{Ad{ce}}}}}{}{}}{{}Bf}022{cBn{}}{{fc}nCf}{fBf}{{c{j{Bb}}}{{Af{Bb}}}{}}6{c{{n{e}}}{}{}}000{cCh{}}0{{}Cj}9999{{fe}c{}{{Cn{{j{Bb}}}{{Cl{c}}}}}}::","D":"Bd","p":[[5,"Private",71],[1,"unit"],[5,"RuntimeUpgrade",0],[5,"DynamicallyTypedData",72],[1,"slice"],[8,"TransactionPriority",73],[6,"Result",74],[1,"u64"],[5,"InherentData",75],[5,"Transaction",76],[5,"Vec",77],[5,"CheckInherentsResult",75],[5,"H256",78],[1,"tuple"],[5,"Error",79],[10,"Input",80],[1,"u8"],[1,"u32"],[1,"usize"],[10,"Deserializer",81],[10,"Output",80],[10,"Sized",82],[1,"bool"],[6,"ConstraintCheckerError",0],[5,"Formatter",83],[8,"Result",83],[10,"Serializer",84],[5,"TypeId",85],[5,"Type",86],[17,"Output"],[10,"FnOnce",87]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAADUAAwAKAB8AMAACADUAEgA="}],\ +["timestamp",{"t":"PFPPPPPTTTTPPPPFFKGPPNNNOMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["BadlyTyped","CleanUpTimestamp","CleanupCannotCreateState","CleanupEvictionsOnly","CleanupRequiresOneReference","DontBeSoHasty","InputsWhileSettingTimestamp","MAX_DRIFT","MINIMUM_TIME_INTERVAL","MIN_BLOCKS_BEFORE_CLEANUP","MIN_TIME_BEFORE_CLEANUP","MissingNewTimestamp","MissingPreviousTimestamp","NewTimestampWrongHeight","PreviousTimestampWrongHeight","SetTimestamp","Timestamp","TimestampConfig","TimestampError","TimestampTooOld","TooManyOutputsWhileSettingTimestamp","__clone_box","__clone_box","__clone_box","block","block_height","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","check","check","check","check","check_inherent","check_inherents","check_inherents","clear","clear","clear","clone","clone","clone","clone_into","clone_into","clone_into","cmp","compare","create_inherent","create_inherents","create_inherents","decode","decode","decode","decode_all","decode_all","decode_all","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","default","default","default","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","drop","drop","drop","drop","encode","encode","encode_to","encode_to","encode_to","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","from","from","from","from","from_mut","from_mut","from_mut","from_mut","from_ref","from_ref","from_ref","from_ref","genesis_transactions","genesis_transactions","genesis_transactions","init","init","init","init","into","into","into","into","is_clear","is_clear","is_clear","is_inherent","is_inherent","new","partial_cmp","serialize","serialize","size_hint","size_hint","size_hint","time","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_info","type_info","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","using_encoded","using_encoded","vzip","vzip","vzip","vzip"],"q":[[0,"timestamp"],[187,"dyn_clone::sealed"],[188,"tuxedo_core::dynamic_typing"],[189,"core::result"],[190,"sp_runtime::transaction_validity"],[191,"sp_inherents"],[192,"tuxedo_core::types"],[193,"sp_inherents"],[194,"core::cmp"],[195,"primitive_types"],[196,"tuxedo_core::verifier"],[197,"parity_scale_codec::error"],[198,"parity_scale_codec::codec"],[199,"serde::de"],[200,"parity_scale_codec::codec"],[201,"core::cmp"],[202,"core::fmt"],[203,"serde::ser"],[204,"core::any"],[205,"scale_info::ty"],[206,"core::ops::function"]],"i":[29,0,29,29,29,29,29,10,10,10,10,29,29,29,29,0,0,0,0,29,29,16,8,11,16,10,16,29,8,11,16,29,8,11,8,8,11,11,8,8,11,16,8,11,16,8,11,16,8,11,16,16,8,8,11,16,8,11,16,8,11,16,8,11,16,8,11,16,8,11,16,29,8,11,16,29,8,11,8,11,16,29,8,11,8,11,16,8,11,16,29,8,11,16,16,16,16,16,29,29,29,29,29,8,8,8,8,8,11,11,11,11,11,16,29,8,11,16,29,8,11,16,29,8,11,16,29,8,11,8,8,11,16,29,8,11,16,29,8,11,16,8,11,8,11,16,16,8,11,16,8,11,16,16,8,11,16,8,11,16,29,8,11,16,29,8,11,16,29,8,11,8,11,16,29,8,11,16,29,8,11,8,11,16,29,8,11],"f":"`````````````````````{{cb}d{}}00`{{}f}{ce{}{}}0000000{{c{j{h}}{j{h}}{j{h}}{j{h}}}{{n{l}}}{}}{{{A`{c}}{j{h}}{j{h}}{j{h}}{j{h}}}{{n{Abe}}}Ad{}}1{{{Af{c}}{j{h}}{j{h}}{j{h}}{j{h}}}{{n{Abe}}}Ad{}}{{Ah{Aj{c{A`{e}}}}Al}d{}Ad}{{Ah{An{{Aj{ce}}}}Al}d{}{}}0{{}c{}}00{B`B`}{{{A`{c}}}{{A`{c}}}{}}{{{Af{c}}}{{Af{c}}}{}}{{ce}d{}{}}00{{B`B`}Bb}{{ce}Bb{}{}}{{Ah{Bf{{Aj{c{A`{e}}}}Bd}}}{{Aj{c{A`{e}}}}}BhAd}{{Ah{An{{Bf{{Aj{ce}}Bd}}}}}{{An{{Aj{ce}}}}}{}{}}0{c{{n{B`Bj}}}Bl}{c{{n{{A`{e}}Bj}}}Bl{}}{c{{n{{Af{e}}Bj}}}Bl{}}{{{j{Bn}}}{{n{cBj}}}{}}00{{f{j{Bn}}}{{n{cBj}}}{}}00{{fc}{{n{eBj}}}Bl{}}00{{}B`}{{}{{A`{c}}}{}}{{}{{Af{c}}}{}}{C`c{}}0000000{c{{n{{A`{e}}}}}Cb{}}{c{{n{{Af{e}}}}}Cb{}}{C`d}000{{{A`{c}}}{{An{Bn}}}{}}{{{Af{c}}}{{An{Bn}}}{}}{{B`c}d{CdCf}}{{{A`{c}}e}d{}{CdCf}}{{{Af{c}}e}d{}{CdCf}}{{B`B`}Ch}{{CjCj}Ch}{{{A`{c}}{A`{c}}}ChCl}{{{Af{c}}{Af{c}}}ChCl}{{ce}Ch{}{}}0000000000000000000{{B`Cn}D`}{{CjCn}D`}{{{A`{c}}Cn}D`{}}{{{Af{c}}Cn}D`{}}{cc{}}000{ce{}{}}0000000{{}{{An{{Aj{ce}}}}}{}{}}{{}{{An{{Aj{c{A`{e}}}}}}}BhAd}1{{}C`}0003333{cCh{}}0000{{lf}B`}{{B`B`}{{Db{Bb}}}}{{{A`{c}}e}n{}Dd}{{{Af{c}}e}n{}Dd}{B`C`}{{{A`{c}}}C`{}}{{{Af{c}}}C`{}}`{{c{j{Bn}}}{{An{Bn}}}{}}00<<<{c{{n{e}}}{}{}}0000000{cDf{}}000{{}Dh}0????????{{{A`{c}}g}e{}{}{{Dl{{j{Bn}}}{{Dj{e}}}}}}{{{Af{c}}g}e{}{}{{Dl{{j{Bn}}}{{Dj{e}}}}}}{ce{}{}}000","D":"Eb","p":[[5,"Private",187],[1,"unit"],[1,"u32"],[5,"DynamicallyTypedData",188],[1,"slice"],[1,"u64"],[6,"Result",189],[5,"SetTimestamp",0],[8,"TransactionPriority",190],[10,"TimestampConfig",0],[5,"CleanUpTimestamp",0],[5,"InherentData",191],[5,"Transaction",192],[5,"CheckInherentsResult",191],[5,"Vec",193],[5,"Timestamp",0],[6,"Ordering",194],[5,"H256",195],[1,"tuple"],[10,"Verifier",196],[5,"Error",197],[10,"Input",198],[1,"u8"],[1,"usize"],[10,"Deserializer",199],[10,"Output",198],[10,"Sized",200],[1,"bool"],[6,"TimestampError",0],[10,"PartialEq",194],[5,"Formatter",201],[8,"Result",201],[6,"Option",202],[10,"Serializer",203],[5,"TypeId",204],[5,"Type",205],[17,"Output"],[10,"FnOnce",206]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAJIABQAWAAIAGwBaAIIABgCNAAsAmgAhAA=="}],\ +["tuxedo_core",{"t":"EFEEEEXNNNNNNNCNNNCQNQNNNCNCNNNCCNNXXNCNNCNNCNKRRKMMMMMMPGFTKPNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNONNNNNNNFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNRTFKSFNNNNNNMNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNYYYKTMIIPIPPPIIFPPIIFFPPGFGPNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNONNNNNNNNNNOOOOOOONNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNONNNNNNFNNNNNNNNNNNNNNNNNNNFFRFFFFFFKNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNONNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNOMNNNNNNNNNNNNNNNN","n":["ConstraintChecker","Executive","InherentAdapter","InherentHooks","SimpleConstraintChecker","Verifier","aggregate","apply_extrinsic","apply_tuxedo_transaction","block_height","borrow","borrow_mut","check_inherents","close_block","constraint_checker","deref","deref_mut","drop","dynamic_typing","ensure","execute_block","fail","from","from_mut","from_ref","genesis","inherent_extrinsics","inherents","init","into","open_block","support_macros","traits","try_from","try_into","tuxedo_constraint_checker","tuxedo_verifier","type_id","types","unchecked_into","unique_saturated_into","utxo_set","validate_transaction","validate_tuxedo_transaction","verifier","vzip","ConstraintChecker","Error","Error","SimpleConstraintChecker","check","check","check_inherents","create_inherents","genesis_transactions","is_inherent","DecodingFailed","DynamicTypingError","DynamicallyTypedData","TYPE_ID","UtxoData","WrongType","__clone_box","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","data","decode","decode_all","decode_all_with_depth_limit","decode_with_depth_limit","deref","deref","deref_mut","deref_mut","deserialize","drop","drop","encode_to","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","extract","fmt","fmt","fmt","from","from","from","from_mut","from_mut","from_ref","from_ref","init","init","into","into","serialize","size_hint","testing","to_keyed_vec","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","type_id","type_info","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","vzip","vzip","Bogus","borrow","borrow_mut","decode","decode_all","decode_all_with_depth_limit","decode_with_depth_limit","deref","deref_mut","drop","encode_to","eq","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","from","from_mut","from_ref","init","into","size_hint","to_keyed_vec","try_from","try_into","type_id","unchecked_into","unique_saturated_into","vzip","TuxedoGenesisBlockBuilder","TuxedoGenesisConfigBuilder","borrow","borrow","borrow_mut","borrow_mut","build","build_genesis_block","deref","deref","deref_mut","deref_mut","drop","drop","from","from","from_mut","from_mut","from_ref","from_ref","init","init","into","into","new","try_from","try_from","try_into","try_into","type_id","type_id","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","vzip","vzip","Error","INHERENT_IDENTIFIER","InherentAdapter","InherentHooks","PARENT_INHERENT_IDENTIFIER","ParentBlockInherentDataProvider","__clone_box","borrow","borrow","borrow_mut","borrow_mut","check","check_inherent","check_inherents","clear","clone","clone_into","create_inherent","create_inherents","decode","decode_all","decode_all_with_depth_limit","decode_with_depth_limit","default","deref","deref","deref","deref_mut","deref_mut","deserialize","drop","drop","encode","encode_to","eq","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","from","from","from_mut","from_mut","from_ref","from_ref","genesis_transactions","genesis_transactions","init","init","into","into","is_clear","is_inherent","provide_inherent_data","serialize","size_hint","to_keyed_vec","to_owned","try_from","try_from","try_handle_error","try_into","try_into","type_id","type_id","type_info","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","using_encoded","vzip","vzip","CloneNoBound","DebugNoBound","DefaultNoBound","Cash","ID","value","Block","BlockNumber","ConstraintCheckerError","DispatchResult","DuplicateInput","Err","Eviction","Hash","Header","Input","MissingInput","Ok","OpaqueBlock","OpaqueHash","Output","OutputRef","PreExistingOutput","Redemption","RedemptionStrategy","Transaction","UtxoError","VerifierError","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","checker","clear","clear","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","decode","decode","decode","decode","decode","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","default","default","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","deserialize","digest","drop","drop","drop","drop","drop","drop","encode_to","encode_to","encode_to","encode_to","encode_to","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","extrinsics","extrinsics","extrinsics_root","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from_mut","from_mut","from_mut","from_mut","from_mut","from_mut","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","header","header","index","init","init","init","init","init","init","inputs","into","into","into","into","into","into","is_clear","is_clear","is_signed","new","number","output_ref","outputs","parent_hash","payload","peeks","redeemer","serialize","serialize","serialize","serialize","serialize","size_hint","size_hint","size_hint","size_hint","state_root","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_owned","to_owned","to_owned","to_owned","to_owned","transform","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","tx_hash","type_id","type_id","type_id","type_id","type_id","type_id","type_info","type_info","type_info","type_info","type_info","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","verifier","vzip","vzip","vzip","vzip","vzip","vzip","TransparentUtxoSet","borrow","borrow_mut","consume_utxo","deref","deref_mut","drop","from","from_mut","from_ref","init","into","peek_utxo","store_utxo","try_from","try_into","type_id","unchecked_into","unique_saturated_into","vzip","BlakeTwoHashLock","P2PKH","Redeemer","Sr25519Signature","TestVerifier","ThresholdMultiSignature","TimeLock","Unspendable","UpForGrabs","Verifier","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clear","clear","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","decode","decode","decode","decode","decode","decode","decode","decode","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","default","default","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","drop","drop","drop","drop","encode","encode","encode","encode","encode","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","encode_to","eq","eq","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from_mut","from_mut","from_mut","from_mut","from_mut","from_mut","from_mut","from_mut","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","has_duplicate_signatories","hash_lock","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","is_clear","is_clear","new","new","new_from_secret","new_unspendable","new_unspendable","new_unspendable","new_unspendable","new_unspendable","new_unspendable","new_unspendable","owner_pubkey","owner_pubkey_hash","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","signatories","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","threshold","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_info","type_info","type_info","type_info","type_info","type_info","type_info","type_info","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unlock_block_height","using_encoded","using_encoded","using_encoded","using_encoded","using_encoded","verifies","verify","verify","verify","verify","verify","verify","verify","verify","verify","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip"],"q":[[0,"tuxedo_core"],[46,"tuxedo_core::constraint_checker"],[56,"tuxedo_core::dynamic_typing"],[129,"tuxedo_core::dynamic_typing::testing"],[160,"tuxedo_core::genesis"],[197,"tuxedo_core::inherents"],[272,"tuxedo_core::support_macros"],[275,"tuxedo_core::traits"],[278,"tuxedo_core::types"],[537,"tuxedo_core::utxo_set"],[557,"tuxedo_core::verifier"],[906,"sp_runtime"],[907,"sp_inherents"],[908,"sp_inherents"],[909,"core::result"],[910,"core::any"],[911,"sp_runtime::transaction_validity"],[912,"sp_runtime::transaction_validity"],[913,"primitive_types"],[914,"dyn_clone::sealed"],[915,"parity_scale_codec::error"],[916,"parity_scale_codec::codec"],[917,"serde::de"],[918,"parity_scale_codec::codec"],[919,"core::fmt"],[920,"alloc::string"],[921,"scale_info::ty"],[922,"sp_genesis_builder"],[923,"sp_blockchain::error"],[924,"sp_runtime::traits"],[925,"sc_client_api::backend"],[926,"sc_executor"],[927,"sp_core::traits"],[928,"sp_runtime"],[929,"parity_scale_codec::codec"],[930,"parity_scale_codec::codec"],[931,"serde::de"],[932,"core::future::future"],[933,"alloc::boxed"],[934,"core::pin"],[935,"serde::ser"],[936,"core::convert"],[937,"core::option"],[938,"scale_info"],[939,"core::convert"]],"i":[0,0,0,0,0,0,0,91,91,91,91,91,91,91,0,91,91,91,0,0,91,0,91,91,91,0,91,0,91,91,91,0,0,91,91,0,0,91,0,91,91,0,91,91,0,91,0,21,4,0,21,4,4,4,4,4,37,0,0,38,0,37,22,22,37,22,37,22,22,22,22,22,22,22,22,37,22,37,22,22,37,22,22,37,22,22,22,22,22,37,37,37,37,37,22,22,37,37,22,22,37,22,37,22,37,22,37,22,37,22,22,0,22,22,37,22,37,22,37,22,37,22,22,22,37,22,37,22,37,0,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,0,0,46,92,46,92,92,46,46,92,46,92,46,92,46,92,46,92,46,92,46,92,46,92,46,46,92,46,92,46,92,46,92,46,92,46,92,55,55,0,0,0,0,54,61,54,61,54,54,55,54,54,54,54,55,54,54,54,54,54,54,61,61,54,61,54,54,61,54,54,54,54,54,54,54,54,54,54,61,54,61,54,61,54,55,54,61,54,61,54,54,54,61,54,54,54,54,61,54,61,61,54,61,54,54,61,54,61,54,54,61,54,0,0,0,0,71,71,0,0,19,0,19,5,75,0,0,0,19,5,0,0,0,0,19,75,0,0,0,19,73,1,74,75,76,73,1,74,75,19,76,73,1,74,75,19,76,1,1,75,73,1,74,75,76,73,1,74,75,76,73,1,74,75,76,73,1,74,75,76,73,1,74,75,76,73,1,74,75,76,1,75,73,1,74,75,19,76,73,1,74,75,19,76,73,1,74,75,76,10,73,1,74,75,19,76,73,1,74,75,76,73,1,74,75,19,76,73,73,73,73,73,1,1,1,1,1,74,74,74,74,74,75,75,75,75,75,19,19,19,19,19,76,76,76,76,76,7,93,10,73,1,74,75,19,76,73,1,74,75,19,76,76,76,73,1,74,75,19,76,73,1,74,75,19,76,7,93,73,73,1,74,75,19,76,1,73,1,74,75,19,76,1,75,1,1,10,74,1,10,76,1,74,73,1,74,75,76,73,74,75,76,10,73,1,74,75,76,73,1,74,75,76,1,73,1,74,75,19,76,73,1,74,75,19,76,73,73,1,74,75,19,76,73,1,74,75,76,73,1,74,75,19,76,73,1,74,75,19,76,76,73,1,74,75,19,76,0,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,0,0,3,0,0,0,0,0,0,0,81,82,83,84,85,86,87,88,81,82,83,84,85,86,87,88,81,82,83,84,85,86,87,88,86,87,81,82,83,84,85,86,87,88,81,82,83,84,85,86,87,88,81,82,83,84,85,86,87,88,81,82,83,84,85,86,87,88,81,82,83,84,85,86,87,88,81,82,83,84,85,86,87,88,86,87,81,82,83,84,85,86,87,88,81,82,83,84,85,86,87,88,81,82,83,84,85,86,87,88,81,82,83,84,85,86,87,88,81,82,84,85,88,81,82,83,84,85,86,87,88,81,82,83,84,85,86,87,88,81,81,81,81,81,82,82,82,82,82,83,83,83,83,83,84,84,84,84,84,85,85,85,85,85,86,86,86,86,86,87,87,87,87,87,88,88,88,88,88,81,82,83,84,85,86,87,88,81,82,83,84,85,86,87,88,81,82,83,84,85,86,87,88,81,82,83,84,85,86,87,88,83,82,81,82,83,84,85,86,87,88,81,82,83,84,85,86,87,88,86,87,83,84,82,3,82,83,84,85,87,88,84,85,81,82,83,84,85,86,87,88,83,81,82,83,84,85,86,87,88,83,81,82,83,84,85,86,87,88,81,82,83,84,85,86,87,88,81,82,83,84,85,86,87,88,81,82,83,84,85,86,87,88,81,82,83,84,85,86,87,88,81,82,83,84,85,86,87,88,81,82,83,84,85,86,87,88,81,82,83,84,85,86,87,88,81,81,82,84,85,88,88,3,81,82,83,84,85,86,87,88,81,82,83,84,85,86,87,88],"f":"```````{{{b{ce}}}dfh}{{{b{ce}}}jfh}{{}l}{ce{}{}}0{{{n{ce}}A`}Abfh}{{}Ad}`{Afc{}}0{AfAh}``{{{n{ce}}}Ahfh}`{cc{}}66`{A`{{Aj{{b{ce}}}}}fh}`{{}Af}8{AdAh}``{c{{Al{e}}}{}{}}0``{cAn{}}`;;`{{B`{b{ce}}}Bbfh}{{{b{ce}}}{{Al{BdBf}}}fh}`=````{{{Bj{}{{Bh{c}}}}{Bn{Bl}}{Bn{Bl}}{Bn{Bl}}{Bn{Bl}}}{{Al{C`c}}}Cb}{{{h{}{{Bh{c}}}}{Bn{Bl}}{Bn{Bl}}{Bn{Bl}}{Bn{Bl}}}{{Al{C`c}}}Cb}{{A`{Aj{{b{c{h{}{{Bh{e}}}}}}}}Ab}AhfCb}{{A`{Aj{{Cf{{b{c{h{}{{Bh{e}}}}}}Cd}}}}}{{Aj{{b{c{h{}{{Bh{e}}}}}}}}}fCb}{{}{{Aj{{b{c{h{}{{Bh{e}}}}}}}}}fCb}{{{h{}{{Bh{c}}}}}ChCb}``````{{cCj}Ah{}}{ce{}{}}000{BlBl}{{ce}Ah{}{}}`{c{{Al{BlCl}}}Cn}{{{Bn{D`}}}{{Al{cCl}}}{}}{{Db{Bn{D`}}}{{Al{cCl}}}{}}{{Dbc}{{Al{eCl}}}Cn{}}{Afc{}}000{c{{Al{Bl}}}Dd}{AfAh}0{{Blc}Ah{DfDh}}{{BlBl}Ch}{{DjDj}Ch}{{ce}Ch{}{}}000000000{Bl{{Al{cDj}}}Dl}{{BlDn}E`}{{DjDn}E`}0{cBlDl}{cc{}}0{ce{}{}}000{{}Af}011{{Blc}AlEb}{BlAf}`{{c{Bn{D`}}}{{Aj{D`}}}{}}4{cEd{}}{c{{Al{e}}}{}{}}000{cAn{}}0`{{}Ef}888888`88{c{{Al{EhCl}}}Cn}{{{Bn{D`}}}{{Al{cCl}}}{}}{{Db{Bn{D`}}}{{Al{cCl}}}{}}{{Dbc}{{Al{eCl}}}Cn{}}{Afc{}}0{AfAh}{{Ehc}Ah{DfDh}}{{EhEh}Ch}{{ce}Ch{}{}}0000{{EhDn}E`}{cc{}}{ce{}{}}0{{}Af}1{EhAf}{{c{Bn{D`}}}{{Aj{D`}}}{}}{c{{Al{e}}}{}{}}0{cAn{}}555``5555{{{Aj{{b{ce}}}}}Ejfh}{{{El{ceg}}}{{En{{Cf{ci}}}}}F`{{Fb{c}}}{FdFf}{}}>>>>==8877776677{{FhCh{Fj{e}}g}{{En{{El{ceg}}}}}F`{{Fb{c}}}{FdFf}}444433888888``````{{cCj}Ah{}}9999{{{Fl{c}}{Bn{Bl}}{Bn{Bl}}{Bn{Bl}}{Bn{Bl}}}{{Al{C`e}}}{BjFn}{}}{{A`{b{c{Fn{}{{Bh{e}}}}}}Ab}Ah{}{G`Gb}}{{A`{Aj{{b{c{Fl{e}}}}}}Ab}AhGd{BjFn}}{{}c{}}{{{Fl{c}}}{{Fl{c}}}Gd}{{ce}Ah{}{}}{{A`{Cf{{b{c{Fn{}{{Bh{e}}}}}}Cd}}}{{b{c{Fn{}{{Bh{e}}}}}}}f{G`Gb}}{{A`{Aj{{Cf{{b{c{Fl{e}}}}Cd}}}}}{{Aj{{b{c{Fl{e}}}}}}}f{BjFn}}{c{{Al{{Fl{e}}Cl}}}CnGf}{{{Bn{D`}}}{{Al{cCl}}}{}}{{Db{Bn{D`}}}{{Al{cCl}}}{}}{{Dbc}{{Al{eCl}}}Cn{}}{{}{{Fl{c}}}Gh}{Afc{}}{{{Gj{c}}}e{}{}}111{c{{Al{{Fl{e}}}}}DdGl}{AfAh}0{{{Fl{c}}}{{Aj{D`}}}G`}{{{Fl{c}}e}AhG`{DfDh}}{{{Fl{c}}{Fl{c}}}ChGn}{{ce}Ch{}{}}0000{{{Fl{c}}Dn}E`Cb}{cc{}}0{ce{}{}}000{{}{{Aj{{b{c{Fn{}{{Bh{e}}}}}}}}}f{G`Gb}}{{}{{Aj{{b{c{Fl{e}}}}}}}f{BjFn}}{{}Af}033{cCh{}}{{{Fl{c}}}Ch{BjFn}}{{{Gj{c}}A`}{{Hd{{Hb{H`}}}}}F`}{{{Fl{c}}e}AlHfEb}{{{Fl{c}}}AfG`}{{c{Bn{D`}}}{{Aj{D`}}}{}}9{c{{Al{e}}}{}{}}0{{{Gj{c}}Hh{Bn{D`}}}{{Hd{{Hb{H`}}}}}F`}11{cAn{}}0{{}Ef}===={{{Fl{c}}g}eG`{}{{Hl{{Bn{D`}}}{{Hj{e}}}}}}>>`````{HnI`}``````````````````````{{cCj}Ah{}}0000{ce{}{}}00000000000`{{}c{}}0{IbIb}{{{b{ce}}}{{b{ce}}}GdGd}{IdId}{IfIf}{{{Ih{c}}}{{Ih{c}}}Gd}{{ce}Ah{}{}}0000{c{{Al{IbCl}}}Cn}{c{{Al{{b{eg}}Cl}}}CnGfGf}{c{{Al{IdCl}}}Cn}{c{{Al{IfCl}}}Cn}{c{{Al{{Ih{e}}Cl}}}CnGf}{{{Bn{D`}}}{{Al{cCl}}}{}}0000{{Db{Bn{D`}}}{{Al{cCl}}}{}}0000{{Dbc}{{Al{eCl}}}Cn{}}0000{{}{{b{ce}}}GhGh}{{}If}{Afc{}}00000000000{c{{Al{Ib}}}Dd}{c{{Al{{b{eg}}}}}DdGlGl}{c{{Al{Id}}}Dd}{c{{Al{If}}}Dd}{c{{Al{{Ih{e}}}}}DdGl}`{AfAh}00000{{Ibc}Ah{DfDh}}{{{b{ce}}g}AhG`G`{DfDh}}{{Idc}Ah{DfDh}}{{Ifc}Ah{DfDh}}{{{Ih{c}}e}AhG`{DfDh}}{{IbIb}Ch}{{{b{ce}}{b{ce}}}ChGnGn}{{IdId}Ch}{{IfIf}Ch}{{{Bf{c}}{Bf{c}}}ChGn}{{{Ih{c}}{Ih{c}}}ChGn}{{ce}Ch{}{}}00000000000000000000000000000```{{IbDn}E`}{{{b{ce}}Dn}E`CbCb}{{IdDn}E`}{{IfDn}E`}{{{Bf{c}}Dn}E`Cb}{{{Ih{c}}Dn}E`Cb}{cc{}}0000{{{Cf{cg}}}{{Ih{e}}}{{Ij{Bl}}}{}{{Ij{e}}}}1{Bl{{Ih{c}}}Gh}{ce{}{}}00000000000```{{}Af}00000`111111{cCh{}}0{{{b{ce}}}{{Il{Ch}}}{Inf}{Inh}}{{{b{ce}}{Il{g}}}{{Il{{b{ce}}}}}{Inf}{Inh}{}}```````{{Ibc}AlEb}{{{b{ce}}g}AlHfHfEb}{{Idc}AlEb}{{Ifc}AlEb}{{{Ih{c}}e}AlHfEb}{IbAf}{IdAf}{IfAf}{{{Ih{c}}}AfG`}`{{c{Bn{D`}}}{{Aj{D`}}}{}}0000>>>>>{{{b{ce}}}{{b{cg}}}GdGd{{J`{e}}}}{c{{Al{e}}}{}{}}00000000000`{cAn{}}00000{{}Ef}0000{ce{}{}}00000000000`000000`00{Ib{{Il{{Ih{c}}}}}f}{Afc{}}0{AfAh}{cc{}}44{{}Af}54{{Ib{Ih{c}}}Ahf}998666``````````{{cCj}Ah{}}00000007777777777777777{{}c{}}0{JbJb}{JdJd}{JfJf}{JhJh}{JjJj}{JlJl}{JnJn}{K`K`}{{ce}Ah{}{}}0000000{c{{Al{JbCl}}}Cn}{c{{Al{JdCl}}}Cn}{c{{Al{JfCl}}}Cn}{c{{Al{JhCl}}}Cn}{c{{Al{JjCl}}}Cn}{c{{Al{JlCl}}}Cn}{c{{Al{JnCl}}}Cn}{c{{Al{K`Cl}}}Cn}{{{Bn{D`}}}{{Al{cCl}}}{}}0000000{{Db{Bn{D`}}}{{Al{cCl}}}{}}0000000{{Dbc}{{Al{eCl}}}Cn{}}0000000{{}Jl}{{}Jn}{Afc{}}000000000000000{c{{Al{Jb}}}Dd}{c{{Al{Jd}}}Dd}{c{{Al{Jf}}}Dd}{c{{Al{Jh}}}Dd}{c{{Al{Jj}}}Dd}{c{{Al{Jl}}}Dd}{c{{Al{Jn}}}Dd}{c{{Al{K`}}}Dd}{AfAh}0000000{Jb{{Aj{D`}}}}{Jd{{Aj{D`}}}}{Jh{{Aj{D`}}}}{Jj{{Aj{D`}}}}{K`{{Aj{D`}}}}{{Jbc}Ah{DfDh}}{{Jdc}Ah{DfDh}}{{Jfc}Ah{DfDh}}{{Jhc}Ah{DfDh}}{{Jjc}Ah{DfDh}}{{Jlc}Ah{DfDh}}{{Jnc}Ah{DfDh}}{{K`c}Ah{DfDh}}{{JbJb}Ch}{{JdJd}Ch}{{JfJf}Ch}{{JhJh}Ch}{{JjJj}Ch}{{JlJl}Ch}{{JnJn}Ch}{{K`K`}Ch}{{ce}Ch{}{}}000000000000000000000000000000000000000{{JbDn}E`}{{JdDn}E`}{{JfDn}E`}{{JhDn}E`}{{JjDn}E`}{{JlDn}E`}{{JnDn}E`}{{K`Dn}E`}{cc{}}0000000{ce{}{}}000000000000000{JfCh}`{{}Af}000000022222222{cCh{}}0{{D`{Aj{Cd}}}Jf}{cJh{{Ij{Cd}}}}{{{Aj{D`}}}Jd}{{}{{Il{{f{}{{Kb{c}}}}}}}{CbG`Gf}}{{}{{Il{Jd}}}}{{}{{Il{Jf}}}}{{}{{Il{Jh}}}}{{}{{Il{Jj}}}}{{}{{Il{Jn}}}}{{}{{Il{K`}}}}``{{Jbc}AlEb}{{Jdc}AlEb}{{Jfc}AlEb}{{Jhc}AlEb}{{Jjc}AlEb}{{Jlc}AlEb}{{Jnc}AlEb}{{K`c}AlEb}`{JbAf}{JdAf}{JfAf}{JhAf}{JjAf}{JlAf}{JnAf}{K`Af}`{{c{Bn{D`}}}{{Aj{D`}}}{}}0000000{ce{}{}}0000000{c{{Al{e}}}{}{}}000000000000000{cAn{}}0000000{{}Ef}00000003333333333333333`{{Jbe}c{}{{Hl{{Bn{D`}}}{{Hj{c}}}}}}{{Jde}c{}{{Hl{{Bn{D`}}}{{Hj{c}}}}}}{{Jhe}c{}{{Hl{{Bn{D`}}}{{Hj{c}}}}}}{{Jje}c{}{{Hl{{Bn{D`}}}{{Hj{c}}}}}}{{K`e}c{}{{Hl{{Bn{D`}}}{{Hj{c}}}}}}`{{{f{}{{Kb{c}}}}{Bn{D`}}Dbc}Ch{CbG`Gf}}{{Jb{Bn{D`}}DbAh}Ch}{{Jd{Bn{D`}}Dbc}Ch{}}{{Jf{Bn{D`}}Db{Aj{`}}}Ch}{{Jh{Bn{D`}}DbKd}Ch}{{Jj{Bn{D`}}Dbc}Ch{}}{{Jl{Bn{D`}}DbAh}Ch}{{Jn{Bn{D`}}DbAh}Ch}{{K`{Bn{D`}}DbAh}Ch}{ce{}{}}0000000","D":"AI`","p":[[5,"Transaction",278],[8,"ApplyExtrinsicResult",906],[10,"Verifier",557],[10,"ConstraintChecker",46],[8,"DispatchResult",278],[8,"BlockNumber",278],[8,"Block",278],[5,"InherentData",907],[5,"CheckInherentsResult",907],[8,"Header",278],[1,"usize"],[1,"unit"],[5,"Vec",908],[6,"Result",909],[5,"TypeId",910],[6,"TransactionSource",911],[8,"TransactionValidity",911],[5,"ValidTransaction",911],[6,"UtxoError",278],[17,"Error"],[10,"SimpleConstraintChecker",46],[5,"DynamicallyTypedData",56],[1,"slice"],[8,"TransactionPriority",911],[10,"Debug",912],[5,"H256",913],[1,"tuple"],[1,"bool"],[5,"Private",914],[5,"Error",915],[10,"Input",916],[1,"u8"],[1,"u32"],[10,"Deserializer",917],[10,"Output",916],[10,"Sized",918],[6,"DynamicTypingError",56],[10,"UtxoData",56],[5,"Formatter",912],[8,"Result",912],[10,"Serializer",919],[5,"String",920],[5,"Type",921],[5,"Bogus",129],[8,"Result",922],[5,"TuxedoGenesisBlockBuilder",160],[8,"Result",923],[10,"Block",924],[10,"Backend",925],[10,"RuntimeVersionOf",926],[10,"CodeExecutor",927],[10,"BuildStorage",906],[5,"Arc",928],[5,"InherentAdapter",197],[10,"InherentHooks",197],[10,"Encode",916],[10,"IsFatalError",907],[10,"Clone",929],[10,"Decode",916],[10,"Default",930],[5,"ParentBlockInherentDataProvider",197],[10,"Deserialize",917],[10,"PartialEq",931],[10,"Future",932],[5,"Box",933],[5,"Pin",934],[10,"Serialize",919],[8,"InherentIdentifier",907],[17,"Output"],[10,"FnOnce",935],[10,"Cash",275],[1,"u128"],[5,"OutputRef",278],[5,"Input",278],[6,"RedemptionStrategy",278],[5,"Output",278],[10,"Into",936],[6,"Option",937],[10,"TypeInfo",938],[10,"From",936],[5,"TimeLock",557],[5,"BlakeTwoHashLock",557],[5,"ThresholdMultiSignature",557],[5,"Sr25519Signature",557],[5,"P2PKH",557],[5,"UpForGrabs",557],[5,"Unspendable",557],[5,"TestVerifier",557],[17,"Redeemer"],[5,"Signature",939],[5,"Executive",0],[5,"TuxedoGenesisConfigBuilder",160],[8,"OpaqueBlock",278],[5,"TransparentUtxoSet",537]],"b":[[96,"impl-Display-for-DynamicTypingError"],[97,"impl-Debug-for-DynamicTypingError"],[431,"impl-From%3C(P,+V1)%3E-for-Output%3CV%3E"],[433,"impl-From%3CDynamicallyTypedData%3E-for-Output%3CV%3E"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAMICOAABAAAAAwADAAgAAAALAAMAEAACABUAAAAbAAAAHQAAAB8AAAAiAAEAJgAAACgAAQArAAAALgAAAD8AHwBgAAMAagABAG4AEwCDABAAlwAAAJkADQCpAAUAtQABALkADgDMAAUA0wADANgAFgD2AAIA+wAVAB4BAAArAQAALQEQAD8BMgBzAS4ApQEFALABAACyAQAAwgEFAM8BAwDXAQAA2gEIAOQBCQDvAQsA/AEgAB4CAgAkAgAAKAIFADMCAAA4ArAAAQMJABMDAgAXAwAAGQMPACoDBwAzA0UAewMPAA=="}],\ +["tuxedo_parachain_core",{"t":"KGKKFGKNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNMQMNNNNNNNNNNNENNNNNNNNNNNNNNNNN","n":["GetRelayParentNumberStorage","MockRelayParentNumberStorage","ParachainConstraintChecker","ParachainExecutiveExtension","ParachainInherentDataUtxo","RelayParentNumberStorage","SetRelayParentNumberStorage","__clone_box","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","collect_collation_info","decode","decode_all","decode_all_with_depth_limit","decode_with_depth_limit","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","encode","encode_as","encode_to","fmt","from","from","from","from","from_mut","from_mut","from_mut","from_ref","from_ref","from_ref","get","get","init","init","init","into","into","into","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","is_parachain","parachainify","set","set","set","size_hint","to_keyed_vec","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","tuxedo_core","type_id","type_id","type_id","type_info","type_name","type_name","type_name","unchecked_into","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","using_encoded","vzip","vzip","vzip"],"q":[[0,"tuxedo_parachain_core"],[93,"dyn_clone::sealed"],[94,"tuxedo_core::types"],[95,"cumulus_primitives_core"],[96,"parity_scale_codec::error"],[97,"core::result"],[98,"parity_scale_codec::codec"],[99,"alloc::vec"],[100,"parity_scale_codec::codec"],[101,"core::fmt"],[102,"core::fmt"],[103,"alloc::boxed"],[104,"core::any"],[105,"alloc::sync"],[106,"alloc::rc"],[107,"core::any"],[108,"core::ops::function"]],"i":[0,0,0,0,0,0,0,3,30,31,3,30,31,3,3,3,32,3,3,3,3,30,31,3,30,31,3,30,31,3,3,3,3,3,30,31,3,3,30,31,3,30,31,3,33,30,30,31,3,30,31,3,30,31,3,30,31,3,30,31,3,23,0,34,30,31,3,3,3,30,31,3,30,31,3,0,30,31,3,3,30,31,3,30,31,3,30,31,3,3,30,31,3],"f":"```````{{cb}d{}}{ce{}{}}00000{ff}{{ce}d{}{}}{hj}{c{{n{fl}}}A`}{{{Ad{Ab}}}{{n{cl}}}{}}{{Af{Ad{Ab}}}{{n{cl}}}{}}{{Afc}{{n{el}}}A`{}}{Ahc{}}00000{Ahd}00{f{{Aj{Ab}}}}{c{{Aj{Ab}}}{}}{{fc}d{AlAn}}{{fB`}Bb}{cc{}}0{Bdf}1??????{{}Af}0{{}Ah}00{ce{}{}}00{{{Bf{c}}}{{Bf{Bh}}}{}}00{{{Bj{c}}}{{Bj{Bh}}}{}}00{{{Bl{c}}}{{Bl{Bh}}}{}}00{BnC`}`{Afd}00{fAh}{{c{Ad{Ab}}}{{Aj{Ab}}}{}}7{c{{n{e}}}{}{}}00000`{cCb{}}00{{}Cd}{cCf{}}00;;;;;;{{fe}c{}{{Cj{{Ad{Ab}}}{{Ch{c}}}}}}<<<","D":"Bl","p":[[5,"Private",93],[1,"unit"],[5,"ParachainInherentDataUtxo",0],[8,"Header",94],[5,"CollationInfo",95],[5,"Error",96],[6,"Result",97],[10,"Input",98],[1,"u8"],[1,"slice"],[1,"u32"],[1,"usize"],[5,"Vec",99],[10,"Output",98],[10,"Sized",100],[5,"Formatter",101],[8,"Result",101],[5,"ParachainInherentData",102],[5,"Box",103],[10,"Any",104],[5,"Arc",105],[5,"Rc",106],[10,"ParachainConstraintChecker",0],[1,"bool"],[5,"TypeId",104],[5,"Type",107],[1,"str"],[17,"Output"],[10,"FnOnce",108],[6,"RelayParentNumberStorage",0],[6,"MockRelayParentNumberStorage",0],[10,"ParachainExecutiveExtension",0],[10,"GetRelayParentNumberStorage",0],[10,"SetRelayParentNumberStorage",0]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAEcABgAIABoAJQAAAC0ABAA1AAkAQAALAE0AEAA="}],\ +["tuxedo_parachain_runtime",{"t":"PPPIIPPPGPGGGPPPPPFFFFPPPPIPSSSNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNONNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNCOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHEHHFFFNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["AmoebaCreation","AmoebaDeath","AmoebaMitosis","Block","Executive","FreeKittyConstraintChecker","Inner","Inner","InnerConstraintChecker","Money","OuterVerifier","ParachainConstraintChecker","ParachainConstraintCheckerError","ParachainInfo","ParachainInfo","PoeClaim","PoeDispute","PoeRevoke","Runtime","RuntimeApi","RuntimeApiImpl","RuntimeParachainConfig","RuntimeUpgrade","SetTimestamp","Sr25519Signature","ThresholdMultiSignature","Transaction","UpForGrabs","VERSION","WASM_BINARY","WASM_BINARY_BLOATY","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","api","api_version","apply_extrinsic","authorities","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build_config","check","check","check_inherents","check_inherents","check_inherents","checker","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","collect_collation_info","construct_runtime_api","create_default_config","create_inherents","create_inherents","decode","decode","decode","decode","decode_all","decode_all","decode_all","decode_all","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_session_keys","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","drop","drop","drop","drop","drop","drop","drop","drop","encode_as","encode_as","encode_as","encode_as","encode_to","encode_to","encode_to","encode_to","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","execute_block","execute_in_transaction","extract_proof","extrinsics","finalize_block","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_mut","from_mut","from_mut","from_mut","from_mut","from_mut","from_mut","from_mut","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","generate_session_keys","genesis","genesis_transactions","genesis_transactions","has_api","has_api_with","header","inherent_extrinsics","init","init","init","init","init","init","init","init","initialize_block","inputs","into","into","into","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_storage_changes","is_inherent","is_inherent","is_parachain","metadata","metadata_at_version","metadata_versions","native_version","new_unspendable","opaque","outputs","peeks","proof_recorder","record_proof","register_extension","serialize","serialize","serialize","set_call_context","size_hint","size_hint","size_hint","size_hint","slot_duration","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_info","type_info","type_info","type_info","type_name","type_name","type_name","type_name","type_name","type_name","type_name","type_name","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","validate_transaction","verify","version","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","dispatch","WASM_BINARY","development_genesis_config","development_genesis_transactions","AuraAppPublic","GrandpaAppPublic","SessionKeys","__clone_box","aura","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","decode","decode_all","decode_all_with_depth_limit","decode_into_raw_public_keys","decode_with_depth_limit","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","drop","drop","drop","encode_as","encode_to","eq","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","from","from","from","from_mut","from_mut","from_mut","from_ref","from_ref","from_ref","generate","get_raw","grandpa","init","init","init","into","into","into","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_raw_public_keys","key_ids","serialize","size_hint","to_keyed_vec","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","type_info","type_name","type_name","type_name","unchecked_into","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","vzip","vzip","vzip"],"q":[[0,"tuxedo_parachain_runtime"],[354,"tuxedo_parachain_runtime::api"],[355,"tuxedo_parachain_runtime::genesis"],[358,"tuxedo_parachain_runtime::opaque"],[450,"dyn_clone::sealed"],[451,"core::option"],[452,"sp_api"],[453,"core::result"],[454,"sp_runtime::traits"],[455,"sp_api"],[456,"sp_consensus_aura::sr25519"],[457,"alloc::vec"],[458,"sp_genesis_builder"],[459,"tuxedo_core::dynamic_typing"],[460,"sp_runtime::transaction_validity"],[461,"sp_inherents"],[462,"tuxedo_core::types"],[463,"sp_inherents"],[464,"cumulus_primitives_core"],[465,"sp_api"],[466,"parity_scale_codec::error"],[467,"parity_scale_codec::codec"],[468,"sp_core::crypto"],[469,"serde::de"],[470,"parity_scale_codec::codec"],[471,"sp_runtime"],[472,"sp_trie::storage_proof"],[473,"core::fmt"],[474,"core::fmt"],[475,"tuxedo_core::inherents"],[476,"tuxedo_core::verifier"],[477,"tuxedo_core::verifier::simple_signature"],[478,"poe"],[479,"amoeba"],[480,"runtime_upgrade"],[481,"amoeba"],[482,"timestamp"],[483,"poe"],[484,"money"],[485,"core::ops::function"],[486,"core::any"],[487,"alloc::sync"],[488,"alloc::rc"],[489,"sp_api"],[490,"sp_runtime::traits"],[491,"sp_core"],[492,"sp_version"],[493,"sp_api"],[494,"serde::ser"],[495,"sp_core::traits"],[496,"sp_consensus_slots"],[497,"core::any"],[498,"sp_runtime::transaction_validity"]],"i":[19,19,19,0,0,19,15,47,0,19,0,0,0,15,47,19,19,19,0,0,0,0,19,19,28,28,0,28,0,0,0,26,15,27,28,19,0,3,27,27,26,15,47,27,90,3,28,19,26,15,47,27,90,3,28,19,27,15,19,15,27,19,88,26,15,27,28,19,26,15,27,28,19,27,90,27,15,19,15,27,28,19,15,27,28,19,15,27,28,19,27,15,27,28,19,26,15,47,27,90,3,28,19,26,15,47,27,90,3,28,19,15,28,19,26,15,47,27,90,3,28,19,15,27,28,19,15,27,28,19,26,15,27,28,19,26,26,26,26,26,15,15,15,15,15,27,27,27,27,27,28,28,28,28,28,19,19,19,19,19,27,3,3,25,27,15,47,28,19,26,15,15,15,47,27,90,3,28,28,28,28,19,19,19,19,19,19,19,19,19,19,19,19,26,15,47,27,90,3,28,19,26,15,47,27,90,3,28,19,27,0,15,19,3,3,25,27,26,15,47,27,90,3,28,19,27,88,26,15,47,27,90,3,28,19,26,15,47,27,90,3,28,19,26,15,47,27,90,28,19,26,15,47,27,90,3,28,19,3,15,19,15,27,27,27,0,28,0,88,88,3,3,3,15,28,19,3,15,27,28,19,27,15,27,28,19,26,15,27,28,19,26,15,47,27,90,3,28,19,26,15,47,27,90,3,28,19,26,15,47,27,90,3,28,19,15,27,28,19,26,15,47,27,90,3,28,19,26,15,47,27,90,3,28,19,26,15,47,27,90,3,28,19,27,28,27,26,15,47,27,90,3,28,19,0,0,0,0,0,0,0,89,89,91,92,89,91,92,89,89,89,89,89,89,89,89,91,92,89,91,92,89,89,91,92,89,89,89,89,89,89,89,89,89,89,91,92,89,91,92,89,91,92,89,89,89,89,91,92,89,91,92,89,91,92,89,91,92,89,91,92,89,89,89,89,89,89,89,91,92,89,91,92,89,91,92,89,89,91,92,89,91,92,89,91,92,89,91,92,89],"f":"```````````````````````````````{{cb}d{}}0000`{{{f{ce}}}{{n{{j{h}}l}}}A`{{Ab{c}}}}{{}Ad}{{}{{Ah{Af}}}}{ce{}{}}000000000000000{{{Ah{Aj}}}Al}{{An{Bb{B`}}{Bb{B`}}{Bb{B`}}{Bb{B`}}}{{n{Bdc}}}{}}{{Bf{Bb{B`}}{Bb{B`}}{Bb{B`}}{Bb{B`}}}{{n{Bh}}}}{{Bj{Ah{{Bl{cAn}}}}Bn}dC`}{{CbBj}Bn}{{Bj{Ah{{Bl{cBf}}}}Bn}dC`}`{CdCd}{AnAn}{CfCf}{ChCh}{BfBf}{{ce}d{}{}}0000{{}Cj}{e{{Cl{g}}}A`{{Ab{c}}}{}}{{}{{Ah{Aj}}}}{{Bj{Ah{{D`{{Bl{cAn}}Cn}}}}}{{Ah{{Bl{cAn}}}}}C`}{{Bj{Ah{{D`{{Bl{cBf}}Cn}}}}}{{Ah{{Bl{cBf}}}}}C`}{c{{n{AnDb}}}Dd}{c{{n{CfDb}}}Dd}{c{{n{ChDb}}}Dd}{c{{n{BfDb}}}Dd}{{{Bb{Aj}}}{{n{cDb}}}{}}000{{h{Bb{Aj}}}{{n{cDb}}}{}}000{{{Ah{Aj}}}{{j{{Ah{{D`{{Ah{Aj}}Df}}}}}}}}{{hc}{{n{eDb}}}Dd{}}000{Dhc{}}000000000000000{c{{n{An}}}Dj}{c{{n{Ch}}}Dj}{c{{n{Bf}}}Dj}{Dhd}0000000{c{{Ah{Aj}}}{}}000{{Anc}d{DlDn}}{{Cfc}d{DlDn}}{{Chc}d{DlDn}}{{Bfc}d{DlDn}}{{CdCd}E`}{{AnAn}E`}{{CfCf}E`}{{ChCh}E`}{{BfBf}E`}{{ce}E`{}{}}000000000000000000000000{Cbd}{{{f{ce}}i}gA`{{Ab{c}}}{}{{Ef{{f{ce}}}{{Eb{{Ed{g}}}}}}}}{{{f{ce}}}{{j{Eh}}}A`{{Ab{c}}}}`{{}}{{AnEj}El}{{EnEj}El}{{ChEj}{{n{dF`}}}}{{BfEj}{{n{dF`}}}}{cc{}}0{BfAn}{{{Fd{{Fb{Cd}}}}}An}22222{FfCh}{FhCh}{FjCh}5{FlBf}{FnBf}{G`Bf}{GbBf}{AnBf}{{{Fd{{Gf{Gd}}}}}Bf}{{{Gh{Gd}}}Bf}{GjBf}{GlBf}{GnBf}{H`Bf}{ce{}{}}000000000000000{{{j{{Ah{Aj}}}}}{{Ah{Aj}}}}`{{}{{Ah{{Bl{cAn}}}}}C`}{{}{{Ah{{Bl{cBf}}}}}C`}{{{f{ce}}}{{n{E`l}}}A`{{Ab{c}}}}{{{f{ce}}g}{{n{E`l}}}A`{{Ab{c}}}{{Hb{h}{{Eb{E`}}}}}}`{BjAh}{{}Dh}0000000{{}d}`88888888{{{Hd{c}}}{{Hd{Hf}}}{}}0000000{{{Hh{c}}}{{Hh{Hf}}}{}}000000{{{Hj{c}}}{{Hj{Hf}}}{}}0000000{{{f{ce}}g}{{n{{Hl{c}}Hn}}}A`{{Ab{c}}}{{Ib{{I`{c}}}}}}{AnE`}{BfE`}1{{}Id}{h{{j{Id}}}}{{}{{Ah{h}}}}{{}If}{{}{{j{Ch}}}}```{{{f{ce}}}{{j{{Ih{c}}}}}A`{{Ab{c}}}}{{{f{ce}}}dA`{{Ab{c}}}}{{{f{ce}}g}dA`{{Ab{c}}}Ij}{{Anc}nIl}{{Chc}nIl}{{Bfc}nIl}{{{f{ce}}In}dA`{{Ab{c}}}}{AnDh}{CfDh}{ChDh}{BfDh}{{}J`}{{c{Bb{Aj}}}{{Ah{Aj}}}{}}000{ce{}{}}0000{c{{n{e}}}{}{}}000000000000000{cJb{}}0000000{{}Jd}000{cJf{}}00000004444444444444444{JhJj}{{Ch{Bb{Aj}}h}E`}{{}Jl}77777777{{Jf{Bb{Aj}}}{{j{{Ah{Aj}}}}}}`{{}Jn}{{}{{Ah{K`}}}}```{{cb}d{}}`;;;;;;{KbKb}{{ce}d{}{}}{c{{n{KbDb}}}Dd}{{{Bb{Aj}}}{{n{cDb}}}{}}{{h{Bb{Aj}}}{{n{cDb}}}{}}{{{Bb{Aj}}}{{j{{Ah{{D`{{Ah{Aj}}Df}}}}}}}}{{hc}{{n{eDb}}}Dd{}}{Dhc{}}00000{c{{n{Kb}}}Dj}{Dhd}00{c{{Ah{Aj}}}{}}{{Kbc}d{DlDn}}{{KbKb}E`}{{ce}E`{}{}}0000{{KbEj}{{n{dF`}}}}{cc{}}00{ce{}{}}00000{{{j{{Ah{Aj}}}}}{{Ah{Aj}}}}{{KbDf}{{Bb{Aj}}}}`{{}Dh}00333{{{Hd{c}}}{{Hd{Hf}}}{}}00{{{Hh{c}}}{{Hh{Hf}}}{}}00{{{Hj{c}}}{{Hj{Hf}}}{}}00{Kb{{Ah{{D`{{Ah{Aj}}Df}}}}}}{{}{{Bb{Df}}}}{{Kbc}nIl}{KbDh}{{c{Bb{Aj}}}{{Ah{Aj}}}{}};{c{{n{e}}}{}{}}00000{cJb{}}00{{}Jd}{cJf{}}00?????????","D":"Ih","p":[[5,"Private",450],[1,"unit"],[5,"RuntimeApiImpl",0],[1,"u32"],[6,"Option",451],[6,"ApiError",452],[6,"Result",453],[10,"Block",454],[10,"CallApiAt",452],[8,"ApplyExtrinsicResult",455],[8,"AuthorityId",456],[5,"Vec",457],[1,"u8"],[8,"Result",458],[6,"ParachainConstraintChecker",0],[5,"DynamicallyTypedData",459],[1,"slice"],[8,"TransactionPriority",460],[6,"InnerConstraintChecker",0],[1,"u64"],[5,"InherentData",461],[5,"Transaction",462],[5,"CheckInherentsResult",461],[10,"Verifier",463],[8,"Block",0],[5,"RuntimeParachainConfig",0],[5,"Runtime",0],[6,"OuterVerifier",0],[5,"CollationInfo",464],[5,"ApiRef",452],[5,"H256",465],[1,"tuple"],[5,"Error",466],[10,"Input",467],[5,"KeyTypeId",468],[1,"usize"],[10,"Deserializer",469],[10,"Output",467],[10,"Sized",470],[1,"bool"],[17,"Output"],[6,"TransactionOutcome",455],[10,"FnOnce",471],[5,"StorageProof",472],[5,"Formatter",473],[8,"Result",473],[6,"ParachainConstraintCheckerError",0],[5,"Error",473],[5,"SetParachainInfo",474],[5,"InherentAdapter",475],[5,"UpForGrabs",463],[5,"ThresholdMultiSignature",476],[5,"Sr25519Signature",477],[5,"PoeDispute",478],[5,"AmoebaCreation",479],[5,"RuntimeUpgrade",480],[5,"AmoebaMitosis",479],[5,"Runtime",481],[5,"SetTimestamp",482],[5,"PoeClaim",478],[5,"AmoebaDeath",479],[5,"PoeRevoke",478],[5,"FreeKittyConstraintChecker",483],[6,"MoneyConstraintChecker",484],[10,"Fn",471],[5,"Box",485],[10,"Any",486],[5,"Arc",487],[5,"Rc",488],[8,"StorageChanges",452],[5,"String",489],[8,"HashingFor",454],[10,"Backend",490],[5,"OpaqueMetadata",491],[5,"NativeVersion",492],[8,"ProofRecorder",452],[10,"Extension",493],[10,"Serializer",494],[6,"CallContext",495],[5,"SlotDuration",496],[5,"TypeId",486],[5,"Type",497],[1,"str"],[6,"TransactionSource",460],[8,"TransactionValidity",460],[5,"RuntimeVersion",492],[6,"Value",498],[8,"Transaction",0],[5,"SessionKeys",358],[5,"RuntimeApi",0],[5,"AuraAppPublic",358],[5,"GrandpaAppPublic",358]],"b":[[171,"impl-From%3COuterConstraintChecker%3E-for-ParachainConstraintChecker"],[172,"impl-From%3CInherentAdapter%3CSetParachainInfo%3CRuntimeParachainConfig%3E%3E%3E-for-ParachainConstraintChecker"],[178,"impl-From%3CUpForGrabs%3E-for-OuterVerifier"],[179,"impl-From%3CThresholdMultiSignature%3E-for-OuterVerifier"],[180,"impl-From%3CSr25519Signature%3E-for-OuterVerifier"],[182,"impl-From%3CPoeDispute%3E-for-OuterConstraintChecker"],[183,"impl-From%3CAmoebaCreation%3E-for-OuterConstraintChecker"],[184,"impl-From%3CRuntimeUpgrade%3E-for-OuterConstraintChecker"],[185,"impl-From%3CAmoebaMitosis%3E-for-OuterConstraintChecker"],[186,"impl-From%3CParachainConstraintChecker%3E-for-OuterConstraintChecker"],[187,"impl-From%3CInherentAdapter%3CSetTimestamp%3CRuntime%3E%3E%3E-for-OuterConstraintChecker"],[188,"impl-From%3CPoeClaim%3CRuntime%3E%3E-for-OuterConstraintChecker"],[189,"impl-From%3CAmoebaDeath%3E-for-OuterConstraintChecker"],[190,"impl-From%3CPoeRevoke%3E-for-OuterConstraintChecker"],[191,"impl-From%3CFreeKittyConstraintChecker%3E-for-OuterConstraintChecker"],[192,"impl-From%3CMoneyConstraintChecker%3C0%3E%3E-for-OuterConstraintChecker"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAHYBFgAEAAEACAAAAA8AAAAUAAAAFgAAABkAAwAeACAAQABjAKUABACsAAEAswACALcACgDSAAAA1AADANkACQDsAB0ACwEAAA8BZwB4ARMAlgEEAJ4BCACoARoA"}],\ +["tuxedo_parachainify",{"t":"Q","n":["parachainify"],"q":[[0,"tuxedo_parachainify"]],"i":[0],"f":"`","D":"b","p":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAAAEAAAAAEA"}],\ +["tuxedo_template_runtime",{"t":"PPPPPPIIPPPPGGGGIPPPPPPFFFPPPPPPPPIPPSSSNNNECNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNONNNNNNNNNONNNNNNNNNENNNEHNCOOOENNNENNNNNNNNNENNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNHEHHFFFNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["AmoebaCreation","AmoebaCreation","AmoebaDeath","AmoebaDeath","AmoebaMitosis","AmoebaMitosis","Block","Executive","FreeKittyConstraintChecker","FreeKittyConstraintChecker","Money","Money","OuterConstraintChecker","OuterConstraintCheckerError","OuterVerifier","OuterVerifierRedeemer","Output","PoeClaim","PoeClaim","PoeDispute","PoeDispute","PoeRevoke","PoeRevoke","Runtime","RuntimeApi","RuntimeApiImpl","RuntimeUpgrade","RuntimeUpgrade","SetTimestamp","SetTimestamp","Sr25519Signature","Sr25519Signature","ThresholdMultiSignature","ThresholdMultiSignature","Transaction","UpForGrabs","UpForGrabs","VERSION","WASM_BINARY","WASM_BINARY_BLOATY","__clone_box","__clone_box","__clone_box","amoeba","api","api_version","apply_extrinsic","as_sr_25519_signature","as_threshold_multi_signature","as_up_for_grabs","authorities","block_height","block_height","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build_config","check","check_inherents","check_inherents","checker","clone","clone","clone","clone_into","clone_into","clone_into","construct_runtime_api","create_default_config","create_inherents","current_set_id","decode","decode","decode","decode","decode_all","decode_all","decode_all","decode_all","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_all_with_depth_limit","decode_session_keys","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","decode_with_depth_limit","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","drop","drop","drop","drop","drop","drop","drop","encode_to","encode_to","encode_to","encode_to","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","execute_block","execute_in_transaction","extract_proof","extrinsics","finalize_block","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_mut","from_mut","from_mut","from_mut","from_mut","from_mut","from_mut","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","generate_key_ownership_proof","generate_session_keys","genesis","genesis_transactions","grandpa_authorities","has_api","has_api_with","header","inherent_extrinsics","init","init","init","init","init","init","init","initialize_block","inputs","into","into","into","into","into","into","into","into_storage_changes","is_inherent","kitties","metadata","metadata_at_version","metadata_versions","money","native_version","new_unspendable","opaque","outputs","payload","peeks","poe","proof_recorder","record_proof","register_extension","runtime_upgrade","serialize","serialize","set_call_context","size_hint","size_hint","size_hint","size_hint","slot_duration","submit_report_equivocation_unsigned_extrinsic","timestamp","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_keyed_vec","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_info","type_info","type_info","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","validate_transaction","verifier","verify","version","vzip","vzip","vzip","vzip","vzip","vzip","vzip","dispatch","WASM_BINARY","development_genesis_config","development_genesis_transactions","AuraAppPublic","GrandpaAppPublic","SessionKeys","__clone_box","aura","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","decode","decode_all","decode_all_with_depth_limit","decode_into_raw_public_keys","decode_with_depth_limit","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","drop","drop","drop","encode_to","eq","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","from","from","from","from_mut","from_mut","from_mut","from_ref","from_ref","from_ref","generate","get_raw","grandpa","init","init","init","into","into","into","into_raw_public_keys","key_ids","serialize","size_hint","to_keyed_vec","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","type_info","unchecked_into","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","vzip","vzip","vzip"],"q":[[0,"tuxedo_template_runtime"],[296,"tuxedo_template_runtime::api"],[297,"tuxedo_template_runtime::genesis"],[300,"tuxedo_template_runtime::opaque"],[379,"dyn_clone::sealed"],[380,"core::option"],[381,"sp_api"],[382,"core::result"],[383,"sp_runtime::traits"],[384,"sp_api"],[385,"sp_consensus_aura::sr25519"],[386,"alloc::vec"],[387,"sp_genesis_builder"],[388,"tuxedo_core::dynamic_typing"],[389,"sp_runtime::transaction_validity"],[390,"sp_inherents"],[391,"tuxedo_core::types"],[392,"sp_inherents"],[393,"sp_api"],[394,"sp_consensus_grandpa"],[395,"parity_scale_codec::error"],[396,"parity_scale_codec::codec"],[397,"sp_core::crypto"],[398,"serde::de"],[399,"parity_scale_codec::codec"],[400,"sp_runtime"],[401,"sp_trie::storage_proof"],[402,"core::fmt"],[403,"core::fmt"],[404,"tuxedo_core::verifier"],[405,"amoeba"],[406,"poe"],[407,"poe"],[408,"tuxedo_core::inherents"],[409,"money"],[410,"runtime_upgrade"],[411,"kitties"],[412,"amoeba"],[413,"sp_runtime::traits"],[414,"sp_core"],[415,"sp_version"],[416,"sp_api"],[417,"serde::ser"],[418,"sp_core::traits"],[419,"sp_consensus_slots"],[420,"sp_runtime::traits"],[421,"scale_info::ty"],[422,"sp_runtime::transaction_validity"]],"i":[16,45,16,45,16,45,0,0,16,45,16,45,0,0,0,0,0,16,45,16,45,16,45,0,0,0,16,45,16,45,25,11,25,11,0,25,11,0,0,0,25,16,26,0,0,3,26,11,11,11,26,26,26,25,11,16,45,26,86,3,25,11,16,45,26,86,3,26,16,16,26,84,25,16,26,25,16,26,86,26,16,26,25,11,16,26,25,11,16,26,25,11,16,26,26,25,11,16,26,25,11,16,45,26,86,3,25,11,16,45,26,86,3,25,16,25,11,16,45,26,86,3,25,11,16,26,25,16,26,25,25,25,25,25,16,16,16,16,16,26,26,26,26,26,26,3,3,24,26,25,11,16,45,25,25,25,25,11,16,16,16,16,16,16,16,16,16,16,16,45,26,86,3,25,11,16,45,26,86,3,25,11,16,45,26,86,3,26,26,0,16,26,3,3,24,26,25,11,16,45,26,86,3,26,84,25,11,16,45,26,86,3,3,16,0,26,26,26,0,0,25,0,84,87,84,0,3,3,3,0,25,16,3,25,11,16,26,26,26,0,25,11,16,26,25,16,26,25,11,16,45,26,86,3,25,11,16,45,26,86,3,25,11,16,45,26,86,3,25,16,26,25,11,16,45,26,86,3,25,11,16,45,26,86,3,26,87,25,26,25,11,16,45,26,86,3,0,0,0,0,0,0,0,85,85,88,89,85,88,89,85,85,85,85,85,85,85,85,88,89,85,88,89,85,85,88,89,85,85,85,85,85,85,85,85,85,88,89,85,88,89,85,88,89,85,85,85,85,88,89,85,88,89,85,85,85,85,85,85,85,88,89,85,88,89,85,88,89,85,85,88,89,85,88,89,85,88,89,85],"f":"````````````````````````````````````````{{cb}d{}}00``{{{f{ce}}}{{n{{j{h}}l}}}A`{{Ab{c}}}}{{}Ad}{Afj}00{{}{{Aj{Ah}}}}{{}h}0{ce{}{}}0000000000000{{{Aj{Al}}}An}{{B`{Bd{Bb}}{Bd{Bb}}{Bd{Bb}}{Bd{Bb}}}{{n{Bfc}}}{}}{{Bh{Aj{{Bj{cB`}}}}Bl}dBn}{{C`Bh}Bl}`{CbCb}{B`B`}{CdCd}{{ce}d{}{}}00{e{{Cf{g}}}A`{{Ab{c}}}{}}{{}{{Aj{Al}}}}{{Bh{Aj{{Cj{{Bj{cB`}}Ch}}}}}{{Aj{{Bj{cB`}}}}}Bn}{{}Cl}{c{{n{CbCn}}}D`}{c{{n{AfCn}}}D`}{c{{n{B`Cn}}}D`}{c{{n{CdCn}}}D`}{{{Bd{Al}}}{{n{cCn}}}{}}000{{h{Bd{Al}}}{{n{cCn}}}{}}000{{{Aj{Al}}}{{j{{Aj{{Cj{{Aj{Al}}Db}}}}}}}}{{hc}{{n{eCn}}}D`{}}000{Ddc{}}0000000000000{c{{n{Cb}}}Df}{c{{n{B`}}}Df}{Ddd}000000{{Cbc}d{DhDj}}{{Afc}d{DhDj}}{{B`c}d{DhDj}}{{Cdc}d{DhDj}}{{CbCb}Dl}{{B`B`}Dl}{{CdCd}Dl}{{ce}Dl{}{}}00000000000000{C`d}{{{f{ce}}i}gA`{{Ab{c}}}{}{{Eb{{f{ce}}}{{Dn{{E`{g}}}}}}}}{{{f{ce}}}{{j{Ed}}}A`{{Ab{c}}}}`{{}}{{CbEf}Eh}{{AfEf}Eh}{{B`Ef}Eh}{{EjEf}Eh}{cc{}}{ElCb}{EnCb}{F`Cb}33{FbB`}{FdB`}{{{Ff{Cd}}}B`}{FhB`}{{{Fl{{Fj{Cd}}}}}B`}{FnB`}{G`B`}{GbB`}{GdB`}{GfB`}===={ce{}{}}0000000000000{{ClGh}{{j{Gj}}}}{{{j{{Aj{Al}}}}}{{Aj{Al}}}}`{{}{{Aj{{Bj{cB`}}}}}Bn}{{}Gl}{{{f{ce}}}{{n{Dll}}}A`{{Ab{c}}}}{{{f{ce}}g}{{n{Dll}}}A`{{Ab{c}}}{{Gn{h}{{Dn{Dl}}}}}}`{BhAj}{{}Dd}000000{{}d}`9999999{{{f{ce}}g}{{n{{H`{c}}Hb}}}A`{{Ab{c}}}{{Hf{{Hd{c}}}}}}{B`Dl}`{{}Hh}{h{{j{Hh}}}}{{}{{Aj{h}}}}`{{}Hj}{{}{{j{Cb}}}}`````{{{f{ce}}}{{j{{Hl{c}}}}}A`{{Ab{c}}}}{{{f{ce}}}dA`{{Ab{c}}}}{{{f{ce}}g}dA`{{Ab{c}}}Hn}`{{Cbc}nI`}{{B`c}nI`}{{{f{ce}}Ib}dA`{{Ab{c}}}}{CbDd}{AfDd}{B`Dd}{CdDd}{{}Id}{{{Ih{{If{C`}}}}Gj}{{j{d}}}}`{{c{Bd{Al}}}{{Aj{Al}}}{}}000{ce{}{}}00{c{{n{e}}}{}{}}0000000000000{cIj{}}000000{{}Il}0033333333333333{InJ`}`{{Cb{Bd{Al}}hc}Dl{}}{{}Jb}6666666{{Jd{Bd{Al}}}{{j{{Aj{Al}}}}}}`{{}Jf}{{}{{Aj{Jh}}}}```{{cb}d{}}`::::::{JjJj}{{ce}d{}{}}{c{{n{JjCn}}}D`}{{{Bd{Al}}}{{n{cCn}}}{}}{{h{Bd{Al}}}{{n{cCn}}}{}}{{{Bd{Al}}}{{j{{Aj{{Cj{{Aj{Al}}Db}}}}}}}}{{hc}{{n{eCn}}}D`{}}{Ddc{}}00000{c{{n{Jj}}}Df}{Ddd}00{{Jjc}d{DhDj}}{{JjJj}Dl}{{ce}Dl{}{}}0000{{JjEf}Eh}{cc{}}00{ce{}{}}00000{{{j{{Aj{Al}}}}}{{Aj{Al}}}}{{JjDb}{{Bd{Al}}}}`{{}Dd}00333{Jj{{Aj{{Cj{{Aj{Al}}Db}}}}}}{{}{{Bd{Db}}}}{{Jjc}nI`}{JjDd}{{c{Bd{Al}}}{{Aj{Al}}}{}}8{c{{n{e}}}{}{}}00000{cIj{}}00{{}Il};;;;;;;;;","D":"Hn","p":[[5,"Private",379],[1,"unit"],[5,"RuntimeApiImpl",0],[1,"u32"],[6,"Option",380],[6,"ApiError",381],[6,"Result",382],[10,"Block",383],[10,"CallApiAt",381],[8,"ApplyExtrinsicResult",384],[6,"OuterVerifierRedeemer",0],[8,"AuthorityId",385],[5,"Vec",386],[1,"u8"],[8,"Result",387],[6,"OuterConstraintChecker",0],[5,"DynamicallyTypedData",388],[1,"slice"],[8,"TransactionPriority",389],[5,"InherentData",390],[5,"Transaction",391],[5,"CheckInherentsResult",390],[10,"Verifier",392],[8,"Block",0],[6,"OuterVerifier",0],[5,"Runtime",0],[5,"ApiRef",381],[5,"H256",393],[1,"tuple"],[8,"SetId",394],[5,"Error",395],[10,"Input",396],[5,"KeyTypeId",397],[1,"usize"],[10,"Deserializer",398],[10,"Output",396],[10,"Sized",399],[1,"bool"],[17,"Output"],[6,"TransactionOutcome",384],[10,"FnOnce",400],[5,"StorageProof",401],[5,"Formatter",402],[8,"Result",402],[6,"OuterConstraintCheckerError",0],[5,"Sr25519Signature",403],[5,"UpForGrabs",392],[5,"ThresholdMultiSignature",404],[5,"AmoebaMitosis",405],[5,"PoeDispute",406],[5,"PoeClaim",406],[5,"PoeRevoke",406],[5,"SetTimestamp",407],[5,"InherentAdapter",408],[6,"MoneyConstraintChecker",409],[5,"RuntimeUpgrade",410],[5,"FreeKittyConstraintChecker",411],[5,"AmoebaCreation",405],[5,"AmoebaDeath",405],[8,"AuthorityId",394],[5,"OpaqueKeyOwnershipProof",394],[8,"AuthorityList",394],[10,"Fn",400],[8,"StorageChanges",381],[5,"String",412],[8,"HashingFor",383],[10,"Backend",413],[5,"OpaqueMetadata",414],[5,"NativeVersion",415],[8,"ProofRecorder",381],[10,"Extension",416],[10,"Serializer",417],[6,"CallContext",418],[5,"SlotDuration",419],[8,"NumberFor",383],[5,"EquivocationProof",394],[5,"TypeId",420],[5,"Type",421],[6,"TransactionSource",389],[8,"TransactionValidity",389],[5,"RuntimeVersion",415],[1,"str"],[6,"Value",422],[8,"Transaction",0],[5,"SessionKeys",300],[5,"RuntimeApi",0],[8,"Output",0],[5,"AuraAppPublic",300],[5,"GrandpaAppPublic",300]],"b":[[51,"impl-TimestampConfig-for-Runtime"],[52,"impl-PoeConfig-for-Runtime"],[154,"impl-From%3CSr25519Signature%3E-for-OuterVerifier"],[155,"impl-From%3CUpForGrabs%3E-for-OuterVerifier"],[156,"impl-From%3CThresholdMultiSignature%3E-for-OuterVerifier"],[159,"impl-From%3CAmoebaMitosis%3E-for-OuterConstraintChecker"],[160,"impl-From%3CPoeDispute%3E-for-OuterConstraintChecker"],[161,"impl-From%3CPoeClaim%3CRuntime%3E%3E-for-OuterConstraintChecker"],[162,"impl-From%3CPoeRevoke%3E-for-OuterConstraintChecker"],[163,"impl-From%3CInherentAdapter%3CSetTimestamp%3CRuntime%3E%3E%3E-for-OuterConstraintChecker"],[164,"impl-From%3CMoneyConstraintChecker%3C0%3E%3E-for-OuterConstraintChecker"],[165,"impl-From%3CRuntimeUpgrade%3E-for-OuterConstraintChecker"],[166,"impl-From%3CFreeKittyConstraintChecker%3E-for-OuterConstraintChecker"],[167,"impl-From%3CAmoebaCreation%3E-for-OuterConstraintChecker"],[168,"impl-From%3CAmoebaDeath%3E-for-OuterConstraintChecker"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAADQBHAACAAAABAAAAAYAAgAKAAAADAAAABEAAAATAAAAFQAAABcAAAAZAAAAHAAAAB4ABwAnACAASQBKAJUABACbAAIAoAAJALwAAQC/AAMAxAAIANUABgDdAAAA4AAAAOIASQAtAQ8APgESAFsBBABkARcA"}],\ +["tuxedo_template_wallet",{"t":"SCCHHCHCCHCHCHCHCHHPFGSPPFPPPPPPFPPONNNNNNNNONNNNNNNNNONNNNNNNNNONNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOSSSHHHHHHHHHHHHHIRKIFINNMNNNNNNNNNCNNNNNNFNNNNNNNNNNNNNNNNNPPGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHHHSSSSHHHHHHHHHHHHHHHHHHHSHH","n":["DEFAULT_ENDPOINT","amoeba","cli","default_data_path","h256_from_string","keystore","main","money","output_filter","output_ref_from_string","parachain","pretty_print_verifier","rpc","strip_0x_prefix","sync","temp_dir","timestamp","amoeba_demo","amoeba_demo_helper","AmoebaDemo","Cli","Command","DEFAULT_MINT_VALUE","GenerateKey","InsertKey","MintCoinArgs","MintCoins","RemoveKey","ShowAllOutputs","ShowBalance","ShowKeys","ShowTimestamp","SpendArgs","SpendCoins","VerifyCoin","amount","augment_args","augment_args","augment_args","augment_args_for_update","augment_args_for_update","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","base_path","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","command","command","command_for_update","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","dev","drop","drop","drop","drop","endpoint","fmt","fmt","fmt","fmt","from","from","from","from","from_arg_matches","from_arg_matches","from_arg_matches","from_arg_matches","from_arg_matches_mut","from_arg_matches_mut","from_arg_matches_mut","from_arg_matches_mut","from_mut","from_mut","from_mut","from_mut","from_ref","from_ref","from_ref","from_ref","group_id","group_id","group_id","has_subcommand","init","init","init","init","input","into","into","into","into","no_sync","output_amount","owner","parachain","recipient","tmp","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","unchecked_into","unchecked_into","unchecked_into","unchecked_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","unique_saturated_into","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches_mut","update_from_arg_matches_mut","update_from_arg_matches_mut","update_from_arg_matches_mut","vzip","vzip","vzip","vzip","output_ref","password","pub_key","seed","KEY_TYPE","SHAWN_PHRASE","SHAWN_PUB_KEY","generate_key","get_keys","has_key","insert_development_key_for_this_session","insert_key","remove_key","sign_with","apply_transaction","get_coin_from_storage","mint_coins","mint_coins_helper","spend_coins","spend_coins_helper","Filter","Filter","OutputFilter","OutputInfo","Sr25519SignatureFilter","TxHash","borrow","borrow_mut","build_filter","build_filter","deref","deref_mut","drop","from","from_mut","from_ref","init","into","tests","try_from","try_into","type_id","unchecked_into","unique_saturated_into","vzip","TestSr25519SignatureFilter","borrow","borrow_mut","build_filter","deref","deref_mut","drop","from","from_mut","from_ref","init","into","try_from","try_into","type_id","unchecked_into","unique_saturated_into","vzip","Normal","Parachain","ParachainConstraintChecker","__clone_box","borrow","borrow_mut","check","check","check_inherents","clone","clone_into","create_inherents","decode","decode_all","decode_all_with_depth_limit","decode_with_depth_limit","deref","deref_mut","drop","encode_to","eq","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","from","from","from_mut","from_ref","genesis_transactions","init","into","is_inherent","size_hint","to_keyed_vec","to_owned","try_from","try_into","type_id","unchecked_into","unique_saturated_into","vzip","fetch_storage","node_get_block","node_get_block_hash","BLOCKS","BLOCK_HASHES","SPENT","UNSPENT","add_unspent_output","apply_block","apply_transaction","get_arbitrary_unspent_set","get_balances","get_block","get_block_hash","get_unspent","height","open_db","print_block_hashes_tree","print_unspent_tree","remove_unspent_output","spend_output","synchronize","synchronize_helper","unapply_highest_block","unapply_transaction","unspend_output","TIMESTAMP","apply_transaction","get_timestamp"],"q":[[0,"tuxedo_template_wallet"],[17,"tuxedo_template_wallet::amoeba"],[19,"tuxedo_template_wallet::cli"],[145,"tuxedo_template_wallet::cli::Command"],[149,"tuxedo_template_wallet::keystore"],[159,"tuxedo_template_wallet::money"],[165,"tuxedo_template_wallet::output_filter"],[190,"tuxedo_template_wallet::output_filter::tests"],[208,"tuxedo_template_wallet::parachain"],[252,"tuxedo_template_wallet::rpc"],[255,"tuxedo_template_wallet::sync"],[278,"tuxedo_template_wallet::timestamp"],[281,"std::path"],[282,"primitive_types"],[283,"anyhow"],[284,"tuxedo_core::types"],[285,"clap_builder"],[286,"core::result"],[287,"tuxedo_template_runtime"],[288,"jsonrpsee_http_client::client"],[289,"clap_builder::builder::command"],[290,"core::fmt"],[291,"core::fmt"],[292,"clap_builder::util::id"],[293,"core::option"],[294,"core::any"],[295,"sc_keystore::local"],[296,"alloc::string"],[297,"alloc::vec"],[298,"core::iter::traits::iterator"],[299,"std::path"],[300,"sp_core::sr25519"],[301,"tuxedo_core::types"],[302,"dyn_clone::sealed"],[303,"tuxedo_core::dynamic_typing"],[304,"sp_runtime::transaction_validity"],[305,"sp_inherents"],[306,"tuxedo_core::types"],[307,"parity_scale_codec::codec"],[308,"parity_scale_codec::codec"],[309,"tuxedo_template_runtime"],[310,"tuxedo_core::types"],[311,"sp_runtime"],[312,"tuxedo_template_runtime"]],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,17,17,0,17,17,17,17,17,17,0,17,17,18,14,18,19,14,18,19,17,17,14,14,17,18,19,14,17,18,19,14,14,14,14,17,18,19,14,17,18,19,14,14,17,18,19,14,14,17,18,19,14,17,18,19,14,17,18,19,14,17,18,19,14,17,18,19,14,17,18,19,14,18,19,17,14,17,18,19,19,14,17,18,19,14,19,18,14,19,14,14,17,18,19,14,17,18,19,14,17,18,19,14,17,18,19,14,17,18,19,14,17,18,19,14,17,18,19,14,17,18,19,59,60,61,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,0,0,0,0,64,64,63,64,64,64,64,64,64,64,64,64,0,64,64,64,64,64,64,0,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,42,42,0,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"f":"```{{}b}{d{{h{f}}}}`{{}{{h{j}}}}``{d{{A`{ln}}}}`{Abj}`{dd}`5`{{AdAf}{{h{j}}}}{Af{{h{j}}}}`````````````````{AhAh}0000000`{ce{}{}}0000000{{}Ah}`0{Ajc{}}0000000`{Ajj}000`{{AlAn}B`}{{BbAn}B`}{{BdAn}B`}{{BfAn}B`}{cc{}}000{Bh{{A`{Aln}}}}{Bh{{A`{Bbn}}}}{Bh{{A`{Bdn}}}}{Bh{{A`{Bfn}}}}3210<<<<<<<<{{}{{Bl{Bj}}}}00{dAd}{{}Aj}000`????``````{c{{A`{e}}}{}{}}0000000{cBn{}}000{ce{}{}}0000000{{AlBh}{{A`{jn}}}}{{BbBh}{{A`{jn}}}}{{BdBh}{{A`{jn}}}}{{BfBh}{{A`{jn}}}}32104444```````{{C`{Bl{Cb}}}{{h{j}}}}{C`{{h{{`{{Cj{}{{Cd{{Ch{Cf}}}}}}}}}}}}{{C`f}Ad}{C`{{h{j}}}}{{C`d}{{h{j}}}}{{Clf}{{h{j}}}}{{C`Cn{D`{Cf}}}{{h{Db}}}}{{DdDf{Dh{Ab}}}{{h{j}}}}{{lAf}{{h{{Dl{DjAb}}}}}}{{AdAfBd}{{h{j}}}}{{AfBd}{{h{j}}}}{{AdDdAfC`Bf}{{h{j}}}}{{DdAfC`Bf}{{h{j}}}}``````{ce{}{}}0{Abc{}}0{Ajc{}}0{Ajj}{cc{}}44{{}Aj}5`{c{{A`{e}}}{}{}}0{cBn{}}777`77655437727110777```{{cDn}j{}}88{{c{D`{E`}}{D`{E`}}{D`{E`}}{D`{E`}}}{{A`{Eb}}}{}}{{Ed{D`{E`}}{D`{E`}}{D`{E`}}{D`{E`}}}{{A`{Efc}}}{}}{{Eh{Ch{{Ej{ce}}}}El}j{}{}}{EdEd}{{ce}j{}{}}{{Eh{Ch{{Dl{{Ej{ce}}f}}}}}{{Ch{{Ej{ce}}}}}{}{}}{c{{A`{EdEn}}}F`}{{{D`{Cf}}}{{A`{cEn}}}{}}{{Df{D`{Cf}}}{{A`{cEn}}}{}}{{Dfc}{{A`{eEn}}}F`{}}{Ajc{}}0{Ajj}{{Edc}j{FbFd}}{{EdEd}Ad}{{ce}Ad{}{}}0000{{EdAn}B`}{cc{}}{FfEd}{ce{}{}}0{{}{{Ch{{Ej{ce}}}}}{}{}}{{}Aj}2{cAd{}}{EdAj}{{c{D`{Cf}}}{{Ch{Cf}}}{}}5{c{{A`{e}}}{}{}}0{cBn{}}777{{lAf}{{h{{Dh{c}}}}}Fh}{{fAf}{{h{{Bl{Fj}}}}}}{{DfAf}{{h{{Bl{f}}}}}}````{{DdlfFl}{{h{j}}}}{{DdFjfc}{{h{j}}}{{G`{Ab}{{Fn{Ad}}}}}}{{DdGbc}{{h{j}}}{{G`{Ab}{{Fn{Ad}}}}}}{{DdFl}{{h{{Bl{{Ch{l}}}}}}}}{Dd{{h{{`{{Cj{}{{Cd{{Dl{fFl}}}}}}}}}}}}{{Ddf}{{h{{Bl{Gd}}}}}}{{DdDf}{{h{{Bl{f}}}}}}{{Ddl}{{h{{Bl{{Dl{fFl}}}}}}}}{Dd{{h{{Bl{Df}}}}}}{{bfFj}{{h{Dd}}}}{Dd{{h{j}}}}0{{Ddl}{{h{j}}}}0{{AdDdAfc}{{h{j}}}{{G`{Ab}{{Fn{Ad}}}}}}{{DdAfc}{{h{j}}}{{G`{Ab}{{Fn{Ad}}}}}}3{{DdGb}{{h{j}}}}3`{{Dd{Dh{Ab}}}{{h{j}}}}{Dd{{h{Eb}}}}","D":"Nj","p":[[5,"PathBuf",281],[1,"str"],[5,"H256",282],[8,"Result",283],[1,"unit"],[5,"OutputRef",284],[8,"Error",285],[6,"Result",286],[6,"OuterVerifier",287],[1,"bool"],[5,"HttpClient",288],[5,"Command",289],[1,"usize"],[5,"Cli",19],[5,"Formatter",290],[8,"Result",290],[6,"Command",19],[5,"MintCoinArgs",19],[5,"SpendArgs",19],[5,"ArgMatches",291],[5,"Id",292],[6,"Option",293],[5,"TypeId",294],[5,"LocalKeystore",295],[5,"String",296],[17,"Item"],[1,"u8"],[5,"Vec",297],[10,"Iterator",298],[5,"Path",281],[5,"Public",299],[1,"slice"],[5,"Signature",299],[5,"Db",300],[1,"u32"],[5,"Output",284],[5,"Coin",301],[1,"tuple"],[5,"Private",302],[5,"DynamicallyTypedData",303],[1,"u64"],[6,"ParachainConstraintChecker",208],[8,"TransactionPriority",304],[5,"InherentData",305],[5,"Transaction",284],[5,"CheckInherentsResult",305],[5,"Error",306],[10,"Input",307],[10,"Output",307],[10,"Sized",308],[6,"OuterConstraintChecker",287],[10,"Verifier",309],[8,"OpaqueBlock",284],[1,"u128"],[17,"Output"],[10,"Fn",310],[5,"OpaqueExtrinsic",311],[8,"Block",287],[15,"VerifyCoin",145],[15,"GenerateKey",145],[15,"RemoveKey",145],[15,"InsertKey",145],[10,"OutputFilter",165],[5,"Sr25519SignatureFilter",165],[5,"TestSr25519SignatureFilter",190]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAKQAGwAHAAAACQAAABIAAQAaAAAAIQAAACUABwAuABIAQgADAEcAAwBPAAcAXwAHAHIAHwCaAAAAowAAAKUAAACoAAUArwADALYAAAC4AA0AyQAAAMsABwDUABcA7QAAAPAAAQDzAAkAEgEAABgBAAA="}]\ ]')); if (typeof exports !== 'undefined') exports.searchIndex = searchIndex; else if (window.initSearch) window.initSearch(searchIndex); diff --git a/search.desc/aggregator/aggregator-desc-0-.js b/search.desc/aggregator/aggregator-desc-0-.js new file mode 100644 index 000000000..6e92fc923 --- /dev/null +++ b/search.desc/aggregator/aggregator-desc-0-.js @@ -0,0 +1 @@ +searchState.loadedDescShard("aggregator", 0, "Automatically implements From for each type in an …\nThis macro treats the supplied enum as an aggregate …\nThis macro treats the supplied enum as an aggregate …") \ No newline at end of file diff --git a/search.desc/amoeba/amoeba-desc-0-.js b/search.desc/amoeba/amoeba-desc-0-.js new file mode 100644 index 000000000..b861dde87 --- /dev/null +++ b/search.desc/amoeba/amoeba-desc-0-.js @@ -0,0 +1 @@ +searchState.loadedDescShard("amoeba", 0, "This file represents a simple example Tuxedo piece that …\nA constraint checker for simple creation of an amoeba.\nA constraint checker for simple death of an amoeba.\nAn amoeba tracked by our simple Amoeba APP\nA constraint checker for the process of amoeba mitosis The …\nAn input data has the wrong type.\nAn output data has the wrong type.\nReasons that the amoeba constraint checkers may fail\nAmoeba creation requires a new amoeba to be created, but …\nAmoeba creation is not a mass operation. Only one new …\nNo input may be consumed by amoeba creation.\nNo output may be created by amoeba death.\nThe Amoeba piece does not allow any evictions at all.\nAmoeba death requires a “victim” amoeba that will be …\nAmoeba death is not a mass operation. Only one “victim”…\nThe daughters did not have to right generation based on …\nAmoeba mitosis requires exactly two daughter amoebas to be …\nAmoeba mitosis requires exactly one mother amoeba to be …\nFour totally arbitrary bytes that each amoeba has. There …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nHow many generations after the original Eve Amoeba this …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).") \ No newline at end of file diff --git a/search.desc/derive_no_bound/derive_no_bound-desc-0-.js b/search.desc/derive_no_bound/derive_no_bound-desc-0-.js new file mode 100644 index 000000000..602d0a97b --- /dev/null +++ b/search.desc/derive_no_bound/derive_no_bound-desc-0-.js @@ -0,0 +1 @@ +searchState.loadedDescShard("derive_no_bound", 0, "Macros to derive common traits without bounds\nDerive Clone but do not bound any generic. Docs are at …\nDerive Debug but do not bound any generics. Docs are at …\nderive Default but do no bound any generic. Docs are at …") \ No newline at end of file diff --git a/search.desc/kitties/kitties-desc-0-.js b/search.desc/kitties/kitties-desc-0-.js new file mode 100644 index 000000000..85affd41f --- /dev/null +++ b/search.desc/kitties/kitties-desc-0-.js @@ -0,0 +1 @@ +searchState.loadedDescShard("kitties", 0, "An NFT game inspired by cryptokitties. This is a game …\nDynamic typing issue. This error doesn’t discriminate …\nDad cannot breed because he is still too tired.\nNeeded when spending for breeding.\nMom has recently given birth and isnt ready to breed.\nNew child DNA is not correct given the protocol.\nNew child doesnt have the correct number of free breedings.\nNew child has non zero breedings which is impossible …\nNew child parent info is either in Tired state or …\nNew Dad after breeding should be in Tired state.\nNew Mom after breeding should be in HadBirthRecently state.\nNew parents DNA does not match the old one parent has to …\nNumber of free breedings of new parent is not correct.\nNew parent Breedings has not incremented or is incorrect.\nThe Kitties piece does not allow any evictions at all.\nIncorrect number of outputs when it comes to breeding.\nNot enough free breedings available for these parents.\nToo many breedings for this kitty can no longer breed.\nCannot have two dads when breeding.\nCannot have two moms when breeding.\nNeed two parents to breed.\nChecks: - input_data is of length 2 - output_data is of …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCreate a mint transaction for a single Kitty.") \ No newline at end of file diff --git a/search.desc/money/money-desc-0-.js b/search.desc/money/money-desc-0-.js new file mode 100644 index 000000000..c169a48b4 --- /dev/null +++ b/search.desc/money/money-desc-0-.js @@ -0,0 +1 @@ +searchState.loadedDescShard("money", 0, "An implementation of a simple fungible token.\nDynamic typing issue. This error doesn’t discriminate …\nA single coin in the fungible money system. A new-type …\nErrors that can occur when checking money transactions.\nA mint transaction that creates no coins out of the void. …\nThe transaction attempts to mint zero coins. This is not …\nThe transaction attempts to consume inputs while minting. …\nThe main constraint checker for the money piece. Allows …\nThe Money piece does not allow any evictions at all.\nThe value of the spent input coins is less than the value …\nA typical spend transaction where some coins are consumed …\nThe transaction attempts to spend without consuming any …\nThe value consumed or created by this transaction …\nThe transaction attempted to create a coin with zero …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCreate a mint transaction for a single Coin.") \ No newline at end of file diff --git a/search.desc/node_template/node_template-desc-0-.js b/search.desc/node_template/node_template-desc-0-.js new file mode 100644 index 000000000..18de4fa1f --- /dev/null +++ b/search.desc/node_template/node_template-desc-0-.js @@ -0,0 +1 @@ +searchState.loadedDescShard("node_template", 0, "A collection of node-specific RPC methods. Substrate …\nService and ServiceFactory implementation. Specialized …\nSpecialized ChainSpec. This is a specialization of the …\nSignifies whether a potentially unsafe RPC should be …\nFull client dependencies.\nAllows calling every RPCs.\nDenies only potentially unsafe RPCs.\nReturns Ok(()) if the RPCs considered unsafe are safe to …\nThe client instance to use.\nInstantiate all full RPC extensions.\nWhether to deny unsafe calls\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nCalls U::from(self).\nCalls U::from(self).\nTransaction pool instance.\nA generic CodeExecutor implementation that uses a delegate …\nIgnore missing function imports if set true.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nCalls U::from(self).\nCalls U::from(self).\nCreate new instance.\nBuilds a new service for a full client.\nCreate a new instance using the given WasmExecutor.") \ No newline at end of file diff --git a/search.desc/parachain_piece/parachain_piece-desc-0-.js b/search.desc/parachain_piece/parachain_piece-desc-0-.js new file mode 100644 index 000000000..b0bfbb161 --- /dev/null +++ b/search.desc/parachain_piece/parachain_piece-desc-0-.js @@ -0,0 +1 @@ +searchState.loadedDescShard("parachain_piece", 0, "Allow collators to include information about the relay …\nUTXO data has an unexpected type\nMultiple inputs were specified while setting the parachain …\nMultiple outputs were specified while setting the …\nWhen attempting to set a new parachain info, you have not …\nNo previous parachain info was consumed in this …\nThe Parachain Id of this chain. This is currently a …\nReasons that setting or cleaning up the parachain info may …\nThe inherent data that is passed by the collator to the …\nOptions to configure the timestamp piece when it is …\nThe new relay chain block number is expected to be higher …\nA constraint checker for the simple act of including new …\nA means of setting an ambiently available relay parent …\nCreate the ParachainInherentData at the given relay_parent.\nDownward messages in the order they were sent.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nHRMP messages grouped by channels. The messages in the …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nA storage proof of a predefined set of keys from the …") \ No newline at end of file diff --git a/search.desc/parachain_template_node/parachain_template_node-desc-0-.js b/search.desc/parachain_template_node/parachain_template_node-desc-0-.js new file mode 100644 index 000000000..ecf54e595 --- /dev/null +++ b/search.desc/parachain_template_node/parachain_template_node-desc-0-.js @@ -0,0 +1 @@ +searchState.loadedDescShard("parachain_template_node", 0, "Substrate Parachain Node Template CLI\nThe development service provides a way to run a parachain …\nA collection of node-specific RPC methods. Substrate …\nService and ServiceFactory implementation. Specialized …\nSpecialized ChainSpec for the normal parachain runtime.\nThe extensions for the ChainSpec.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nCalls U::from(self).\nCalls U::from(self).\nThe id of the Parachain.\nThe relay chain of the Parachain.\nTry to get the extension from the given ChainSpec.\nBuild a chain specification.\nValidate blocks.\nExport blocks.\nExport the genesis head data of the parachain. Head data …\nExport the genesis head data (NOT STATE!) of the parachain.\nExport the genesis wasm of the parachain.\nExport the state of a given block into a chain spec.\nImport blocks.\nRemove the whole chain.\nRevert the chain to a previous state.\nSub-commands supported by the collator.\nThe actual relay chain cli object.\nThe base path that should be used by the relay chain.\nOptional chain id that should be passed to the relay chain.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nParse the relay chain CLI parameters using the para chain …\nDisable automatic hardware benchmarks.\nRelay chain arguments\nParse command line arguments into service configuration.\nA generic CodeExecutor implementation that uses a delegate …\nIgnore missing function imports if set true.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nCalls U::from(self).\nCalls U::from(self).\nCreate new instance.\nBuilds a new development service. This service uses manual …\nCreate a new instance using the given WasmExecutor.\nSignifies whether a potentially unsafe RPC should be …\nFull client dependencies\nAllows calling every RPCs.\nA type representing all RPC extensions.\nDenies only potentially unsafe RPCs.\nReturns Ok(()) if the RPCs considered unsafe are safe to …\nThe client instance to use.\nInstantiate all RPC extensions.\nWhether to deny unsafe calls\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nCalls U::from(self).\nCalls U::from(self).\nTransaction pool instance.\nNative executor type.\nBuild the import queue for the parachain runtime.\nReturns the argument unchanged.\nGet a mutable reference to the inner from the outer.\nGet a reference to the inner from the outer.\nCalls U::from(self).\nStarts a ServiceBuilder for a full service.\nStart a node with the given parachain Configuration and …\nStart a parachain node.") \ No newline at end of file diff --git a/search.desc/poe/poe-desc-0-.js b/search.desc/poe/poe-desc-0-.js new file mode 100644 index 000000000..e0a8ff440 --- /dev/null +++ b/search.desc/poe/poe-desc-0-.js @@ -0,0 +1 @@ +searchState.loadedDescShard("poe", 0, "This file represents a simple Proof of Existence …\nAn input data has the wrong type.\nAn output data has the wrong type.\nErrors that can occur when checking PoE Transactions\nClaims under dispute do not have the same hash, but they …\nThe effective height of this claim is in the past, So the …\nThe winner of a dispute must be the oldest claim (the …\nA constraint checker to create claims.\nConfiguration items for the Proof of Existence piece when …\nA constraint checker that resolves claim disputes by …\nA constraint checker to revoke claims.\nWrong number of inputs were provided to the constraint …\nWrong number of outputs were provided to the constraint …\nA means of getting the current block height. Probably this …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).") \ No newline at end of file diff --git a/search.desc/runtime_upgrade/runtime_upgrade-desc-0-.js b/search.desc/runtime_upgrade/runtime_upgrade-desc-0-.js new file mode 100644 index 000000000..49d045433 --- /dev/null +++ b/search.desc/runtime_upgrade/runtime_upgrade-desc-0-.js @@ -0,0 +1 @@ +searchState.loadedDescShard("runtime_upgrade", 0, "This is a small pallet that handles runtime upgrades in …\nAn input data has the wrong type.\nAn output data has the wrong type.\nReasons that the RuntimeUpgrade constraint checker may fail\nThe consumed input does not match the current wasm. This …\nThe Runtime Upgrade piece does not allow any evictions at …\nThe created output does not match the provided new runtime …\nThe sole constraint checker for the runtime upgrade. It …\nWrong number of inputs were provided to the constraint …\nWrong number of outputs were provided to the constraint …\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nCalls U::from(self).\nCalls U::from(self).") \ No newline at end of file diff --git a/search.desc/timestamp/timestamp-desc-0-.js b/search.desc/timestamp/timestamp-desc-0-.js new file mode 100644 index 000000000..ddc3f8f33 --- /dev/null +++ b/search.desc/timestamp/timestamp-desc-0-.js @@ -0,0 +1 @@ +searchState.loadedDescShard("timestamp", 0, "Allow block authors to include a timestamp via an inherent …\nUTXO data has an unexpected type\nAllows users to voluntarily clean up old timestamps by …\nWhen cleaning up old timestamps, you may not create any …\nWhen cleaning up old timestamps, you must evict them. You …\nWhen cleaning up old timestamps, you must supply exactly …\nYou may not clean up old timestamps until they are at …\nInputs were specified while setting the timestamp, but …\nThe maximum amount by which a valid block’s timestamp …\nThe minimum amount of time by which the timestamp may be …\nThe minimum number of blocks that must have passed before …\nThe minimum amount of time that must have passed before an …\nWhen attempting to set a new best timestamp, you have not …\nNo previous timestamp was peeked at in this transaction, …\nThe block height reported in the new timestamp does not …\nThe previous timestamp that is peeked at must be from the …\nA constraint checker for the simple act of setting a new …\nA timestamp, since the unix epoch, noted at some point in …\nOptions to configure the timestamp piece in your runtime. …\nReasons that setting or cleaning up the timestamp may go …\nThe new timestamp is not sufficiently far after the …\nMultiple outputs were specified while setting the …\nThe block number in which this timestamp was noted.\nA means of getting the current block height. Probably this …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nThe time, in milliseconds, since the unix epoch.") \ No newline at end of file diff --git a/search.desc/tuxedo_core/tuxedo_core-desc-0-.js b/search.desc/tuxedo_core/tuxedo_core-desc-0-.js new file mode 100644 index 000000000..7bdb3b0c5 --- /dev/null +++ b/search.desc/tuxedo_core/tuxedo_core-desc-0-.js @@ -0,0 +1 @@ +searchState.loadedDescShard("tuxedo_core", 0, "This crate is the core of the Tuxedo runtime framework.\nThe executive. Each runtime is encouraged to make a type …\nAutomatically implements From for each type in an …\nDoes full verification and application of tuxedo …\nA helper function that allows tuxedo runtimes to read the …\nA constraint checker is a piece of logic that determines …\nDynamic Typing utilities for Tuxedo runtimes\nEvaluate $x:expr and if not true return Err($y:expr).\nReturn Err of the expression: return Err($expression);.\nReturns the argument unchanged.\nGet a mutable reference to the inner from the outer.\nGet a reference to the inner from the outer.\nUtilities for blockchainchain genesis used by Tuxedo.\nAPIs and utilities for working with Substrate’s …\nCalls U::from(self).\nThese macros are copied from frame-support. Substrate …\nGeneral-purpose runtime traits for describing common types …\nThis macro treats the supplied enum as an aggregate …\nThis macro treats the supplied enum as an aggregate …\nThe common types that will be used across a Tuxedo …\nFor now this is a higher level description of the default …\nDoes pool-style validation of a tuxedo transaction. Does …\nA verifier is a piece of logic that determines whether an …\nThe raw and fully powerful ConstraintChecker interface …\nThe error type that this constraint checker may return\nThe error type that this constraint checker may return\nA particular constraint checker that a transaction can …\nThe on chain logic that makes the final check for whether …\nThe on chain logic that makes the final check for whether …\nPerform off-chain pre-execution checks on the inherents. …\nCreate the inherent extrinsics to insert into a block that …\nReturn the genesis transactions that are required for the …\nTells whether this extrinsic is an inherent or not. If you …\nAlthough the types matched, the data could not be decoded …\nErrors that can occur when casting dynamically typed data …\nA piece of encoded data with a type id associated Strongly …\nA unique identifier for this type. For now choosing this …\nA trait that must be implemented for any data that can be …\nThe data provided was not of the target decoding type.\nExtracts strongly typed data from an Output, iff the …\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nCalls U::from(self).\nCalls U::from(self).\nA bogus data type for use in tests.\nReturns the argument unchanged.\nGet a mutable reference to the inner from the outer.\nGet a reference to the inner from the outer.\nCalls U::from(self).\nThis function expects a list of transactions to be …\nBuild the genesis block, including the extrinsics found in …\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nCalls U::from(self).\nCalls U::from(self).\nAn adapter type to declare, at the runtime level, that …\nTuxedo’s controlled interface around Substrate’s …\nAn inherent identifier for the Tuxedo parent block inherent\nAn inherent data provider that inserts the previous block …\nPerform off-chain pre-execution checks on the inherent. …\nCreate the inherent extrinsic to insert into a block that …\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nReturn the genesis transactions that are required for this …\nCalls U::from(self).\nCalls U::from(self).\nDerive [Clone] but do not bound any generic. Docs are at …\nDerive [Debug] but do not bound any generics. Docs are at …\nderive Default but do no bound any generic. Docs are at …\nA trait for UTXOs that can act like coins, or bank notes.\nA 1-byte unique identifier for this coin. Might need more …\nGet the value of this token.\nAn alias for a Tuxedo block with all the common parts …\nAll Tuxedo chains use the same u32 BlockNumber.\nThe constraint checker errored.\nThe Result of dispatching a UTXO transaction.\nThis transaction defines the same input multiple times\nContains the error value\nThe input is being forcefully evicted without satisfying …\nBecause all tuxedo chains use the same Blocknumber and …\nA reference the a utxo that will be consumed along with …\nOne or more of the inputs required by this transaction is …\nContains the success value\nOpaque block type. It has a Standard Tuxedo header, and …\nOpaque block hash type.\nAn opaque piece of Transaction output data. This is how …\nA reference to a output that is expected to exist in the …\nThis transaction defines an output that already existed in …\nThe input is being consumed in the normal way with a …\nAn input can be consumed in two way. It can be redeemed …\nA UTXO Transaction\nThe Verifier errored. TODO determine whether it is useful …\nWhich piece of constraint checking logic is used to …\nA chain-specific digest of data useful for light clients …\nThe accompanying extrinsics.\nThe accompanying extrinsics.\nThe merkle root of the extrinsics.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nThe block header.\nThe block header.\nThe index of this output among all outputs created by the …\nExisting pieces of state to be read and consumed from …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nThe block number.\na reference to the output being consumed\nNew state to be placed into storage\nThe parent hash.\nExisting state to be read, but not consumed, from storage\nA means of showing that this input data can be used. It is …\nThe state trie merkle root\nA helper function for transforming a transaction generic …\nA hash of the transaction that created this output\nConsume a Utxo from the set.\nReturns the argument unchanged.\nGet a mutable reference to the inner from the outer.\nGet a reference to the inner from the outer.\nCalls U::from(self).\nFetch a utxo from the set.\nAdd a utxo into the set. This will overwrite any utxo that …\nAllows UTXOs to be spent when a preimage to a recorded …\nPay To Public Key Hash (P2PKH)\nThe type that will be supplied to satisfy the verifier and …\nRequire a signature from the private key corresponding to …\nA testing verifier that passes or depending on the enclosed\nAllows UTXOs to be spent after a certain block height has …\nA simple verifier that allows no one to consume an output …\nA simple verifier that allows anyone to consume an output …\nA means of checking that an output can be spent. This …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCreate a new instance that requires a signature from the …\nA way to create a new instance of the verifier whose …\nAll the member signatories, some (or all depending on the …\nThe minimum number of valid signatures needed to consume …\nWhether the verifier should pass\nMain function in the trait. Does the checks to make sure …") \ No newline at end of file diff --git a/search.desc/tuxedo_parachain_core/tuxedo_parachain_core-desc-0-.js b/search.desc/tuxedo_parachain_core/tuxedo_parachain_core-desc-0-.js new file mode 100644 index 000000000..76293ffde --- /dev/null +++ b/search.desc/tuxedo_parachain_core/tuxedo_parachain_core-desc-0-.js @@ -0,0 +1 @@ +searchState.loadedDescShard("tuxedo_parachain_core", 0, "This module is the core of Tuxedo’s parachain support.\nAn abstraction over reading the ambiently available relay …\nA mock version of the RelayParentNumberStorage that can be …\nA way for the relay chain validators to determine whether …\nAn extension trait that allows us to implement more …\nA wrapper type around Cumulus’s ParachainInherentData …\nA public interface for accessing and mutating the relay …\nAn abstraction over setting the ambiently available relay …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nPrepares a Tuxedo runtime to be parachain compatible by …\nRe-export of the Tuxedo-core crate. This allows …") \ No newline at end of file diff --git a/search.desc/tuxedo_parachain_runtime/tuxedo_parachain_runtime-desc-0-.js b/search.desc/tuxedo_parachain_runtime/tuxedo_parachain_runtime-desc-0-.js new file mode 100644 index 000000000..f2825e494 --- /dev/null +++ b/search.desc/tuxedo_parachain_runtime/tuxedo_parachain_runtime-desc-0-.js @@ -0,0 +1 @@ +searchState.loadedDescShard("tuxedo_parachain_runtime", 0, "The Tuxedo Template Runtime is an example runtime that uses\nChecks that a single amoeba is simply created from the void…\nChecks that a single amoeba is simply removed from the …\nChecks that an amoeba can split into two new amoebas\nChecks Free Kitty transactions\nAll other calls are delegated to the normal Tuxedo …\nA constraint checker is a piece of logic that can be used …\nChecks monetary transactions in a basic fungible …\nA verifier checks that an individual input can be …\nThe Outer / Aggregate Constraint Checker for the Parachain …\nThis type is generated by the #[tuxedo_constraint_checker] …\nSet some parachain related information via an inherent …\nChecks that new valid proofs of existence are claimed\nChecks that one winning claim came earlier than all the …\nChecks that proofs of existence are revoked.\nThe main struct in this module.\nImplements all runtime apis for the client side.\nUpgrade the Wasm Runtime\nSet the block’s timestamp via an inherent extrinsic.\nThis runtime version.\nWhich piece of constraint checking logic is used to …\nThe accompanying extrinsics.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nHelper module to build a genesis configuration for the …\nThe block header.\nExisting pieces of state to be read and consumed from …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nThe version information used to identify this runtime when …\nOpaque types. These are used by the CLI to instantiate …\nNew state to be placed into storage\nExisting state to be read, but not consumed, from storage\nDecode Self from the given encoded slice and convert Self …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGenerate a set of keys with optionally using the given …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nConverts Self into a Vec of (raw public key, KeyTypeId).") \ No newline at end of file diff --git a/search.desc/tuxedo_parachainify/tuxedo_parachainify-desc-0-.js b/search.desc/tuxedo_parachainify/tuxedo_parachainify-desc-0-.js new file mode 100644 index 000000000..1e57a3129 --- /dev/null +++ b/search.desc/tuxedo_parachainify/tuxedo_parachainify-desc-0-.js @@ -0,0 +1 @@ +searchState.loadedDescShard("tuxedo_parachainify", 0, "This macro is copied from …") \ No newline at end of file diff --git a/search.desc/tuxedo_template_runtime/tuxedo_template_runtime-desc-0-.js b/search.desc/tuxedo_template_runtime/tuxedo_template_runtime-desc-0-.js new file mode 100644 index 000000000..98b8b5fa1 --- /dev/null +++ b/search.desc/tuxedo_template_runtime/tuxedo_template_runtime-desc-0-.js @@ -0,0 +1 @@ +searchState.loadedDescShard("tuxedo_template_runtime", 0, "The Tuxedo Template Runtime is an example runtime that uses\nChecks that a single amoeba is simply created from the void…\nChecks that a single amoeba is simply removed from the …\nChecks that an amoeba can split into two new amoebas\nChecks Free Kitty transactions\nChecks monetary transactions in a basic fungible …\nA constraint checker is a piece of logic that can be used …\nThis type is generated by the #[tuxedo_constraint_checker] …\nA verifier checks that an individual input can be …\nThis type is generated by the #[tuxedo_verifier] macro. It …\nChecks that new valid proofs of existence are claimed\nChecks that one winning claim came earlier than all the …\nChecks that proofs of existence are revoked.\nThe main struct in this module.\nImplements all runtime apis for the client side.\nUpgrade the Wasm Runtime\nSet the block’s timestamp via an inherent extrinsic.\nThis runtime version.\nWhich piece of constraint checking logic is used to …\nThe accompanying extrinsics.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nHelper module to build a genesis configuration for the …\nThe block header.\nExisting pieces of state to be read and consumed from …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nThe version information used to identify this runtime when …\nOpaque types. These are used by the CLI to instantiate …\nNew state to be placed into storage\nExisting state to be read, but not consumed, from storage\nThis function returns a list of valid transactions to be …\nDecode Self from the given encoded slice and convert Self …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGenerate a set of keys with optionally using the given …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nConverts Self into a Vec of (raw public key, KeyTypeId).") \ No newline at end of file diff --git a/search.desc/tuxedo_template_wallet/tuxedo_template_wallet-desc-0-.js b/search.desc/tuxedo_template_wallet/tuxedo_template_wallet-desc-0-.js new file mode 100644 index 000000000..f25828d37 --- /dev/null +++ b/search.desc/tuxedo_template_wallet/tuxedo_template_wallet-desc-0-.js @@ -0,0 +1 @@ +searchState.loadedDescShard("tuxedo_template_wallet", 0, "A simple CLI wallet. For now it is a toy just to start …\nThe default RPC endpoint for the wallet to connect to\nToy off-chain process to create an amoeba and perform …\nTuxedo Template Wallet’s Command Line Interface.\nGenerate the platform-specific default data path for the …\nParse a string into an H256 that represents a public key\nWallet’s local keystore.\nWallet features related to spending money and checking …\nParse an output ref from a string\nParachain compatibility for the template wallet.\nUtility to pretty print an outer verifier\nStrongly typed helper functions for communicating with the …\nTakes a string and checks for a 0x prefix. Returns a …\nThis module is responsible for maintaining the wallet’s …\nGenerate a plaform-specific temporary directory for the …\nWallet features related to on-chain timestamps.\nDemonstrate creating an amoeba and performing mitosis on …\nThe wallet’s main CLI struct\nThe tasks supported by the wallet\nThe default number of coins to be minted.\nGenerate a private key using either some or no password …\nInsert a private key into the keystore to later use when …\nMint coins , optionally amount and publicKey of owner can …\nRemove a specific key from the keystore. WARNING! This …\nShow the complete list of UTXOs known to the wallet.\nFor each key tracked by the wallet, shows the sum of all …\nShow public information about all the keys in the keystore.\nShow the latest on-chain timestamp.\nSpend some coins. For now, all outputs in a single …\nVerify that a particular coin exists. Show its value and …\nPass the amount to be minted.\nPath where the wallet data is stored. Default value is …\nSpecify a development wallet instance, using a temporary …\nRPC endpoint of the node that this wallet will connect to.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a mutable reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nGet a reference to the inner from the outer.\nAn input to be consumed by this transaction. This argument …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nSkip the initial sync that the wallet typically performs …\nAn output amount. For the transaction to be valid, the …\nHex encoded address (sr25519 pubkey) of the owner.\nUse the Parachain template encoding instead of the regular …\nHex encoded address (sr25519 pubkey) of the recipient.\nA temporary directory will be created to store the …\nA hex-encoded output reference\nInitialize a public/private key pair with a password\nThe public key to remove\nSeed phrase of the key to insert.\nA KeyTypeId to use in the keystore for Tuxedo …\nA default seed phrase for signing inputs when none is …\nThe public key corresponding to the default seed above.\nGenerate a new key from system entropy and insert it into …\nCheck whether a specific key is in the keystore\nInsert the example “Shawn” key into the keystore for …\nInsert the private key associated with the given seed into …\nCaution. Removes key from keystore. Call with care.\nSign a given message with the private key that corresponds …\nApply a transaction to the local database, storing the new …\nGiven an output ref, fetch the details about this coin …\nCreate and send a transaction that mints the coins on the …\nCreate and send a transaction that spends coins on the …\nThe Filter type which is the closure signature used by …\nThe Filter type which is the closure signature used by …\nBuilds a filter to be passed to wallet sync functions to …\nReturns the argument unchanged.\nGet a mutable reference to the inner from the outer.\nGet a reference to the inner from the outer.\nCalls U::from(self).\nReturns the argument unchanged.\nGet a mutable reference to the inner from the outer.\nGet a reference to the inner from the outer.\nCalls U::from(self).\nWe don’t want the wallet to depend on the huge parachain …\nReturns the argument unchanged.\nGet a mutable reference to the inner from the outer.\nGet a reference to the inner from the outer.\nCalls U::from(self).\nFetch an output from chain storage given an OutputRef\nGet the node’s full opaque block at a particular hash\nTyped helper to get the Node’s block hash at a …\nThe identifier for the blocks tree in the db.\nThe identifier for the block_hashes tree in the db.\nThe identifier for the spent tree in the db.\nThe identifier for the unspent tree in the db.\nAdd a new output to the database updating all tables.\nApply a block to the local database\nApply a single transaction to the local database The …\nPicks an arbitrary set of unspent outputs from the …\nIterate the entire unspent set summing the values of the …\nGets the block from the local database given a block hash. …\nGets the block hash from the local database given a block …\nGets the owner and amount associated with an output ref …\nGet the block height that the wallet is currently synced to\nOpen a database at the given location intended for the …\nDebugging use. Print out the entire block_hashes tree.\nDebugging use. Print the entire unspent outputs tree.\nRemove an output from the database updating all tables.\nMark an existing output as spent. This does not purge all …\nSynchronize the local database to the database of the …\nUnapply the best block that the wallet currently knows …\nRun a transaction backwards against a database. Mark all …\nMark an output that was previously spent back as unspent.\nThe identifier for the current timestamp in the db.\nApply a transaction to the local database, storing the new …") \ No newline at end of file diff --git a/settings.html b/settings.html index 194041614..3cd716fc9 100644 --- a/settings.html +++ b/settings.html @@ -1,2 +1 @@ -Settings -

Rustdoc settings

Back
\ No newline at end of file +Settings

Rustdoc settings

Back
\ No newline at end of file diff --git a/src-files.js b/src-files.js index 5fa9b224c..7fdaf6ec4 100644 --- a/src-files.js +++ b/src-files.js @@ -10,10 +10,11 @@ var srcIndex = new Map(JSON.parse('[\ ["poe",["",[],["lib.rs"]]],\ ["runtime_upgrade",["",[],["lib.rs"]]],\ ["timestamp",["",[],["lib.rs"]]],\ -["tuxedo_core",["",[],["constraint_checker.rs","dynamic_typing.rs","executive.rs","genesis.rs","inherents.rs","lib.rs","support_macros.rs","traits.rs","types.rs","utxo_set.rs","verifier.rs"]]],\ +["tuxedo_core",["",[["genesis",[],["block_builder.rs","config_builder.rs","mod.rs"]],["verifier",[],["htlc.rs","multi_signature.rs","simple_signature.rs"]]],["constraint_checker.rs","dynamic_typing.rs","executive.rs","inherents.rs","lib.rs","support_macros.rs","traits.rs","types.rs","utxo_set.rs","verifier.rs"]]],\ ["tuxedo_parachain_core",["",[],["collation_api.rs","lib.rs","relay_state_snapshot.rs"]]],\ -["tuxedo_register_validate_block",["",[],["lib.rs"]]],\ +["tuxedo_parachain_runtime",["",[],["genesis.rs","lib.rs"]]],\ +["tuxedo_parachainify",["",[],["lib.rs"]]],\ ["tuxedo_template_runtime",["",[],["genesis.rs","lib.rs"]]],\ -["tuxedo_template_wallet",["",[],["amoeba.rs","cli.rs","keystore.rs","main.rs","money.rs","output_filter.rs","rpc.rs","sync.rs","timestamp.rs"]]]\ +["tuxedo_template_wallet",["",[],["amoeba.rs","cli.rs","keystore.rs","main.rs","money.rs","output_filter.rs","parachain.rs","rpc.rs","sync.rs","timestamp.rs"]]]\ ]')); createSrcSidebar(); diff --git a/src/aggregator/lib.rs.html b/src/aggregator/lib.rs.html index 64e65fe39..1fd6ec7cb 100644 --- a/src/aggregator/lib.rs.html +++ b/src/aggregator/lib.rs.html @@ -1,6 +1,4 @@ -lib.rs - source -
1
+lib.rs - source
1
 2
 3
 4
@@ -295,7 +293,68 @@ 

Files

293 294 295 -
use proc_macro::TokenStream;
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+
use convert_case::{Case, Casing};
+use proc_macro::TokenStream;
 use quote::quote;
 use syn::{parse_macro_input, Ident, ItemEnum};
 
@@ -333,7 +392,7 @@ 

Files

let inner_types = variant_type_pairs.map(|(_v, t)| t); let inner_types2 = inner_types.clone(); - let output = quote! { + let output = quote! { // First keep the original code in tact #original_code @@ -370,24 +429,108 @@

Files

pub fn tuxedo_verifier(_: TokenStream, body: TokenStream) -> TokenStream { let ast = parse_macro_input!(body as ItemEnum); let original_code = ast.clone(); + let vis = ast.vis; let outer_type = ast.ident; - let variants = ast.variants.into_iter().map(|v| v.ident); + let variant_type_pairs = ast.variants.iter().map(|variant| { + // Make sure there is only a single field, and if not, give a helpful error + assert!( + variant.fields.len() == 1, + "Each variant must have a single unnamed field" + ); + ( + variant.ident.clone(), + variant + .fields + .iter() + .next() + .expect("exactly one field per variant") + .ty + .clone(), + ) + }); + let variants = variant_type_pairs.clone().map(|(v, _t)| v); + let inner_types = variant_type_pairs.map(|(_v, t)| t); + + // Set up the name of the new associated type. + let mut redeemer_type_name = outer_type.to_string(); + redeemer_type_name.push_str("Redeemer"); + let redeemer_type = Ident::new(&redeemer_type_name, outer_type.span()); + let type_for_new_unspendable = inner_types + .clone() + .next() + .expect("At least one verifier variant expected."); + + // TODO there must be a better way to do this, right? + let inner_types2 = inner_types.clone(); + let variants2 = variants.clone(); + let variants3 = variants.clone(); + let variant_for_new_unspendable = variants + .clone() + .next() + .expect("At least one verifier variant expected."); + + let as_variants = variants.clone().map(|v| { + let s = format!("as_{}", v); + let s = s.to_case(Case::Snake); + Ident::new(&s, v.span()) + }); + let as_variants2 = as_variants.clone(); - let output = quote! { + let output = quote! { // Preserve the original enum, and write the From impls #[tuxedo_core::aggregate] #original_code + /// This type is generated by the `#[tuxedo_verifier]` macro. + /// It is a combined redeemer type for the redeemers of each individual verifier. + /// + /// This type is accessible downstream as `<OuterVerifier as Verifier>::Redeemer` + #[derive(Debug, Encode, Decode)] + #vis enum #redeemer_type { + #( + #variants(<#inner_types as tuxedo_core::Verifier>::Redeemer), + )* + } + + // Put a bunch of methods like `.as_variant1()` on the aggregate redeemer type + // These are necessary when unwrapping the onion. + // Might be that we should have a helper macro for this as well + impl #redeemer_type { + #( + pub fn #as_variants(&self) -> Option<&<#inner_types2 as tuxedo_core::Verifier>::Redeemer> { + match self { + Self::#variants2(inner) => Some(inner), + _ => None, + } + } + )* + } + impl tuxedo_core::Verifier for #outer_type { - fn verify(&self, simplified_tx: &[u8], redeemer: &[u8]) -> bool { + + type Redeemer = #redeemer_type; + + fn verify(&self, simplified_tx: &[u8], block_number: u32, redeemer: &Self::Redeemer) -> bool { match self { #( - Self::#variants(inner) => inner.verify(simplified_tx, redeemer), + Self::#variants3(inner) => inner.verify( + simplified_tx, + block_number, + redeemer.#as_variants2().expect("redeemer variant exists because the macro constructed that type.") + ), )* } } + + // The aggregation macro assumes that the first variant is able to produce a new unspendable instance. + // In the future this could be made nicer (but maybe not worth the complexity) by allowing an additional + // annotation to the one that can be used as unspendable eg `#[unspendable]` + // If this ever becomes a challenge just add an explicit `Unspendable` variant first. + fn new_unspendable() -> Option<Self> { + #type_for_new_unspendable::new_unspendable().map(|inner| Self::#variant_for_new_unspendable(inner)) + } } }; output.into() @@ -401,9 +544,8 @@

Files

/// just like this original enum. however, the contained values in the error enum are of the corresponding types /// for the inner constraint checker. #[proc_macro_attribute] -pub fn tuxedo_constraint_checker(attrs: TokenStream, body: TokenStream) -> TokenStream { +pub fn tuxedo_constraint_checker(_attrs: TokenStream, body: TokenStream) -> TokenStream { let ast = parse_macro_input!(body as ItemEnum); - let verifier = parse_macro_input!(attrs as Ident); let original_code = ast.clone(); let outer_type = ast.ident; @@ -432,25 +574,18 @@

Files

error_type_name.push_str("Error"); let error_type = Ident::new(&error_type_name, outer_type.span()); - let mut inherent_hooks_name = outer_type.to_string(); - inherent_hooks_name.push_str("InherentHooks"); - let inherent_hooks = Ident::new(&inherent_hooks_name, outer_type.span()); - let vis = ast.vis; // TODO there must be a better way to do this, right? let inner_types2 = inner_types.clone(); let inner_types3 = inner_types.clone(); let inner_types4 = inner_types.clone(); - let inner_types6 = inner_types.clone(); - let inner_types7 = inner_types.clone(); let variants2 = variants.clone(); let variants3 = variants.clone(); let variants4 = variants.clone(); let variants5 = variants.clone(); - let variants6 = variants.clone(); - let output = quote! { + let output = quote! { // Preserve the original enum, and write the From impls #[tuxedo_core::aggregate] #original_code @@ -463,27 +598,40 @@

Files

#[derive(Debug)] #vis enum #error_type { #( - #variants(<#inner_types as tuxedo_core::ConstraintChecker<#verifier>>::Error), + #variants(<#inner_types as tuxedo_core::ConstraintChecker>::Error), )* } - /// This type is generated by the `#[tuxedo_constraint_checker]` macro. - /// It is a combined set of inherent hooks for the inherent hooks of each individual checker. - /// - /// This type is accessible downstream as `<OuterConstraintChecker as ConstraintChecker>::InherentHooks` - #[derive(Debug, scale_info::TypeInfo)] - #vis enum #inherent_hooks { - #( - #variants2(<#inner_types2 as tuxedo_core::ConstraintChecker<#verifier>>::InherentHooks), - )* - } + impl tuxedo_core::ConstraintChecker for #outer_type { + type Error = #error_type; + + fn check ( + &self, + inputs: &[tuxedo_core::dynamic_typing::DynamicallyTypedData], + evicted_inputs: &[tuxedo_core::dynamic_typing::DynamicallyTypedData], + peeks: &[tuxedo_core::dynamic_typing::DynamicallyTypedData], + outputs: &[tuxedo_core::dynamic_typing::DynamicallyTypedData], + ) -> Result<TransactionPriority, Self::Error> { + match self { + #( + Self::#variants5(inner) => inner.check(inputs, evicted_inputs, peeks, outputs).map_err(|e| Self::Error::#variants5(e)), + )* + } + } - impl tuxedo_core::inherents::InherentInternal<#verifier, #outer_type> for #inherent_hooks { + fn is_inherent(&self) -> bool { + match self { + #( + Self::#variants2(inner) => inner.is_inherent(), + )* + } - fn create_inherents( + } + + fn create_inherents<V: tuxedo_core::Verifier>( authoring_inherent_data: &InherentData, - previous_inherents: Vec<(tuxedo_core::types::Transaction<#verifier, #outer_type>, sp_core::H256)>, - ) -> Vec<tuxedo_core::types::Transaction<#verifier, #outer_type>> { + previous_inherents: Vec<(tuxedo_core::types::Transaction<V, #outer_type>, sp_core::H256)>, + ) -> Vec<tuxedo_core::types::Transaction<V, #outer_type>> { let mut all_inherents = Vec::new(); @@ -500,7 +648,7 @@

Files

}) .collect(); - let inherents = <#inner_types3 as tuxedo_core::ConstraintChecker<#verifier>>::InherentHooks::create_inherents(authoring_inherent_data, previous_inherents) + let inherents = <#inner_types3 as tuxedo_core::ConstraintChecker>::create_inherents(authoring_inherent_data, previous_inherents) .iter() .map(|tx| tx.transform::<#outer_type>()) .collect::<Vec<_>>(); @@ -512,13 +660,13 @@

Files

all_inherents } - fn check_inherents( + fn check_inherents<V: tuxedo_core::Verifier>( importing_inherent_data: &sp_inherents::InherentData, - inherents: Vec<tuxedo_core::types::Transaction<#verifier, #outer_type>>, + inherents: Vec<tuxedo_core::types::Transaction<V, #outer_type>>, result: &mut sp_inherents::CheckInherentsResult, ) { #( - let relevant_inherents: Vec<tuxedo_core::types::Transaction<#verifier, #inner_types4>> = inherents + let relevant_inherents: Vec<tuxedo_core::types::Transaction<V, #inner_types4>> = inherents .iter() .filter_map(|tx| { match tx.checker { @@ -528,7 +676,7 @@

Files

}) .collect(); - <#inner_types4 as tuxedo_core::ConstraintChecker<#verifier>>::InherentHooks::check_inherents(importing_inherent_data, relevant_inherents, result); + <#inner_types4 as tuxedo_core::ConstraintChecker>::check_inherents(importing_inherent_data, relevant_inherents, result); // According to https://paritytech.github.io/polkadot-sdk/master/sp_inherents/struct.CheckInherentsResult.html // "When a fatal error occurs, all other errors are removed and the implementation needs to abort checking inherents." @@ -538,13 +686,12 @@

Files

)* } - #[cfg(feature = "std")] - fn genesis_transactions() -> Vec<tuxedo_core::types::Transaction<#verifier, #outer_type>> { - let mut all_transactions: Vec<tuxedo_core::types::Transaction<#verifier, #outer_type>> = Vec::new(); + fn genesis_transactions<V: tuxedo_core::Verifier>() -> Vec<tuxedo_core::types::Transaction<V, #outer_type>> { + let mut all_transactions: Vec<tuxedo_core::types::Transaction<V, #outer_type>> = Vec::new(); #( let transactions = - <<#inner_types6 as tuxedo_core::ConstraintChecker<#verifier>>::InherentHooks as tuxedo_core::inherents::InherentInternal<#verifier, #inner_types6>>::genesis_transactions(); + <#inner_types2 as tuxedo_core::ConstraintChecker>::genesis_transactions(); all_transactions.extend( transactions .into_iter() @@ -557,35 +704,6 @@

Files

} } - - impl tuxedo_core::ConstraintChecker<#verifier> for #outer_type { - type Error = #error_type; - - type InherentHooks = #inherent_hooks; - - fn check ( - &self, - inputs: &[tuxedo_core::types::Output<#verifier>], - peeks: &[tuxedo_core::types::Output<#verifier>], - outputs: &[tuxedo_core::types::Output<#verifier>], - ) -> Result<TransactionPriority, Self::Error> { - match self { - #( - Self::#variants5(inner) => inner.check(inputs, peeks, outputs).map_err(|e| Self::Error::#variants5(e)), - )* - } - } - - fn is_inherent(&self) -> bool { - match self { - #( - Self::#variants6(inner) => <#inner_types7 as tuxedo_core::ConstraintChecker<#verifier>>::is_inherent(inner), - )* - } - - } - - } }; output.into() diff --git a/src/amoeba/lib.rs.html b/src/amoeba/lib.rs.html index fa4d90c63..8bf6659a9 100644 --- a/src/amoeba/lib.rs.html +++ b/src/amoeba/lib.rs.html @@ -1,6 +1,4 @@ -lib.rs - source -
1
+lib.rs - source
1
 2
 3
 4
@@ -214,6 +212,29 @@ 

Files

212 213 214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237
//! This file represents a simple example Tuxedo piece that tracks amoeba populations.
 //! Amoeba's can be affected in three ways throughout their lifecycle.
 //! 1. A new amoeba can be created by a creator. This is analogous to divine
@@ -260,6 +281,8 @@ 

Files

BadlyTypedInput, /// An output data has the wrong type. BadlyTypedOutput, + /// The Amoeba piece does not allow any evictions at all. + NoEvictionsAllowed, /// Amoeba creation requires a new amoeba to be created, but none was provided. CreatedNothing, @@ -303,9 +326,16 @@

Files

fn check( &self, input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], _peeks: &[DynamicallyTypedData], output_data: &[DynamicallyTypedData], ) -> Result<TransactionPriority, ConstraintCheckerError> { + // Can't evict anything + ensure!( + evicted_input_data.is_empty(), + ConstraintCheckerError::NoEvictionsAllowed + ); + // Make sure there is exactly one mother. ensure!( input_data.len() == 1, @@ -361,9 +391,16 @@

Files

fn check( &self, input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], _peeks: &[DynamicallyTypedData], output_data: &[DynamicallyTypedData], ) -> Result<TransactionPriority, Self::Error> { + // Can't evict anything + ensure!( + evicted_input_data.is_empty(), + ConstraintCheckerError::NoEvictionsAllowed + ); + // Make sure there is a single victim ensure!(!input_data.is_empty(), ConstraintCheckerError::NoVictim); ensure!( @@ -400,9 +437,16 @@

Files

fn check( &self, input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], _peeks: &[DynamicallyTypedData], output_data: &[DynamicallyTypedData], ) -> Result<TransactionPriority, Self::Error> { + // Can't evict anything + ensure!( + evicted_input_data.is_empty(), + ConstraintCheckerError::NoEvictionsAllowed + ); + // Make sure there is a single created amoeba ensure!( !output_data.is_empty(), diff --git a/src/derive_no_bound/clone_no_bound.rs.html b/src/derive_no_bound/clone_no_bound.rs.html index 2ca6f4e97..67b2abc7a 100644 --- a/src/derive_no_bound/clone_no_bound.rs.html +++ b/src/derive_no_bound/clone_no_bound.rs.html @@ -1,6 +1,4 @@ -clone_no_bound.rs - source -
1
+clone_no_bound.rs - source
1
 2
 3
 4
diff --git a/src/derive_no_bound/debug_no_bound.rs.html b/src/derive_no_bound/debug_no_bound.rs.html
index f783eafe6..334e9cd86 100644
--- a/src/derive_no_bound/debug_no_bound.rs.html
+++ b/src/derive_no_bound/debug_no_bound.rs.html
@@ -1,6 +1,4 @@
-debug_no_bound.rs - source
-    
1
+debug_no_bound.rs - source
1
 2
 3
 4
diff --git a/src/derive_no_bound/default_no_bound.rs.html b/src/derive_no_bound/default_no_bound.rs.html
index 00cb41f38..993b52014 100644
--- a/src/derive_no_bound/default_no_bound.rs.html
+++ b/src/derive_no_bound/default_no_bound.rs.html
@@ -1,6 +1,4 @@
-default_no_bound.rs - source
-    
1
+default_no_bound.rs - source
1
 2
 3
 4
@@ -204,7 +202,7 @@ 

Files

Data::Struct(struct_) => match struct_.fields { Fields::Named(named) => { let fields = named.named.iter().map(|field| &field.ident).map(|ident| { - quote_spanned! {ident.span() => + quote_spanned! {ident.span() => #ident: core::default::Default::default() } }); @@ -213,7 +211,7 @@

Files

} Fields::Unnamed(unnamed) => { let fields = unnamed.unnamed.iter().map(|field| { - quote_spanned! {field.span()=> + quote_spanned! {field.span()=> core::default::Default::default() } }); @@ -287,7 +285,7 @@

Files

Fields::Named(named) => { let fields = named.named.iter().map(|field| &field.ident).map(|ident| { - quote_spanned! {ident.span()=> + quote_spanned! {ident.span()=> #ident: core::default::Default::default() } }); @@ -296,7 +294,7 @@

Files

} Fields::Unnamed(unnamed) => { let fields = unnamed.unnamed.iter().map(|field| { - quote_spanned! {field.span()=> + quote_spanned! {field.span()=> core::default::Default::default() } }); diff --git a/src/derive_no_bound/lib.rs.html b/src/derive_no_bound/lib.rs.html index 6c60bad2c..22b835f23 100644 --- a/src/derive_no_bound/lib.rs.html +++ b/src/derive_no_bound/lib.rs.html @@ -1,6 +1,4 @@ -lib.rs - source -
1
+lib.rs - source
1
 2
 3
 4
diff --git a/src/kitties/lib.rs.html b/src/kitties/lib.rs.html
index 3cb4a0e11..79b715a6d 100644
--- a/src/kitties/lib.rs.html
+++ b/src/kitties/lib.rs.html
@@ -1,6 +1,4 @@
-lib.rs - source
-    
1
+lib.rs - source
1
 2
 3
 4
@@ -527,6 +525,15 @@ 

Files

525 526 527 +528 +529 +530 +531 +532 +533 +534 +535 +536
//! An NFT game inspired by cryptokitties.
 //! This is a game which allows for kitties to be bred based on a few factors
 //! 1.) Mom and Tired have to be in a state where they are ready to breed
@@ -702,7 +709,7 @@ 

Files

where V: Verifier, OV: Verifier + From<V>, - OC: tuxedo_core::ConstraintChecker<OV> + From<FreeKittyConstraintChecker>, + OC: tuxedo_core::ConstraintChecker + From<FreeKittyConstraintChecker>, { Transaction { inputs: vec![], @@ -754,6 +761,8 @@

Files

/// Dynamic typing issue. /// This error doesn't discriminate between badly typed inputs and outputs. BadlyTyped, + /// The Kitties piece does not allow any evictions at all. + NoEvictionsAllowed, /// Needed when spending for breeding. MinimumSpendAndBreedNotMet, /// Need two parents to breed. @@ -1036,9 +1045,16 @@

Files

fn check( &self, input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], _peeks: &[DynamicallyTypedData], output_data: &[DynamicallyTypedData], ) -> Result<TransactionPriority, Self::Error> { + // Can't evict anything + ensure!( + evicted_input_data.is_empty(), + ConstraintCheckerError::NoEvictionsAllowed + ); + // Input must be a Mom and a Dad ensure!(input_data.len() == 2, Self::Error::TwoParentsDoNotExist); diff --git a/src/money/lib.rs.html b/src/money/lib.rs.html index 6b90c6d89..f90c24432 100644 --- a/src/money/lib.rs.html +++ b/src/money/lib.rs.html @@ -1,6 +1,4 @@ -lib.rs - source -
1
+lib.rs - source
1
 2
 3
 4
@@ -221,6 +219,15 @@ 

Files

219 220 221 +222 +223 +224 +225 +226 +227 +228 +229 +230
//! An implementation of a simple fungible token.
 
 #![cfg_attr(not(feature = "std"), no_std)]
@@ -305,7 +312,7 @@ 

Files

where V: Verifier, OV: Verifier + From<V>, - OC: tuxedo_core::ConstraintChecker<OV> + From<MoneyConstraintChecker<ID>>, + OC: tuxedo_core::ConstraintChecker + From<MoneyConstraintChecker<ID>>, { Transaction { inputs: vec![], @@ -339,6 +346,8 @@

Files

/// Dynamic typing issue. /// This error doesn't discriminate between badly typed inputs and outputs. BadlyTyped, + /// The Money piece does not allow any evictions at all. + NoEvictionsAllowed, /// The transaction attempts to consume inputs while minting. This is not allowed. MintingWithInputs, /// The transaction attempts to mint zero coins. This is not allowed. @@ -364,9 +373,16 @@

Files

fn check( &self, input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], _peeks: &[DynamicallyTypedData], output_data: &[DynamicallyTypedData], ) -> Result<TransactionPriority, Self::Error> { + // Can't evict anything + ensure!( + evicted_input_data.is_empty(), + ConstraintCheckerError::NoEvictionsAllowed + ); + match &self { Self::Spend => { // Check that we are consuming at least one input diff --git a/src/node_template/chain_spec.rs.html b/src/node_template/chain_spec.rs.html index 8160a58bb..899e151ac 100644 --- a/src/node_template/chain_spec.rs.html +++ b/src/node_template/chain_spec.rs.html @@ -1,6 +1,4 @@ -chain_spec.rs - source -
1
+chain_spec.rs - source
1
 2
 3
 4
@@ -54,28 +52,6 @@ 

Files

52 53 54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76
use node_template_runtime::genesis::*;
 use sc_service::ChainType;
 
@@ -83,7 +59,7 @@ 

Files

// const STAGING_TELEMETRY_URL: &str = "wss://telemetry.polkadot.io/submit/"; /// Specialized `ChainSpec`. This is a specialization of the general Substrate ChainSpec type. -pub type ChainSpec = sc_service::GenericChainSpec<RuntimeGenesisConfig>; +pub type ChainSpec = sc_service::GenericChainSpec<()>; // /// Generate a crypto pair from seed. // pub fn get_from_seed<TPublic: Public>(seed: &str) -> <TPublic::Pair as Pair>::Public { @@ -108,48 +84,26 @@

Files

// } pub fn development_config() -> Result<ChainSpec, String> { - Ok(ChainSpec::from_genesis( - // Name - "Development", - // ID - "dev", - ChainType::Development, - // TuxedoGenesisConfig - development_genesis_config, - // Bootnodes - vec![], - // Telemetry - None, - // Protocol ID - None, + Ok(ChainSpec::builder( + WASM_BINARY.ok_or_else(|| "Development wasm not available".to_string())?, None, - // Properties - None, - // Extensions - None, - )) + ) + .with_name("Development") + .with_id("dev") + .with_chain_type(ChainType::Development) + .with_genesis_config_patch(development_genesis_config()) + .build()) } pub fn local_testnet_config() -> Result<ChainSpec, String> { - Ok(ChainSpec::from_genesis( - // Name - "Local Testnet", - // ID - "local_testnet", - ChainType::Local, - // TuxedoGenesisConfig - development_genesis_config, - // Bootnodes - vec![], - // Telemetry - None, - // Protocol ID - None, - // Properties - None, + Ok(ChainSpec::builder( + WASM_BINARY.ok_or_else(|| "Development wasm not available".to_string())?, None, - // Extensions - None, - )) + ) + .with_name("Local Testnet") + .with_id("local_testnet") + .with_chain_type(ChainType::Local) + .with_genesis_config_patch(development_genesis_config()) + .build()) }
\ No newline at end of file diff --git a/src/node_template/lib.rs.html b/src/node_template/lib.rs.html index 460d123cf..2a811d651 100644 --- a/src/node_template/lib.rs.html +++ b/src/node_template/lib.rs.html @@ -1,6 +1,4 @@ -lib.rs - source -
1
+lib.rs - source
1
 2
 3
 
pub mod chain_spec;
diff --git a/src/node_template/rpc.rs.html b/src/node_template/rpc.rs.html
index d92038d73..16ee4ab20 100644
--- a/src/node_template/rpc.rs.html
+++ b/src/node_template/rpc.rs.html
@@ -1,6 +1,4 @@
-rpc.rs - source
-    
1
+rpc.rs - source
1
 2
 3
 4
@@ -59,11 +57,11 @@ 

Files

use std::sync::Arc; use jsonrpsee::RpcModule; -use node_template_runtime::opaque::Block; use sc_transaction_pool_api::TransactionPool; use sp_api::ProvideRuntimeApi; use sp_block_builder::BlockBuilder; use sp_blockchain::{Error as BlockChainError, HeaderBackend, HeaderMetadata}; +use tuxedo_core::types::OpaqueBlock as Block; pub use sc_rpc_api::DenyUnsafe; diff --git a/src/node_template/service.rs.html b/src/node_template/service.rs.html index c7263d442..3bb8d2f13 100644 --- a/src/node_template/service.rs.html +++ b/src/node_template/service.rs.html @@ -1,6 +1,4 @@ -service.rs - source -
1
+service.rs - source
1
 2
 3
 4
@@ -348,7 +346,7 @@ 

Files

//! Service and ServiceFactory implementation. Specialized wrapper over substrate service.
 
 use crate::rpc;
-use node_template_runtime::{self, opaque::Block, RuntimeApi};
+use node_template_runtime::{self, RuntimeApi};
 use sc_client_api::BlockBackend;
 use sc_consensus_aura::{ImportQueueParams, SlotProportion, StartAuraParams};
 use sc_consensus_grandpa::SharedVoterState;
@@ -358,7 +356,7 @@ 

Files

use sc_transaction_pool_api::OffchainTransactionPoolFactory; use sp_consensus_aura::sr25519::AuthorityPair as AuraPair; use std::{sync::Arc, time::Duration}; -use tuxedo_core::genesis::TuxedoGenesisBlockBuilder; +use tuxedo_core::{genesis::TuxedoGenesisBlockBuilder, types::OpaqueBlock as Block}; // Our native executor instance. pub struct ExecutorDispatch; diff --git a/src/parachain_piece/lib.rs.html b/src/parachain_piece/lib.rs.html index 960aac1d5..a60250639 100644 --- a/src/parachain_piece/lib.rs.html +++ b/src/parachain_piece/lib.rs.html @@ -1,6 +1,4 @@ -lib.rs - source -
1
+lib.rs - source
1
 2
 3
 4
@@ -300,7 +298,8 @@ 

Files

use core::marker::PhantomData; -use cumulus_primitives_parachain_inherent::{ParachainInherentData, INHERENT_IDENTIFIER}; +pub use cumulus_primitives_parachain_inherent::ParachainInherentData; +use cumulus_primitives_parachain_inherent::INHERENT_IDENTIFIER; use parity_scale_codec::{Decode, Encode}; use scale_info::TypeInfo; use serde::{Deserialize, Serialize}; @@ -308,16 +307,17 @@

Files

use sp_inherents::{CheckInherentsResult, InherentData}; use sp_runtime::transaction_validity::TransactionPriority; use sp_std::{vec, vec::Vec}; +use tuxedo_parachain_core::tuxedo_core::dynamic_typing::DynamicallyTypedData; +use tuxedo_parachain_core::tuxedo_core::SimpleConstraintChecker; // We get all the Tuxedo core stuff through the re-export so we don't risk crossed versions. use tuxedo_parachain_core::ParachainInherentDataUtxo; use tuxedo_parachain_core::{ tuxedo_core::{ ensure, - inherents::{TuxedoInherent, TuxedoInherentAdapter}, + inherents::InherentHooks, support_macros::{CloneNoBound, DebugNoBound, DefaultNoBound}, - types::{Input, Output, OutputRef, Transaction}, - verifier::UpForGrabs, - ConstraintChecker, Verifier, + types::{Input, Output, OutputRef, RedemptionStrategy, Transaction}, + Verifier, }, SetRelayParentNumberStorage, }; @@ -385,17 +385,15 @@

Files

#[scale_info(skip_type_params(T))] pub struct SetParachainInfo<T>(PhantomData<T>); -impl<T: ParachainPieceConfig + 'static, V: Verifier + From<UpForGrabs>> ConstraintChecker<V> - for SetParachainInfo<T> -{ +impl<T: ParachainPieceConfig + 'static> SimpleConstraintChecker for SetParachainInfo<T> { type Error = ParachainError; - type InherentHooks = TuxedoInherentAdapter<Self>; fn check( &self, - input_data: &[Output<V>], - _peek_data: &[Output<V>], - output_data: &[Output<V>], + input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], + _peek_data: &[DynamicallyTypedData], + output_data: &[DynamicallyTypedData], ) -> Result<TransactionPriority, Self::Error> { log::debug!( target: LOG_TARGET, @@ -406,7 +404,6 @@

Files

ensure!(!output_data.is_empty(), Self::Error::MissingNewInfo); ensure!(output_data.len() == 1, Self::Error::ExtraOutputs); let current: ParachainInherentData = output_data[0] - .payload .extract::<ParachainInherentDataUtxo>() .map_err(|_| Self::Error::BadlyTyped)? .into(); @@ -414,11 +411,15 @@

Files

// SIDE EFFECT: Write the relay parent block number to storage to use later in the collation info api T::SetRelayParentNumberStorage::set(current.validation_data.relay_parent_number); - // Make sure there is exactly one input which is the previous parachain info - ensure!(!input_data.is_empty(), Self::Error::MissingPreviousInfo); - ensure!(input_data.len() == 1, Self::Error::ExtraInputs); - let previous: ParachainInherentData = input_data[0] - .payload + // Make sure there is exactly one EVICTED input which is the previous parachain info, + // and no normal inputs + ensure!(input_data.is_empty(), Self::Error::ExtraInputs); + ensure!( + !evicted_input_data.is_empty(), + Self::Error::MissingPreviousInfo + ); + ensure!(evicted_input_data.len() == 1, Self::Error::ExtraInputs); + let previous: ParachainInherentData = evicted_input_data[0] .extract::<ParachainInherentDataUtxo>() .map_err(|_| Self::Error::BadlyTyped)? .into(); @@ -442,20 +443,14 @@

Files

Ok(0) } - - fn is_inherent(&self) -> bool { - true - } } -impl<V: Verifier + From<UpForGrabs>, T: ParachainPieceConfig + 'static> TuxedoInherent<V, Self> - for SetParachainInfo<T> -{ +impl<T: ParachainPieceConfig + 'static> InherentHooks for SetParachainInfo<T> { // Same error type as in frame type Error = sp_inherents::MakeFatalError<()>; const INHERENT_IDENTIFIER: sp_inherents::InherentIdentifier = INHERENT_IDENTIFIER; - fn create_inherent( + fn create_inherent<V: Verifier>( authoring_inherent_data: &InherentData, (_previous_inherent, previous_id): (Transaction<V, Self>, H256), ) -> Transaction<V, Self> { @@ -480,12 +475,13 @@

Files

let input = Input { output_ref, - redeemer: Vec::new(), + redeemer: RedemptionStrategy::Eviction, }; let new_output = Output { payload: ParachainInherentDataUtxo::from(current_info).into(), - verifier: UpForGrabs.into(), + verifier: V::new_unspendable() + .expect("Must be able to create unspendable verifier to use parachain inherent."), }; let t = Transaction { @@ -503,7 +499,7 @@

Files

t } - fn check_inherent( + fn check_inherent<V>( _importing_inherent_data: &InherentData, _inherent: Transaction<V, Self>, _result: &mut CheckInherentsResult, @@ -518,7 +514,7 @@

Files

} #[cfg(feature = "std")] - fn genesis_transactions() -> Vec<Transaction<V, Self>> { + fn genesis_transactions<V: Verifier>() -> Vec<Transaction<V, Self>> { let payload = new_data_from_relay_parent_number(0).into(); vec![Transaction { @@ -526,7 +522,9 @@

Files

peeks: Vec::new(), outputs: vec![Output { payload, - verifier: UpForGrabs.into(), + verifier: V::new_unspendable().expect( + "Must be able to create unspendable verifier to use timestamp inherent.", + ), }], checker: Self::default(), }] diff --git a/src/parachain_template_node/chain_spec.rs.html b/src/parachain_template_node/chain_spec.rs.html index a0dbfce19..d5de82ec5 100644 --- a/src/parachain_template_node/chain_spec.rs.html +++ b/src/parachain_template_node/chain_spec.rs.html @@ -1,6 +1,4 @@ -chain_spec.rs - source -
1
+chain_spec.rs - source
1
 2
 3
 4
@@ -82,40 +80,13 @@ 

Files

80 81 82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109
use parachain_template_runtime::genesis::*;
 use sc_chain_spec::{ChainSpecExtension, ChainSpecGroup};
 use sc_service::ChainType;
 use serde::{Deserialize, Serialize};
 
 /// Specialized `ChainSpec` for the normal parachain runtime.
-pub type ChainSpec = sc_service::GenericChainSpec<RuntimeGenesisConfig, Extensions>;
+pub type ChainSpec = sc_service::GenericChainSpec<(), Extensions>;
 
 /// The extensions for the [`ChainSpec`].
 #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, ChainSpecGroup, ChainSpecExtension)]
@@ -158,25 +129,9 @@ 

Files

// parachain_template_runtime::SessionKeys { aura: keys } // } -pub fn development_config() -> ChainSpec { - // Give your base currency a unit name and decimal places - let mut properties = sc_chain_spec::Properties::new(); - properties.insert("tokenSymbol".into(), "UNIT".into()); - properties.insert("tokenDecimals".into(), 12.into()); - properties.insert("ss58Format".into(), 42.into()); - - ChainSpec::from_genesis( - // Name - "Development", - // ID - "dev", - ChainType::Development, - development_genesis_config, - Vec::new(), - None, - None, - None, - None, +pub fn development_config() -> Result<ChainSpec, String> { + Ok(ChainSpec::builder( + WASM_BINARY.ok_or_else(|| "Development wasm not available".to_string())?, Extensions { relay_chain: "rococo-local".into(), // You MUST set this to the correct network! // CAUTION: This value is duplicated in the runtime code. The value here must match, or... @@ -185,37 +140,26 @@

Files

para_id: 2000, }, ) + .with_name("Development") + .with_id("dev") + .with_chain_type(ChainType::Development) + .with_genesis_config_patch(development_genesis_config()) + .build()) } -pub fn local_testnet_config() -> ChainSpec { - // Give your base currency a unit name and decimal places - let mut properties = sc_chain_spec::Properties::new(); - properties.insert("tokenSymbol".into(), "UNIT".into()); - properties.insert("tokenDecimals".into(), 12.into()); - properties.insert("ss58Format".into(), 42.into()); - - ChainSpec::from_genesis( - // Name - "Local Testnet", - // ID - "local_testnet", - ChainType::Local, - development_genesis_config, - // Bootnodes - Vec::new(), - // Telemetry - None, - // Protocol ID - Some("template-local"), - // Fork ID - None, - // Properties - Some(properties), - // Extensions - Extensions { +pub fn local_testnet_config() -> Result<ChainSpec, String> { + Ok(ChainSpec::builder( + WASM_BINARY.ok_or_else(|| "Development wasm not available".to_string())?, + Extensions { relay_chain: "rococo-local".into(), // You MUST set this to the correct network! para_id: 2000, }, ) + .with_name("Local Testnet") + .with_id("local_testnet") + .with_chain_type(ChainType::Local) + .with_genesis_config_patch(development_genesis_config()) + .with_protocol_id("template-local") + .build()) }
\ No newline at end of file diff --git a/src/parachain_template_node/cli.rs.html b/src/parachain_template_node/cli.rs.html index f03efce63..32fd9e8c7 100644 --- a/src/parachain_template_node/cli.rs.html +++ b/src/parachain_template_node/cli.rs.html @@ -1,6 +1,4 @@ -cli.rs - source -
1
+cli.rs - source
1
 2
 3
 4
diff --git a/src/parachain_template_node/command.rs.html b/src/parachain_template_node/command.rs.html
index e2557be42..be175d9d6 100644
--- a/src/parachain_template_node/command.rs.html
+++ b/src/parachain_template_node/command.rs.html
@@ -1,6 +1,4 @@
-command.rs - source
-    
1
+command.rs - source
1
 2
 3
 4
@@ -401,9 +399,9 @@ 

Files

fn load_spec(id: &str) -> std::result::Result<Box<dyn ChainSpec>, String> { Ok(match id { - "dev" => Box::new(chain_spec::development_config()), - "template-rococo" => Box::new(chain_spec::local_testnet_config()), - "" | "local" => Box::new(chain_spec::local_testnet_config()), + "dev" => Box::new(chain_spec::development_config()?), + "template-rococo" => Box::new(chain_spec::local_testnet_config()?), + "" | "local" => Box::new(chain_spec::local_testnet_config()?), path => Box::new(chain_spec::ChainSpec::from_json_file( std::path::PathBuf::from(path), )?), @@ -482,7 +480,7 @@

Files

} } -macro_rules! construct_async_run { +macro_rules! construct_async_run { (|$components:ident, $cli:ident, $cmd:ident, $config:ident| $( $code:tt )* ) => {{ let runner = $cli.create_runner($cmd)?; runner.async_run(|$config| { diff --git a/src/parachain_template_node/dev_service.rs.html b/src/parachain_template_node/dev_service.rs.html index 8be08c3ea..096b1c5e1 100644 --- a/src/parachain_template_node/dev_service.rs.html +++ b/src/parachain_template_node/dev_service.rs.html @@ -1,6 +1,4 @@ -dev_service.rs - source -
1
+dev_service.rs - source
1
 2
 3
 4
@@ -262,14 +260,14 @@ 

Files

//! but without a backing relay chain. This allows developers to quickly and easily spin up parachain //! nodes using the --dev flag, for example. It can also be used in integration tests. -use parachain_template_runtime::{self, opaque::Block, RuntimeApi}; +use parachain_template_runtime::{self, RuntimeApi}; use sc_client_api::BlockBackend; use sc_consensus_manual_seal::consensus::aura::AuraConsensusDataProvider; pub use sc_executor::NativeElseWasmExecutor; use sc_service::{error::Error as ServiceError, Configuration, TaskManager}; use sc_telemetry::{Telemetry, TelemetryWorker}; use std::{sync::Arc, time::Duration}; -use tuxedo_core::genesis::TuxedoGenesisBlockBuilder; +use tuxedo_core::{genesis::TuxedoGenesisBlockBuilder, types::OpaqueBlock as Block}; use cumulus_primitives_parachain_inherent::MockValidationDataInherentDataProvider; diff --git a/src/parachain_template_node/main.rs.html b/src/parachain_template_node/main.rs.html index 7ecc7d1a6..04f0d0003 100644 --- a/src/parachain_template_node/main.rs.html +++ b/src/parachain_template_node/main.rs.html @@ -1,6 +1,4 @@ -main.rs - source -
1
+main.rs - source
1
 2
 3
 4
diff --git a/src/parachain_template_node/rpc.rs.html b/src/parachain_template_node/rpc.rs.html
index f79c6e60f..d373f9098 100644
--- a/src/parachain_template_node/rpc.rs.html
+++ b/src/parachain_template_node/rpc.rs.html
@@ -1,6 +1,4 @@
-rpc.rs - source
-    
1
+rpc.rs - source
1
 2
 3
 4
@@ -61,12 +59,12 @@ 

Files

use std::sync::Arc; use jsonrpsee::RpcModule; -use parachain_template_runtime::opaque::Block; pub use sc_rpc::DenyUnsafe; use sc_transaction_pool_api::TransactionPool; use sp_api::ProvideRuntimeApi; use sp_block_builder::BlockBuilder; use sp_blockchain::{Error as BlockChainError, HeaderBackend, HeaderMetadata}; +use tuxedo_core::types::OpaqueBlock as Block; /// A type representing all RPC extensions. pub type RpcExtension = jsonrpsee::RpcModule<()>; diff --git a/src/parachain_template_node/service.rs.html b/src/parachain_template_node/service.rs.html index dbbe60d82..a746cadfc 100644 --- a/src/parachain_template_node/service.rs.html +++ b/src/parachain_template_node/service.rs.html @@ -1,6 +1,4 @@ -service.rs - source -
1
+service.rs - source
1
 2
 3
 4
@@ -432,22 +430,12 @@ 

Files

430 431 432 -433 -434 -435 -436 -437
//! Service and ServiceFactory implementation. Specialized wrapper over substrate service.
 
-// std
-use std::{sync::Arc, time::Duration};
-
-use cumulus_client_cli::CollatorOptions;
-// Local Runtime Types
-use parachain_template_runtime::{
-    opaque::{Block, Hash},
-    RuntimeApi,
-};
+use cumulus_client_cli::CollatorOptions;
+use parachain_template_runtime::RuntimeApi;
+use std::{sync::Arc, time::Duration};
+use tuxedo_core::types::{OpaqueBlock as Block, OpaqueHash as Hash};
 
 // Cumulus Imports
 use cumulus_client_collator::service::CollatorService;
diff --git a/src/poe/lib.rs.html b/src/poe/lib.rs.html
index 08dddc157..a8af56c93 100644
--- a/src/poe/lib.rs.html
+++ b/src/poe/lib.rs.html
@@ -1,6 +1,4 @@
-lib.rs - source
-    
1
+lib.rs - source
1
 2
 3
 4
@@ -213,6 +211,18 @@ 

Files

211 212 213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225
//! This file represents a simple Proof of Existence application, identical in behavior
 //! to the tutorial https://docs.substrate.io/tutorials/work-with-pallets/use-macros-in-a-custom-pallet/
 //! Of course, this implementation is based on UTXOs and works with Tuxedo rather than FRAME.
@@ -256,8 +266,8 @@ 

Files

/// The hash of the data whose existence is being proven. claim: H256, /// The time (in block height) at which the claim becomes valid. - effective_height: u32, //TODO get the generic block height type -} + effective_height: u32, +} impl UtxoData for ClaimData { const TYPE_ID: [u8; 4] = *b"poe_"; @@ -280,6 +290,11 @@

Files

/// The effective height of this claim is in the past, /// So the claim cannot be created. EffectiveHeightInPast, + + /// Claims under dispute do not have the same hash, but they must. + DisputingMismatchedClaims, + /// The winner of a dispute must be the oldest claim (the lowest block number) + IncorrectDisputeWinner, } /// Configuration items for the Proof of Existence piece when it is @@ -306,14 +321,19 @@

Files

fn check( &self, input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], _peeks: &[DynamicallyTypedData], output_data: &[DynamicallyTypedData], ) -> Result<TransactionPriority, Self::Error> { - // Make sure there are no inputs + // Make sure there are no inputs or evictions ensure!( input_data.is_empty(), ConstraintCheckerError::WrongNumberInputs ); + ensure!( + evicted_input_data.is_empty(), + ConstraintCheckerError::WrongNumberInputs + ); // For each output, make sure the claimed block height is >= the current block height. // If we required exact equality, this would mean that transactors needed to get their transactions @@ -349,9 +369,16 @@

Files

fn check( &self, input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], _peeks: &[DynamicallyTypedData], output_data: &[DynamicallyTypedData], ) -> Result<TransactionPriority, Self::Error> { + // Can't evict anything + ensure!( + evicted_input_data.is_empty(), + ConstraintCheckerError::WrongNumberInputs + ); + // Make sure there are no outputs ensure!( output_data.is_empty(), @@ -362,7 +389,7 @@

Files

for untyped_input in input_data { let _ = untyped_input .extract::<ClaimData>() - .map_err(|_| ConstraintCheckerError::BadlyTypedInput); + .map_err(|_| ConstraintCheckerError::BadlyTypedInput)?; } Ok(0) @@ -371,14 +398,7 @@

Files

/// A constraint checker that resolves claim disputes by keeping whichever claim came first. /// -/// TODO this will work much more elegantly once peek is implemented. We only need to peek at the -/// older winning claim because it will remain in state afterwards. -/// -/// TODO what shall we do about the verifier? Each claimer may have given their claim a verifier -/// such that their own private signature. Perhaps there should be a way for a constraint checker to override -/// the verifier logic? This is a concrete case where the constraint checker verifier separation is not ideal. -/// Another, weaker example, is when trying o implement something like sudo. Where we want a signature, -/// but we want to authorized signer to come from the a different part of state. +/// Any user may submit a transaction reporting conflicting claims, and the oldest one will be kept. #[derive(Serialize, Deserialize, Encode, Decode, Debug, PartialEq, Eq, Clone, TypeInfo)] pub struct PoeDispute; @@ -387,43 +407,45 @@

Files

fn check( &self, - _input_data: &[DynamicallyTypedData], - _peeks: &[DynamicallyTypedData], - _output_data: &[DynamicallyTypedData], + input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], + peek_data: &[DynamicallyTypedData], + output_data: &[DynamicallyTypedData], ) -> Result<TransactionPriority, Self::Error> { - todo!("implement this once we have at least peeks and maybe evictions") - - // Make sure there is at least one input (once peek is ready, it will become a peek) - // This first input (or only peek) is the claim that will be retained. - - // Make sure that all other inputs, claim the same hash as the winner. + // Make sure there are no normal inputs or outputs + ensure!( + input_data.is_empty(), + ConstraintCheckerError::WrongNumberInputs + ); + ensure!( + output_data.is_empty(), + ConstraintCheckerError::WrongNumberOutputs + ); - // Make sure that all other claims have block heights strictly greater than the winner. + // Make sure there is exactly one peek (the oldest, winning claim) + let winner = peek_data + .first() + .ok_or(ConstraintCheckerError::WrongNumberInputs)? + .extract::<ClaimData>() + .map_err(|_| ConstraintCheckerError::BadlyTypedInput)?; - //TODO what to do about the verifiers on those losing claims. - } -} + // Make sure that all evicted inputs, claim the same hash as the winner + // and have block heights strictly greater than the winner. + for untyped_loser in evicted_input_data { + let loser = untyped_loser + .extract::<ClaimData>() + .map_err(|_| ConstraintCheckerError::BadlyTypedInput)?; + ensure!( + winner.claim == loser.claim, + Self::Error::DisputingMismatchedClaims + ); + ensure!( + winner.effective_height < loser.effective_height, + Self::Error::IncorrectDisputeWinner + ); + } -#[allow(dead_code)] -mod brainstorm { - /// One workable solution to the problem above is modifying the core transaction structure to something like this - struct Transaction { - /// A classic input that is consumed from the utxo set. Its verifier must be satisfied for the tx to be valid - redemptions: Vec<InputRef>, - /// Similar to a redemption, this is an input that is consumed from the utxo set, but its verifier need not be satisfied - /// In the Poe case above, the losing claims that came later would be evictions. - evictions: Vec<InputRef>, - /// Similar to an input, but it is not consumed. This is a way to read pre-existing state without removing it from the utxo set - /// this also indicates when transaction are not competing for state despite reading the same state, and thus commute. - /// TBD whether it makes sense to have a verifier check. My gut instinct is no verifier check, but it needs more careful thought. - peeks: Vec<InputRef>, - /// Newly created pieces of state to be added to the utxo set. - outputs: Vec<Output>, + Ok(0) } - - // Aliases so my sketch above compiles - type InputRef = (); - type Output = (); - use sp_std::vec::Vec; }
\ No newline at end of file diff --git a/src/runtime_upgrade/lib.rs.html b/src/runtime_upgrade/lib.rs.html index 99cf42bec..8776b039b 100644 --- a/src/runtime_upgrade/lib.rs.html +++ b/src/runtime_upgrade/lib.rs.html @@ -1,6 +1,4 @@ -lib.rs - source -
1
+lib.rs - source
1
 2
 3
 4
@@ -119,6 +117,15 @@ 

Files

117 118 119 +120 +121 +122 +123 +124 +125 +126 +127 +128
//! This is a small pallet that handles runtime upgrades in chains that want
 //! to support them.
 //!
@@ -171,6 +178,8 @@ 

Files

BadlyTypedInput, /// An output data has the wrong type. BadlyTypedOutput, + /// The Runtime Upgrade piece does not allow any evictions at all. + NoEvictionsAllowed, // Now we get on to the actual upgrade-specific errors /// The consumed input does not match the current wasm. This should never happen @@ -198,9 +207,16 @@

Files

fn check( &self, input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], _peeks: &[DynamicallyTypedData], output_data: &[DynamicallyTypedData], ) -> Result<TransactionPriority, Self::Error> { + // Can't evict anything + ensure!( + evicted_input_data.is_empty(), + ConstraintCheckerError::NoEvictionsAllowed + ); + // Make sure there is a single input that matches the hash of the previous runtime logic ensure!( input_data.len() == 1, diff --git a/src/timestamp/lib.rs.html b/src/timestamp/lib.rs.html index ae63d04cb..f931c15e8 100644 --- a/src/timestamp/lib.rs.html +++ b/src/timestamp/lib.rs.html @@ -1,6 +1,4 @@ -lib.rs - source -
1
+lib.rs - source
1
 2
 3
 4
@@ -383,23 +381,13 @@ 

Files

381 382 383 -384 -385 -386 -387 -388 -389 -390
//! Allow block authors to include a timestamp via an inherent transaction.
 //!
 //! This is roughly analogous to FRAME's pallet timestamp. It relies on the same client-side inherent data provider,
-//! as well as Tuxedo's own previous block inehrent data provider.
+//! as well as Tuxedo's own previous block inherent data provider.
 //!
 //! In each block, the block author must include a single `SetTimestamp` transaction that peeks at the
 //! Timestamp UTXO that was created in the previous block, and creates a new one with an updated timestamp.
-//!
-//! This piece currently features a prominent hack which will need to be cleaned up in due course.
-//! It abuses the UpForGrabs verifier. This should be replaced with an Unspendable verifier and an eviction workflow.
 
 #![cfg_attr(not(feature = "std"), no_std)]
 
@@ -416,11 +404,10 @@ 

Files

use tuxedo_core::{ dynamic_typing::{DynamicallyTypedData, UtxoData}, ensure, - inherents::{TuxedoInherent, TuxedoInherentAdapter}, + inherents::InherentHooks, support_macros::{CloneNoBound, DebugNoBound, DefaultNoBound}, types::{Output, OutputRef, Transaction}, - verifier::UpForGrabs, - ConstraintChecker, SimpleConstraintChecker, Verifier, + SimpleConstraintChecker, Verifier, }; #[cfg(test)] @@ -511,6 +498,8 @@

Files

/// You may not clean up old timestamps until they are at least the CLEANUP_AGE older than another /// noted timestamp on-chain. DontBeSoHasty, + /// When cleaning up old timestamps, you must evict them. You may not use normal inputs. + CleanupEvictionsOnly, } /// A constraint checker for the simple act of setting a new best timetamp. @@ -539,33 +528,34 @@

Files

#[scale_info(skip_type_params(T))] pub struct SetTimestamp<T>(PhantomData<T>); -impl<T: TimestampConfig + 'static, V: Verifier + From<UpForGrabs>> ConstraintChecker<V> - for SetTimestamp<T> -{ +impl<T: TimestampConfig + 'static> SimpleConstraintChecker for SetTimestamp<T> { type Error = TimestampError; - type InherentHooks = TuxedoInherentAdapter<Self>; fn check( &self, - input_data: &[tuxedo_core::types::Output<V>], - peek_data: &[tuxedo_core::types::Output<V>], - output_data: &[tuxedo_core::types::Output<V>], + input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], + peek_data: &[DynamicallyTypedData], + output_data: &[DynamicallyTypedData], ) -> Result<TransactionPriority, Self::Error> { log::debug!( target: LOG_TARGET, "🕰️🖴 Checking constraints for SetTimestamp." ); - // Make sure there are no inputs. Setting a new timestamp does not consume anything. + // Make sure there are no inputs or evictions. Setting a new timestamp does not consume anything. ensure!( input_data.is_empty(), Self::Error::InputsWhileSettingTimestamp ); + ensure!( + evicted_input_data.is_empty(), + Self::Error::InputsWhileSettingTimestamp + ); // Make sure the only output is a new best timestamp ensure!(!output_data.is_empty(), Self::Error::MissingNewTimestamp); let new_timestamp = output_data[0] - .payload .extract::<Timestamp>() .map_err(|_| Self::Error::BadlyTyped)?; ensure!( @@ -583,13 +573,13 @@

Files

// We don't expect any additional peeks typically, but they are harmless. ensure!(!peek_data.is_empty(), Self::Error::MissingPreviousTimestamp); let old_timestamp = peek_data[0] - .payload .extract::<Timestamp>() .map_err(|_| Self::Error::BadlyTyped)?; // Compare the new timestamp to the previous timestamp ensure!( - new_timestamp.time >= old_timestamp.time + T::MINIMUM_TIME_INTERVAL, + old_timestamp.block == 0 // first block hack + || new_timestamp.time >= old_timestamp.time + T::MINIMUM_TIME_INTERVAL, Self::Error::TimestampTooOld ); @@ -601,19 +591,13 @@

Files

Ok(0) } - - fn is_inherent(&self) -> bool { - true - } } -impl<V: Verifier + From<UpForGrabs>, T: TimestampConfig + 'static> TuxedoInherent<V, Self> - for SetTimestamp<T> -{ +impl<T: TimestampConfig + 'static> InherentHooks for SetTimestamp<T> { type Error = sp_timestamp::InherentError; const INHERENT_IDENTIFIER: sp_inherents::InherentIdentifier = sp_timestamp::INHERENT_IDENTIFIER; - fn create_inherent( + fn create_inherent<V: Verifier>( authoring_inherent_data: &InherentData, previous_inherent: (Transaction<V, Self>, H256), ) -> tuxedo_core::types::Transaction<V, Self> { @@ -641,7 +625,8 @@

Files

let new_output = Output { payload: new_timestamp.into(), - verifier: UpForGrabs.into(), + verifier: V::new_unspendable() + .expect("Must be able to create unspendable verifier to use timestamp inherent."), }; Transaction { @@ -652,7 +637,7 @@

Files

} } - fn check_inherent( + fn check_inherent<V>( importing_inherent_data: &InherentData, inherent: Transaction<V, Self>, result: &mut CheckInherentsResult, @@ -694,21 +679,15 @@

Files

} } - #[cfg(feature = "std")] - fn genesis_transactions() -> Vec<Transaction<V, Self>> { - use std::time::{Duration, SystemTime}; - let time = SystemTime::UNIX_EPOCH - .elapsed() - .expect("Time went backwards!") - .saturating_sub(Duration::from_millis(T::MINIMUM_TIME_INTERVAL)) - .as_millis() as u64; - + fn genesis_transactions<V: Verifier>() -> Vec<Transaction<V, Self>> { vec![Transaction { inputs: Vec::new(), peeks: Vec::new(), outputs: vec![Output { - payload: Timestamp::new(time, 0).into(), - verifier: UpForGrabs.into(), + payload: Timestamp::new(0, 0).into(), + verifier: V::new_unspendable().expect( + "Must be able to create unspendable verifier to use timestamp inherent.", + ), }], checker: Self::default(), }] @@ -741,9 +720,14 @@

Files

fn check( &self, input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], peek_data: &[DynamicallyTypedData], output_data: &[DynamicallyTypedData], ) -> Result<TransactionPriority, Self::Error> { + // Make sure there are no normal inputs. Timestamps are unspendable, + // so they must be evicted. + ensure!(input_data.is_empty(), Self::Error::CleanupEvictionsOnly); + // Make sure there at least one peek that is the new reference time. // We don't expect any additional peeks typically, but as above, they are harmless. ensure!( @@ -760,10 +744,10 @@

Files

Self::Error::CleanupCannotCreateState ); - // Make sure each input is old enough to be cleaned up + // Make sure each eviction is old enough to be cleaned up // in terms of both time and block height. - for input_datum in input_data { - let old_timestamp = input_datum + for eviction_datum in evicted_input_data { + let old_timestamp = eviction_datum .extract::<Timestamp>() .map_err(|_| Self::Error::BadlyTyped)?; diff --git a/src/tuxedo_core/constraint_checker.rs.html b/src/tuxedo_core/constraint_checker.rs.html index 31f1e2e6a..e07fca0a8 100644 --- a/src/tuxedo_core/constraint_checker.rs.html +++ b/src/tuxedo_core/constraint_checker.rs.html @@ -1,6 +1,4 @@ -constraint_checker.rs - source -
1
+constraint_checker.rs - source
1
 2
 3
 4
@@ -158,18 +156,120 @@ 

Files

156 157 158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235
//! A constraint checker is a piece of logic that determines whether a transaction as a whole is valid
 //! and should be committed. Most tuxedo pieces will provide one or more constraint checkers.
-//! Constraint Checkers do not typically calculate the correct final state, but rather determine whether the
+//! Constraint Checkers do not calculate the correct final state, but rather determine whether the
 //! proposed final state (as specified by the output set) meets the necessary constraints.
+//!
+//! Constraint Checkers can be used to codify the laws of a monetary system, a chemistry or physics simulation,
+//! NFT kitties, public elections and much more.
+//!
+//! The primary way for developers to write a constraint checker is with the `SimpleConstraintChecker`
+//! trait. It provides a method called `check` which determines whether the relationship between the inputs
+//! and outputs (and peeks) is valid. For example making sure no extra money was created, or making sure the chemical
+//! reaction balances.
+//!
+//! ## Inherents
+//!
+//! If you need to tap in to [Substrate's inherent system](https://docs.substrate.io/learn/transaction-types/#inherent-transactions)
+//! you may choose to also implement the `InherentHooks` trait for the same type that implements `SimpleConstraintChecker`.
+//! When installing a constraint checker in your runtime, make sure to wrap it with the `InherentAdapter` type.
+//! See the `inherents` module for more details.
+//!
+//! ## Constraint Checker Internals
+//!
+//! One of Tuxedo's killer features is its ability to aggregating pieces recursively.
+//! To achieve this we have to consider that many intermediate layers in the aggregation tree
+//! will have multiple inherent types. For this reason, we provide a much more flexible interface
+//! that the aggregation macro can use called `ConstraintChecker`. Do not implement `ConstraintChecker`
+//! directly.
 
-use sp_std::{fmt::Debug, vec::Vec};
+use sp_core::H256;
+use sp_inherents::{CheckInherentsResult, InherentData};
+use sp_std::{fmt::Debug, vec::Vec};
 
-use crate::{dynamic_typing::DynamicallyTypedData, inherents::InherentInternal, types::Output};
+use crate::{dynamic_typing::DynamicallyTypedData, types::Transaction, Verifier};
 use parity_scale_codec::{Decode, Encode};
 use sp_runtime::transaction_validity::TransactionPriority;
 
-/// A simplified constraint checker that a transaction can choose to call.
+/// A particular constraint checker that a transaction can choose to be checked by.
 /// Checks whether the input and output data from a transaction meets the codified constraints.
 ///
 /// Additional transient information may be passed to the constraint checker by including it in the fields
@@ -179,90 +279,123 @@ 

Files

/// The error type that this constraint checker may return type Error: Debug; - /// The actual check validation logic + /// The on chain logic that makes the final check for whether a transaction is valid. fn check( &self, input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], peek_data: &[DynamicallyTypedData], output_data: &[DynamicallyTypedData], ) -> Result<TransactionPriority, Self::Error>; } -/// A single constraint checker that a transaction can choose to call. Checks whether the input -/// and output data from a transaction meets the codified constraints. +/// The raw and fully powerful `ConstraintChecker` interface used by the +/// Tuxedo Executive. /// -/// This full ConstraintChecker should only be implemented if the piece logic cannot be expressed with -/// the SimpleConstraintChecker. For example, if you need to enforce the verifier is a particular type -/// or contains a certain value. Another reason would be if you need to implement an inherent. +/// You should never manually manually implement this trait. +/// If you are: +/// * Working on a simple non-inherent constraint checker -> Use the `SimpleConstraintChecker` trait instead +/// and rely on its blanket implementation. +/// * Working on an inherent constraint checker -> Implement `SimpleConstraintChecker` and `InherentHooks` and use the +/// `InherentAdapter` wrapper type. +/// * Considering an aggregate constraint checker that is part inherent, part not -> let the macro handle it for you. /// -/// Additional transient information may be passed to the constraint checker by including it in the fields -/// of the constraint checker struct itself. Information passed in this way does not come from state, nor -/// is it stored in state. -pub trait ConstraintChecker<V>: Debug + Encode + Decode + Clone { +/// If you are trying to implement some complex inherent logic that requires the interaction of +/// multiple inherents, or features a variable number of inherents in each block, you might be +/// able to express it by implementing this trait, but such designs are probably too complicated. +/// Think long and hard before implementing this trait directly. +pub trait ConstraintChecker: Debug + Encode + Decode + Clone { /// The error type that this constraint checker may return type Error: Debug; - /// Optional Associated Inherent processing logic. If this transaction type is not an inherent, use (). - /// If it is an inherent, use Self, and implement the TuxedoInherent trait. - type InherentHooks: InherentInternal<V, Self>; - - /// The actual check validation logic + /// The on chain logic that makes the final check for whether a transaction is valid. fn check( &self, - inputs: &[Output<V>], - peeks: &[Output<V>], - outputs: &[Output<V>], + input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], + peek_data: &[DynamicallyTypedData], + output_data: &[DynamicallyTypedData], ) -> Result<TransactionPriority, Self::Error>; /// Tells whether this extrinsic is an inherent or not. /// If you return true here, you must provide the correct inherent hooks above. fn is_inherent(&self) -> bool; + + /// Create the inherent extrinsics to insert into a block that is being authored locally. + /// The inherent data is supplied by the authoring node. + fn create_inherents<V: Verifier>( + authoring_inherent_data: &InherentData, + previous_inherents: Vec<(Transaction<V, Self>, H256)>, + ) -> Vec<Transaction<V, Self>>; + + /// Perform off-chain pre-execution checks on the inherents. + /// The inherent data is supplied by the importing node. + /// The inherent data available here is not necessarily the + /// same as what is available at authoring time. + fn check_inherents<V: Verifier>( + importing_inherent_data: &InherentData, + inherents: Vec<Transaction<V, Self>>, + results: &mut CheckInherentsResult, + ); + + /// Return the genesis transactions that are required for the inherents. + fn genesis_transactions<V: Verifier>() -> Vec<Transaction<V, Self>>; } -// This blanket implementation makes it so that any type that chooses to -// implement the Simple trait also implements the more Powerful trait. -// This way the executive can always just call the more Powerful trait. -impl<T: SimpleConstraintChecker, V> ConstraintChecker<V> for T { +// We automatically supply every single simple constraint checker with a dummy set +// of inherent hooks. This allows "normal" non-inherent constraint checkers to satisfy the +// executive's expected interfaces without the piece author worrying about inherents. +impl<T: SimpleConstraintChecker> ConstraintChecker for T { // Use the same error type used in the simple implementation. type Error = <T as SimpleConstraintChecker>::Error; - type InherentHooks = (); - fn check( &self, - inputs: &[Output<V>], - peeks: &[Output<V>], - outputs: &[Output<V>], + input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], + peek_data: &[DynamicallyTypedData], + output_data: &[DynamicallyTypedData], ) -> Result<TransactionPriority, Self::Error> { - // Extract the input data - let input_data: Vec<DynamicallyTypedData> = - inputs.iter().map(|o| o.payload.clone()).collect(); - - // Extract the peek data - let peek_data: Vec<DynamicallyTypedData> = - peeks.iter().map(|o| o.payload.clone()).collect(); - - // Extract the output data - let output_data: Vec<DynamicallyTypedData> = - outputs.iter().map(|o| o.payload.clone()).collect(); - - // Call the simple constraint checker - SimpleConstraintChecker::check(self, &input_data, &peek_data, &output_data) + SimpleConstraintChecker::check(self, input_data, evicted_input_data, peek_data, output_data) } fn is_inherent(&self) -> bool { false } + + fn create_inherents<V>( + _authoring_inherent_data: &InherentData, + _previous_inherents: Vec<(Transaction<V, Self>, H256)>, + ) -> Vec<Transaction<V, Self>> { + Vec::new() + } + + fn check_inherents<V>( + _: &InherentData, + inherents: Vec<Transaction<V, Self>>, + _: &mut CheckInherentsResult, + ) { + // Inherents should always be empty for this stub implementation. Not just in valid blocks, but as an invariant. + // The way we determined which inherents got here is by matching on the constraint checker. + assert!( + inherents.is_empty(), + "inherent extrinsic was passed to check inherents stub implementation." + ) + } + + fn genesis_transactions<V>() -> Vec<Transaction<V, Self>> { + Vec::new() + } } /// Utilities for writing constraint-checker-related unit tests #[cfg(test)] pub mod testing { + use parity_scale_codec::{Decode, Encode}; use scale_info::TypeInfo; use serde::{Deserialize, Serialize}; - use super::*; - use crate::{types::Output, verifier::TestVerifier}; + use super::{ConstraintChecker, DynamicallyTypedData, TransactionPriority}; /// A testing checker that passes (with zero priority) or not depending on /// the boolean value enclosed. @@ -274,15 +407,15 @@

Files

pub inherent: bool, } - impl ConstraintChecker<TestVerifier> for TestConstraintChecker { + impl ConstraintChecker for TestConstraintChecker { type Error = (); - type InherentHooks = (); fn check( &self, - _input_data: &[Output<TestVerifier>], - _peek_data: &[Output<TestVerifier>], - _output_data: &[Output<TestVerifier>], + _input_data: &[DynamicallyTypedData], + _evicted_input_data: &[DynamicallyTypedData], + _peek_data: &[DynamicallyTypedData], + _output_data: &[DynamicallyTypedData], ) -> Result<TransactionPriority, ()> { if self.checks { Ok(0) @@ -294,6 +427,25 @@

Files

fn is_inherent(&self) -> bool { self.inherent } + + fn create_inherents<V: crate::Verifier>( + _: &sp_inherents::InherentData, + _: Vec<(crate::types::Transaction<V, Self>, sp_core::H256)>, + ) -> Vec<crate::types::Transaction<V, Self>> { + unimplemented!() + } + + fn check_inherents<V: crate::Verifier>( + _: &sp_inherents::InherentData, + _: Vec<crate::types::Transaction<V, Self>>, + _: &mut sp_inherents::CheckInherentsResult, + ) { + unimplemented!() + } + + fn genesis_transactions<V: crate::Verifier>() -> Vec<crate::types::Transaction<V, Self>> { + unimplemented!() + } } #[test] @@ -302,7 +454,7 @@

Files

checks: true, inherent: false, } - .check(&[], &[], &[]); + .check(&[], &[], &[], &[]); assert_eq!(result, Ok(0)); } @@ -312,7 +464,7 @@

Files

checks: false, inherent: false, } - .check(&[], &[], &[]); + .check(&[], &[], &[], &[]); assert_eq!(result, Err(())); } } diff --git a/src/tuxedo_core/dynamic_typing.rs.html b/src/tuxedo_core/dynamic_typing.rs.html index b02c10605..972b059cd 100644 --- a/src/tuxedo_core/dynamic_typing.rs.html +++ b/src/tuxedo_core/dynamic_typing.rs.html @@ -1,6 +1,4 @@ -dynamic_typing.rs - source -
1
+dynamic_typing.rs - source
1
 2
 3
 4
diff --git a/src/tuxedo_core/executive.rs.html b/src/tuxedo_core/executive.rs.html
index 882b446cb..f41c0cc4d 100644
--- a/src/tuxedo_core/executive.rs.html
+++ b/src/tuxedo_core/executive.rs.html
@@ -1,6 +1,4 @@
-executive.rs - source
-    
1
+executive.rs - source
1
 2
 3
 4
@@ -1272,6 +1270,27 @@ 

Files

1270 1271 1272 +1273 +1274 +1275 +1276 +1277 +1278 +1279 +1280 +1281 +1282 +1283 +1284 +1285 +1286 +1287 +1288 +1289 +1290 +1291 +1292 +1293
//! # Executive Module
 //!
 //! The executive is the main orchestrator for the entire runtime.
@@ -1282,12 +1301,16 @@ 

Files

use crate::{ constraint_checker::ConstraintChecker, + dynamic_typing::DynamicallyTypedData, ensure, - inherents::{InherentInternal, PARENT_INHERENT_IDENTIFIER}, - types::{DispatchResult, OutputRef, Transaction, UtxoError}, + inherents::PARENT_INHERENT_IDENTIFIER, + types::{ + Block, BlockNumber, DispatchResult, Header, OutputRef, RedemptionStrategy, Transaction, + UtxoError, + }, utxo_set::TransparentUtxoSet, verifier::Verifier, - EXTRINSIC_KEY, HEADER_KEY, LOG_TARGET, + EXTRINSIC_KEY, HEADER_KEY, HEIGHT_KEY, LOG_TARGET, }; use log::debug; use parity_scale_codec::{Decode, Encode}; @@ -1295,7 +1318,7 @@

Files

use sp_core::H256; use sp_inherents::{CheckInherentsResult, InherentData}; use sp_runtime::{ - traits::BlakeTwo256, + traits::{BlakeTwo256, Extrinsic}, transaction_validity::{ InvalidTransaction, TransactionLongevity, TransactionSource, TransactionValidityError, ValidTransaction, @@ -1307,10 +1330,14 @@

Files

/// The executive. Each runtime is encouraged to make a type alias called `Executive` that fills /// in the proper generic types. -pub struct Executive<B, V, C>(PhantomData<(B, V, C)>); - -impl<B: BlockT<Extrinsic = Transaction<V, C>>, V: Verifier, C: ConstraintChecker<V>> - Executive<B, V, C> +pub struct Executive<V, C>(PhantomData<(V, C)>); + +impl<V, C> Executive<V, C> +where + V: Verifier, + C: ConstraintChecker, + Block<V, C>: BlockT<Extrinsic = Transaction<V, C>, Hash = sp_core::H256>, + Transaction<V, C>: Extrinsic, { /// Does pool-style validation of a tuxedo transaction. /// Does not commit anything to storage. @@ -1338,36 +1365,46 @@

Files

// This will be passed to the verifiers let mut stripped = transaction.clone(); for input in stripped.inputs.iter_mut() { - input.redeemer = Vec::new(); + input.redeemer = Default::default(); } let stripped_encoded = stripped.encode(); // Check that the verifiers of all inputs are satisfied - // Keep a Vec of the input utxos for passing to the constraint checker + // Keep a Vec of the input data for passing to the constraint checker // Keep track of any missing inputs for use in the tagged transaction pool - let mut input_utxos = Vec::new(); + let mut input_data = Vec::new(); + let mut evicted_input_data = Vec::new(); let mut missing_inputs = Vec::new(); for input in transaction.inputs.iter() { if let Some(input_utxo) = TransparentUtxoSet::<V>::peek_utxo(&input.output_ref) { - ensure!( - input_utxo - .verifier - .verify(&stripped_encoded, &input.redeemer), - UtxoError::VerifierError - ); - input_utxos.push(input_utxo); + match input.redeemer { + RedemptionStrategy::Redemption(ref redeemer) => { + let redeemer = V::Redeemer::decode(&mut &redeemer[..]) + .map_err(|_| UtxoError::VerifierError)?; + ensure!( + input_utxo.verifier.verify( + &stripped_encoded, + Self::block_height(), + &redeemer + ), + UtxoError::VerifierError + ); + input_data.push(input_utxo.payload); + } + RedemptionStrategy::Eviction => evicted_input_data.push(input_utxo.payload), + } } else { missing_inputs.push(input.output_ref.clone().encode()); } } - // Make a Vec of the peek utxos for passing to the constraint checker + // Make a Vec of the peek data for passing to the constraint checker // Keep track of any missing peeks for use in the tagged transaction pool // Use the same vec as previously to keep track of missing peeks - let mut peek_utxos = Vec::new(); + let mut peek_data = Vec::new(); for output_ref in transaction.peeks.iter() { if let Some(peek_utxo) = TransparentUtxoSet::<V>::peek_utxo(output_ref) { - peek_utxos.push(peek_utxo); + peek_data.push(peek_utxo.payload); } else { missing_inputs.push(output_ref.encode()); } @@ -1420,10 +1457,17 @@

Files

}); } + // Extract the payload data from each output + let output_data: Vec<DynamicallyTypedData> = transaction + .outputs + .iter() + .map(|o| o.payload.clone()) + .collect(); + // Call the constraint checker transaction .checker - .check(&input_utxos, &peek_utxos, &transaction.outputs) + .check(&input_data, &evicted_input_data, &peek_data, &output_data) .map_err(UtxoError::ConstraintCheckerError)?; // Return the valid transaction @@ -1487,20 +1531,16 @@

Files

} /// A helper function that allows tuxedo runtimes to read the current block height - pub fn block_height() -> <<B as BlockT>::Header as HeaderT>::Number - where - B::Header: HeaderT, - { - *sp_io::storage::get(HEADER_KEY) - .and_then(|d| B::Header::decode(&mut &*d).ok()) - .expect("A header is always stored at the beginning of the block") - .number() +
pub fn block_height() -> BlockNumber { + sp_io::storage::get(HEIGHT_KEY) + .and_then(|d| BlockNumber::decode(&mut &*d).ok()) + .expect("A height is stored at the beginning of block one and never cleared.") } // These next three methods are for the block authoring workflow. // Open the block, apply zero or more extrinsics, close the block - pub fn open_block(header: &<B as BlockT>::Header) { + pub fn open_block(header: &Header) { debug!( target: LOG_TARGET, "Entering initialize_block. header: {:?}", header @@ -1509,9 +1549,13 @@

Files

// Store the transient partial header for updating at the end of the block. // This will be removed from storage before the end of the block. sp_io::storage::set(HEADER_KEY, &header.encode()); + + // Also store the height persistently so it is available when + // performing pool validations and other off-chain runtime calls. + sp_io::storage::set(HEIGHT_KEY, &header.number().encode()); } - pub fn apply_extrinsic(extrinsic: <B as BlockT>::Extrinsic) -> ApplyExtrinsicResult { + pub fn apply_extrinsic(extrinsic: Transaction<V, C>) -> ApplyExtrinsicResult { debug!( target: LOG_TARGET, "Entering apply_extrinsic: {:?}", extrinsic @@ -1532,9 +1576,9 @@

Files

Ok(Ok(())) } - pub fn close_block() -> <B as BlockT>::Header { + pub fn close_block() -> Header { let mut header = sp_io::storage::get(HEADER_KEY) - .and_then(|d| <B as BlockT>::Header::decode(&mut &*d).ok()) + .and_then(|d| Header::decode(&mut &*d).ok()) .expect("We initialized with header, it never got mutated, qed"); // the header itself contains the state root, so it cannot be inside the state (circular @@ -1544,16 +1588,13 @@

Files

let extrinsics = sp_io::storage::get(EXTRINSIC_KEY) .and_then(|d| <Vec<Vec<u8>>>::decode(&mut &*d).ok()) .unwrap_or_default(); - let extrinsics_root = <<B as BlockT>::Header as HeaderT>::Hashing::ordered_trie_root( - extrinsics, - StateVersion::V0, - ); + let extrinsics_root = + <Header as HeaderT>::Hashing::ordered_trie_root(extrinsics, StateVersion::V0); sp_io::storage::clear(EXTRINSIC_KEY); header.set_extrinsics_root(extrinsics_root); let raw_state_root = &sp_io::storage::root(StateVersion::V1)[..]; - let state_root = - <<B as BlockT>::Header as HeaderT>::Hash::decode(&mut &raw_state_root[..]).unwrap(); + let state_root = <Header as HeaderT>::Hash::decode(&mut &raw_state_root[..]).unwrap(); header.set_state_root(state_root); debug!(target: LOG_TARGET, "finalizing block {:?}", header); @@ -1562,7 +1603,7 @@

Files

// This one is for the Core api. It is used to import blocks authored by foreign nodes. - pub fn execute_block(block: B) { +
pub fn execute_block(block: Block<V, C>) { debug!( target: LOG_TARGET, "Entering execute_block. block: {:?}", block @@ -1573,6 +1614,10 @@

Files

// be cleared before the end of the block sp_io::storage::set(HEADER_KEY, &block.header().encode()); + // Also store the height persistently so it is available when + // performing pool validations and other off-chain runtime calls. + sp_io::storage::set(HEIGHT_KEY, &block.header().number().encode()); + // Tuxedo requires that inherents are at the beginning (and soon end) of the // block and not scattered throughout. We use this flag to enforce that. let mut finished_with_opening_inherents = false; @@ -1603,37 +1648,21 @@

Files

// Check state root let raw_state_root = &sp_io::storage::root(StateVersion::V1)[..]; - let state_root = - <<B as BlockT>::Header as HeaderT>::Hash::decode(&mut &raw_state_root[..]).unwrap(); + let state_root = <Header as HeaderT>::Hash::decode(&mut &raw_state_root[..]).unwrap(); assert_eq!( *block.header().state_root(), state_root, "state root mismatch" ); - // Print state for quick debugging - // let mut key = vec![]; - // while let Some(next) = sp_io::storage::next_key(&key) { - // let val = sp_io::storage::get(&next).unwrap().to_vec(); - // log::trace!( - // target: LOG_TARGET, - // "{} <=> {}", - // HexDisplay::from(&next), - // HexDisplay::from(&val) - // ); - // key = next; - // } - - // Check extrinsics root. + // Check extrinsics root. let extrinsics = block .extrinsics() .iter() .map(|x| x.encode()) .collect::<Vec<_>>(); - let extrinsics_root = <<B as BlockT>::Header as HeaderT>::Hashing::ordered_trie_root( - extrinsics, - StateVersion::V0, - ); + let extrinsics_root = + <Header as HeaderT>::Hashing::ordered_trie_root(extrinsics, StateVersion::V0); assert_eq!( *block.header().extrinsics_root(), extrinsics_root, @@ -1645,8 +1674,8 @@

Files

pub fn validate_transaction( source: TransactionSource, - tx: <B as BlockT>::Extrinsic, - block_hash: <B as BlockT>::Hash, + tx: Transaction<V, C>, + block_hash: <Block<V, C> as BlockT>::Hash, ) -> TransactionValidity { debug!( target: LOG_TARGET, @@ -1682,14 +1711,14 @@

Files

} // The next two are for the standard beginning-of-block inherent extrinsics. - pub fn inherent_extrinsics(data: sp_inherents::InherentData) -> Vec<<B as BlockT>::Extrinsic> { + pub fn inherent_extrinsics(data: sp_inherents::InherentData) -> Vec<Transaction<V, C>> { debug!( target: LOG_TARGET, "Entering `inherent_extrinsics`." ); - // Extract the complete parent block from the inheret data - let parent: B = data + // Extract the complete parent block from the inherent data + let parent: Block<V, C> = data .get_data(&PARENT_INHERENT_IDENTIFIER) .expect("Parent block inherent data should be able to decode.") .expect("Parent block should be present among authoring inherent data."); @@ -1699,7 +1728,7 @@

Files

// We also annotate each transaction with its original hash for purposes of constructing output refs later. // This is necessary because the transaction hash changes as we unwrap layers of aggregation, // and we need an original universal transaction id. - let previous_blocks_inherents: Vec<(<B as BlockT>::Extrinsic, H256)> = parent + let previous_blocks_inherents: Vec<(Transaction<V, C>, H256)> = parent .extrinsics() .iter() .cloned() @@ -1716,10 +1745,13 @@

Files

); // Call into constraint checker's own inherent hooks to create the actual transactions - C::InherentHooks::create_inherents(&data, previous_blocks_inherents) + C::create_inherents(&data, previous_blocks_inherents) } - pub fn check_inherents(block: B, data: InherentData) -> sp_inherents::CheckInherentsResult { + pub fn check_inherents( + block: Block<V, C>, + data: InherentData, + ) -> sp_inherents::CheckInherentsResult { debug!( target: LOG_TARGET, "Entering `check_inherents`" @@ -1739,7 +1771,7 @@

Files

.take_while(|tx| tx.checker.is_inherent()) .collect(); - C::InherentHooks::check_inherents(&data, inherents, &mut result); + C::check_inherents::<V>(&data, inherents, &mut result); result } @@ -1749,7 +1781,7 @@

Files

mod tests { use sp_core::H256; use sp_io::TestExternalities; - use sp_runtime::transaction_validity::ValidTransactionBuilder; + use sp_runtime::{generic::Header, transaction_validity::ValidTransactionBuilder}; use crate::{ constraint_checker::testing::TestConstraintChecker, @@ -1763,7 +1795,7 @@

Files

type TestTransaction = Transaction<TestVerifier, TestConstraintChecker>; pub type TestHeader = sp_runtime::generic::Header<u32, BlakeTwo256>; pub type TestBlock = sp_runtime::generic::Block<TestHeader, TestTransaction>; - pub type TestExecutive = Executive<TestBlock, TestVerifier, TestConstraintChecker>; + pub type TestExecutive = Executive<TestVerifier, TestConstraintChecker>; /// Construct a mock OutputRef from a transaction number and index in that transaction. /// @@ -1893,10 +1925,18 @@

Files

ext.insert(output_ref.encode(), output.encode()); } - // Write the pre-header - if let Some(pre_header) = self.pre_header { - ext.insert(HEADER_KEY.to_vec(), pre_header.encode()); - } + // Write a pre-header. If none was supplied, create a use a default one. + let pre_header = self.pre_header.unwrap_or(Header { + parent_hash: Default::default(), + number: 0, + state_root: H256::zero(), + extrinsics_root: H256::zero(), + digest: Default::default(), + }); + ext.insert(HEADER_KEY.to_vec(), pre_header.encode()); + + // Write a block height. + ext.insert(HEIGHT_KEY.to_vec(), pre_header.number.encode()); // Write the noted extrinsics ext.insert(EXTRINSIC_KEY.to_vec(), self.noted_extrinsics.encode()); @@ -1926,7 +1966,7 @@

Files

.execute_with(|| { let input = Input { output_ref, - redeemer: Vec::new(), + redeemer: RedemptionStrategy::Redemption(Vec::new()), }; let tx = TestTransactionBuilder::default() @@ -1992,7 +2032,7 @@

Files

let output_ref = mock_output_ref(0, 0); let input = Input { output_ref: output_ref.clone(), - redeemer: Vec::new(), + redeemer: Default::default(), }; let tx = TestTransactionBuilder::default() @@ -2038,7 +2078,7 @@

Files

.execute_with(|| { let input = Input { output_ref, - redeemer: Vec::new(), + redeemer: Default::default(), }; let tx = TestTransactionBuilder::default() @@ -2086,7 +2126,7 @@

Files

.execute_with(|| { let input = Input { output_ref, - redeemer: Vec::new(), + redeemer: Default::default(), }; let tx = TestTransactionBuilder::default() @@ -2156,7 +2196,7 @@

Files

let output_ref = mock_output_ref(0, 0); let input = Input { output_ref: output_ref.clone(), - redeemer: Vec::new(), + redeemer: Default::default(), }; let tx = TestTransactionBuilder::default() @@ -2194,7 +2234,7 @@

Files

.execute_with(|| { let input = Input { output_ref: output_ref.clone(), - redeemer: Vec::new(), + redeemer: Default::default(), }; let tx = TestTransactionBuilder::default() @@ -2339,7 +2379,7 @@

Files

parent_hash: H256::zero(), number: 6, state_root: array_bytes::hex_n_into_unchecked( - "858174d563f845dbb4959ea64816bd8409e48cc7e65db8aa455bc98d61d24071", + "cc2d78f5977b6e9e16f4417f60cbd7edaad0c39a6a7cd21281e847da7dd210b9", ), extrinsics_root: array_bytes::hex_n_into_unchecked( "03170a2e7597b7b7e3d84c05391d139a62b157e78786d8c082f29dcf4c111314", @@ -2361,7 +2401,7 @@

Files

parent_hash: H256::zero(), number: 6, state_root: array_bytes::hex_n_into_unchecked( - "858174d563f845dbb4959ea64816bd8409e48cc7e65db8aa455bc98d61d24071", + "cc2d78f5977b6e9e16f4417f60cbd7edaad0c39a6a7cd21281e847da7dd210b9", ), extrinsics_root: array_bytes::hex_n_into_unchecked( "d609af1c51521f5891054014cf667619067a93f4bca518b398f5a39aeb270cca", @@ -2384,7 +2424,7 @@

Files

parent_hash: H256::zero(), number: 6, state_root: array_bytes::hex_n_into_unchecked( - "858174d563f845dbb4959ea64816bd8409e48cc7e65db8aa455bc98d61d24071", + "cc2d78f5977b6e9e16f4417f60cbd7edaad0c39a6a7cd21281e847da7dd210b9", ), extrinsics_root: array_bytes::hex_n_into_unchecked( "03170a2e7597b7b7e3d84c05391d139a62b157e78786d8c082f29dcf4c111314", @@ -2428,7 +2468,7 @@

Files

parent_hash: H256::zero(), number: 6, state_root: array_bytes::hex_n_into_unchecked( - "858174d563f845dbb4959ea64816bd8409e48cc7e65db8aa455bc98d61d24071", + "cc2d78f5977b6e9e16f4417f60cbd7edaad0c39a6a7cd21281e847da7dd210b9", ), extrinsics_root: H256::zero(), digest: Default::default(), @@ -2448,7 +2488,7 @@

Files

parent_hash: H256::zero(), number: 6, state_root: array_bytes::hex_n_into_unchecked( - "858174d563f845dbb4959ea64816bd8409e48cc7e65db8aa455bc98d61d24071", + "cc2d78f5977b6e9e16f4417f60cbd7edaad0c39a6a7cd21281e847da7dd210b9", ), extrinsics_root: array_bytes::hex_n_into_unchecked( "799fc6d36f68fc83ae3408de607006e02836181e91701aa3a8021960b1f3507c", @@ -2470,7 +2510,7 @@

Files

parent_hash: H256::zero(), number: 6, state_root: array_bytes::hex_n_into_unchecked( - "858174d563f845dbb4959ea64816bd8409e48cc7e65db8aa455bc98d61d24071", + "cc2d78f5977b6e9e16f4417f60cbd7edaad0c39a6a7cd21281e847da7dd210b9", ), extrinsics_root: array_bytes::hex_n_into_unchecked( "bf3e98799022bee8f0a55659af5f498717736ae012d2aff6274cdb7c2b0d78e9", @@ -2498,7 +2538,7 @@

Files

parent_hash: H256::zero(), number: 6, state_root: array_bytes::hex_n_into_unchecked( - "858174d563f845dbb4959ea64816bd8409e48cc7e65db8aa455bc98d61d24071", + "cc2d78f5977b6e9e16f4417f60cbd7edaad0c39a6a7cd21281e847da7dd210b9", ), extrinsics_root: array_bytes::hex_n_into_unchecked( "df64890515cd8ef5a8e736248394f7c72a1df197bd400a4e31affcaf6e051984", @@ -2526,7 +2566,7 @@

Files

parent_hash: H256::zero(), number: 6, state_root: array_bytes::hex_n_into_unchecked( - "858174d563f845dbb4959ea64816bd8409e48cc7e65db8aa455bc98d61d24071", + "cc2d78f5977b6e9e16f4417f60cbd7edaad0c39a6a7cd21281e847da7dd210b9", ), extrinsics_root: array_bytes::hex_n_into_unchecked( "0x36601deae36de127b974e8498e118e348a50aa4aa94bc5713e29c56e0d37e44f", diff --git a/src/tuxedo_core/genesis.rs.html b/src/tuxedo_core/genesis.rs.html deleted file mode 100644 index 38a170061..000000000 --- a/src/tuxedo_core/genesis.rs.html +++ /dev/null @@ -1,371 +0,0 @@ -genesis.rs - source -
1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-76
-77
-78
-79
-80
-81
-82
-83
-84
-85
-86
-87
-88
-89
-90
-91
-92
-93
-94
-95
-96
-97
-98
-99
-100
-101
-102
-103
-104
-105
-106
-107
-108
-109
-110
-111
-112
-113
-114
-115
-116
-117
-118
-119
-120
-121
-122
-123
-124
-125
-126
-127
-128
-129
-130
-131
-132
-133
-134
-135
-136
-137
-138
-139
-140
-141
-142
-143
-144
-145
-146
-147
-148
-149
-150
-151
-152
-153
-154
-155
-156
-157
-158
-159
-160
-161
-162
-163
-164
-165
-166
-167
-168
-169
-170
-171
-172
-173
-174
-175
-176
-177
-178
-179
-180
-181
-182
-183
-184
-
//! Custom GenesisBlockBuilder for Tuxedo, to allow extrinsics to be added to the genesis block.
-
-use crate::{
-    ensure,
-    types::{Output, OutputRef, Transaction},
-    ConstraintChecker, Verifier, EXTRINSIC_KEY, LOG_TARGET,
-};
-use parity_scale_codec::{Decode, Encode};
-use sc_chain_spec::BuildGenesisBlock;
-use sc_client_api::backend::{Backend, BlockImportOperation};
-use sc_executor::RuntimeVersionOf;
-use serde::{Deserialize, Serialize};
-use sp_core::{storage::Storage, traits::CodeExecutor};
-use sp_runtime::{
-    traits::{BlakeTwo256, Block as BlockT, Hash as HashT, Header as HeaderT, Zero},
-    BuildStorage,
-};
-use std::sync::Arc;
-
-pub struct TuxedoGenesisBlockBuilder<
-    'a,
-    Block: BlockT,
-    B: Backend<Block>,
-    E: RuntimeVersionOf + CodeExecutor,
-> {
-    build_genesis_storage: &'a dyn BuildStorage,
-    commit_genesis_state: bool,
-    backend: Arc<B>,
-    executor: E,
-    _phantom: std::marker::PhantomData<Block>,
-}
-
-impl<'a, Block: BlockT, B: Backend<Block>, E: RuntimeVersionOf + CodeExecutor>
-    TuxedoGenesisBlockBuilder<'a, Block, B, E>
-{
-    pub fn new(
-        build_genesis_storage: &'a dyn BuildStorage,
-        commit_genesis_state: bool,
-        backend: Arc<B>,
-        executor: E,
-    ) -> sp_blockchain::Result<Self> {
-        Ok(Self {
-            build_genesis_storage,
-            commit_genesis_state,
-            backend,
-            executor,
-            _phantom: Default::default(),
-        })
-    }
-}
-
-impl<'a, Block: BlockT, B: Backend<Block>, E: RuntimeVersionOf + CodeExecutor>
-    BuildGenesisBlock<Block> for TuxedoGenesisBlockBuilder<'a, Block, B, E>
-{
-    type BlockImportOperation = <B as Backend<Block>>::BlockImportOperation;
-
-    /// Build the genesis block, including the extrinsics found in storage at EXTRINSIC_KEY.
-    /// The extrinsics are not checked for validity, nor executed, so the values in storage must be placed manually.
-    /// This can be done by using the `assimilate_storage` function.
-    fn build_genesis_block(self) -> sp_blockchain::Result<(Block, Self::BlockImportOperation)> {
-        // We build it here to gain mutable access to the storage.
-        let mut genesis_storage = self
-            .build_genesis_storage
-            .build_storage()
-            .map_err(sp_blockchain::Error::Storage)?;
-
-        let state_version =
-            sc_chain_spec::resolve_state_version_from_wasm(&genesis_storage, &self.executor)?;
-
-        let extrinsics = match genesis_storage.top.remove(crate::EXTRINSIC_KEY) {
-            Some(v) => <Vec<<Block as BlockT>::Extrinsic>>::decode(&mut &v[..]).unwrap_or_default(),
-            None => Vec::new(),
-        };
-
-        let extrinsics_root =
-            <<<Block as BlockT>::Header as HeaderT>::Hashing as HashT>::ordered_trie_root(
-                extrinsics.iter().map(Encode::encode).collect(),
-                state_version,
-            );
-
-        let mut op = self.backend.begin_operation()?;
-        let state_root =
-            op.set_genesis_state(genesis_storage, self.commit_genesis_state, state_version)?;
-
-        let block = Block::new(
-            HeaderT::new(
-                Zero::zero(),
-                extrinsics_root,
-                state_root,
-                Default::default(),
-                Default::default(),
-            ),
-            extrinsics,
-        );
-
-        log::debug!(
-            target: LOG_TARGET,
-            "About to finish build_genesis_block. The hash at this point is {:?}",
-            block.header().hash()
-        );
-
-        Ok((block, op))
-    }
-}
-
-#[derive(Serialize, Deserialize)]
-/// The `TuxedoGenesisConfig` struct is used to configure the genesis state of the runtime.
-/// It expects the wasm binary and a list of transactions to be included in the genesis block, and stored along with their outputs.
-/// They must not contain any inputs or peeks. These transactions will not be validated by the corresponding ConstraintChecker or Verifier.
-/// Make sure to pass the inherents before the extrinsics.
-pub struct TuxedoGenesisConfig<V, C> {
-    wasm_binary: Vec<u8>,
-    genesis_transactions: Vec<Transaction<V, C>>,
-}
-
-impl<V, C> TuxedoGenesisConfig<V, C> {
-    /// Create a new `TuxedoGenesisConfig` from a WASM binary and a list of transactions.
-    /// Make sure to pass the transactions in order: the inherents should be first, then the extrinsics.
-    pub fn new(wasm_binary: Vec<u8>, genesis_transactions: Vec<Transaction<V, C>>) -> Self {
-        Self {
-            wasm_binary,
-            genesis_transactions,
-        }
-    }
-
-    pub fn get_transaction(&self, i: usize) -> Option<&Transaction<V, C>> {
-        self.genesis_transactions.get(i)
-    }
-}
-
-impl<V, C> BuildStorage for TuxedoGenesisConfig<V, C>
-where
-    V: Verifier,
-    C: ConstraintChecker<V>,
-    Transaction<V, C>: Encode,
-    Output<V>: Encode,
-{
-    /// Assimilate the storage into the genesis block.
-    /// This is done by inserting the genesis extrinsics into the genesis block, along with their outputs.
-    fn assimilate_storage(&self, storage: &mut Storage) -> Result<(), String> {
-        // The wasm binary is stored under a special key.
-        storage.top.insert(
-            sp_storage::well_known_keys::CODE.into(),
-            self.wasm_binary.clone(),
-        );
-
-        // The transactions are stored under a special key.
-        storage
-            .top
-            .insert(EXTRINSIC_KEY.to_vec(), self.genesis_transactions.encode());
-
-        let mut finished_with_opening_inherents = false;
-
-        for tx in self.genesis_transactions.iter() {
-            // Enforce that inherents are in the right place
-            let current_tx_is_inherent = tx.checker.is_inherent();
-            if current_tx_is_inherent && finished_with_opening_inherents {
-                return Err(
-                    "Tried to execute opening inherent after switching to non-inherents.".into(),
-                );
-            }
-            if !current_tx_is_inherent && !finished_with_opening_inherents {
-                // This is the first non-inherent, so we update our flag and continue.
-                finished_with_opening_inherents = true;
-            }
-            // Enforce that transactions do not have any inputs or peeks.
-            ensure!(
-                tx.inputs.is_empty() && tx.peeks.is_empty(),
-                "Genesis transactions must not have any inputs or peeks."
-            );
-            // Insert the outputs into the storage.
-            let tx_hash = BlakeTwo256::hash_of(&tx.encode());
-            for (index, utxo) in tx.outputs.iter().enumerate() {
-                let output_ref = OutputRef {
-                    tx_hash,
-                    index: index as u32,
-                };
-                storage.top.insert(output_ref.encode(), utxo.encode());
-            }
-        }
-
-        Ok(())
-    }
-}
-
\ No newline at end of file diff --git a/src/tuxedo_core/genesis/block_builder.rs.html b/src/tuxedo_core/genesis/block_builder.rs.html new file mode 100644 index 000000000..526ba2a60 --- /dev/null +++ b/src/tuxedo_core/genesis/block_builder.rs.html @@ -0,0 +1,185 @@ +block_builder.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+
//! Custom GenesisBlockBuilder for Tuxedo, to allow extrinsics to be added to the genesis block.
+
+use parity_scale_codec::{Decode, Encode};
+use sc_chain_spec::BuildGenesisBlock;
+use sc_client_api::backend::{Backend, BlockImportOperation};
+use sc_executor::RuntimeVersionOf;
+use sp_core::traits::CodeExecutor;
+use sp_runtime::{
+    traits::{Block as BlockT, Hash as HashT, Header as HeaderT, Zero},
+    BuildStorage,
+};
+use std::sync::Arc;
+
+pub struct TuxedoGenesisBlockBuilder<
+    'a,
+    Block: BlockT,
+    B: Backend<Block>,
+    E: RuntimeVersionOf + CodeExecutor,
+> {
+    build_genesis_storage: &'a dyn BuildStorage,
+    commit_genesis_state: bool,
+    backend: Arc<B>,
+    executor: E,
+    _phantom: std::marker::PhantomData<Block>,
+}
+
+impl<'a, Block: BlockT, B: Backend<Block>, E: RuntimeVersionOf + CodeExecutor>
+    TuxedoGenesisBlockBuilder<'a, Block, B, E>
+{
+    pub fn new(
+        build_genesis_storage: &'a dyn BuildStorage,
+        commit_genesis_state: bool,
+        backend: Arc<B>,
+        executor: E,
+    ) -> sp_blockchain::Result<Self> {
+        Ok(Self {
+            build_genesis_storage,
+            commit_genesis_state,
+            backend,
+            executor,
+            _phantom: Default::default(),
+        })
+    }
+}
+
+impl<'a, Block: BlockT, B: Backend<Block>, E: RuntimeVersionOf + CodeExecutor>
+    BuildGenesisBlock<Block> for TuxedoGenesisBlockBuilder<'a, Block, B, E>
+{
+    type BlockImportOperation = <B as Backend<Block>>::BlockImportOperation;
+
+    /// Build the genesis block, including the extrinsics found in storage at EXTRINSIC_KEY.
+    /// The extrinsics are not checked for validity, nor executed, so the values in storage must be placed manually.
+    /// This can be done by using the `assimilate_storage` function.
+    fn build_genesis_block(self) -> sp_blockchain::Result<(Block, Self::BlockImportOperation)> {
+        // We build it here to gain mutable access to the storage.
+        let mut genesis_storage = self
+            .build_genesis_storage
+            .build_storage()
+            .map_err(sp_blockchain::Error::Storage)?;
+
+        let state_version =
+            sc_chain_spec::resolve_state_version_from_wasm(&genesis_storage, &self.executor)?;
+
+        let extrinsics = match genesis_storage.top.remove(crate::EXTRINSIC_KEY) {
+            Some(v) => <Vec<<Block as BlockT>::Extrinsic>>::decode(&mut &v[..]).unwrap_or_default(),
+            None => Vec::new(),
+        };
+
+        let extrinsics_root =
+            <<<Block as BlockT>::Header as HeaderT>::Hashing as HashT>::ordered_trie_root(
+                extrinsics.iter().map(Encode::encode).collect(),
+                state_version,
+            );
+
+        let mut op = self.backend.begin_operation()?;
+        let state_root =
+            op.set_genesis_state(genesis_storage, self.commit_genesis_state, state_version)?;
+
+        let block = Block::new(
+            HeaderT::new(
+                Zero::zero(),
+                extrinsics_root,
+                state_root,
+                Default::default(),
+                Default::default(),
+            ),
+            extrinsics,
+        );
+
+        Ok((block, op))
+    }
+}
+
\ No newline at end of file diff --git a/src/tuxedo_core/genesis/config_builder.rs.html b/src/tuxedo_core/genesis/config_builder.rs.html new file mode 100644 index 000000000..716b0cf0b --- /dev/null +++ b/src/tuxedo_core/genesis/config_builder.rs.html @@ -0,0 +1,129 @@ +config_builder.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+
//! Custom GenesisConfigBuilder for Tuxedo, to allow extrinsics to be added to the genesis block.
+
+use crate::{
+    ensure,
+    types::{OutputRef, Transaction},
+    ConstraintChecker, Verifier, EXTRINSIC_KEY, HEIGHT_KEY,
+};
+use parity_scale_codec::Encode;
+use sp_api::HashT;
+use sp_std::vec::Vec;
+
+pub struct TuxedoGenesisConfigBuilder<V, C>(sp_std::marker::PhantomData<(V, C)>);
+
+impl<V, C> TuxedoGenesisConfigBuilder<V, C>
+where
+    V: Verifier,
+    C: ConstraintChecker,
+    Transaction<V, C>: Encode,
+{
+    /// This function expects a list of transactions to be included in the genesis block,
+    /// and stored along with their outputs. They must not contain any inputs or peeks.
+    /// The input transactions must be ordered: inherents first, then extrinsics.
+    /// The genesis transactions will not be validated by the corresponding ConstraintChecker or Verifier.
+    pub fn build(genesis_transactions: Vec<Transaction<V, C>>) -> sp_genesis_builder::Result {
+        // The transactions are stored under a special key.
+        sp_io::storage::set(EXTRINSIC_KEY, &genesis_transactions.encode());
+
+        //TODO This was added in during merge conflicts. Make sure inherents are working even in real parachains.
+        // Initialize the stored block number to 0
+        sp_io::storage::set(HEIGHT_KEY, &0u32.encode());
+
+        let mut finished_with_opening_inherents = false;
+
+        for tx in genesis_transactions.into_iter() {
+            // Enforce that inherents are in the right place
+            let current_tx_is_inherent = tx.checker.is_inherent();
+            if current_tx_is_inherent && finished_with_opening_inherents {
+                return Err(
+                    "Tried to execute opening inherent after switching to non-inherents.".into(),
+                );
+            }
+            if !current_tx_is_inherent && !finished_with_opening_inherents {
+                // This is the first non-inherent, so we update our flag and continue.
+                finished_with_opening_inherents = true;
+            }
+            // Enforce that transactions do not have any inputs or peeks.
+            ensure!(
+                tx.inputs.is_empty() && tx.peeks.is_empty(),
+                "Genesis transactions must not have any inputs or peeks."
+            );
+            // Insert the outputs into the storage.
+            let tx_hash = sp_runtime::traits::BlakeTwo256::hash_of(&tx.encode());
+            for (index, utxo) in tx.outputs.iter().enumerate() {
+                let output_ref = OutputRef {
+                    tx_hash,
+                    index: index as u32,
+                };
+                sp_io::storage::set(&output_ref.encode(), &utxo.encode());
+            }
+        }
+
+        Ok(())
+    }
+}
+
\ No newline at end of file diff --git a/src/tuxedo_core/genesis/mod.rs.html b/src/tuxedo_core/genesis/mod.rs.html new file mode 100644 index 000000000..f647fe397 --- /dev/null +++ b/src/tuxedo_core/genesis/mod.rs.html @@ -0,0 +1,19 @@ +mod.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+
//! Utilities for blockchainchain genesis used by Tuxedo.
+
+#[cfg(feature = "std")]
+mod block_builder;
+mod config_builder;
+
+#[cfg(feature = "std")]
+pub use block_builder::TuxedoGenesisBlockBuilder;
+pub use config_builder::TuxedoGenesisConfigBuilder;
+
\ No newline at end of file diff --git a/src/tuxedo_core/inherents.rs.html b/src/tuxedo_core/inherents.rs.html index d9efc3edc..c08a49f8c 100644 --- a/src/tuxedo_core/inherents.rs.html +++ b/src/tuxedo_core/inherents.rs.html @@ -1,6 +1,4 @@ -inherents.rs - source -
1
+inherents.rs - source
1
 2
 3
 4
@@ -240,6 +238,8 @@ 

Files

238 239 240 +241 +242
//! APIs and utilities for working with Substrate's Inherents in Tuxedo based chains.
 //!
 //! # Substrate inherents
@@ -272,15 +272,16 @@ 

Files

//! that update environmental data), needs to include this foundational previous block inherent data provider //! so that the Tuxedo executive can scrape it to find the output references of the previous inherent transactions. -use parity_scale_codec::Encode; +use parity_scale_codec::{Decode, Encode}; use scale_info::TypeInfo; +use serde::{Deserialize, Serialize}; use sp_core::H256; use sp_inherents::{ CheckInherentsResult, InherentData, InherentIdentifier, IsFatalError, MakeFatalError, }; use sp_std::{vec, vec::Vec}; -use crate::{types::Transaction, ConstraintChecker, Verifier}; +use crate::{types::Transaction, ConstraintChecker, SimpleConstraintChecker, Verifier}; /// An inherent identifier for the Tuxedo parent block inherent pub const PARENT_INHERENT_IDENTIFIER: InherentIdentifier = *b"prnt_blk"; @@ -336,93 +337,115 @@

Files

/// understand exactly how Substrate's block authoring and Tuxedo's piece aggregation works /// (which you probably don't) you can directly implement the `InherentInternal` trait /// which is more powerful (and dangerous). -pub trait TuxedoInherent<V, C: ConstraintChecker<V>>: Sized { +pub trait InherentHooks: SimpleConstraintChecker + Sized { type Error: Encode + IsFatalError; const INHERENT_IDENTIFIER: InherentIdentifier; /// Create the inherent extrinsic to insert into a block that is being authored locally. /// The inherent data is supplied by the authoring node. - fn create_inherent( + fn create_inherent<V: Verifier>( authoring_inherent_data: &InherentData, - previous_inherent: (Transaction<V, C>, H256), - ) -> Transaction<V, C>; + previous_inherent: (Transaction<V, Self>, H256), + ) -> Transaction<V, Self>; /// Perform off-chain pre-execution checks on the inherent. /// The inherent data is supplied by the importing node. /// The inherent data available here is not guaranteed to be the /// same as what is available at authoring time. - fn check_inherent( + fn check_inherent<V>( importing_inherent_data: &InherentData, - inherent: Transaction<V, C>, + inherent: Transaction<V, Self>, results: &mut CheckInherentsResult, ); /// Return the genesis transactions that are required for this inherent. - #[cfg(feature = "std")] - fn genesis_transactions() -> Vec<Transaction<V, C>> { + fn genesis_transactions<V: Verifier>() -> Vec<Transaction<V, Self>> { Vec::new() } } -/// Almost identical to TuxedoInherent, but allows returning multiple extrinsics -/// (as aggregate runtimes will need to) and removes the requirement that the generic -/// outer constraint checker be buildable from `Self` so we can implement it for (). +/// An adapter type to declare, at the runtime level, that Tuxedo pieces provide custom inherent hooks. /// -/// If you are trying to implement some complex inherent logic that requires the interaction of -/// multiple inherents, or features a variable number of inherents in each block, you might be -/// able to express it by implementing this trait, but such designs are probably too complicated. -/// Think long and hard before implementing this trait directly. -pub trait InherentInternal<V, C: ConstraintChecker<V>>: Sized { - /// Create the inherent extrinsic to insert into a block that is being authored locally. - /// The inherent data is supplied by the authoring node. - fn create_inherents( - authoring_inherent_data: &InherentData, - previous_inherents: Vec<(Transaction<V, C>, H256)>, - ) -> Vec<Transaction<V, C>>; - - /// Perform off-chain pre-execution checks on the inherents. - /// The inherent data is supplied by the importing node. - /// The inherent data available here is not guaranteed to be the - /// same as what is available at authoring time. - fn check_inherents( - importing_inherent_data: &InherentData, - inherents: Vec<Transaction<V, C>>, - results: &mut CheckInherentsResult, - ); +/// This adapter type satisfies the executive's expectations by implementing both `ConstraintChecker`. +/// The inherent logic checks to be sure that exactly one inherent is present before plumbing through to +/// the underlying `TuxedoInherent` implementation. +/// +/// This type should encode exactly like the inner type. +#[derive( + Serialize, Deserialize, Eq, PartialEq, Debug, Decode, Default, Encode, TypeInfo, Clone, Copy, +)] +pub struct InherentAdapter<C>(C); - /// Return the genesis transactions that are required for the inherents. - #[cfg(feature = "std")] - fn genesis_transactions() -> Vec<Transaction<V, C>>; +/// Helper to transform an entire transaction by wrapping the constraint checker. +fn wrap_transaction<V, C>(unwrapped: Transaction<V, C>) -> Transaction<V, InherentAdapter<C>> { + Transaction { + inputs: unwrapped.inputs, + peeks: unwrapped.peeks, + outputs: unwrapped.outputs, + checker: InherentAdapter(unwrapped.checker), + } } -/// An adapter to transform structured Tuxedo inherents into the more general and powerful -/// InherentInternal trait. -#[derive(Debug, Default, TypeInfo, Clone, Copy)] -pub struct TuxedoInherentAdapter<T>(T); +// I wonder if this should be a deref impl instead? +/// Helper to transform an entire transaction by unwrapping the constraint checker. +fn unwrap_transaction<V, C>(wrapped: Transaction<V, InherentAdapter<C>>) -> Transaction<V, C> { + Transaction { + inputs: wrapped.inputs, + peeks: wrapped.peeks, + outputs: wrapped.outputs, + checker: wrapped.checker.0, + } +} -impl<V: Verifier, C: ConstraintChecker<V>, T: TuxedoInherent<V, C> + 'static> InherentInternal<V, C> - for TuxedoInherentAdapter<T> +impl<C: SimpleConstraintChecker + InherentHooks + 'static> ConstraintChecker + for InherentAdapter<C> { - fn create_inherents( + type Error = <C as SimpleConstraintChecker>::Error; + + fn check( + &self, + input_data: &[crate::dynamic_typing::DynamicallyTypedData], + evicted_input_data: &[crate::dynamic_typing::DynamicallyTypedData], + peek_data: &[crate::dynamic_typing::DynamicallyTypedData], + output_data: &[crate::dynamic_typing::DynamicallyTypedData], + ) -> Result<sp_runtime::transaction_validity::TransactionPriority, Self::Error> { + SimpleConstraintChecker::check( + &self.0, + input_data, + evicted_input_data, + peek_data, + output_data, + ) + } + + fn is_inherent(&self) -> bool { + true + } + + fn create_inherents<V: Verifier>( authoring_inherent_data: &InherentData, - previous_inherents: Vec<(Transaction<V, C>, H256)>, - ) -> Vec<Transaction<V, C>> { + previous_inherents: Vec<(Transaction<V, Self>, H256)>, + ) -> Vec<Transaction<V, Self>> { if previous_inherents.len() > 1 { panic!("Authoring a leaf inherent constraint checker, but multiple previous inherents were supplied.") } - let previous_inherent = previous_inherents.first().cloned(); - - vec![<T as TuxedoInherent<V, C>>::create_inherent( + let (previous_inherent, hash) = previous_inherents + .first() + .cloned() + .expect("Previous inherent exists."); + let current_inherent = wrap_transaction(<C as InherentHooks>::create_inherent( authoring_inherent_data, - previous_inherent.expect("Previous inherent exists."), - )] + (unwrap_transaction(previous_inherent), hash), + )); + + vec![current_inherent] } - fn check_inherents( + fn check_inherents<V: Clone>( importing_inherent_data: &InherentData, - inherents: Vec<Transaction<V, C>>, + inherents: Vec<Transaction<V, Self>>, results: &mut CheckInherentsResult, ) { if inherents.is_empty() { @@ -443,41 +466,20 @@

Files

} let inherent = inherents .first() - .expect("Previous inherent exists.") - .clone(); - <T as TuxedoInherent<V, C>>::check_inherent(importing_inherent_data, inherent, results) - } - - #[cfg(feature = "std")] - fn genesis_transactions() -> Vec<Transaction<V, C>> { - <T as TuxedoInherent<V, C>>::genesis_transactions() - } -} - -impl<V, C: ConstraintChecker<V>> InherentInternal<V, C> for () { - fn create_inherents( - _: &InherentData, - _: Vec<(Transaction<V, C>, H256)>, - ) -> Vec<Transaction<V, C>> { - Vec::new() + .cloned() + .expect("Previous inherent exists."); + <C as InherentHooks>::check_inherent( + importing_inherent_data, + unwrap_transaction(inherent), + results, + ) } - fn check_inherents( - _: &InherentData, - inherents: Vec<Transaction<V, C>>, - _: &mut CheckInherentsResult, - ) { - // Inherents should always be empty for this stub implementation. Not just in valid blocks, but as an invariant. - // The way we determined which inherents got here is by matching on the constraint checker. - assert!( - inherents.is_empty(), - "inherent extrinsic was passed to check inherents stub implementation." - ) - } - - #[cfg(feature = "std")] - fn genesis_transactions() -> Vec<Transaction<V, C>> { - Vec::new() + fn genesis_transactions<V: Verifier>() -> Vec<Transaction<V, Self>> { + <C as InherentHooks>::genesis_transactions() + .into_iter() + .map(|gtx| wrap_transaction(gtx)) + .collect() } }
\ No newline at end of file diff --git a/src/tuxedo_core/lib.rs.html b/src/tuxedo_core/lib.rs.html index cdb715575..54b9ce057 100644 --- a/src/tuxedo_core/lib.rs.html +++ b/src/tuxedo_core/lib.rs.html @@ -1,6 +1,4 @@ -lib.rs - source -
1
+lib.rs - source
1
 2
 3
 4
@@ -36,6 +34,9 @@ 

Files

34 35 36 +37 +38 +39
//! This crate is the core of the Tuxedo runtime framework.
 //!
 //! All Tuxedo runtimes will use this machinery and plug in their specific
@@ -47,6 +48,7 @@ 

Files

mod executive; pub mod constraint_checker; +pub mod genesis; pub mod inherents; pub mod support_macros; pub mod traits; @@ -54,12 +56,10 @@

Files

pub mod utxo_set; pub mod verifier; -#[cfg(feature = "std")] -pub mod genesis; - pub use aggregator::{aggregate, tuxedo_constraint_checker, tuxedo_verifier}; pub use constraint_checker::{ConstraintChecker, SimpleConstraintChecker}; pub use executive::Executive; +pub use inherents::{InherentAdapter, InherentHooks}; pub use verifier::Verifier; /// A Tuxedo-specific target for diagnostic node log messages @@ -67,9 +67,13 @@

Files

/// A transient storage key that will hold the partial header while a block is being built. /// This key is cleared before the end of the block. -const HEADER_KEY: &[u8] = b"header"; // 686561646572 +const HEADER_KEY: &[u8] = b"header"; + +/// A storage key that will store the block height during and after execution. +/// This allows the block number to be available in the runtime even during off-chain api calls. +const HEIGHT_KEY: &[u8] = b"height"; -
/// A transient storage key that will hold the list of extrinsics that have been applied so far. +/// A transient storage key that will hold the list of extrinsics that have been applied so far. /// This key is cleared before the end of the block. const EXTRINSIC_KEY: &[u8] = b"extrinsics";
\ No newline at end of file diff --git a/src/tuxedo_core/support_macros.rs.html b/src/tuxedo_core/support_macros.rs.html index b3aee9997..d4504fa4f 100644 --- a/src/tuxedo_core/support_macros.rs.html +++ b/src/tuxedo_core/support_macros.rs.html @@ -1,6 +1,4 @@ -support_macros.rs - source -
1
+support_macros.rs - source
1
 2
 3
 4
@@ -37,7 +35,7 @@ 

Files

/// /// Used as `fail!(expression)`. #[macro_export] -macro_rules! fail { +macro_rules! fail { ( $y:expr ) => {{ return Err($y.into()); }}; @@ -47,7 +45,7 @@

Files

/// /// Used as `ensure!(expression_to_ensure, expression_to_return_on_false)`. #[macro_export] -macro_rules! ensure { +macro_rules! ensure { ( $x:expr, $y:expr $(,)? ) => {{ if !$x { $crate::fail!($y); diff --git a/src/tuxedo_core/traits.rs.html b/src/tuxedo_core/traits.rs.html index 945b55859..3e45de690 100644 --- a/src/tuxedo_core/traits.rs.html +++ b/src/tuxedo_core/traits.rs.html @@ -1,6 +1,4 @@ -traits.rs - source -
1
+traits.rs - source
1
 2
 3
 4
diff --git a/src/tuxedo_core/types.rs.html b/src/tuxedo_core/types.rs.html
index 7e5ad17ce..1447a0624 100644
--- a/src/tuxedo_core/types.rs.html
+++ b/src/tuxedo_core/types.rs.html
@@ -1,6 +1,4 @@
-types.rs - source
-    
1
+types.rs - source
1
 2
 3
 4
@@ -257,6 +255,40 @@ 

Files

255 256 257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291
//! The common types that will be used across a Tuxedo runtime, and not specific to any one piece
 
 use crate::{dynamic_typing::DynamicallyTypedData, ConstraintChecker, Verifier};
@@ -264,9 +296,23 @@ 

Files

use scale_info::TypeInfo; use serde::{Deserialize, Serialize}; use sp_core::H256; -use sp_runtime::traits::Extrinsic; +use sp_runtime::traits::{BlakeTwo256, Extrinsic}; use sp_std::vec::Vec; +// All Tuxedo chains use the same BlakeTwo256 hash. +pub type Hash = BlakeTwo256; +/// Opaque block hash type. +pub type OpaqueHash = <Hash as sp_api::HashT>::Output; +/// All Tuxedo chains use the same u32 BlockNumber. +pub type BlockNumber = u32; +/// Because all tuxedo chains use the same Blocknumber and Hash types, +/// they also use the same concrete header type. +pub type Header = sp_runtime::generic::Header<BlockNumber, Hash>; +/// An alias for a Tuxedo block with all the common parts filled in. +pub type Block<V, C> = sp_runtime::generic::Block<Header, Transaction<V, C>>; +/// Opaque block type. It has a Standard Tuxedo header, and opaque transactions. +pub type OpaqueBlock = sp_runtime::generic::Block<Header, sp_runtime::OpaqueExtrinsic>; + /// A reference to a output that is expected to exist in the state. #[derive(Serialize, Deserialize, Encode, Decode, Debug, PartialEq, Eq, Clone, TypeInfo)] pub struct OutputRef { @@ -366,7 +412,7 @@

Files

// so we do a minimal implementation. impl<V, C> Extrinsic for Transaction<V, C> where - C: TypeInfo + ConstraintChecker<V> + 'static, + C: TypeInfo + ConstraintChecker + 'static, V: TypeInfo + Verifier + 'static, { type Call = Self; @@ -402,8 +448,28 @@

Files

pub struct Input { /// a reference to the output being consumed pub output_ref: OutputRef, - // Eg the signature - pub redeemer: Vec<u8>, + /// A means of showing that this input data can be used. + /// It is most often a proof such as a signature, but could also be a forceful eviction. + pub redeemer: RedemptionStrategy, +} + +//TODO Consider making this enum generic over the redeemer type so there is not an additional decoding necessary. +// This would percolate up though. For example input would also have to be generic over the redeemer type. +// IDK if it is appropriate to be making so many types non-opaque?? +/// An input can be consumed in two way. It can be redeemed normally (probably with some signature, or proof) or it +/// can be evicted. This enum is isomorphic to `Option<Vec<u8>>` but has more meaningful names. +#[derive(Serialize, Deserialize, Encode, Decode, Debug, PartialEq, Eq, Clone, TypeInfo)] +pub enum RedemptionStrategy { + /// The input is being consumed in the normal way with a signature or other proof provided by the spender. + Redemption(Vec<u8>), + /// The input is being forcefully evicted without satisfying its Verifier. + Eviction, +} + +impl Default for RedemptionStrategy { + fn default() -> Self { + Self::Redemption(Vec::new()) + } } #[derive(Debug, PartialEq, Eq)] @@ -423,7 +489,7 @@

Files

} /// The Result of dispatching a UTXO transaction. -pub type DispatchResult<VerifierError> = Result<(), UtxoError<VerifierError>>; +pub type DispatchResult<ConstraintCheckerError> = Result<(), UtxoError<ConstraintCheckerError>>; /// An opaque piece of Transaction output data. This is how the data appears at the Runtime level. After /// the verifier is checked, strongly typed data will be extracted and passed to the constraint checker. diff --git a/src/tuxedo_core/utxo_set.rs.html b/src/tuxedo_core/utxo_set.rs.html index b7a608d8e..4086d9086 100644 --- a/src/tuxedo_core/utxo_set.rs.html +++ b/src/tuxedo_core/utxo_set.rs.html @@ -1,6 +1,4 @@ -utxo_set.rs - source -
1
+utxo_set.rs - source
1
 2
 3
 4
diff --git a/src/tuxedo_core/verifier.rs.html b/src/tuxedo_core/verifier.rs.html
index 19aa12d2c..37667a544 100644
--- a/src/tuxedo_core/verifier.rs.html
+++ b/src/tuxedo_core/verifier.rs.html
@@ -1,6 +1,4 @@
-verifier.rs - source
-    
1
+verifier.rs - source
1
 2
 3
 4
@@ -148,237 +146,6 @@ 

Files

146 147 148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 -269 -270 -271 -272 -273 -274 -275 -276 -277 -278 -279 -280 -281 -282 -283 -284 -285 -286 -287 -288 -289 -290 -291 -292 -293 -294 -295 -296 -297 -298 -299 -300 -301 -302 -303 -304 -305 -306 -307 -308 -309 -310 -311 -312 -313 -314 -315 -316 -317 -318 -319 -320 -321 -322 -323 -324 -325 -326 -327 -328 -329 -330 -331 -332 -333 -334 -335 -336 -337 -338 -339 -340 -341 -342 -343 -344 -345 -346 -347 -348 -349 -350 -351 -352 -353 -354 -355 -356 -357 -358 -359 -360 -361 -362 -363 -364 -365 -366 -367 -368 -369 -370 -371 -372 -373 -374 -375 -376 -377 -378 -379
//! A verifier is a piece of logic that determines whether an input can be consumed in a given context.
 //! Because there are multiple reasonable ways to make this decision, we expose a trait to encapsulate
 //! the various options. Each runtime will choose to make one or more verifiers available to its users
@@ -389,44 +156,45 @@ 

Files

use parity_scale_codec::{Decode, Encode}; use scale_info::TypeInfo; use serde::{Deserialize, Serialize}; -use sp_core::sr25519::{Public, Signature}; -use sp_core::H256; -use sp_std::collections::btree_map::BTreeMap; -use sp_std::collections::btree_set::BTreeSet; use sp_std::fmt::Debug; -use sp_std::vec::Vec; -/// A means of checking that an output can be verified (aka spent). This check is made on a +mod htlc; +mod multi_signature; +mod simple_signature; + +pub use htlc::{BlakeTwoHashLock, TimeLock}; +pub use multi_signature::ThresholdMultiSignature; +pub use simple_signature::{Sr25519Signature, P2PKH}; + +/// A means of checking that an output can be spent. This check is made on a /// per-output basis and neither knows nor cares anything about the validation logic that will /// be applied to the transaction as a whole. Nonetheless, in order to avoid malleability, we /// we take the entire stripped and serialized transaction as a parameter. +/// +/// Information available when verifying an input includes: +/// * The simplified transaction - a stripped encoded version of the transaction +/// * Some environmental information such as the block current block number +/// * An redeemer supplied by the user attempting to spend the input. pub trait Verifier: Debug + Encode + Decode + Clone { - fn verify(&self, simplified_tx: &[u8], redeemer: &[u8]) -> bool; -} - -/// A typical verifier that checks an sr25519 signature -#[derive(Serialize, Deserialize, Encode, Decode, Debug, PartialEq, Eq, Clone, TypeInfo)] -pub struct Sr25519Signature { - pub owner_pubkey: H256, -} - -impl Sr25519Signature { - pub fn new<T: Into<H256>>(value: T) -> Self { - Sr25519Signature { - owner_pubkey: value.into(), - } - } -} - -impl Verifier for Sr25519Signature { - fn verify(&self, simplified_tx: &[u8], redeemer: &[u8]) -> bool { - let sig = match Signature::try_from(redeemer) { - Ok(s) => s, - Err(_) => return false, - }; - - sp_io::crypto::sr25519_verify(&sig, simplified_tx, &Public::from_h256(self.owner_pubkey)) - } + /// The type that will be supplied to satisfy the verifier and redeem the UTXO. + type Redeemer: Debug + Encode + Decode; + + /// Main function in the trait. Does the checks to make sure an output can be spent. + fn verify(&self, simplified_tx: &[u8], block_height: u32, redeemer: &Self::Redeemer) -> bool; + + /// A way to create a new instance of the verifier whose semantics cannot be spent. + /// This may be a signature check with a pubkey of 0 or a hashlock with a hash o 0 + /// or a bitcoin script that directly returns false, etc. + /// + /// This is only required in chains that use inherents, and thus a default implementation + /// is provided. + fn new_unspendable() -> Option<Self> { + log::debug!( + target: crate::LOG_TARGET, + "In new_unspendable default function implementation. About to return hardcoded `None`." + ); + None + } } /// A simple verifier that allows anyone to consume an output at any time @@ -436,99 +204,37 @@

Files

pub struct UpForGrabs; impl Verifier for UpForGrabs { - fn verify(&self, _simplified_tx: &[u8], _redeemer: &[u8]) -> bool { + type Redeemer = (); + + fn verify(&self, _simplified_tx: &[u8], _: u32, _: &()) -> bool { true } } -/// A Threshold multisignature. Some number of member signatories collectively own inputs -/// guarded by this verifier. A valid redeemer must supply valid signatures by at least -/// `threshold` of the signatories. If the threshold is greater than the number of signatories -/// the input can never be consumed. -#[derive(Serialize, Deserialize, Encode, Decode, Debug, PartialEq, Eq, Clone, TypeInfo)] -pub struct ThresholdMultiSignature { - /// The minimum number of valid signatures needed to consume this input - pub threshold: u8, - /// All the member signatories, some (or all depending on the threshold) of whom must - /// produce signatures over the transaction that will consume this input. - /// This should include no duplicates - pub signatories: Vec<H256>, -} - -impl ThresholdMultiSignature { - pub fn new(threshold: u8, signatories: Vec<H256>) -> Self { - ThresholdMultiSignature { - threshold, - signatories, - } - } - - pub fn has_duplicate_signatories(&self) -> bool { - let set: BTreeSet<_> = self.signatories.iter().collect(); - set.len() < self.signatories.len() - } -} - -#[derive(Serialize, Deserialize, Encode, Decode, Debug, PartialEq, Eq, Clone)] -/// Combination of a signature plus and index so that the signer can specify which -/// index this signature pertains too of the available signatories for a `ThresholdMultiSignature` -pub struct SignatureAndIndex { - /// The signature of the signer - pub signature: Signature, - /// The index of this signer in the signatory vector - pub index: u8, -} - -impl Verifier for ThresholdMultiSignature { - fn verify(&self, simplified_tx: &[u8], redeemer: &[u8]) -> bool { - if self.has_duplicate_signatories() { - return false; - } - - let sigs = match Vec::<SignatureAndIndex>::decode(&mut &redeemer[..]) { - Ok(s) => s, - Err(_) => return false, - }; - - if sigs.len() < self.threshold.into() { - return false; - } - - { - // Check range of indicies - let index_out_of_bounds = sigs.iter().any(|sig| sig.index as usize >= sigs.len()); - if index_out_of_bounds { - return false; - } - } - - { - let set: BTreeMap<u8, Signature> = sigs - .iter() - .map(|sig_and_index| (sig_and_index.index, sig_and_index.signature.clone())) - .collect(); +/// A simple verifier that allows no one to consume an output ever. +/// +/// This is useful for UTXOs that are expected to only ever be consumed by evictions, +/// such as inherents for example. +#[derive( + Serialize, Deserialize, Encode, Decode, Debug, PartialEq, Eq, Clone, TypeInfo, Default, +)] +pub struct Unspendable; - if set.len() < sigs.len() { - return false; - } - } +impl Verifier for Unspendable { + type Redeemer = (); - let valid_sigs: Vec<_> = sigs - .iter() - .map(|sig| { - sp_io::crypto::sr25519_verify( - &sig.signature, - simplified_tx, - &Public::from_h256(self.signatories[sig.index as usize]), - ); - }) - .collect(); + fn verify(&self, _simplified_tx: &[u8], _: u32, _: &()) -> bool { + false + } - valid_sigs.len() >= self.threshold.into() + fn new_unspendable() -> Option<Self> { + Some(Self) } } -/// A testing verifier that passes or depending on the enclosed +// Idea: It could be useful to allow delay deciding whether the redemption should succeed +// until spend-time. In that case you could pass it in as a verifier. +/// A testing verifier that passes or depending on the enclosed /// boolean value. #[cfg(feature = "std")] #[derive(Serialize, Deserialize, Encode, Decode, Debug, PartialEq, Eq, Clone, TypeInfo)] @@ -539,9 +245,15 @@

Files

#[cfg(feature = "std")] impl Verifier for TestVerifier { - fn verify(&self, _simplified_tx: &[u8], _redeemer: &[u8]) -> bool { + type Redeemer = (); + + fn verify(&self, _simplified_tx: &[u8], _: u32, _: &()) -> bool { self.verifies } + + fn new_unspendable() -> Option<Self> { + Some(Self { verifies: false }) + } } #[cfg(test)] @@ -550,7 +262,7 @@

Files

use sp_core::{crypto::Pair as _, sr25519::Pair}; /// Generate a bunch of test keypairs - fn generate_n_pairs(n: u8) -> Vec<Pair> { + pub(crate) fn generate_n_pairs(n: u8) -> Vec<Pair> { let mut seed = [0u8; 32]; let mut pairs = Vec::new(); @@ -567,194 +279,18 @@

Files

#[test] fn up_for_grabs_always_verifies() { - assert!(UpForGrabs.verify(&[], &[])) - } - - #[test] - fn sr25519_signature_with_good_sig() { - let pair = Pair::from_seed(&[0u8; 32]); - let simplified_tx = b"hello world".as_slice(); - let sig = pair.sign(simplified_tx); - let redeemer: &[u8] = sig.as_ref(); - - let sr25519_signature = Sr25519Signature { - owner_pubkey: pair.public().into(), - }; - - assert!(sr25519_signature.verify(simplified_tx, redeemer)); - } - - #[test] - fn threshold_multisig_with_enough_sigs_passes() { - let threshold = 2; - let pairs = generate_n_pairs(threshold); - - let signatories: Vec<H256> = pairs.iter().map(|p| H256::from(p.public())).collect(); - - let simplified_tx = b"hello_world".as_slice(); - let sigs: Vec<_> = pairs - .iter() - .enumerate() - .map(|(i, p)| SignatureAndIndex { - signature: p.sign(simplified_tx), - index: i.try_into().unwrap(), - }) - .collect(); - - let redeemer: &[u8] = &sigs.encode()[..]; - let threshold_multisig = ThresholdMultiSignature { - threshold, - signatories, - }; - - assert!(threshold_multisig.verify(simplified_tx, redeemer)); - } - - #[test] - fn threshold_multisig_not_enough_sigs_fails() { - let threshold = 3; - let pairs = generate_n_pairs(threshold); - - let signatories: Vec<H256> = pairs.iter().map(|p| H256::from(p.public())).collect(); - - let simplified_tx = b"hello_world".as_slice(); - let sigs: Vec<_> = pairs - .iter() - .take(threshold as usize - 1) - .enumerate() - .map(|(i, p)| SignatureAndIndex { - signature: p.sign(simplified_tx), - index: i.try_into().unwrap(), - }) - .collect(); - - let redeemer: &[u8] = &sigs.encode()[..]; - let threshold_multisig = ThresholdMultiSignature { - threshold, - signatories, - }; - - assert!(!threshold_multisig.verify(simplified_tx, redeemer)); - } - - #[test] - fn threshold_multisig_extra_sigs_still_passes() { - let threshold = 2; - let pairs = generate_n_pairs(threshold + 1); - - let signatories: Vec<H256> = pairs.iter().map(|p| H256::from(p.public())).collect(); - - let simplified_tx = b"hello_world".as_slice(); - let sigs: Vec<_> = pairs - .iter() - .enumerate() - .map(|(i, p)| SignatureAndIndex { - signature: p.sign(simplified_tx), - index: i.try_into().unwrap(), - }) - .collect(); - - let redeemer: &[u8] = &sigs.encode()[..]; - let threshold_multisig = ThresholdMultiSignature { - threshold, - signatories, - }; - - assert!(threshold_multisig.verify(simplified_tx, redeemer)); - } - - #[test] - fn threshold_multisig_replay_sig_attack_fails() { - let threshold = 2; - let pairs = generate_n_pairs(threshold); - - let signatories: Vec<H256> = pairs.iter().map(|p| H256::from(p.public())).collect(); - - let simplified_tx = b"hello_world".as_slice(); - - let sigs: Vec<SignatureAndIndex> = vec![ - SignatureAndIndex { - signature: pairs[0].sign(simplified_tx), - index: 0.try_into().unwrap(), - }, - SignatureAndIndex { - signature: pairs[0].sign(simplified_tx), - index: 0.try_into().unwrap(), - }, - ]; - - let redeemer: &[u8] = &sigs.encode()[..]; - let threshold_multisig = ThresholdMultiSignature { - threshold, - signatories, - }; - - assert!(!threshold_multisig.verify(simplified_tx, redeemer)); - } - - #[test] - fn threshold_multisig_has_duplicate_signatories_fails() { - let threshold = 2; - let pairs = generate_n_pairs(threshold); - - let signatories: Vec<H256> = - vec![H256::from(pairs[0].public()), H256::from(pairs[0].public())]; - - let simplified_tx = b"hello_world".as_slice(); - - let sigs: Vec<_> = pairs - .iter() - .enumerate() - .map(|(i, p)| SignatureAndIndex { - signature: p.sign(simplified_tx), - index: i.try_into().unwrap(), - }) - .collect(); - let redeemer: &[u8] = &sigs.encode()[..]; - - let threshold_multisig = ThresholdMultiSignature { - threshold, - signatories, - }; - - assert!(!threshold_multisig.verify(simplified_tx, redeemer)); - } - - #[test] - fn threshold_multisig_bogus_redeemer_encoding_fails() { - use crate::dynamic_typing::testing::Bogus; - - let bogus = Bogus; - - let threshold_multisig = ThresholdMultiSignature { - threshold: 3, - signatories: vec![], - }; - - assert!(!threshold_multisig.verify(b"bogus_message".as_slice(), bogus.encode().as_slice())) - } - - #[test] - fn sr25519_signature_with_bad_sig() { - let simplified_tx = b"hello world".as_slice(); - let redeemer = b"bogus_signature".as_slice(); - - let sr25519_signature = Sr25519Signature { - owner_pubkey: H256::zero(), - }; - - assert!(!sr25519_signature.verify(simplified_tx, redeemer)); + assert!(UpForGrabs.verify(&[], 0, &())) } #[test] fn test_verifier_passes() { - let result = TestVerifier { verifies: true }.verify(&[], &[]); + let result = TestVerifier { verifies: true }.verify(&[], 0, &()); assert!(result); } #[test] fn test_verifier_fails() { - let result = TestVerifier { verifies: false }.verify(&[], &[]); + let result = TestVerifier { verifies: false }.verify(&[], 0, &()); assert!(!result); } } diff --git a/src/tuxedo_core/verifier/htlc.rs.html b/src/tuxedo_core/verifier/htlc.rs.html new file mode 100644 index 000000000..d5cf11430 --- /dev/null +++ b/src/tuxedo_core/verifier/htlc.rs.html @@ -0,0 +1,785 @@ +htlc.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+
//! This module contains `Verifier` implementations related to Hash Time Lock Contracts.
+//! It contains a simple hash lock, a simple time lock, and a hash time lock.
+//!
+//! These could be used as the base of an atomic swap protocol with a similarly expressive
+//! utxo chain like Bitcoin. For atomic swaps with less expressive counter party chains,
+//! such as Monero, see the Farcaster protocol.
+
+use super::Verifier;
+use parity_scale_codec::{Decode, Encode};
+use scale_info::TypeInfo;
+use serde::{Deserialize, Serialize};
+use sp_core::{
+    sr25519::{Public, Signature},
+    H256,
+};
+use sp_runtime::traits::{BlakeTwo256, Hash};
+use sp_std::vec::Vec;
+
+/// Allows UTXOs to be spent after a certain block height has been reached.
+/// This is useful for locking up tokens as a future investment. Timelocking
+/// also form the basis of timeout paths in swapping protocols.
+///
+/// This verifier is unlike many others because it requires some environmental information,
+/// namely the current block number. So there is a decision to be made:
+/// * Allow the verifier to take come config and grab that info by calling a function given in the config.
+///   This is what we do with constraint checker.
+/// * Modify the `Verifier` trait to pass along the block number.
+///
+/// On the one hand the block number seems like a pretty fundamental and basic thing to add. On the other
+/// hand there could be many more things to pass. For example, the timestamp.
+/// However any more complex information would require coupling with Constraint Checkers and it is not
+/// easy to red state like in accounts.
+///
+/// Decision: I will add block number to the signature. And remain open to adding more blockchain-level
+/// fundamental things. Especially if they are available in bitcoin script.
+///
+/// Regarding the verifier constraint checker separation, perhaps the right line to be drawn is
+/// that verifiers are useful in a lot of places, but perhaps not expressive enough in others.
+/// When they are not expressive enough, just use `UpForGrabs` and rely on the constraint checker,
+#[derive(Serialize, Deserialize, Encode, Decode, Debug, PartialEq, Eq, Clone, TypeInfo)]
+pub struct TimeLock {
+    pub unlock_block_height: u32,
+}
+
+impl Verifier for TimeLock {
+    type Redeemer = ();
+    fn verify(&self, _: &[u8], block_height: u32, _: &()) -> bool {
+        block_height >= self.unlock_block_height
+    }
+}
+
+/// Allows UTXOs to be spent when a preimage to a recorded hash is provided.
+/// This could be used as a puzzle (although a partial preimage search would be better)
+/// or a means of sharing a password, or as part of a simple atomic swapping protocol.
+#[derive(Serialize, Deserialize, Encode, Decode, Debug, PartialEq, Eq, Clone, TypeInfo)]
+pub struct BlakeTwoHashLock {
+    pub hash_lock: H256,
+}
+
+impl BlakeTwoHashLock {
+    pub fn new_from_secret(secret: Vec<u8>) -> Self {
+        Self {
+            hash_lock: BlakeTwo256::hash(&secret),
+        }
+    }
+}
+
+impl Verifier for BlakeTwoHashLock {
+    type Redeemer = Vec<u8>;
+    fn verify(&self, _: &[u8], _: u32, secret: &Self::Redeemer) -> bool {
+        BlakeTwo256::hash(secret) == self.hash_lock
+    }
+
+    fn new_unspendable() -> Option<Self> {
+        Some(BlakeTwoHashLock {
+            hash_lock: H256::zero(),
+        })
+    }
+}
+
+/// Allows a UTXO to be spent, and therefore acknowledged by an intended recipient by revealing
+/// a hash preimage. After an initial claim period elapses on chain, the UTXO can also be spent
+/// by the refunder. In practice, the refunder is often the same address initially funded the HTLC.
+///
+/// The receiver and refunder are specified as a simple public keys for simplicity. It would be
+/// interesting to use public key hash, or better yet, simply abstract this over some opaque
+/// inner verifier for maximum composability.
+///
+/// After the time refund path opens, the happy path remains open. This is for compatibility with
+/// bitcoin, but may not be desired in all cases.
+#[derive(Serialize, Deserialize, Encode, Decode, Debug, PartialEq, Eq, Clone, TypeInfo)]
+pub struct HashTimeLockContract {
+    /// The hash whose preimage must be revealed (along with the recipient's signature) to spend the UTXO.
+    pub hash_lock: H256,
+    /// The pubkey that is intended to receive and acknowledge receipt of the funds.
+    pub recipient_pubkey: Public,
+    /// The time (as a block height) when the refund path opens up.
+    pub claim_period_end: u32,
+    /// The address who can spend the coins without revealing the preimage after the claim period has ended.
+    pub refunder_pubkey: Public,
+}
+
+/// This is the redeemer information needed to spend a `HashTimeLockContract` verifier.
+///
+/// The `HashTimeLockContract` has two spend paths, and therefore this enum has two variants.
+/// The variant selects the spend path and contains the corresponding witness data.
+#[derive(Serialize, Deserialize, Encode, Decode, Debug, PartialEq, Eq, Clone)]
+pub enum HtlcSpendPath {
+    /// The primary spend path is for the recipient to claim the UTXO by revealing the
+    /// hash preimage as well as a signature.
+    Claim {
+        secret: Vec<u8>,
+        signature: Signature,
+    },
+    /// The secondary spend path is for the original owner to refund their money to their private
+    /// ownership. This path is not enabled until the enough time has elapsed. Once the time has
+    /// elapsed, only the refunder's signature is required.
+    Refund { signature: Signature },
+}
+
+impl Verifier for HashTimeLockContract {
+    type Redeemer = HtlcSpendPath;
+
+    fn verify(&self, simplified_tx: &[u8], block_height: u32, spend_path: &HtlcSpendPath) -> bool {
+        match spend_path {
+            HtlcSpendPath::Claim { secret, signature } => {
+                // Claims are valid as long as the secret is correct and the receiver signature is correct.
+                BlakeTwo256::hash(secret) == self.hash_lock
+                    && sp_io::crypto::sr25519_verify(
+                        signature,
+                        simplified_tx,
+                        &self.recipient_pubkey,
+                    )
+            }
+            HtlcSpendPath::Refund { signature } => {
+                // Check that the time has elapsed
+                block_height >= self.claim_period_end
+
+                &&
+
+                // Check that the refunder has signed properly
+                sp_io::crypto::sr25519_verify(
+                    signature,
+                    simplified_tx,
+                    &self.refunder_pubkey,
+                )
+            }
+        }
+    }
+}
+
+#[cfg(test)]
+mod test {
+    use super::*;
+    use sp_core::{sr25519::Pair, Pair as _};
+
+    fn bad_sig() -> Signature {
+        Signature::from_slice(
+            b"bogus_signature_bogus_signature_bogus_signature_bogus_signature!".as_slice(),
+        )
+        .expect("Should be able to create a bogus signature.")
+    }
+
+    #[test]
+    fn time_lock_too_soon() {
+        let time_lock = TimeLock {
+            unlock_block_height: 100,
+        };
+        assert!(!time_lock.verify(&[], 10, &()));
+    }
+
+    #[test]
+    fn time_lock_exactly_on_time() {
+        let time_lock = TimeLock {
+            unlock_block_height: 100,
+        };
+        assert!(time_lock.verify(&[], 100, &()));
+    }
+
+    #[test]
+    fn time_lock_past_threshold() {
+        let time_lock = TimeLock {
+            unlock_block_height: 100,
+        };
+        assert!(time_lock.verify(&[], 200, &()));
+    }
+
+    #[test]
+    fn hash_lock_correct_secret() {
+        let secret = "htlc ftw";
+
+        let hash_lock = BlakeTwoHashLock::new_from_secret(secret.encode());
+        assert!(hash_lock.verify(&[], 0, &secret.encode()));
+    }
+
+    #[test]
+    fn hash_lock_wrong_secret() {
+        let secret = "htlc ftw";
+        let incorrect = "there is no second best";
+
+        let hash_lock = BlakeTwoHashLock::new_from_secret(secret.encode());
+        assert!(!hash_lock.verify(&[], 0, &incorrect.encode()));
+    }
+
+    #[test]
+    fn htlc_claim_success() {
+        const THRESHOLD: u32 = 100;
+        let secret = "htlc ftw".encode();
+        let recipient_pair = Pair::from_seed(&[0u8; 32]);
+        let refunder_pair = Pair::from_seed(&[1u8; 32]);
+
+        let htlc = HashTimeLockContract {
+            hash_lock: BlakeTwo256::hash(&secret),
+            recipient_pubkey: recipient_pair.public(),
+            claim_period_end: THRESHOLD,
+            refunder_pubkey: refunder_pair.public(),
+        };
+
+        let simplified_tx = b"hello world".as_slice();
+        let recipient_sig = recipient_pair.sign(simplified_tx);
+        let redeemer = HtlcSpendPath::Claim {
+            secret,
+            signature: recipient_sig,
+        };
+
+        assert!(htlc.verify(simplified_tx, 0, &redeemer));
+    }
+
+    #[test]
+    fn htlc_claim_wrong_secret() {
+        const THRESHOLD: u32 = 100;
+        let secret = "htlc ftw".encode();
+        let recipient_pair = Pair::from_seed(&[0u8; 32]);
+        let refunder_pair = Pair::from_seed(&[1u8; 32]);
+
+        let htlc = HashTimeLockContract {
+            hash_lock: BlakeTwo256::hash(&secret),
+            recipient_pubkey: recipient_pair.public(),
+            claim_period_end: THRESHOLD,
+            refunder_pubkey: refunder_pair.public(),
+        };
+
+        let incorrect_secret = "there is no second best".encode();
+
+        let simplified_tx = b"hello world".as_slice();
+        let recipient_sig = recipient_pair.sign(simplified_tx);
+        let redeemer = HtlcSpendPath::Claim {
+            secret: incorrect_secret,
+            signature: recipient_sig,
+        };
+
+        assert!(!htlc.verify(simplified_tx, 0, &redeemer));
+    }
+
+    #[test]
+    fn htlc_claim_bogus_signature() {
+        const THRESHOLD: u32 = 100;
+        let secret = "htlc ftw".encode();
+        let recipient_pair = Pair::from_seed(&[0u8; 32]);
+        let refunder_pair = Pair::from_seed(&[1u8; 32]);
+
+        let htlc = HashTimeLockContract {
+            hash_lock: BlakeTwo256::hash(&secret),
+            recipient_pubkey: recipient_pair.public(),
+            claim_period_end: THRESHOLD,
+            refunder_pubkey: refunder_pair.public(),
+        };
+
+        let simplified_tx = b"hello world".as_slice();
+        let redeemer = HtlcSpendPath::Claim {
+            secret,
+            signature: bad_sig(),
+        };
+
+        assert!(!htlc.verify(simplified_tx, 0, &redeemer));
+    }
+
+    #[test]
+    fn htlc_claim_fails_when_signature_is_from_refunder() {
+        const THRESHOLD: u32 = 100;
+        let secret = "htlc ftw".encode();
+        let recipient_pair = Pair::from_seed(&[0u8; 32]);
+        let refunder_pair = Pair::from_seed(&[1u8; 32]);
+
+        let htlc = HashTimeLockContract {
+            hash_lock: BlakeTwo256::hash(&secret),
+            recipient_pubkey: recipient_pair.public(),
+            claim_period_end: THRESHOLD,
+            refunder_pubkey: refunder_pair.public(),
+        };
+
+        let simplified_tx = b"hello world".as_slice();
+        let refunder_sig = refunder_pair.sign(simplified_tx);
+        let redeemer = HtlcSpendPath::Claim {
+            secret,
+            signature: refunder_sig,
+        };
+
+        assert!(!htlc.verify(simplified_tx, 0, &redeemer));
+    }
+
+    #[test]
+    fn htlc_refund_success() {
+        const THRESHOLD: u32 = 100;
+        let secret = "htlc ftw".encode();
+        let recipient_pair = Pair::from_seed(&[0u8; 32]);
+        let refunder_pair = Pair::from_seed(&[1u8; 32]);
+
+        let htlc = HashTimeLockContract {
+            hash_lock: BlakeTwo256::hash(&secret),
+            recipient_pubkey: recipient_pair.public(),
+            claim_period_end: THRESHOLD,
+            refunder_pubkey: refunder_pair.public(),
+        };
+
+        let simplified_tx = b"hello world".as_slice();
+        let refunder_sig = refunder_pair.sign(simplified_tx);
+        let redeemer = HtlcSpendPath::Refund {
+            signature: refunder_sig,
+        };
+
+        assert!(htlc.verify(simplified_tx, 2 * THRESHOLD, &redeemer));
+    }
+
+    #[test]
+    fn htlc_refund_too_early() {
+        const THRESHOLD: u32 = 100;
+        let secret = "htlc ftw".encode();
+        let recipient_pair = Pair::from_seed(&[0u8; 32]);
+        let refunder_pair = Pair::from_seed(&[1u8; 32]);
+
+        let htlc = HashTimeLockContract {
+            hash_lock: BlakeTwo256::hash(&secret),
+            recipient_pubkey: recipient_pair.public(),
+            claim_period_end: THRESHOLD,
+            refunder_pubkey: refunder_pair.public(),
+        };
+
+        let simplified_tx = b"hello world".as_slice();
+        let refunder_sig = refunder_pair.sign(simplified_tx);
+        let redeemer = HtlcSpendPath::Refund {
+            signature: refunder_sig,
+        };
+
+        assert!(!htlc.verify(simplified_tx, 0, &redeemer));
+    }
+
+    #[test]
+    fn htlc_refund_bogus_sig() {
+        const THRESHOLD: u32 = 100;
+        let secret = "htlc ftw".encode();
+        let recipient_pair = Pair::from_seed(&[0u8; 32]);
+        let refunder_pair = Pair::from_seed(&[1u8; 32]);
+
+        let htlc = HashTimeLockContract {
+            hash_lock: BlakeTwo256::hash(&secret),
+            recipient_pubkey: recipient_pair.public(),
+            claim_period_end: THRESHOLD,
+            refunder_pubkey: refunder_pair.public(),
+        };
+
+        let simplified_tx = b"hello world".as_slice();
+        let redeemer = HtlcSpendPath::Refund {
+            signature: bad_sig(),
+        };
+
+        assert!(!htlc.verify(simplified_tx, 2 * THRESHOLD, &redeemer));
+    }
+
+    #[test]
+    fn htlc_refund_fails_when_signature_is_from_recipient() {
+        const THRESHOLD: u32 = 100;
+        let secret = "htlc ftw".encode();
+        let recipient_pair = Pair::from_seed(&[0u8; 32]);
+        let refunder_pair = Pair::from_seed(&[1u8; 32]);
+
+        let htlc = HashTimeLockContract {
+            hash_lock: BlakeTwo256::hash(&secret),
+            recipient_pubkey: recipient_pair.public(),
+            claim_period_end: THRESHOLD,
+            refunder_pubkey: refunder_pair.public(),
+        };
+
+        let simplified_tx = b"hello world".as_slice();
+        let recipient_sig = recipient_pair.sign(simplified_tx);
+        let redeemer = HtlcSpendPath::Refund {
+            signature: recipient_sig,
+        };
+
+        assert!(!htlc.verify(simplified_tx, 2 * THRESHOLD, &redeemer));
+    }
+}
+
\ No newline at end of file diff --git a/src/tuxedo_core/verifier/multi_signature.rs.html b/src/tuxedo_core/verifier/multi_signature.rs.html new file mode 100644 index 000000000..45d076b76 --- /dev/null +++ b/src/tuxedo_core/verifier/multi_signature.rs.html @@ -0,0 +1,489 @@ +multi_signature.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+
//! This module contains a `Verifier` implementation that acts as an N of M multisig.
+//! It also contains the necessary auxiliary types.
+
+/// A Threshold multisignature. Some number of member signatories collectively own inputs
+/// guarded by this verifier. A valid redeemer must supply valid signatures by at least
+/// `threshold` of the signatories. If the threshold is greater than the number of signatories
+/// the input can never be consumed.
+use super::Verifier;
+use parity_scale_codec::{Decode, Encode};
+use scale_info::TypeInfo;
+use serde::{Deserialize, Serialize};
+use sp_core::{
+    sr25519::{Public, Signature},
+    H256,
+};
+use sp_std::{
+    collections::{btree_map::BTreeMap, btree_set::BTreeSet},
+    vec::Vec,
+};
+
+#[derive(Serialize, Deserialize, Encode, Decode, Debug, PartialEq, Eq, Clone, TypeInfo)]
+pub struct ThresholdMultiSignature {
+    /// The minimum number of valid signatures needed to consume this input
+    pub threshold: u8,
+    /// All the member signatories, some (or all depending on the threshold) of whom must
+    /// produce signatures over the transaction that will consume this input.
+    /// This should include no duplicates
+    pub signatories: Vec<H256>,
+}
+
+impl ThresholdMultiSignature {
+    pub fn new(threshold: u8, signatories: Vec<H256>) -> Self {
+        ThresholdMultiSignature {
+            threshold,
+            signatories,
+        }
+    }
+
+    pub fn has_duplicate_signatories(&self) -> bool {
+        let set: BTreeSet<_> = self.signatories.iter().collect();
+        set.len() < self.signatories.len()
+    }
+}
+
+#[derive(Serialize, Deserialize, Encode, Decode, Debug, PartialEq, Eq, Clone)]
+/// Combination of a signature plus and index so that the signer can specify which
+/// index this signature pertains too of the available signatories for a `ThresholdMultiSignature`
+pub struct SignatureAndIndex {
+    /// The signature of the signer
+    pub signature: Signature,
+    /// The index of this signer in the signatory vector
+    pub index: u8,
+}
+
+impl Verifier for ThresholdMultiSignature {
+    type Redeemer = Vec<SignatureAndIndex>;
+
+    fn verify(&self, simplified_tx: &[u8], _: u32, sigs: &Vec<SignatureAndIndex>) -> bool {
+        if self.has_duplicate_signatories() {
+            return false;
+        }
+
+        if sigs.len() < self.threshold.into() {
+            return false;
+        }
+
+        {
+            // Check range of indicies
+            let index_out_of_bounds = sigs.iter().any(|sig| sig.index as usize >= sigs.len());
+            if index_out_of_bounds {
+                return false;
+            }
+        }
+
+        {
+            let set: BTreeMap<u8, Signature> = sigs
+                .iter()
+                .map(|sig_and_index| (sig_and_index.index, sig_and_index.signature.clone()))
+                .collect();
+
+            if set.len() < sigs.len() {
+                return false;
+            }
+        }
+
+        let valid_sigs: Vec<_> = sigs
+            .iter()
+            .map(|sig| {
+                sp_io::crypto::sr25519_verify(
+                    &sig.signature,
+                    simplified_tx,
+                    &Public::from_h256(self.signatories[sig.index as usize]),
+                );
+            })
+            .collect();
+
+        valid_sigs.len() >= self.threshold.into()
+    }
+
+    fn new_unspendable() -> Option<Self> {
+        Some(Self {
+            threshold: 1,
+            signatories: Vec::new(),
+        })
+    }
+}
+
+#[cfg(test)]
+mod test {
+    use super::*;
+    use crate::verifier::test::generate_n_pairs;
+    use sp_core::crypto::Pair as _;
+
+    #[test]
+    fn threshold_multisig_with_enough_sigs_passes() {
+        let threshold = 2;
+        let pairs = generate_n_pairs(threshold);
+
+        let signatories: Vec<H256> = pairs.iter().map(|p| H256::from(p.public())).collect();
+
+        let simplified_tx = b"hello_world".as_slice();
+        let sigs: Vec<_> = pairs
+            .iter()
+            .enumerate()
+            .map(|(i, p)| SignatureAndIndex {
+                signature: p.sign(simplified_tx),
+                index: i.try_into().unwrap(),
+            })
+            .collect();
+
+        let threshold_multisig = ThresholdMultiSignature {
+            threshold,
+            signatories,
+        };
+
+        assert!(threshold_multisig.verify(simplified_tx, 0, &sigs));
+    }
+
+    #[test]
+    fn threshold_multisig_not_enough_sigs_fails() {
+        let threshold = 3;
+        let pairs = generate_n_pairs(threshold);
+
+        let signatories: Vec<H256> = pairs.iter().map(|p| H256::from(p.public())).collect();
+
+        let simplified_tx = b"hello_world".as_slice();
+        let sigs: Vec<_> = pairs
+            .iter()
+            .take(threshold as usize - 1)
+            .enumerate()
+            .map(|(i, p)| SignatureAndIndex {
+                signature: p.sign(simplified_tx),
+                index: i.try_into().unwrap(),
+            })
+            .collect();
+
+        let threshold_multisig = ThresholdMultiSignature {
+            threshold,
+            signatories,
+        };
+
+        assert!(!threshold_multisig.verify(simplified_tx, 0, &sigs));
+    }
+
+    #[test]
+    fn threshold_multisig_extra_sigs_still_passes() {
+        let threshold = 2;
+        let pairs = generate_n_pairs(threshold + 1);
+
+        let signatories: Vec<H256> = pairs.iter().map(|p| H256::from(p.public())).collect();
+
+        let simplified_tx = b"hello_world".as_slice();
+        let sigs: Vec<_> = pairs
+            .iter()
+            .enumerate()
+            .map(|(i, p)| SignatureAndIndex {
+                signature: p.sign(simplified_tx),
+                index: i.try_into().unwrap(),
+            })
+            .collect();
+
+        let threshold_multisig = ThresholdMultiSignature {
+            threshold,
+            signatories,
+        };
+
+        assert!(threshold_multisig.verify(simplified_tx, 0, &sigs));
+    }
+
+    #[test]
+    fn threshold_multisig_replay_sig_attack_fails() {
+        let threshold = 2;
+        let pairs = generate_n_pairs(threshold);
+
+        let signatories: Vec<H256> = pairs.iter().map(|p| H256::from(p.public())).collect();
+
+        let simplified_tx = b"hello_world".as_slice();
+
+        let sigs: Vec<SignatureAndIndex> = vec![
+            SignatureAndIndex {
+                signature: pairs[0].sign(simplified_tx),
+                index: 0.try_into().unwrap(),
+            },
+            SignatureAndIndex {
+                signature: pairs[0].sign(simplified_tx),
+                index: 0.try_into().unwrap(),
+            },
+        ];
+
+        let threshold_multisig = ThresholdMultiSignature {
+            threshold,
+            signatories,
+        };
+
+        assert!(!threshold_multisig.verify(simplified_tx, 0, &sigs));
+    }
+
+    #[test]
+    fn threshold_multisig_has_duplicate_signatories_fails() {
+        let threshold = 2;
+        let pairs = generate_n_pairs(threshold);
+
+        let signatories: Vec<H256> =
+            vec![H256::from(pairs[0].public()), H256::from(pairs[0].public())];
+
+        let simplified_tx = b"hello_world".as_slice();
+
+        let sigs: Vec<_> = pairs
+            .iter()
+            .enumerate()
+            .map(|(i, p)| SignatureAndIndex {
+                signature: p.sign(simplified_tx),
+                index: i.try_into().unwrap(),
+            })
+            .collect();
+
+        let threshold_multisig = ThresholdMultiSignature {
+            threshold,
+            signatories,
+        };
+
+        assert!(!threshold_multisig.verify(simplified_tx, 0, &sigs));
+    }
+}
+
\ No newline at end of file diff --git a/src/tuxedo_core/verifier/simple_signature.rs.html b/src/tuxedo_core/verifier/simple_signature.rs.html new file mode 100644 index 000000000..9213d236c --- /dev/null +++ b/src/tuxedo_core/verifier/simple_signature.rs.html @@ -0,0 +1,339 @@ +simple_signature.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+
//! This module contains `Verifier` implementations for simple signature checking.
+//! This is the most common way to implement private ownership in a UTXO chain and will
+//! likely be used by most chains.
+//!
+//! Directly locking a UTXO to a public key is supported as well as locking behind a
+//! public key hash like bitcoin's P2PKH. For the merits of each approach see:
+//! https://bitcoin.stackexchange.com/q/72184
+//!
+//! Currently there are only implementations for SR25519 signatures that makes use of
+//! Substrate's host functions to do the actual cryptography. Other signature schemes or
+//! pure wasm implementations are also welcome here.
+
+/// A very commonly used verifier that checks an sr25519 signature.
+///
+/// This verifier relies on Substrate's host functions to perform the signature checking
+/// natively and gain performance.
+use super::Verifier;
+use parity_scale_codec::{Decode, Encode};
+use scale_info::TypeInfo;
+use serde::{Deserialize, Serialize};
+use sp_core::{
+    sr25519::{Public, Signature},
+    H256,
+};
+use sp_runtime::traits::{BlakeTwo256, Hash};
+
+/// Require a signature from the private key corresponding to the given public key.
+/// This is the simplest way to require a signature. If you prefer not to expose the
+/// public key until spend time, use P2PKH instead.
+///
+/// Uses the Sr25519 signature scheme and Substrate's host functions.
+#[derive(Serialize, Deserialize, Encode, Decode, Debug, PartialEq, Eq, Clone, TypeInfo)]
+pub struct Sr25519Signature {
+    pub owner_pubkey: H256,
+}
+
+impl Sr25519Signature {
+    /// Create a new instance that requires a signature from the given public key
+    pub fn new<T: Into<H256>>(owner_pubkey: T) -> Self {
+        Sr25519Signature {
+            owner_pubkey: owner_pubkey.into(),
+        }
+    }
+}
+
+impl Verifier for Sr25519Signature {
+    type Redeemer = Signature;
+
+    fn verify(&self, simplified_tx: &[u8], _: u32, sig: &Signature) -> bool {
+        sp_io::crypto::sr25519_verify(sig, simplified_tx, &Public::from_h256(self.owner_pubkey))
+    }
+
+    fn new_unspendable() -> Option<Self> {
+        Some(Self::new(H256::zero()))
+    }
+}
+
+/// Pay To Public Key Hash (P2PKH)
+///
+/// Require a signature from the private key corresponding to the public key whose _hash_ is given.
+/// This is the most common way to represent private ownership in UTXO networks like Bitcoin.
+/// It is more complex than providing the public key directly but does not reveal the public key until spend time.
+///
+/// Uses the Sr25519 signature scheme and BlakeTwo256 hashing algorithm via Substrate's host functions.
+#[derive(Serialize, Deserialize, Encode, Decode, Debug, PartialEq, Eq, Clone, TypeInfo)]
+pub struct P2PKH {
+    pub owner_pubkey_hash: H256,
+}
+
+impl Verifier for P2PKH {
+    type Redeemer = (Public, Signature);
+
+    fn verify(&self, simplified_tx: &[u8], _: u32, (pubkey, signature): &Self::Redeemer) -> bool {
+        BlakeTwo256::hash(pubkey) == self.owner_pubkey_hash
+            && sp_io::crypto::sr25519_verify(signature, simplified_tx, pubkey)
+    }
+
+    fn new_unspendable() -> Option<Self> {
+        Some(Self {
+            owner_pubkey_hash: H256::zero(),
+        })
+    }
+}
+
+#[cfg(test)]
+mod test {
+    use super::*;
+    use sp_core::{crypto::Pair as _, sr25519::Pair};
+
+    fn bad_sig() -> Signature {
+        Signature::from_slice(
+            b"bogus_signature_bogus_signature_bogus_signature_bogus_signature!".as_slice(),
+        )
+        .expect("Should be able to create a bogus signature.")
+    }
+
+    #[test]
+    fn sr25519_signature_with_good_sig() {
+        let pair = Pair::from_seed(&[0u8; 32]);
+        let simplified_tx = b"hello world".as_slice();
+        let sig = pair.sign(simplified_tx);
+
+        let sr25519_signature = Sr25519Signature {
+            owner_pubkey: pair.public().into(),
+        };
+
+        assert!(sr25519_signature.verify(simplified_tx, 0, &sig));
+    }
+
+    #[test]
+    fn sr25519_signature_with_bad_sig() {
+        let simplified_tx = b"hello world".as_slice();
+        let sr25519_signature = Sr25519Signature {
+            owner_pubkey: H256::zero(),
+        };
+
+        assert!(!sr25519_signature.verify(simplified_tx, 0, &bad_sig()));
+    }
+
+    #[test]
+    fn p2pkh_success() {
+        let pair = Pair::from_seed(&[0u8; 32]);
+        let owner_pubkey_hash = BlakeTwo256::hash(&pair.public());
+        let simplified_tx = b"hello world".as_slice();
+        let sig = pair.sign(simplified_tx);
+
+        let p2pkh = P2PKH { owner_pubkey_hash };
+
+        assert!(p2pkh.verify(simplified_tx, 0, &(pair.public(), sig)));
+    }
+
+    #[test]
+    fn p2pkh_correct_pubkey_bad_sig() {
+        let pair = Pair::from_seed(&[0u8; 32]);
+        let owner_pubkey_hash = BlakeTwo256::hash(&pair.public());
+        let simplified_tx = b"hello world".as_slice();
+
+        let p2pkh = P2PKH { owner_pubkey_hash };
+
+        assert!(!p2pkh.verify(simplified_tx, 0, &(pair.public(), bad_sig())));
+    }
+
+    #[test]
+    fn p2pkh_incorrect_pubkey_but_valid_sig_from_provided_pubkey() {
+        let owner_pair = Pair::from_seed(&[0u8; 32]);
+        let owner_pubkey_hash = BlakeTwo256::hash(&owner_pair.public());
+        let simplified_tx = b"hello world".as_slice();
+
+        let p2pkh = P2PKH { owner_pubkey_hash };
+
+        let attacker_pair = Pair::from_seed(&[1u8; 32]);
+        let attacker_sig = attacker_pair.sign(simplified_tx);
+
+        assert!(!p2pkh.verify(simplified_tx, 0, &(attacker_pair.public(), attacker_sig)));
+    }
+
+    #[test]
+    fn p2pkh_incorrect_pubkey_and_bogus_sig() {
+        let owner_pair = Pair::from_seed(&[0u8; 32]);
+        let owner_pubkey_hash = BlakeTwo256::hash(&owner_pair.public());
+        let simplified_tx = b"hello world".as_slice();
+
+        let p2pkh = P2PKH { owner_pubkey_hash };
+
+        let attacker_pair = Pair::from_seed(&[1u8; 32]);
+
+        assert!(!p2pkh.verify(simplified_tx, 0, &(attacker_pair.public(), bad_sig())));
+    }
+}
+
\ No newline at end of file diff --git a/src/tuxedo_parachain_core/collation_api.rs.html b/src/tuxedo_parachain_core/collation_api.rs.html index 63d810ded..8fff4572c 100644 --- a/src/tuxedo_parachain_core/collation_api.rs.html +++ b/src/tuxedo_parachain_core/collation_api.rs.html @@ -1,6 +1,4 @@ -collation_api.rs - source -
1
+collation_api.rs - source
1
 2
 3
 4
@@ -40,26 +38,24 @@ 

Files

38 39 40 -41
//! Tuxedo's implementation of the CollectCollationInfoApi.
 //! It is pretty basic and just returns the encoded ehader along with some empty data.
 //! It will get more complex and interesting when we start to support XCM or parachain runtime upgrades.
 
 use cumulus_primitives_core::{relay_chain::HeadData, CollationInfo};
 use parity_scale_codec::Encode;
-use sp_api::BlockT;
 use sp_std::vec::Vec;
-use tuxedo_core::Executive;
+use tuxedo_core::{types::Header, Executive};
 
 use crate::{GetRelayParentNumberStorage, RelayParentNumberStorage};
 
 /// An extension trait that allows us to implement more methods on tuxedo-core's executive.
-pub trait ParachainExecutiveExtension<Header> {
+pub trait ParachainExecutiveExtension {
     fn collect_collation_info(header: &Header) -> cumulus_primitives_core::CollationInfo;
 }
 
-impl<B: BlockT, V, C> ParachainExecutiveExtension<B::Header> for Executive<B, V, C> {
-    fn collect_collation_info(header: &B::Header) -> cumulus_primitives_core::CollationInfo {
+impl<V, C> ParachainExecutiveExtension for Executive<V, C> {
+    fn collect_collation_info(header: &Header) -> cumulus_primitives_core::CollationInfo {
         // The implementation here is simple. Most of the fields are related to xcm and parachain runtime upgrades,
         // neither or which are supported in the PoC, so they are left blank.
 
diff --git a/src/tuxedo_parachain_core/lib.rs.html b/src/tuxedo_parachain_core/lib.rs.html
index f08eb6e74..d39547388 100644
--- a/src/tuxedo_parachain_core/lib.rs.html
+++ b/src/tuxedo_parachain_core/lib.rs.html
@@ -1,6 +1,4 @@
-lib.rs - source
-    
1
+lib.rs - source
1
 2
 3
 4
@@ -159,6 +157,15 @@ 

Files

157 158 159 +160 +161 +162 +163 +164 +165 +166 +167 +168
//! This module is the core of Tuxedo's parachain support.
 //!
 //! The types and methods defined in this crate are of equal importance to
@@ -168,10 +175,10 @@ 

Files

//! are quite heavy to compile, and sovereign chains are able to completely avoid it. //! //! It's primary jobs are to -//! * Manage transiet storage details for the parachain inherent, specifically the relay +//! * Manage transient storage details for the parachain inherent, specifically the relay //! parent block number. //! * Provide collation information to the client side collator service. -//! * Implement the `validate_block` funtion required by relay chain validators. +//! * Implement the `validate_block` function required by relay chain validators. //! This task is achieved through the `register_validate_block!` macro. //! //! This code is inspired by, cumulus pallet parachain system @@ -219,6 +226,7 @@

Files

use tuxedo_core::{ dynamic_typing::UtxoData, support_macros::{CloneNoBound, DebugNoBound}, + ConstraintChecker, }; /// A transient storage key that will hold the block number of the relay chain parent @@ -284,22 +292,23 @@

Files

pub relay_parent_storage_root: cumulus_primitives_core::relay_chain::Hash, } -/// Register the `validate_block` function that is used by parachains to validate blocks on a -/// validator. +/// Prepares a Tuxedo runtime to be parachain compatible by doing two main tasks. /// -/// Does *nothing* when `std` feature is enabled. +/// 1. Wraps the provided constraint checker in another layer of aggregation including the parachain +/// inherent piece +/// 2. Registers the `validate_block` function that is used by parachains to validate blocks on a +/// validator when building to wasm. This is skipped when building to std. /// -/// Expects as parameters the Block type, the OuterVerifier, and the OuterConstraintChecker. -pub use tuxedo_register_validate_block::register_validate_block; +/// Expects as parameters a Verifier, a non-yet-parachain-ready ConstraintChecker, and a ParaId. +pub use tuxedo_parachainify::parachainify; // Having to do this wrapping is one more reason to abandon this UtxoData trait, // and go for a more strongly typed aggregate type approach. // Tracking issue: https://github.com/Off-Narrative-Labs/Tuxedo/issues/153 /// A wrapper type around Cumulus's ParachainInherentData type that can be stored. #[derive(Encode, Decode, DebugNoBound, CloneNoBound, scale_info::TypeInfo)] - /// A wrapper type around Cumulus's ParachainInherentData type. -/// This type is convertable Into and From the inner type. +/// This type is convertible Into and From the inner type. /// This is necessary so that we can implement the `UtxoData` trait. pub struct ParachainInherentDataUtxo(ParachainInherentData); @@ -318,4 +327,11 @@

Files

Self(value) } } + +/// A way for the relay chain validators to determine whether a particular parachain +/// extrinsic is the parachain inherent and whether the parachain inherent data can +/// be extracted from it. +pub trait ParachainConstraintChecker: ConstraintChecker { + fn is_parachain(&self) -> bool; +}
\ No newline at end of file diff --git a/src/tuxedo_parachain_core/relay_state_snapshot.rs.html b/src/tuxedo_parachain_core/relay_state_snapshot.rs.html index 19d7d2b6a..55a026d27 100644 --- a/src/tuxedo_parachain_core/relay_state_snapshot.rs.html +++ b/src/tuxedo_parachain_core/relay_state_snapshot.rs.html @@ -1,6 +1,4 @@ -relay_state_snapshot.rs - source -
1
+relay_state_snapshot.rs - source
1
 2
 3
 4
diff --git a/src/tuxedo_parachain_runtime/genesis.rs.html b/src/tuxedo_parachain_runtime/genesis.rs.html
new file mode 100644
index 000000000..af7d29038
--- /dev/null
+++ b/src/tuxedo_parachain_runtime/genesis.rs.html
@@ -0,0 +1,101 @@
+genesis.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+
//! Helper module to build a genesis configuration for the template runtime.
+
+#[cfg(feature = "std")]
+pub use super::WASM_BINARY;
+
+use super::{ParachainConstraintChecker, Transaction};
+use hex_literal::hex;
+use inner_runtime::{money::Coin, OuterConstraintChecker as InnerConstraintChecker};
+use sp_std::{vec, vec::Vec};
+use tuxedo_parachain_core::tuxedo_core::{
+    verifier::{Sr25519Signature, ThresholdMultiSignature},
+    ConstraintChecker,
+};
+
+const SHAWN_PUB_KEY_BYTES: [u8; 32] =
+    hex!("d2bf4b844dfefd6772a8843e669f943408966a977e3ae2af1dd78e0f55f4df67");
+const ANDREW_PUB_KEY_BYTES: [u8; 32] =
+    hex!("baa81e58b1b4d053c2e86d93045765036f9d265c7dfe8b9693bbc2c0f048d93a");
+
+pub fn development_genesis_transactions() -> Vec<Transaction> {
+    let signatories = vec![SHAWN_PUB_KEY_BYTES.into(), ANDREW_PUB_KEY_BYTES.into()];
+
+    let user_genesis_transactions = [
+        // Money Transactions
+        Coin::<0>::mint::<_, _, InnerConstraintChecker>(
+            100,
+            Sr25519Signature::new(SHAWN_PUB_KEY_BYTES),
+        )
+        .transform(),
+        Coin::<0>::mint::<_, _, InnerConstraintChecker>(
+            100,
+            ThresholdMultiSignature::new(1, signatories),
+        )
+        .transform(),
+        // No Kitty or anything else in this one. Keep it simple.
+    ]
+    .into_iter()
+    .map(Into::into);
+
+    // The inherents are computed using the appropriate method, and placed before the user transactions.
+    // Ideally this will get better upstream eventually.
+    let mut genesis_transactions = ParachainConstraintChecker::genesis_transactions();
+    genesis_transactions.extend(user_genesis_transactions);
+
+    genesis_transactions
+}
+
+pub fn development_genesis_config() -> serde_json::Value {
+    serde_json::json!(development_genesis_transactions())
+}
+
\ No newline at end of file diff --git a/src/tuxedo_parachain_runtime/home/runner/work/Tuxedo/Tuxedo/target/debug/build/tuxedo-parachain-runtime-bac544c65897fa0a/out/wasm_binary.rs.html b/src/tuxedo_parachain_runtime/home/runner/work/Tuxedo/Tuxedo/target/debug/build/tuxedo-parachain-runtime-bac544c65897fa0a/out/wasm_binary.rs.html new file mode 100644 index 000000000..4752c1128 --- /dev/null +++ b/src/tuxedo_parachain_runtime/home/runner/work/Tuxedo/Tuxedo/target/debug/build/tuxedo-parachain-runtime-bac544c65897fa0a/out/wasm_binary.rs.html @@ -0,0 +1,8 @@ +wasm_binary.rs - source
1
+2
+3
+4
+

+				pub const WASM_BINARY: Option<&[u8]> = Some(include_bytes!("/home/runner/work/Tuxedo/Tuxedo/target/debug/wbuild/tuxedo-parachain-runtime/tuxedo_parachain_runtime.wasm"));
+				pub const WASM_BINARY_BLOATY: Option<&[u8]> = Some(include_bytes!("/home/runner/work/Tuxedo/Tuxedo/target/debug/wbuild/tuxedo-parachain-runtime/tuxedo_parachain_runtime.wasm"));
+			
\ No newline at end of file diff --git a/src/tuxedo_parachain_runtime/lib.rs.html b/src/tuxedo_parachain_runtime/lib.rs.html new file mode 100644 index 000000000..3952c677f --- /dev/null +++ b/src/tuxedo_parachain_runtime/lib.rs.html @@ -0,0 +1,421 @@ +lib.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+
//! The Tuxedo Template Runtime is an example runtime that uses
+//! most of the pieces provided in the wardrobe.
+
+#![cfg_attr(not(feature = "std"), no_std)]
+
+#[cfg(feature = "std")]
+include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs"));
+
+pub mod genesis;
+
+use parity_scale_codec::{Decode, Encode};
+use scale_info::TypeInfo;
+use serde::{Deserialize, Serialize};
+use sp_api::impl_runtime_apis;
+use sp_consensus_aura::sr25519::AuthorityId as AuraId;
+use sp_core::OpaqueMetadata;
+use sp_inherents::InherentData;
+use sp_runtime::{
+    create_runtime_str,
+    traits::Block as BlockT,
+    transaction_validity::{TransactionPriority, TransactionSource, TransactionValidity},
+    ApplyExtrinsicResult,
+};
+use sp_std::prelude::*;
+#[cfg(feature = "std")]
+use sp_version::NativeVersion;
+use sp_version::RuntimeVersion;
+use tuxedo_core::{
+    genesis::TuxedoGenesisConfigBuilder, tuxedo_constraint_checker, types::Block as TuxedoBlock,
+    types::Transaction as TuxedoTransaction, InherentAdapter,
+};
+use tuxedo_parachain_core::tuxedo_core;
+
+// We use the same aggregate verifier and opaque types from the inner_runtime.
+// They do not contain anything parachain specific.
+pub use inner_runtime::{opaque, OuterConstraintChecker as InnerConstraintChecker, OuterVerifier};
+
+/// This runtime version.
+#[sp_version::runtime_version]
+pub const VERSION: RuntimeVersion = RuntimeVersion {
+    spec_name: create_runtime_str!("tuxedo-parachain-runtime"),
+    impl_name: create_runtime_str!("tuxedo-parachain-runtime"),
+    authoring_version: 1,
+    spec_version: 1,
+    impl_version: 1,
+    apis: RUNTIME_API_VERSIONS,
+    transaction_version: 1,
+    state_version: 1,
+};
+
+/// The version information used to identify this runtime when compiled natively.
+#[cfg(feature = "std")]
+pub fn native_version() -> NativeVersion {
+    NativeVersion {
+        runtime_version: VERSION,
+        can_author_with: Default::default(),
+    }
+}
+
+/// The Aura slot duration. When things are working well, this will also be the block time.
+const BLOCK_TIME: u64 = 3000;
+
+// This creates an enum `ParachainConstraintChecker` that implements `ParachainConstraintChecker`
+tuxedo_parachain_core::parachainify!(OuterVerifier, InnerConstraintChecker, 2000);
+
+pub type Transaction = TuxedoTransaction<OuterVerifier, ParachainConstraintChecker>;
+pub type Block = TuxedoBlock<OuterVerifier, ParachainConstraintChecker>;
+pub type Executive = tuxedo_core::Executive<OuterVerifier, ParachainConstraintChecker>;
+
+/// The main struct in this module.
+#[derive(Encode, Decode, PartialEq, Eq, Clone, TypeInfo)]
+pub struct Runtime;
+
+// Here we hard-code consensus authority IDs for the well-known identities that work with the CLI flags
+// Such as `--alice`, `--bob`, etc. Only Alice is enabled by default which makes things work nicely
+// in a `--dev` node. You may enable more authorities to test more interesting networks, or replace
+// these IDs entirely.
+impl Runtime {
+    /// Aura authority IDs
+    fn aura_authorities() -> Vec<AuraId> {
+        use hex_literal::hex;
+        use sp_application_crypto::ByteArray;
+
+        [
+            // Alice
+            hex!("d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d"),
+            // Bob
+            // hex!("8eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48"),
+            // Charlie
+            // hex!("90b5ab205c6974c9ea841be688864633dc9ca8a357843eeacf2314649965fe22"),
+            // Dave
+            // hex!("306721211d5404bd9da88e0204360a1a9ab8b87c66c1bc2fcdd37f3c2222cc20"),
+            // Eve
+            // hex!("e659a7a1628cdd93febc04a4e0646ea20e9f5f0ce097d9a05290d4a9e054df4e"),
+            // Ferdie
+            // hex!("1cbd2d43530a44705ad088af313e18f80b53ef16b36177cd4b77b846f2a5f07c"),
+        ]
+        .iter()
+        .map(|hex| AuraId::from_slice(hex.as_ref()).expect("Valid Aura authority hex was provided"))
+        .collect()
+    }
+}
+
+impl_runtime_apis! {
+    // https://substrate.dev/rustdocs/master/sp_api/trait.Core.html
+    impl sp_api::Core<Block> for Runtime {
+        fn version() -> RuntimeVersion {
+            VERSION
+        }
+
+        fn execute_block(block: Block) {
+            Executive::execute_block(block)
+        }
+
+        fn initialize_block(header: &<Block as BlockT>::Header) {
+            Executive::open_block(header)
+        }
+    }
+
+    // https://substrate.dev/rustdocs/master/sc_block_builder/trait.BlockBuilderApi.html
+    impl sp_block_builder::BlockBuilder<Block> for Runtime {
+        fn apply_extrinsic(extrinsic: <Block as BlockT>::Extrinsic) -> ApplyExtrinsicResult {
+            Executive::apply_extrinsic(extrinsic)
+        }
+
+        fn finalize_block() -> <Block as BlockT>::Header {
+            Executive::close_block()
+        }
+
+        fn inherent_extrinsics(data: sp_inherents::InherentData) -> Vec<<Block as BlockT>::Extrinsic> {
+            Executive::inherent_extrinsics(data)
+        }
+
+        fn check_inherents(
+            block: Block,
+            data: InherentData
+        ) -> sp_inherents::CheckInherentsResult {
+            Executive::check_inherents(block, data)
+        }
+    }
+
+    impl sp_transaction_pool::runtime_api::TaggedTransactionQueue<Block> for Runtime {
+        fn validate_transaction(
+            source: TransactionSource,
+            tx: <Block as BlockT>::Extrinsic,
+            block_hash: <Block as BlockT>::Hash,
+        ) -> TransactionValidity {
+            Executive::validate_transaction(source, tx, block_hash)
+        }
+    }
+
+    // Tuxedo does not yet support metadata
+    impl sp_api::Metadata<Block> for Runtime {
+        fn metadata() -> OpaqueMetadata {
+            OpaqueMetadata::new(Default::default())
+        }
+
+        fn metadata_at_version(_version: u32) -> Option<OpaqueMetadata> {
+            None
+        }
+
+        fn metadata_versions() -> sp_std::vec::Vec<u32> {
+            Default::default()
+        }
+    }
+
+    impl sp_session::SessionKeys<Block> for Runtime {
+        fn generate_session_keys(seed: Option<Vec<u8>>) -> Vec<u8> {
+            opaque::SessionKeys::generate(seed)
+        }
+
+        fn decode_session_keys(
+            encoded: Vec<u8>,
+        ) -> Option<Vec<(Vec<u8>, sp_core::crypto::KeyTypeId)>> {
+            opaque::SessionKeys::decode_into_raw_public_keys(&encoded)
+        }
+    }
+
+    impl sp_consensus_aura::AuraApi<Block, AuraId> for Runtime {
+        fn slot_duration() -> sp_consensus_aura::SlotDuration {
+            sp_consensus_aura::SlotDuration::from_millis(BLOCK_TIME)
+        }
+
+        fn authorities() -> Vec<AuraId> {
+            Self::aura_authorities()
+        }
+    }
+
+    //TODO This was copied directly from the sovereign runtime while resolving the update.
+    // Make sure it still makes sense here.
+    impl sp_genesis_builder::GenesisBuilder<Block> for Runtime {
+        fn create_default_config() -> Vec<u8> {
+            serde_json::to_vec(&genesis::development_genesis_transactions())
+                .expect("Development genesis transactions are valid.")
+        }
+
+        fn build_config(config: Vec<u8>) -> sp_genesis_builder::Result {
+            let genesis_transactions = serde_json::from_slice::<Vec<Transaction>>(config.as_slice())
+                .map_err(|_| "The input JSON is not a valid list of Transactions.")?;
+            TuxedoGenesisConfigBuilder::build(genesis_transactions)
+        }
+    }
+
+    impl cumulus_primitives_core::CollectCollationInfo<Block> for Runtime {
+        fn collect_collation_info(header: &<Block as BlockT>::Header) -> cumulus_primitives_core::CollationInfo {
+            use tuxedo_parachain_core::ParachainExecutiveExtension;
+            Executive::collect_collation_info(header)
+        }
+    }
+}
+
\ No newline at end of file diff --git a/src/tuxedo_register_validate_block/lib.rs.html b/src/tuxedo_parachainify/lib.rs.html similarity index 56% rename from src/tuxedo_register_validate_block/lib.rs.html rename to src/tuxedo_parachainify/lib.rs.html index 15aa22702..0f740c296 100644 --- a/src/tuxedo_register_validate_block/lib.rs.html +++ b/src/tuxedo_parachainify/lib.rs.html @@ -1,6 +1,4 @@ -lib.rs - source -
1
+lib.rs - source
1
 2
 3
 4
@@ -131,17 +129,47 @@ 

Files

129 130 131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161
//! This macro is copied from cumulus-pallet-parachain-system-proc-macro crate
 //! and modified slightly to fit Tuxedo's needs.
 
-use proc_macro2::Span;
+use proc_macro2::{Literal, Span};
 use proc_macro_crate::{crate_name, FoundCrate};
 use syn::{
     parse::{Parse, ParseStream},
     Error, Ident, Token,
 };
 
-/// Provides an identifier that is a safe way to refer to the crate tuxedo_core within the macro
+/// Provides an identifier that is a safe way to refer to the crate tuxedo_parachain_core within the macro
 fn crate_() -> Result<Ident, Error> {
     match crate_name("tuxedo-parachain-core") {
         Ok(FoundCrate::Itself) => Ok(syn::Ident::new("tuxedo_parachain_core", Span::call_site())),
@@ -151,27 +179,27 @@ 

Files

} struct RegisterValidateBlockInput { - pub block: Ident, - _comma1: Token![,], pub verifier: Ident, + _comma1: Token![,], + pub inner_constraint_checker: Ident, _comma2: Token![,], - pub constraint_checker: Ident, + pub para_id: Literal, } impl Parse for RegisterValidateBlockInput { fn parse(input: ParseStream) -> syn::Result<Self> { let parsed = Self { - block: input.parse()?, - _comma1: input.parse()?, verifier: input.parse()?, + _comma1: input.parse()?, + inner_constraint_checker: input.parse()?, _comma2: input.parse()?, - constraint_checker: input.parse()?, + para_id: input.parse()?, }; if !input.is_empty() { return Err(Error::new( input.span(), - "Expected exactly three parameters: Block, Verifier, ConstraintChecker.", + "Expected exactly three parameters: Verifier, InnerConstraintChecker, ParaId.", )); } @@ -180,7 +208,7 @@

Files

} #[proc_macro] -pub fn register_validate_block(input: proc_macro::TokenStream) -> proc_macro::TokenStream { +pub fn parachainify(input: proc_macro::TokenStream) -> proc_macro::TokenStream { // Extract the paths to the parts from the runtime developer's input // I will likely need to revise or simplify the fields that are passed in. // I hope to only use the exposed runtime APIs here, not some custom trait impls. (if possible) @@ -189,9 +217,9 @@

Files

Err(e) => return e.into_compile_error().into(), }; - let block = input.block.clone(); let verifier = input.verifier.clone(); - let constraint_checker = input.constraint_checker.clone(); + let inner_constraint_checker = input.inner_constraint_checker.clone(); + let para_id = input.para_id.clone(); // A way to refer to the tuxedo_parachain_core crate from within the macro. let crate_ = match crate_() { @@ -199,23 +227,10 @@

Files

Err(e) => return e.into_compile_error().into(), }; - //TODO We need to check inherents. At least the timestamp one, and maybe also the parachain one? - // https://github.com/Off-Narrative-Labs/Tuxedo/issues/144 - // But I think the parachain one is handled already. - // To start the hack, we will just not check them at all. Fewer places to panic XD - // let check_inherents = match check_inherents { - // Some(_check_inherents) => { - // quote::quote! { #_check_inherents } - // }, - // None => { - // quote::quote! { - // #crate_::DummyCheckInherents<<#runtime as #crate_::validate_block::GetRuntimeBlockType>::RuntimeBlock> - // } - // }, - // }; - - if cfg!(not(feature = "std")) { - quote::quote! { + // Implementation of Polkadot's validate_block function. Inspired by Basti's frame version: + // https://github.com/paritytech/polkadot-sdk/blob/0becc45b/cumulus/pallets/parachain-system/proc-macro/src/lib.rs#L93-L153 + let validate_block_func = if cfg!(not(feature = "std")) { + quote::quote! { #[doc(hidden)] mod parachain_validate_block { use super::*; @@ -226,8 +241,7 @@

Files

// It is basically a wrapper around the validate block implementation // that handles extracting params and returning results via shared memory. - // Setp 1. Extract the arguments from shared memory - + // Step 1. Extract the arguments from shared memory // We convert the `arguments` into a boxed slice and then into `Bytes`. let args = #crate_::sp_std::boxed::Box::from_raw( #crate_::sp_std::slice::from_raw_parts_mut( @@ -244,9 +258,8 @@

Files

// Step 2: Call the actual validate_block implementation let res = #crate_::validate_block::validate_block::< - #block, #verifier, - #constraint_checker, + ParachainConstraintChecker, >(params); // Step 3: Write the return value back into the shared memory @@ -259,6 +272,51 @@

Files

} else { // If we are building to std, we don't include this validate_block entry point at all quote::quote!() + }; + + // Write the piece config and the `ParachainConstraintChecker` enum. + let parachain_constraint_checker_enum = quote::quote! { + #[derive(PartialEq, Eq, Clone)] + pub struct RuntimeParachainConfig; + impl parachain_piece::ParachainPieceConfig for RuntimeParachainConfig { + const PARA_ID: u32 = #para_id; + + type SetRelayParentNumberStorage = tuxedo_parachain_core::RelayParentNumberStorage; + } + + /// The Outer / Aggregate Constraint Checker for the Parachain runtime. + /// + /// It is comprized of two individual checkers: + /// First, the constraint checker from the normal Tuxedo Template Runtime. + /// Second, the parachain inherent piece + /// + /// That first constituent checker, the normal tuxedo template runtime, is itself an aggregate + /// constraint checker aggregated from individual pieces such as money, amoeba, and others. + #[derive(Serialize, Deserialize, Encode, Decode, Debug, PartialEq, Eq, Clone, TypeInfo)] + #[tuxedo_constraint_checker] + pub enum ParachainConstraintChecker { + /// All other calls are delegated to the normal Tuxedo Template Runtime. + Inner(#inner_constraint_checker), + + /// Set some parachain related information via an inherent extrinsic. + ParachainInfo(InherentAdapter<parachain_piece::SetParachainInfo<RuntimeParachainConfig>>), + } + + // We provide a way for the relay chain validators to extract the parachain inherent data from + // a raw transaction. + impl #crate_::ParachainConstraintChecker for ParachainConstraintChecker { + + fn is_parachain(&self) -> bool { + matches!(self, Self::ParachainInfo(_)) + } + } + }; + + // The final output is the `ParachainConstraintChecker` plus the `validate_block` function. + quote::quote! { + #validate_block_func + + #parachain_constraint_checker_enum } .into() } diff --git a/src/tuxedo_template_runtime/genesis.rs.html b/src/tuxedo_template_runtime/genesis.rs.html index 661946007..556a53e1c 100644 --- a/src/tuxedo_template_runtime/genesis.rs.html +++ b/src/tuxedo_template_runtime/genesis.rs.html @@ -1,6 +1,4 @@ -genesis.rs - source -
1
+genesis.rs - source
1
 2
 3
 4
@@ -45,183 +43,35 @@ 

Files

43 44 45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195
//! Helper module to build a genesis configuration for the template runtime.
 
-use super::{
+#[cfg(feature = "std")]
+pub use super::WASM_BINARY;
+use super::{
     kitties::{KittyData, Parent},
     money::Coin,
-    OuterConstraintChecker, OuterConstraintCheckerInherentHooks, OuterVerifier, WASM_BINARY,
+    OuterConstraintChecker, Transaction,
 };
 use hex_literal::hex;
+use sp_std::{vec, vec::Vec};
 use tuxedo_core::{
-    inherents::InherentInternal,
     verifier::{Sr25519Signature, ThresholdMultiSignature, UpForGrabs},
+    ConstraintChecker,
 };
 
-/// Helper type for the ChainSpec.
-pub type RuntimeGenesisConfig =
-    tuxedo_core::genesis::TuxedoGenesisConfig<OuterVerifier, OuterConstraintChecker>;
-
 const SHAWN_PUB_KEY_BYTES: [u8; 32] =
     hex!("d2bf4b844dfefd6772a8843e669f943408966a977e3ae2af1dd78e0f55f4df67");
 const ANDREW_PUB_KEY_BYTES: [u8; 32] =
     hex!("baa81e58b1b4d053c2e86d93045765036f9d265c7dfe8b9693bbc2c0f048d93a");
 
-pub fn development_genesis_config() -> RuntimeGenesisConfig {
+/// This function returns a list of valid transactions to be included in the genesis block.
+/// It is called by the `ChainSpec::build` method, via the `development_genesis_config` function.
+/// The resulting transactions must be ordered: inherent first, then extrinsics.
+pub fn development_genesis_transactions() -> Vec<Transaction> {
     let signatories = vec![SHAWN_PUB_KEY_BYTES.into(), ANDREW_PUB_KEY_BYTES.into()];
 
     // The inherents are computed using the appropriate method, and placed before the extrinsics.
-    let mut genesis_transactions = OuterConstraintCheckerInherentHooks::genesis_transactions();
+    let mut genesis_transactions = OuterConstraintChecker::genesis_transactions();
 
     genesis_transactions.extend([
         // Money Transactions
@@ -230,164 +80,12 @@ 

Files

// Kitty Transactions KittyData::mint(Parent::mom(), b"mother", UpForGrabs), KittyData::mint(Parent::dad(), b"father", UpForGrabs), - // TODO: Initial Transactions for Existence - ]); + ]); - RuntimeGenesisConfig::new( - WASM_BINARY - .expect("Runtime WASM binary must exist.") - .to_vec(), - genesis_transactions, - ) + genesis_transactions } -#[cfg(test)] -mod tests { - use super::*; - - use crate::OuterVerifier; - use parity_scale_codec::{Decode, Encode}; - use sp_api::HashT; - use sp_core::testing::SR25519; - use sp_keystore::{testing::MemoryKeystore, Keystore, KeystoreExt}; - use sp_runtime::{traits::BlakeTwo256, BuildStorage}; - use std::sync::Arc; - use tuxedo_core::{ - dynamic_typing::{DynamicallyTypedData, UtxoData}, - inherents::InherentInternal, - types::{Output, OutputRef}, - }; - - // other random account generated with subkey - const SHAWN_PHRASE: &str = - "news slush supreme milk chapter athlete soap sausage put clutch what kitten"; - const ANDREW_PHRASE: &str = - "monkey happy total rib lumber scrap guide photo country online rose diet"; - - fn default_runtime_genesis_config() -> RuntimeGenesisConfig { - let keystore = MemoryKeystore::new(); - - let shawn_pub_key_bytes = keystore - .sr25519_generate_new(SR25519, Some(SHAWN_PHRASE)) - .unwrap() - .0; - - let andrew_pub_key_bytes = keystore - .sr25519_generate_new(SR25519, Some(ANDREW_PHRASE)) - .unwrap() - .0; - - let signatories = vec![shawn_pub_key_bytes.into(), andrew_pub_key_bytes.into()]; - - let mut genesis_transactions = OuterConstraintCheckerInherentHooks::genesis_transactions(); - genesis_transactions.extend([ - // Money Transactions - Coin::<0>::mint(100, Sr25519Signature::new(shawn_pub_key_bytes)), - Coin::<0>::mint(100, ThresholdMultiSignature::new(1, signatories)), - ]); - - RuntimeGenesisConfig::new( - WASM_BINARY - .expect("Runtime WASM binary must exist.") - .to_vec(), - genesis_transactions, - ) - } - - fn new_test_ext() -> sp_io::TestExternalities { - let keystore = MemoryKeystore::new(); - let storage = default_runtime_genesis_config() - .build_storage() - .expect("System builds valid default genesis config"); - - let mut ext = sp_io::TestExternalities::from(storage); - ext.register_extension(KeystoreExt(Arc::new(keystore))); - ext - } - - #[test] - fn genesis_utxo_money() { - new_test_ext().execute_with(|| { - let keystore = MemoryKeystore::new(); - let shawn_pub_key = keystore - .sr25519_generate_new(SR25519, Some(SHAWN_PHRASE)) - .unwrap(); - - // Grab genesis value from storage and assert it is correct - let genesis_utxo = Output { - verifier: OuterVerifier::Sr25519Signature(Sr25519Signature { - owner_pubkey: shawn_pub_key.into(), - }), - payload: DynamicallyTypedData { - data: 100u128.encode(), - type_id: <money::Coin<0> as UtxoData>::TYPE_ID, - }, - }; - - let inherents_len = OuterConstraintCheckerInherentHooks::genesis_transactions().len(); - - let tx = default_runtime_genesis_config() - .get_transaction(inherents_len) - .unwrap() - .clone(); - - assert_eq!(tx.outputs.get(0), Some(&genesis_utxo)); - - let tx_hash = BlakeTwo256::hash_of(&tx.encode()); - let output_ref = OutputRef { - tx_hash, - index: 0_u32, - }; - - let encoded_utxo = - sp_io::storage::get(&output_ref.encode()).expect("Retrieve Genesis UTXO"); - let utxo = Output::decode(&mut &encoded_utxo[..]).expect("Can Decode UTXO correctly"); - assert_eq!(utxo, genesis_utxo); - }) - } - - #[test] - fn genesis_utxo_money_multi_sig() { - new_test_ext().execute_with(|| { - let keystore = MemoryKeystore::new(); - let shawn_pub_key = keystore - .sr25519_generate_new(SR25519, Some(SHAWN_PHRASE)) - .unwrap(); - let andrew_pub_key = keystore - .sr25519_generate_new(SR25519, Some(ANDREW_PHRASE)) - .unwrap(); - - let genesis_multi_sig_utxo = Output { - verifier: OuterVerifier::ThresholdMultiSignature(ThresholdMultiSignature { - threshold: 1, - signatories: vec![shawn_pub_key.into(), andrew_pub_key.into()], - }), - payload: DynamicallyTypedData { - data: 100u128.encode(), - type_id: <money::Coin<0> as UtxoData>::TYPE_ID, - }, - }; - - let inherents_len = OuterConstraintCheckerInherentHooks::genesis_transactions().len(); - - let tx = default_runtime_genesis_config() - .get_transaction(1 + inherents_len) - .unwrap() - .clone(); - - assert_eq!(tx.outputs.get(0), Some(&genesis_multi_sig_utxo)); - - let tx_hash = BlakeTwo256::hash_of(&tx.encode()); - let output_ref = OutputRef { - tx_hash, - index: 0_u32, - }; - - let encoded_utxo = - sp_io::storage::get(&output_ref.encode()).expect("Retrieve Genesis MultiSig UTXO"); - let utxo = Output::decode(&mut &encoded_utxo[..]).expect("Can Decode UTXO correctly"); - assert_eq!(utxo, genesis_multi_sig_utxo); - }) - } +pub fn development_genesis_config() -> serde_json::Value { + serde_json::json!(development_genesis_transactions()) }
\ No newline at end of file diff --git a/src/tuxedo_template_runtime/home/runner/work/Tuxedo/Tuxedo/target/debug/build/tuxedo-template-runtime-5913b581c91c531d/out/wasm_binary.rs.html b/src/tuxedo_template_runtime/home/runner/work/Tuxedo/Tuxedo/target/debug/build/tuxedo-template-runtime-5913b581c91c531d/out/wasm_binary.rs.html new file mode 100644 index 000000000..2d9d61d26 --- /dev/null +++ b/src/tuxedo_template_runtime/home/runner/work/Tuxedo/Tuxedo/target/debug/build/tuxedo-template-runtime-5913b581c91c531d/out/wasm_binary.rs.html @@ -0,0 +1,8 @@ +wasm_binary.rs - source
1
+2
+3
+4
+

+				pub const WASM_BINARY: Option<&[u8]> = Some(include_bytes!("/home/runner/work/Tuxedo/Tuxedo/target/debug/wbuild/tuxedo-template-runtime/tuxedo_template_runtime.wasm"));
+				pub const WASM_BINARY_BLOATY: Option<&[u8]> = Some(include_bytes!("/home/runner/work/Tuxedo/Tuxedo/target/debug/wbuild/tuxedo-template-runtime/tuxedo_template_runtime.wasm"));
+			
\ No newline at end of file diff --git a/src/tuxedo_template_runtime/home/runner/work/Tuxedo/Tuxedo/target/debug/build/tuxedo-template-runtime-ae6df9f2161544b8/out/wasm_binary.rs.html b/src/tuxedo_template_runtime/home/runner/work/Tuxedo/Tuxedo/target/debug/build/tuxedo-template-runtime-ae6df9f2161544b8/out/wasm_binary.rs.html deleted file mode 100644 index 2ca6bf81f..000000000 --- a/src/tuxedo_template_runtime/home/runner/work/Tuxedo/Tuxedo/target/debug/build/tuxedo-template-runtime-ae6df9f2161544b8/out/wasm_binary.rs.html +++ /dev/null @@ -1,10 +0,0 @@ -wasm_binary.rs - source -
1
-2
-3
-4
-

-				pub const WASM_BINARY: Option<&[u8]> = Some(include_bytes!("/home/runner/work/Tuxedo/Tuxedo/target/debug/wbuild/tuxedo-template-runtime/tuxedo_template_runtime.wasm"));
-				pub const WASM_BINARY_BLOATY: Option<&[u8]> = Some(include_bytes!("/home/runner/work/Tuxedo/Tuxedo/target/debug/wbuild/tuxedo-template-runtime/tuxedo_template_runtime.wasm"));
-			
\ No newline at end of file diff --git a/src/tuxedo_template_runtime/lib.rs.html b/src/tuxedo_template_runtime/lib.rs.html index 56d979173..8f852bb85 100644 --- a/src/tuxedo_template_runtime/lib.rs.html +++ b/src/tuxedo_template_runtime/lib.rs.html @@ -1,6 +1,4 @@ -lib.rs - source -
1
+lib.rs - source
1
 2
 3
 4
@@ -352,92 +350,6 @@ 

Files

350 351 352 -353 -354 -355 -356 -357 -358 -359 -360 -361 -362 -363 -364 -365 -366 -367 -368 -369 -370 -371 -372 -373 -374 -375 -376 -377 -378 -379 -380 -381 -382 -383 -384 -385 -386 -387 -388 -389 -390 -391 -392 -393 -394 -395 -396 -397 -398 -399 -400 -401 -402 -403 -404 -405 -406 -407 -408 -409 -410 -411 -412 -413 -414 -415 -416 -417 -418 -419 -420 -421 -422 -423 -424 -425 -426 -427 -428 -429 -430 -431 -432 -433 -434 -435 -436 -437 -438
//! The Tuxedo Template Runtime is an example runtime that uses
 //! most of the pieces provided in the wardrobe.
 //!
@@ -449,8 +361,7 @@ 

Files

#[cfg(feature = "std")] include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs")); -#[cfg(feature = "std")] -pub mod genesis; +pub mod genesis; use parity_scale_codec::{Decode, Encode}; use scale_info::TypeInfo; @@ -463,7 +374,7 @@

Files

use sp_inherents::InherentData; use sp_runtime::{ create_runtime_str, impl_opaque_keys, - traits::{BlakeTwo256, Block as BlockT}, + traits::Block as BlockT, transaction_validity::{TransactionPriority, TransactionSource, TransactionValidity}, ApplyExtrinsicResult, BoundToRuntimeAppPublic, }; @@ -474,9 +385,11 @@

Files

use sp_version::RuntimeVersion; use tuxedo_core::{ + genesis::TuxedoGenesisConfigBuilder, tuxedo_constraint_checker, tuxedo_verifier, types::Transaction as TuxedoTransaction, verifier::{Sr25519Signature, ThresholdMultiSignature, UpForGrabs}, + InherentAdapter, }; pub use amoeba; @@ -493,13 +406,8 @@

Files

pub mod opaque { use super::*; - /// Opaque block type. - pub type Block = sp_runtime::generic::Block<Header, sp_runtime::OpaqueExtrinsic>; - /// Opaque block hash type. - pub type Hash = <BlakeTwo256 as sp_api::HashT>::Output; - // This part is necessary for generating session keys in the runtime - impl_opaque_keys! { + impl_opaque_keys! { pub struct SessionKeys { pub aura: AuraAppPublic, pub grandpa: GrandpaAppPublic, @@ -543,20 +451,10 @@

Files

} pub type Transaction = TuxedoTransaction<OuterVerifier, OuterConstraintChecker>; -pub type BlockNumber = u32; -pub type Header = sp_runtime::generic::Header<BlockNumber, BlakeTwo256>; -pub type Block = sp_runtime::generic::Block<Header, Transaction>; -pub type Executive = tuxedo_core::Executive<Block, OuterVerifier, OuterConstraintChecker>; +pub type Block = tuxedo_core::types::Block<OuterVerifier, OuterConstraintChecker>; +pub type Executive = tuxedo_core::Executive<OuterVerifier, OuterConstraintChecker>; pub type Output = tuxedo_core::types::Output<OuterVerifier>; -impl sp_runtime::traits::GetNodeBlockType for Runtime { - type NodeBlock = opaque::Block; -} - -impl sp_runtime::traits::GetRuntimeBlockType for Runtime { - type RuntimeBlock = Block; -} - /// The Aura slot duration. When things are working well, this will also be the block time. const BLOCK_TIME: u64 = 3000; @@ -582,64 +480,15 @@

Files

} } -#[cfg(feature = "parachain")] -impl parachain_piece::ParachainPieceConfig for Runtime { - // Use the para ID 2_000 which is the first available in the rococo-local runtime. - // This is the default value, so this could be omitted, but explicit is better. - const PARA_ID: u32 = 2_000; - - type SetRelayParentNumberStorage = tuxedo_parachain_core::RelayParentNumberStorage; -} - // Observation: For some applications, it will be invalid to simply delete // a UTXO without any further processing. Therefore, we explicitly include // AmoebaDeath and PoeRevoke on an application-specific basis -// The macro doesn't understand conditional compilation flags inside, so we have to -// feature gate the entire thing, and repeat it twice. I remember this was a problem -// with frame's construct_runtime! as well. - /// A constraint checker is a piece of logic that can be used to check a transaction. /// For any given Tuxedo runtime there is a finite set of such constraint checkers. /// For example, this may check that input token values exceed output token values. #[derive(Serialize, Deserialize, Encode, Decode, Debug, PartialEq, Eq, Clone, TypeInfo)] -#[tuxedo_constraint_checker(OuterVerifier)] -#[cfg(feature = "parachain")] -pub enum OuterConstraintChecker { - /// Checks monetary transactions in a basic fungible cryptocurrency - Money(money::MoneyConstraintChecker<0>), - /// Checks Free Kitty transactions - FreeKittyConstraintChecker(kitties::FreeKittyConstraintChecker), - /// Checks that an amoeba can split into two new amoebas - AmoebaMitosis(amoeba::AmoebaMitosis), - /// Checks that a single amoeba is simply removed from the state - AmoebaDeath(amoeba::AmoebaDeath), - /// Checks that a single amoeba is simply created from the void... and it is good - AmoebaCreation(amoeba::AmoebaCreation), - /// Checks that new valid proofs of existence are claimed - PoeClaim(poe::PoeClaim<Runtime>), - /// Checks that proofs of existence are revoked. - PoeRevoke(poe::PoeRevoke), - /// Checks that one winning claim came earlier than all the other claims, and thus - /// the losing claims can be removed from storage. - PoeDispute(poe::PoeDispute), - /// Set the block's timestamp via an inherent extrinsic. - SetTimestamp(timestamp::SetTimestamp<Runtime>), - /// Upgrade the Wasm Runtime - RuntimeUpgrade(runtime_upgrade::RuntimeUpgrade), - - // TODO This one is last for now so that I can write a hacky algorithm to scrape - // the inherent data and assume it is last. - /// Set some parachain related information via an inherent extrinsic. - ParachainInfo(parachain_piece::SetParachainInfo<Runtime>), -} - -/// A constraint checker is a piece of logic that can be used to check a transaction. -/// For any given Tuxedo runtime there is a finite set of such constraint checkers. -/// For example, this may check that input token values exceed output token values. -#[derive(Serialize, Deserialize, Encode, Decode, Debug, PartialEq, Eq, Clone, TypeInfo)] -#[tuxedo_constraint_checker(OuterVerifier)] -#[cfg(not(feature = "parachain"))] +#[tuxedo_constraint_checker] pub enum OuterConstraintChecker { /// Checks monetary transactions in a basic fungible cryptocurrency Money(money::MoneyConstraintChecker<0>), @@ -659,33 +508,9 @@

Files

/// the losing claims can be removed from storage. PoeDispute(poe::PoeDispute), /// Set the block's timestamp via an inherent extrinsic. - SetTimestamp(timestamp::SetTimestamp<Runtime>), + SetTimestamp(InherentAdapter<timestamp::SetTimestamp<Runtime>>), /// Upgrade the Wasm Runtime RuntimeUpgrade(runtime_upgrade::RuntimeUpgrade), - - /// A Dummy Constraint Checker to make the encoding compatible with the parachain. - /// This does nothing. - ParachainInfo(DummyParachainInfo), -} - -#[derive( - Serialize, Deserialize, Encode, Decode, Debug, Default, PartialEq, Eq, Clone, TypeInfo, -)] -/// A Dummy constraint checker that does nothing. It is only present to make the -/// Parachain and non-parahcain OuterConstraintCheckers scale compatible -pub struct DummyParachainInfo; - -impl tuxedo_core::SimpleConstraintChecker for DummyParachainInfo { - type Error = (); - - fn check( - &self, - _input_data: &[tuxedo_core::dynamic_typing::DynamicallyTypedData], - _peeks: &[tuxedo_core::dynamic_typing::DynamicallyTypedData], - _output_data: &[tuxedo_core::dynamic_typing::DynamicallyTypedData], - ) -> Result<TransactionPriority, ()> { - Ok(0) - } } /// The main struct in this module. @@ -752,7 +577,7 @@

Files

} } -impl_runtime_apis! { +impl_runtime_apis! { // https://substrate.dev/rustdocs/master/sp_api/trait.Core.html impl sp_api::Core<Block> for Runtime { fn version() -> RuntimeVersion { @@ -864,16 +689,17 @@

Files

} } - #[cfg(feature = "parachain")] - impl cumulus_primitives_core::CollectCollationInfo<Block> for Runtime { - fn collect_collation_info(header: &<Block as BlockT>::Header) -> cumulus_primitives_core::CollationInfo { - use tuxedo_parachain_core::ParachainExecutiveExtension; - Executive::collect_collation_info(header) + impl sp_genesis_builder::GenesisBuilder<Block> for Runtime { + fn create_default_config() -> Vec<u8> { + serde_json::to_vec(&genesis::development_genesis_transactions()) + .expect("Development genesis transactions are valid.") + } + + fn build_config(config: Vec<u8>) -> sp_genesis_builder::Result { + let genesis_transactions = serde_json::from_slice::<Vec<Transaction>>(config.as_slice()) + .map_err(|_| "The input JSON is not a valid list of Transactions.")?; + TuxedoGenesisConfigBuilder::build(genesis_transactions) } } } - -// Register the `validate_block` function that Polkadot validators will call to verify this parachain block. -#[cfg(feature = "parachain")] -tuxedo_parachain_core::register_validate_block!(Block, OuterVerifier, OuterConstraintChecker);
\ No newline at end of file diff --git a/src/tuxedo_template_wallet/amoeba.rs.html b/src/tuxedo_template_wallet/amoeba.rs.html index 252755f67..f5b27f315 100644 --- a/src/tuxedo_template_wallet/amoeba.rs.html +++ b/src/tuxedo_template_wallet/amoeba.rs.html @@ -1,6 +1,4 @@ -amoeba.rs - source -
1
+amoeba.rs - source
1
 2
 3
 4
@@ -127,6 +125,17 @@ 

Files

125 126 127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138
//! Toy off-chain process to create an amoeba and perform mitosis on it
 
 use crate::rpc::fetch_storage;
@@ -137,28 +146,39 @@ 

Files

use parity_scale_codec::Encode; use runtime::{ amoeba::{AmoebaCreation, AmoebaDetails, AmoebaMitosis}, - OuterVerifier, Transaction, + OuterConstraintChecker, OuterVerifier, }; use sp_runtime::traits::{BlakeTwo256, Hash}; use tuxedo_core::{ - types::{Input, Output, OutputRef}, + types::{Input, Output, OutputRef, Transaction}, verifier::UpForGrabs, + ConstraintChecker, }; -pub async fn amoeba_demo(client: &HttpClient) -> anyhow::Result<()> { +pub async fn amoeba_demo(parachain: bool, client: &HttpClient) -> anyhow::Result<()> { + if parachain { + amoeba_demo_helper::<crate::ParachainConstraintChecker>(client).await + } else { + amoeba_demo_helper::<crate::OuterConstraintChecker>(client).await + } +} + +pub async fn amoeba_demo_helper<Checker: ConstraintChecker + From<OuterConstraintChecker>>( + client: &HttpClient, +) -> anyhow::Result<()> { // Construct a simple amoeba spawning transaction (no signature required) let eve = AmoebaDetails { generation: 0, four_bytes: *b"eve_", }; - let spawn_tx = Transaction { + let spawn_tx: Transaction<OuterVerifier, Checker> = Transaction { inputs: Vec::new(), peeks: Vec::new(), outputs: vec![Output { payload: eve.into(), verifier: UpForGrabs.into(), }], - checker: AmoebaCreation.into(), + checker: OuterConstraintChecker::AmoebaCreation(AmoebaCreation).into(), }; // Calculate the OutputRef which also serves as the storage location @@ -192,10 +212,10 @@

Files

generation: 1, four_bytes: *b"able", }; - let mitosis_tx = Transaction { + let mitosis_tx: Transaction<OuterVerifier, Checker> = Transaction { inputs: vec![Input { output_ref: eve_ref, - redeemer: Vec::new(), + redeemer: Default::default(), }], peeks: Vec::new(), outputs: vec![ @@ -208,7 +228,7 @@

Files

verifier: UpForGrabs.into(), }, ], - checker: AmoebaMitosis.into(), + checker: OuterConstraintChecker::AmoebaMitosis(AmoebaMitosis).into(), }; // Calculate the two OutputRefs for the daughters diff --git a/src/tuxedo_template_wallet/cli.rs.html b/src/tuxedo_template_wallet/cli.rs.html index c88d02b7e..98bb3c4b8 100644 --- a/src/tuxedo_template_wallet/cli.rs.html +++ b/src/tuxedo_template_wallet/cli.rs.html @@ -1,6 +1,4 @@ -cli.rs - source -
1
+cli.rs - source
1
 2
 3
 4
@@ -151,6 +149,10 @@ 

Files

149 150 151 +152 +153 +154 +155
//! Tuxedo Template Wallet's Command Line Interface.
 //!
 //! Built with clap's derive macros.
@@ -174,9 +176,9 @@ 

Files

/// RPC endpoint of the node that this wallet will connect to. pub endpoint: String, - #[arg(long, short)] + #[arg(long, short('d'))] /// Path where the wallet data is stored. Default value is platform specific. - pub path: Option<PathBuf>, + pub base_path: Option<PathBuf>, #[arg(long, verbatim_doc_comment)] /// Skip the initial sync that the wallet typically performs with the node. @@ -193,6 +195,10 @@

Files

/// The keystore will contain the development key Shawn.
pub dev: bool, + /// Use the Parachain template encoding instead of the regular node template encoding. + #[arg(long, short, verbatim_doc_comment)] + pub parachain: bool, + #[command(subcommand)] pub command: Option<Command>, } diff --git a/src/tuxedo_template_wallet/keystore.rs.html b/src/tuxedo_template_wallet/keystore.rs.html index 06eafb966..543e542cc 100644 --- a/src/tuxedo_template_wallet/keystore.rs.html +++ b/src/tuxedo_template_wallet/keystore.rs.html @@ -1,6 +1,4 @@ -keystore.rs - source -
1
+keystore.rs - source
1
 2
 3
 4
@@ -92,8 +90,6 @@ 

Files

90 91 92 -93 -94
//! Wallet's local keystore.
 //!
 //! This is a thin wrapper around sc-cli for use in tuxedo wallets
@@ -103,7 +99,7 @@ 

Files

use sc_keystore::LocalKeystore; use sp_core::{ crypto::Pair as PairT, - sr25519::{Pair, Public}, + sr25519::{Pair, Public, Signature}, H256, }; use sp_keystore::Keystore; @@ -135,12 +131,10 @@

Files

keystore: &LocalKeystore, public: &Public, message: &[u8], -) -> anyhow::Result<Vec<u8>> { - let sig = keystore +) -> anyhow::Result<Signature> { + keystore .sr25519_sign(KEY_TYPE, public, message)? - .ok_or(anyhow!("Key doesn't exist in keystore"))?; - - Ok(sig.encode()) + .ok_or(anyhow!("Key doesn't exist in keystore")) } /// Insert the private key associated with the given seed into the keystore for later use. diff --git a/src/tuxedo_template_wallet/main.rs.html b/src/tuxedo_template_wallet/main.rs.html index a1cc3ff18..bbf705760 100644 --- a/src/tuxedo_template_wallet/main.rs.html +++ b/src/tuxedo_template_wallet/main.rs.html @@ -1,6 +1,4 @@ -main.rs - source -
1
+main.rs - source
1
 2
 3
 4
@@ -268,27 +266,47 @@ 

Files

266 267 268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287
//! A simple CLI wallet. For now it is a toy just to start testing things out.
 
 use clap::Parser;
 use jsonrpsee::http_client::HttpClientBuilder;
 use parity_scale_codec::{Decode, Encode};
-use runtime::OuterVerifier;
+use runtime::{OuterConstraintChecker, OuterVerifier};
+use sp_core::H256;
 use std::path::PathBuf;
 use tuxedo_core::{types::OutputRef, verifier::*};
 
-use sp_core::H256;
-
 mod amoeba;
 mod cli;
 mod keystore;
 mod money;
 mod output_filter;
+mod parachain;
 mod rpc;
 mod sync;
 mod timestamp;
 
 use cli::{Cli, Command};
+use parachain::ParachainConstraintChecker;
 
 /// The default RPC endpoint for the wallet to connect to
 const DEFAULT_ENDPOINT: &str = "http://localhost:9944";
@@ -306,7 +324,7 @@ 

Files

// Setup the data paths. let data_path = match tmp { true => temp_dir(), - _ => cli.path.unwrap_or_else(default_data_path), + _ => cli.base_path.unwrap_or_else(default_data_path), }; let keystore_path = data_path.join("keystore"); let db_path = data_path.join("wallet_database"); @@ -350,14 +368,30 @@

Files

if !sled::Db::was_recovered(&db) { // This is a new instance, so we need to apply the genesis block to the database. - sync::apply_block(&db, node_genesis_block, node_genesis_hash, &keystore_filter).await?; + if cli.parachain { + sync::apply_block::<_, ParachainConstraintChecker>( + &db, + node_genesis_block, + node_genesis_hash, + &keystore_filter, + ) + .await?; + } else { + sync::apply_block::<_, OuterConstraintChecker>( + &db, + node_genesis_block, + node_genesis_hash, + &keystore_filter, + ) + .await?; + } } // Synchronize the wallet with attached node unless instructed otherwise. if cli.no_sync { log::warn!("Skipping sync with node. Using previously synced information.") } else { - sync::synchronize(&db, &client, &keystore_filter).await?; + sync::synchronize(cli.parachain, &db, &client, &keystore_filter).await?; log::info!( "Wallet database synchronized with node to height {:?}", @@ -367,9 +401,9 @@

Files

// Dispatch to proper subcommand match cli.command { - Some(Command::AmoebaDemo) => amoeba::amoeba_demo(&client).await, + Some(Command::AmoebaDemo) => amoeba::amoeba_demo(cli.parachain, &client).await, // Command::MultiSigDemo => multi_sig::multi_sig_demo(&client).await, - Some(Command::MintCoins(args)) => money::mint_coins(&client, args).await, + Some(Command::MintCoins(args)) => money::mint_coins(cli.parachain, &client, args).await, Some(Command::VerifyCoin { output_ref }) => { println!("Details of coin {}:", hex::encode(output_ref.encode())); @@ -391,7 +425,9 @@

Files

Ok(()) } - Some(Command::SpendCoins(args)) => money::spend_coins(&db, &client, &keystore, args).await, + Some(Command::SpendCoins(args)) => { + money::spend_coins(cli.parachain, &db, &client, &keystore, args).await + } Some(Command::InsertKey { seed }) => crate::keystore::insert_key(&keystore, &seed), Some(Command::GenerateKey { password }) => { crate::keystore::generate_key(&keystore, password)?; @@ -520,7 +556,7 @@

Files

pub fn pretty_print_verifier(v: &OuterVerifier) { match v { OuterVerifier::Sr25519Signature(sr25519_signature) => { - println! {"owned by {}", sr25519_signature.owner_pubkey} + println! {"owned by {}", sr25519_signature.owner_pubkey} } OuterVerifier::UpForGrabs(_) => println!("that can be spent by anyone"), OuterVerifier::ThresholdMultiSignature(multi_sig) => { diff --git a/src/tuxedo_template_wallet/money.rs.html b/src/tuxedo_template_wallet/money.rs.html index 312d6f8cb..b243dedd8 100644 --- a/src/tuxedo_template_wallet/money.rs.html +++ b/src/tuxedo_template_wallet/money.rs.html @@ -1,6 +1,4 @@ -money.rs - source -
1
+money.rs - source
1
 2
 3
 4
@@ -206,6 +204,45 @@ 

Files

204 205 206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245
//! Wallet features related to spending money and checking balances.
 
 use crate::{cli::MintCoinArgs, cli::SpendArgs, rpc::fetch_storage, sync};
@@ -215,22 +252,38 @@ 

Files

use parity_scale_codec::Encode; use runtime::{ money::{Coin, MoneyConstraintChecker}, - OuterConstraintChecker, OuterVerifier, Transaction, + OuterConstraintChecker, OuterVerifier, OuterVerifierRedeemer, }; use sc_keystore::LocalKeystore; use sled::Db; use sp_core::sr25519::Public; use sp_runtime::traits::{BlakeTwo256, Hash}; use tuxedo_core::{ - types::{Input, Output, OutputRef}, + types::{Input, Output, OutputRef, RedemptionStrategy, Transaction}, verifier::Sr25519Signature, + ConstraintChecker, }; /// Create and send a transaction that mints the coins on the network -pub async fn mint_coins(client: &HttpClient, args: MintCoinArgs) -> anyhow::Result<()> { +pub async fn mint_coins( + parachain: bool, + client: &HttpClient, + args: MintCoinArgs, +) -> anyhow::Result<()> { + if parachain { + mint_coins_helper::<crate::ParachainConstraintChecker>(client, args).await + } else { + mint_coins_helper::<crate::OuterConstraintChecker>(client, args).await + } +} + +pub async fn mint_coins_helper<Checker: ConstraintChecker + From<OuterConstraintChecker>>( + client: &HttpClient, + args: MintCoinArgs, +) -> anyhow::Result<()> { log::debug!("The args are:: {:?}", args); - let transaction = Transaction { + let transaction: tuxedo_core::types::Transaction<OuterVerifier, Checker> = Transaction { inputs: Vec::new(), peeks: Vec::new(), outputs: vec![( @@ -240,11 +293,11 @@

Files

}), ) .into()], - checker: OuterConstraintChecker::Money(MoneyConstraintChecker::Mint), + checker: OuterConstraintChecker::Money(MoneyConstraintChecker::Mint).into(), }; - let spawn_hex = hex::encode(transaction.encode()); - let params = rpc_params![spawn_hex]; + let encoded_tx = hex::encode(transaction.encode()); + let params = rpc_params![encoded_tx]; let _spawn_response: Result<String, _> = client.request("author_submitExtrinsic", params).await; log::info!( @@ -269,6 +322,22 @@

Files

/// Create and send a transaction that spends coins on the network pub async fn spend_coins( + parachain: bool, + db: &Db, + client: &HttpClient, + keystore: &LocalKeystore, + args: SpendArgs, +) -> anyhow::Result<()> { + // Depending how the parachain and metadata support shapes up, it may make sense to have a + // macro that writes all of these helpers and ifs. + if parachain { + spend_coins_helper::<crate::ParachainConstraintChecker>(db, client, keystore, args).await + } else { + spend_coins_helper::<crate::OuterConstraintChecker>(db, client, keystore, args).await + } +} + +pub async fn spend_coins_helper<Checker: ConstraintChecker + From<OuterConstraintChecker>>( db: &Db, client: &HttpClient, keystore: &LocalKeystore, @@ -277,11 +346,11 @@

Files

log::debug!("The args are:: {:?}", args); // Construct a template Transaction to push coins into later - let mut transaction = Transaction { + let mut transaction: Transaction<OuterVerifier, Checker> = Transaction { inputs: Vec::new(), peeks: Vec::new(), outputs: Vec::new(), - checker: OuterConstraintChecker::Money(MoneyConstraintChecker::Spend), + checker: OuterConstraintChecker::Money(MoneyConstraintChecker::Spend).into(), }; // Construct each output and then push to the transactions @@ -328,7 +397,7 @@

Files

get_coin_from_storage(output_ref, client).await?; transaction.inputs.push(Input { output_ref: output_ref.clone(), - redeemer: vec![], // We will sign the total transaction so this should be empty + redeemer: Default::default(), // We will sign the total transaction so this should be empty }); } @@ -344,16 +413,23 @@

Files

let redeemer = match utxo.verifier { OuterVerifier::Sr25519Signature(Sr25519Signature { owner_pubkey }) => { let public = Public::from_h256(owner_pubkey); - crate::keystore::sign_with(keystore, &public, &stripped_encoded_transaction)? - } - OuterVerifier::UpForGrabs(_) => Vec::new(), + let signature = + crate::keystore::sign_with(keystore, &public, &stripped_encoded_transaction)?; + OuterVerifierRedeemer::Sr25519Signature(signature) + } + OuterVerifier::UpForGrabs(_) => OuterVerifierRedeemer::UpForGrabs(()), OuterVerifier::ThresholdMultiSignature(_) => todo!(), }; // insert the proof - input.redeemer = redeemer; +
let encoded_redeemer = redeemer.encode(); + log::debug!("encoded redeemer is: {:?}", encoded_redeemer); + + input.redeemer = RedemptionStrategy::Redemption(encoded_redeemer); } + log::debug!("signed transactions is: {:#?}", transaction); + // Send the transaction let genesis_spend_hex = hex::encode(transaction.encode()); let params = rpc_params![genesis_spend_hex]; diff --git a/src/tuxedo_template_wallet/output_filter.rs.html b/src/tuxedo_template_wallet/output_filter.rs.html index 859612870..fcdd75a59 100644 --- a/src/tuxedo_template_wallet/output_filter.rs.html +++ b/src/tuxedo_template_wallet/output_filter.rs.html @@ -1,6 +1,4 @@ -output_filter.rs - source -
1
+output_filter.rs - source
1
 2
 3
 4
diff --git a/src/tuxedo_template_wallet/parachain.rs.html b/src/tuxedo_template_wallet/parachain.rs.html
new file mode 100644
index 000000000..4a407ae3a
--- /dev/null
+++ b/src/tuxedo_template_wallet/parachain.rs.html
@@ -0,0 +1,81 @@
+parachain.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+
//! Parachain compatibility for the template wallet.
+//!
+//! The wallet is not intended to support a wide variety of chains, but it is able
+//! to support both the sovereign and parachain template nodes. There are a few types
+//! necessary to make this work.
+//!
+//! We don't want the wallet to depend on the parachain runtime which has a huge
+//! dependency graph itself. So a few types are duplicated here.
+
+use parity_scale_codec::{Decode, Encode};
+use runtime::OuterConstraintChecker;
+use tuxedo_core::SimpleConstraintChecker;
+
+/// We don't want the wallet to depend on the huge parachain codebase,
+/// So we just recreate this one little type here.
+#[derive(Encode, Decode, Debug, PartialEq, Eq, Clone)]
+pub enum ParachainConstraintChecker {
+    Normal(OuterConstraintChecker),
+    Parachain,
+}
+
+impl SimpleConstraintChecker for ParachainConstraintChecker {
+    type Error = ();
+
+    fn check(
+        &self,
+        _: &[tuxedo_core::dynamic_typing::DynamicallyTypedData],
+        _: &[tuxedo_core::dynamic_typing::DynamicallyTypedData],
+        _: &[tuxedo_core::dynamic_typing::DynamicallyTypedData],
+        _: &[tuxedo_core::dynamic_typing::DynamicallyTypedData],
+    ) -> Result<sp_runtime::transaction_validity::TransactionPriority, Self::Error> {
+        todo!()
+    }
+}
+
+impl From<OuterConstraintChecker> for ParachainConstraintChecker {
+    fn from(c: OuterConstraintChecker) -> Self {
+        ParachainConstraintChecker::Normal(c)
+    }
+}
+
\ No newline at end of file diff --git a/src/tuxedo_template_wallet/rpc.rs.html b/src/tuxedo_template_wallet/rpc.rs.html index 2b967e2fb..c6dc3fb33 100644 --- a/src/tuxedo_template_wallet/rpc.rs.html +++ b/src/tuxedo_template_wallet/rpc.rs.html @@ -1,6 +1,4 @@ -rpc.rs - source -
1
+rpc.rs - source
1
 2
 3
 4
@@ -55,12 +53,6 @@ 

Files

53 54 55 -56 -57 -58 -59 -60 -61
//! Strongly typed helper functions for communicating with the Node's
 //! RPC endpoint.
 
@@ -68,10 +60,9 @@ 

Files

use anyhow::anyhow; use jsonrpsee::{core::client::ClientT, http_client::HttpClient, rpc_params}; use parity_scale_codec::{Decode, Encode}; -use runtime::{opaque::Block as OpaqueBlock, Block}; use sp_core::H256; use tuxedo_core::{ - types::{Output, OutputRef}, + types::{OpaqueBlock, Output, OutputRef}, Verifier, }; @@ -83,8 +74,11 @@

Files

Ok(maybe_hash) } -/// Typed helper to get the node's full block at a particular hash -pub async fn node_get_block(hash: H256, client: &HttpClient) -> anyhow::Result<Option<Block>> { +/// Get the node's full opaque block at a particular hash +pub async fn node_get_block( + hash: H256, + client: &HttpClient, +) -> anyhow::Result<Option<OpaqueBlock>> { let s = hex::encode(hash.0); let params = rpc_params![s]; @@ -95,15 +89,7 @@

Files

let json_opaque_block = rpc_response.get("block").cloned().unwrap(); let opaque_block: OpaqueBlock = serde_json::from_value(json_opaque_block).unwrap(); - // I need a structured block, not an opaque one. To achieve that, I'll - // scale encode it, then once again decode it. - // Feels kind of like a hack, but I honestly don't know what else to do. - // I don't see any way to get the bytes out of an OpaqueExtrinsic. - let scale_bytes = opaque_block.encode(); - - let structured_block = Block::decode(&mut &scale_bytes[..]).unwrap(); - - Ok(Some(structured_block)) + Ok(Some(opaque_block)) } /// Fetch an output from chain storage given an OutputRef diff --git a/src/tuxedo_template_wallet/sync.rs.html b/src/tuxedo_template_wallet/sync.rs.html index d07b39e26..3d3641e56 100644 --- a/src/tuxedo_template_wallet/sync.rs.html +++ b/src/tuxedo_template_wallet/sync.rs.html @@ -1,6 +1,4 @@ -sync.rs - source -
1
+sync.rs - source
1
 2
 3
 4
@@ -450,6 +448,33 @@ 

Files

448 449 450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477
//! This module is responsible for maintaining the wallet's local database of blocks
 //! and owned UTXOs to the canonical database reported by the node.
 //!
@@ -470,14 +495,19 @@ 

Files

use parity_scale_codec::{Decode, Encode}; use sled::Db; use sp_core::H256; -use sp_runtime::traits::{BlakeTwo256, Hash}; +use sp_runtime::{ + traits::{BlakeTwo256, Hash}, + OpaqueExtrinsic, +}; use tuxedo_core::{ dynamic_typing::UtxoData, - types::{Input, OutputRef}, + types::Transaction, + types::{Input, OpaqueBlock, OutputRef}, + ConstraintChecker, }; use jsonrpsee::http_client::HttpClient; -use runtime::{money::Coin, timestamp::Timestamp, Block, OuterVerifier, Transaction}; +use runtime::{money::Coin, timestamp::Timestamp, Block, OuterVerifier}; /// The identifier for the blocks tree in the db. const BLOCKS: &str = "blocks"; @@ -498,9 +528,11 @@

Files

pub(crate) fn open_db( db_path: PathBuf, expected_genesis_hash: H256, - expected_genesis_block: Block, + expected_genesis_block: OpaqueBlock, ) -> anyhow::Result<Db> { //TODO figure out why this assertion fails. + // Possibly this https://substrate.stackexchange.com/questions/7357/ + // But also possibly something else now that I switched to opaque block //assert_eq!(BlakeTwo256::hash_of(&expected_genesis_block.encode()), expected_genesis_hash, "expected block hash does not match expected block"); let db = sled::open(db_path)?; @@ -540,10 +572,23 @@

Files

Ok(db) } +pub(crate) async fn synchronize<F: Fn(&OuterVerifier) -> bool>( + parachain: bool, + db: &Db, + client: &HttpClient, + filter: &F, +) -> anyhow::Result<()> { + if parachain { + synchronize_helper::<F, crate::ParachainConstraintChecker>(db, client, filter).await + } else { + synchronize_helper::<F, crate::OuterConstraintChecker>(db, client, filter).await + } +} + /// Synchronize the local database to the database of the running node. /// The wallet entirely trusts the data the node feeds it. In the bigger /// picture, that means run your own (light) node. -pub(crate) async fn synchronize<F: Fn(&OuterVerifier) -> bool>( +pub(crate) async fn synchronize_helper<F: Fn(&OuterVerifier) -> bool, C: ConstraintChecker>( db: &Db, client: &HttpClient, filter: &F, @@ -565,7 +610,7 @@

Files

while Some(wallet_hash) != node_hash { log::debug!("Divergence at height {height}. Node reports block: {node_hash:?}. Reverting wallet block: {wallet_hash:?}."); - unapply_highest_block(db).await?; + unapply_highest_block::<C>(db).await?; // Update for the next iteration height -= 1; @@ -590,7 +635,7 @@

Files

.expect("Node should be able to return a block whose hash it already returned"); // Apply the new block - apply_block(db, block, hash, filter).await?; + apply_block::<F, C>(db, block, hash, filter).await?; height += 1; @@ -674,9 +719,9 @@

Files

} /// Apply a block to the local database -pub(crate) async fn apply_block<F: Fn(&OuterVerifier) -> bool>( +pub(crate) async fn apply_block<F: Fn(&OuterVerifier) -> bool, C: ConstraintChecker>( db: &Db, - b: Block, + b: OpaqueBlock, block_hash: H256, filter: &F, ) -> anyhow::Result<()> { @@ -691,7 +736,7 @@

Files

// Iterate through each transaction for tx in b.extrinsics { - apply_transaction(db, tx, filter).await?; + apply_transaction::<F, C>(db, tx, filter).await?; } Ok(()) @@ -699,14 +744,18 @@

Files

/// Apply a single transaction to the local database /// The owner-specific tables are mappings from output_refs to coin amounts -async fn apply_transaction<F: Fn(&OuterVerifier) -> bool>( +async fn apply_transaction<F: Fn(&OuterVerifier) -> bool, C: ConstraintChecker>( db: &Db, - tx: Transaction, + opaque_tx: OpaqueExtrinsic, filter: &F, ) -> anyhow::Result<()> { - let tx_hash = BlakeTwo256::hash_of(&tx.encode()); + let encoded_extrinsic = opaque_tx.encode(); + let tx_hash = BlakeTwo256::hash_of(&encoded_extrinsic); log::debug!("syncing transaction {tx_hash:?}"); + // Now get a structured transaction + let tx = Transaction::<OuterVerifier, C>::decode(&mut &encoded_extrinsic[..])?; + // Insert all new outputs for (index, output) in tx .outputs @@ -788,7 +837,10 @@

Files

/// Run a transaction backwards against a database. Mark all of the Inputs /// as unspent, and drop all of the outputs. -fn unapply_transaction(db: &Db, tx: &Transaction) -> anyhow::Result<()> { +fn unapply_transaction<C: ConstraintChecker>(db: &Db, tx: &OpaqueExtrinsic) -> anyhow::Result<()> { + // We need to decode the opaque extrinsics. So we do a scale round-trip. + let tx = Transaction::<OuterVerifier, C>::decode(&mut &tx.encode()[..])?; + // Loop through the inputs moving each from spent to unspent for Input { output_ref, .. } in &tx.inputs { unspend_output(db, output_ref)?; @@ -809,7 +861,7 @@

Files

} /// Unapply the best block that the wallet currently knows about -pub(crate) async fn unapply_highest_block(db: &Db) -> anyhow::Result<Block> { +pub(crate) async fn unapply_highest_block<C: ConstraintChecker>(db: &Db) -> anyhow::Result<()> { let wallet_blocks_tree = db.open_tree(BLOCKS)?; let wallet_block_hashes_tree = db.open_tree(BLOCK_HASHES)?; @@ -831,14 +883,14 @@

Files

)); }; - let block = Block::decode(&mut &ivec[..])?; + let block = OpaqueBlock::decode(&mut &ivec[..])?; // Loop through the transactions in reverse order calling unapply for tx in block.extrinsics.iter().rev() { - unapply_transaction(db, tx)?; + unapply_transaction::<C>(db, tx)?; } - Ok(block) + Ok(()) } /// Get the block height that the wallet is currently synced to diff --git a/src/tuxedo_template_wallet/timestamp.rs.html b/src/tuxedo_template_wallet/timestamp.rs.html index 960fb8494..8898603de 100644 --- a/src/tuxedo_template_wallet/timestamp.rs.html +++ b/src/tuxedo_template_wallet/timestamp.rs.html @@ -1,6 +1,4 @@ -timestamp.rs - source -
1
+timestamp.rs - source
1
 2
 3
 4
diff --git a/static.files/clipboard-7571035ce49a181d.svg b/static.files/clipboard-24048e6d87f63d07.svg
similarity index 88%
rename from static.files/clipboard-7571035ce49a181d.svg
rename to static.files/clipboard-24048e6d87f63d07.svg
index 8adbd9963..e437c83fb 100644
--- a/static.files/clipboard-7571035ce49a181d.svg
+++ b/static.files/clipboard-24048e6d87f63d07.svg
@@ -1 +1 @@
-
+
diff --git a/static.files/favicon-16x16-8b506e7a72182f1c.png b/static.files/favicon-16x16-8b506e7a72182f1c.png
deleted file mode 100644
index ea4b45cae..000000000
Binary files a/static.files/favicon-16x16-8b506e7a72182f1c.png and /dev/null differ
diff --git a/static.files/main-48f368f3872407c8.js b/static.files/main-48f368f3872407c8.js
deleted file mode 100644
index 987fae425..000000000
--- a/static.files/main-48f368f3872407c8.js
+++ /dev/null
@@ -1,11 +0,0 @@
-"use strict";window.RUSTDOC_TOOLTIP_HOVER_MS=300;window.RUSTDOC_TOOLTIP_HOVER_EXIT_MS=450;function resourcePath(basename,extension){return getVar("root-path")+basename+getVar("resource-suffix")+extension}function hideMain(){addClass(document.getElementById(MAIN_ID),"hidden")}function showMain(){removeClass(document.getElementById(MAIN_ID),"hidden")}function blurHandler(event,parentElem,hideCallback){if(!parentElem.contains(document.activeElement)&&!parentElem.contains(event.relatedTarget)){hideCallback()}}window.rootPath=getVar("root-path");window.currentCrate=getVar("current-crate");function setMobileTopbar(){const mobileTopbar=document.querySelector(".mobile-topbar");const locationTitle=document.querySelector(".sidebar h2.location");if(mobileTopbar){const mobileTitle=document.createElement("h2");mobileTitle.className="location";if(hasClass(document.querySelector(".rustdoc"),"crate")){mobileTitle.innerText=`Crate ${window.currentCrate}`}else if(locationTitle){mobileTitle.innerHTML=locationTitle.innerHTML}mobileTopbar.appendChild(mobileTitle)}}function getVirtualKey(ev){if("key"in ev&&typeof ev.key!=="undefined"){return ev.key}const c=ev.charCode||ev.keyCode;if(c===27){return"Escape"}return String.fromCharCode(c)}const MAIN_ID="main-content";const SETTINGS_BUTTON_ID="settings-menu";const ALTERNATIVE_DISPLAY_ID="alternative-display";const NOT_DISPLAYED_ID="not-displayed";const HELP_BUTTON_ID="help-button";function getSettingsButton(){return document.getElementById(SETTINGS_BUTTON_ID)}function getHelpButton(){return document.getElementById(HELP_BUTTON_ID)}function getNakedUrl(){return window.location.href.split("?")[0].split("#")[0]}function insertAfter(newNode,referenceNode){referenceNode.parentNode.insertBefore(newNode,referenceNode.nextSibling)}function getOrCreateSection(id,classes){let el=document.getElementById(id);if(!el){el=document.createElement("section");el.id=id;el.className=classes;insertAfter(el,document.getElementById(MAIN_ID))}return el}function getAlternativeDisplayElem(){return getOrCreateSection(ALTERNATIVE_DISPLAY_ID,"content hidden")}function getNotDisplayedElem(){return getOrCreateSection(NOT_DISPLAYED_ID,"hidden")}function switchDisplayedElement(elemToDisplay){const el=getAlternativeDisplayElem();if(el.children.length>0){getNotDisplayedElem().appendChild(el.firstElementChild)}if(elemToDisplay===null){addClass(el,"hidden");showMain();return}el.appendChild(elemToDisplay);hideMain();removeClass(el,"hidden")}function browserSupportsHistoryApi(){return window.history&&typeof window.history.pushState==="function"}function preLoadCss(cssUrl){const link=document.createElement("link");link.href=cssUrl;link.rel="preload";link.as="style";document.getElementsByTagName("head")[0].appendChild(link)}(function(){const isHelpPage=window.location.pathname.endsWith("/help.html");function loadScript(url){const script=document.createElement("script");script.src=url;document.head.append(script)}getSettingsButton().onclick=event=>{if(event.ctrlKey||event.altKey||event.metaKey){return}window.hideAllModals(false);addClass(getSettingsButton(),"rotate");event.preventDefault();loadScript(getVar("static-root-path")+getVar("settings-js"));setTimeout(()=>{const themes=getVar("themes").split(",");for(const theme of themes){if(theme!==""){preLoadCss(getVar("root-path")+theme+".css")}}},0)};window.searchState={loadingText:"Loading search results...",input:document.getElementsByClassName("search-input")[0],outputElement:()=>{let el=document.getElementById("search");if(!el){el=document.createElement("section");el.id="search";getNotDisplayedElem().appendChild(el)}return el},title:document.title,titleBeforeSearch:document.title,timeout:null,currentTab:0,focusedByTab:[null,null,null],clearInputTimeout:()=>{if(searchState.timeout!==null){clearTimeout(searchState.timeout);searchState.timeout=null}},isDisplayed:()=>searchState.outputElement().parentElement.id===ALTERNATIVE_DISPLAY_ID,focus:()=>{searchState.input.focus()},defocus:()=>{searchState.input.blur()},showResults:search=>{if(search===null||typeof search==="undefined"){search=searchState.outputElement()}switchDisplayedElement(search);searchState.mouseMovedAfterSearch=false;document.title=searchState.title},removeQueryParameters:()=>{document.title=searchState.titleBeforeSearch;if(browserSupportsHistoryApi()){history.replaceState(null,"",getNakedUrl()+window.location.hash)}},hideResults:()=>{switchDisplayedElement(null);searchState.removeQueryParameters()},getQueryStringParams:()=>{const params={};window.location.search.substring(1).split("&").map(s=>{const pair=s.split("=").map(x=>x.replace(/\+/g," "));params[decodeURIComponent(pair[0])]=typeof pair[1]==="undefined"?null:decodeURIComponent(pair[1])});return params},setup:()=>{const search_input=searchState.input;if(!searchState.input){return}let searchLoaded=false;function loadSearch(){if(!searchLoaded){searchLoaded=true;loadScript(getVar("static-root-path")+getVar("search-js"));loadScript(resourcePath("search-index",".js"))}}search_input.addEventListener("focus",()=>{search_input.origPlaceholder=search_input.placeholder;search_input.placeholder="Type your search here.";loadSearch()});if(search_input.value!==""){loadSearch()}const params=searchState.getQueryStringParams();if(params.search!==undefined){searchState.setLoadingSearch();loadSearch()}},setLoadingSearch:()=>{const search=searchState.outputElement();search.innerHTML="

"+searchState.loadingText+"

";searchState.showResults(search)},};const toggleAllDocsId="toggle-all-docs";let savedHash="";function handleHashes(ev){if(ev!==null&&searchState.isDisplayed()&&ev.newURL){switchDisplayedElement(null);const hash=ev.newURL.slice(ev.newURL.indexOf("#")+1);if(browserSupportsHistoryApi()){history.replaceState(null,"",getNakedUrl()+window.location.search+"#"+hash)}const elem=document.getElementById(hash);if(elem){elem.scrollIntoView()}}const pageId=window.location.hash.replace(/^#/,"");if(savedHash!==pageId){savedHash=pageId;if(pageId!==""){expandSection(pageId)}}if(savedHash.startsWith("impl-")){const splitAt=savedHash.indexOf("/");if(splitAt!==-1){const implId=savedHash.slice(0,splitAt);const assocId=savedHash.slice(splitAt+1);const implElem=document.getElementById(implId);if(implElem&&implElem.parentElement.tagName==="SUMMARY"&&implElem.parentElement.parentElement.tagName==="DETAILS"){onEachLazy(implElem.parentElement.parentElement.querySelectorAll(`[id^="${assocId}"]`),item=>{const numbered=/([^-]+)-([0-9]+)/.exec(item.id);if(item.id===assocId||(numbered&&numbered[1]===assocId)){openParentDetails(item);item.scrollIntoView();setTimeout(()=>{window.location.replace("#"+item.id)},0)}})}}}}function onHashChange(ev){hideSidebar();handleHashes(ev)}function openParentDetails(elem){while(elem){if(elem.tagName==="DETAILS"){elem.open=true}elem=elem.parentNode}}function expandSection(id){openParentDetails(document.getElementById(id))}function handleEscape(ev){searchState.clearInputTimeout();searchState.hideResults();ev.preventDefault();searchState.defocus();window.hideAllModals(true)}function handleShortcut(ev){const disableShortcuts=getSettingValue("disable-shortcuts")==="true";if(ev.ctrlKey||ev.altKey||ev.metaKey||disableShortcuts){return}if(document.activeElement.tagName==="INPUT"&&document.activeElement.type!=="checkbox"&&document.activeElement.type!=="radio"){switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break}}else{switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break;case"s":case"S":ev.preventDefault();searchState.focus();break;case"+":ev.preventDefault();expandAllDocs();break;case"-":ev.preventDefault();collapseAllDocs();break;case"?":showHelp();break;default:break}}}document.addEventListener("keypress",handleShortcut);document.addEventListener("keydown",handleShortcut);function addSidebarItems(){if(!window.SIDEBAR_ITEMS){return}const sidebar=document.getElementsByClassName("sidebar-elems")[0];function block(shortty,id,longty){const filtered=window.SIDEBAR_ITEMS[shortty];if(!filtered){return}const modpath=hasClass(document.querySelector(".rustdoc"),"mod")?"../":"";const h3=document.createElement("h3");h3.innerHTML=`${longty}`;const ul=document.createElement("ul");ul.className="block "+shortty;for(const name of filtered){let path;if(shortty==="mod"){path=`${modpath}${name}/index.html`}else{path=`${modpath}${shortty}.${name}.html`}let current_page=document.location.href.toString();if(current_page.endsWith("/")){current_page+="index.html"}const link=document.createElement("a");link.href=path;if(path===current_page){link.className="current"}link.textContent=name;const li=document.createElement("li");li.appendChild(link);ul.appendChild(li)}sidebar.appendChild(h3);sidebar.appendChild(ul)}if(sidebar){block("primitive","primitives","Primitive Types");block("mod","modules","Modules");block("macro","macros","Macros");block("struct","structs","Structs");block("enum","enums","Enums");block("constant","constants","Constants");block("static","static","Statics");block("trait","traits","Traits");block("fn","functions","Functions");block("type","types","Type Aliases");block("union","unions","Unions");block("foreigntype","foreign-types","Foreign Types");block("keyword","keywords","Keywords");block("opaque","opaque-types","Opaque Types");block("attr","attributes","Attribute Macros");block("derive","derives","Derive Macros");block("traitalias","trait-aliases","Trait Aliases")}}window.register_implementors=imp=>{const implementors=document.getElementById("implementors-list");const synthetic_implementors=document.getElementById("synthetic-implementors-list");const inlined_types=new Set();const TEXT_IDX=0;const SYNTHETIC_IDX=1;const TYPES_IDX=2;if(synthetic_implementors){onEachLazy(synthetic_implementors.getElementsByClassName("impl"),el=>{const aliases=el.getAttribute("data-aliases");if(!aliases){return}aliases.split(",").forEach(alias=>{inlined_types.add(alias)})})}let currentNbImpls=implementors.getElementsByClassName("impl").length;const traitName=document.querySelector(".main-heading h1 > .trait").textContent;const baseIdName="impl-"+traitName+"-";const libs=Object.getOwnPropertyNames(imp);const script=document.querySelector("script[data-ignore-extern-crates]");const ignoreExternCrates=new Set((script?script.getAttribute("data-ignore-extern-crates"):"").split(","));for(const lib of libs){if(lib===window.currentCrate||ignoreExternCrates.has(lib)){continue}const structs=imp[lib];struct_loop:for(const struct of structs){const list=struct[SYNTHETIC_IDX]?synthetic_implementors:implementors;if(struct[SYNTHETIC_IDX]){for(const struct_type of struct[TYPES_IDX]){if(inlined_types.has(struct_type)){continue struct_loop}inlined_types.add(struct_type)}}const code=document.createElement("h3");code.innerHTML=struct[TEXT_IDX];addClass(code,"code-header");onEachLazy(code.getElementsByTagName("a"),elem=>{const href=elem.getAttribute("href");if(href&&!href.startsWith("#")&&!/^(?:[a-z+]+:)?\/\//.test(href)){elem.setAttribute("href",window.rootPath+href)}});const currentId=baseIdName+currentNbImpls;const anchor=document.createElement("a");anchor.href="#"+currentId;addClass(anchor,"anchor");const display=document.createElement("div");display.id=currentId;addClass(display,"impl");display.appendChild(anchor);display.appendChild(code);list.appendChild(display);currentNbImpls+=1}}};if(window.pending_implementors){window.register_implementors(window.pending_implementors)}window.register_type_impls=imp=>{if(!imp||!imp[window.currentCrate]){return}window.pending_type_impls=null;const idMap=new Map();let implementations=document.getElementById("implementations-list");let trait_implementations=document.getElementById("trait-implementations-list");let trait_implementations_header=document.getElementById("trait-implementations");const script=document.querySelector("script[data-self-path]");const selfPath=script?script.getAttribute("data-self-path"):null;const mainContent=document.querySelector("#main-content");const sidebarSection=document.querySelector(".sidebar section");let methods=document.querySelector(".sidebar .block.method");let associatedTypes=document.querySelector(".sidebar .block.associatedtype");let associatedConstants=document.querySelector(".sidebar .block.associatedconstant");let sidebarTraitList=document.querySelector(".sidebar .block.trait-implementation");for(const impList of imp[window.currentCrate]){const types=impList.slice(2);const text=impList[0];const isTrait=impList[1]!==0;const traitName=impList[1];if(types.indexOf(selfPath)===-1){continue}let outputList=isTrait?trait_implementations:implementations;if(outputList===null){const outputListName=isTrait?"Trait Implementations":"Implementations";const outputListId=isTrait?"trait-implementations-list":"implementations-list";const outputListHeaderId=isTrait?"trait-implementations":"implementations";const outputListHeader=document.createElement("h2");outputListHeader.id=outputListHeaderId;outputListHeader.innerText=outputListName;outputList=document.createElement("div");outputList.id=outputListId;if(isTrait){const link=document.createElement("a");link.href=`#${outputListHeaderId}`;link.innerText="Trait Implementations";const h=document.createElement("h3");h.appendChild(link);trait_implementations=outputList;trait_implementations_header=outputListHeader;sidebarSection.appendChild(h);sidebarTraitList=document.createElement("ul");sidebarTraitList.className="block trait-implementation";sidebarSection.appendChild(sidebarTraitList);mainContent.appendChild(outputListHeader);mainContent.appendChild(outputList)}else{implementations=outputList;if(trait_implementations){mainContent.insertBefore(outputListHeader,trait_implementations_header);mainContent.insertBefore(outputList,trait_implementations_header)}else{const mainContent=document.querySelector("#main-content");mainContent.appendChild(outputListHeader);mainContent.appendChild(outputList)}}}const template=document.createElement("template");template.innerHTML=text;onEachLazy(template.content.querySelectorAll("a"),elem=>{const href=elem.getAttribute("href");if(href&&!href.startsWith("#")&&!/^(?:[a-z+]+:)?\/\//.test(href)){elem.setAttribute("href",window.rootPath+href)}});onEachLazy(template.content.querySelectorAll("[id]"),el=>{let i=0;if(idMap.has(el.id)){i=idMap.get(el.id)}else if(document.getElementById(el.id)){i=1;while(document.getElementById(`${el.id}-${2 * i}`)){i=2*i}while(document.getElementById(`${el.id}-${i}`)){i+=1}}if(i!==0){const oldHref=`#${el.id}`;const newHref=`#${el.id}-${i}`;el.id=`${el.id}-${i}`;onEachLazy(template.content.querySelectorAll("a[href]"),link=>{if(link.getAttribute("href")===oldHref){link.href=newHref}})}idMap.set(el.id,i+1)});const templateAssocItems=template.content.querySelectorAll("section.tymethod, "+"section.method, section.associatedtype, section.associatedconstant");if(isTrait){const li=document.createElement("li");const a=document.createElement("a");a.href=`#${template.content.querySelector(".impl").id}`;a.textContent=traitName;li.appendChild(a);sidebarTraitList.append(li)}else{onEachLazy(templateAssocItems,item=>{let block=hasClass(item,"associatedtype")?associatedTypes:(hasClass(item,"associatedconstant")?associatedConstants:(methods));if(!block){const blockTitle=hasClass(item,"associatedtype")?"Associated Types":(hasClass(item,"associatedconstant")?"Associated Constants":("Methods"));const blockClass=hasClass(item,"associatedtype")?"associatedtype":(hasClass(item,"associatedconstant")?"associatedconstant":("method"));const blockHeader=document.createElement("h3");const blockLink=document.createElement("a");blockLink.href="#implementations";blockLink.innerText=blockTitle;blockHeader.appendChild(blockLink);block=document.createElement("ul");block.className=`block ${blockClass}`;const insertionReference=methods||sidebarTraitList;if(insertionReference){const insertionReferenceH=insertionReference.previousElementSibling;sidebarSection.insertBefore(blockHeader,insertionReferenceH);sidebarSection.insertBefore(block,insertionReferenceH)}else{sidebarSection.appendChild(blockHeader);sidebarSection.appendChild(block)}if(hasClass(item,"associatedtype")){associatedTypes=block}else if(hasClass(item,"associatedconstant")){associatedConstants=block}else{methods=block}}const li=document.createElement("li");const a=document.createElement("a");a.innerText=item.id.split("-")[0].split(".")[1];a.href=`#${item.id}`;li.appendChild(a);block.appendChild(li)})}outputList.appendChild(template.content)}for(const list of[methods,associatedTypes,associatedConstants,sidebarTraitList]){if(!list){continue}const newChildren=Array.prototype.slice.call(list.children);newChildren.sort((a,b)=>{const aI=a.innerText;const bI=b.innerText;return aIbI?1:0});list.replaceChildren(...newChildren)}};if(window.pending_type_impls){window.register_type_impls(window.pending_type_impls)}function addSidebarCrates(){if(!window.ALL_CRATES){return}const sidebarElems=document.getElementsByClassName("sidebar-elems")[0];if(!sidebarElems){return}const h3=document.createElement("h3");h3.innerHTML="Crates";const ul=document.createElement("ul");ul.className="block crate";for(const crate of window.ALL_CRATES){const link=document.createElement("a");link.href=window.rootPath+crate+"/index.html";link.textContent=crate;const li=document.createElement("li");if(window.rootPath!=="./"&&crate===window.currentCrate){li.className="current"}li.appendChild(link);ul.appendChild(li)}sidebarElems.appendChild(h3);sidebarElems.appendChild(ul)}function expandAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);removeClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("toggle"),e=>{if(!hasClass(e,"type-contents-toggle")&&!hasClass(e,"more-examples-toggle")){e.open=true}});innerToggle.title="collapse all docs";innerToggle.children[0].innerText="\u2212"}function collapseAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);addClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("toggle"),e=>{if(e.parentNode.id!=="implementations-list"||(!hasClass(e,"implementors-toggle")&&!hasClass(e,"type-contents-toggle"))){e.open=false}});innerToggle.title="expand all docs";innerToggle.children[0].innerText="+"}function toggleAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);if(!innerToggle){return}if(hasClass(innerToggle,"will-expand")){expandAllDocs()}else{collapseAllDocs()}}(function(){const toggles=document.getElementById(toggleAllDocsId);if(toggles){toggles.onclick=toggleAllDocs}const hideMethodDocs=getSettingValue("auto-hide-method-docs")==="true";const hideImplementations=getSettingValue("auto-hide-trait-implementations")==="true";const hideLargeItemContents=getSettingValue("auto-hide-large-items")!=="false";function setImplementorsTogglesOpen(id,open){const list=document.getElementById(id);if(list!==null){onEachLazy(list.getElementsByClassName("implementors-toggle"),e=>{e.open=open})}}if(hideImplementations){setImplementorsTogglesOpen("trait-implementations-list",false);setImplementorsTogglesOpen("blanket-implementations-list",false)}onEachLazy(document.getElementsByClassName("toggle"),e=>{if(!hideLargeItemContents&&hasClass(e,"type-contents-toggle")){e.open=true}if(hideMethodDocs&&hasClass(e,"method-toggle")){e.open=false}})}());window.rustdoc_add_line_numbers_to_examples=()=>{onEachLazy(document.getElementsByClassName("rust-example-rendered"),x=>{const parent=x.parentNode;const line_numbers=parent.querySelectorAll(".example-line-numbers");if(line_numbers.length>0){return}const count=x.textContent.split("\n").length;const elems=[];for(let i=0;i{onEachLazy(document.getElementsByClassName("rust-example-rendered"),x=>{const parent=x.parentNode;const line_numbers=parent.querySelectorAll(".example-line-numbers");for(const node of line_numbers){parent.removeChild(node)}})};if(getSettingValue("line-numbers")==="true"){window.rustdoc_add_line_numbers_to_examples()}function showSidebar(){window.hideAllModals(false);const sidebar=document.getElementsByClassName("sidebar")[0];addClass(sidebar,"shown")}function hideSidebar(){const sidebar=document.getElementsByClassName("sidebar")[0];removeClass(sidebar,"shown")}window.addEventListener("resize",()=>{if(window.CURRENT_TOOLTIP_ELEMENT){const base=window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE;const force_visible=base.TOOLTIP_FORCE_VISIBLE;hideTooltip(false);if(force_visible){showTooltip(base);base.TOOLTIP_FORCE_VISIBLE=true}}});const mainElem=document.getElementById(MAIN_ID);if(mainElem){mainElem.addEventListener("click",hideSidebar)}onEachLazy(document.querySelectorAll("a[href^='#']"),el=>{el.addEventListener("click",()=>{expandSection(el.hash.slice(1));hideSidebar()})});onEachLazy(document.querySelectorAll(".toggle > summary:not(.hideme)"),el=>{el.addEventListener("click",e=>{if(e.target.tagName!=="SUMMARY"&&e.target.tagName!=="A"){e.preventDefault()}})});function showTooltip(e){const notable_ty=e.getAttribute("data-notable-ty");if(!window.NOTABLE_TRAITS&¬able_ty){const data=document.getElementById("notable-traits-data");if(data){window.NOTABLE_TRAITS=JSON.parse(data.innerText)}else{throw new Error("showTooltip() called with notable without any notable traits!")}}if(window.CURRENT_TOOLTIP_ELEMENT&&window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE===e){clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);return}window.hideAllModals(false);const wrapper=document.createElement("div");if(notable_ty){wrapper.innerHTML="
"+window.NOTABLE_TRAITS[notable_ty]+"
"}else{if(e.getAttribute("title")!==null){e.setAttribute("data-title",e.getAttribute("title"));e.removeAttribute("title")}if(e.getAttribute("data-title")!==null){const titleContent=document.createElement("div");titleContent.className="content";titleContent.appendChild(document.createTextNode(e.getAttribute("data-title")));wrapper.appendChild(titleContent)}}wrapper.className="tooltip popover";const focusCatcher=document.createElement("div");focusCatcher.setAttribute("tabindex","0");focusCatcher.onfocus=hideTooltip;wrapper.appendChild(focusCatcher);const pos=e.getBoundingClientRect();wrapper.style.top=(pos.top+window.scrollY+pos.height)+"px";wrapper.style.left=0;wrapper.style.right="auto";wrapper.style.visibility="hidden";const body=document.getElementsByTagName("body")[0];body.appendChild(wrapper);const wrapperPos=wrapper.getBoundingClientRect();const finalPos=pos.left+window.scrollX-wrapperPos.width+24;if(finalPos>0){wrapper.style.left=finalPos+"px"}else{wrapper.style.setProperty("--popover-arrow-offset",(wrapperPos.right-pos.right+4)+"px")}wrapper.style.visibility="";window.CURRENT_TOOLTIP_ELEMENT=wrapper;window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE=e;clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);wrapper.onpointerenter=ev=>{if(ev.pointerType!=="mouse"){return}clearTooltipHoverTimeout(e)};wrapper.onpointerleave=ev=>{if(ev.pointerType!=="mouse"){return}if(!e.TOOLTIP_FORCE_VISIBLE&&!e.contains(ev.relatedTarget)){setTooltipHoverTimeout(e,false);addClass(wrapper,"fade-out")}}}function setTooltipHoverTimeout(element,show){clearTooltipHoverTimeout(element);if(!show&&!window.CURRENT_TOOLTIP_ELEMENT){return}if(show&&window.CURRENT_TOOLTIP_ELEMENT){return}if(window.CURRENT_TOOLTIP_ELEMENT&&window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE!==element){return}element.TOOLTIP_HOVER_TIMEOUT=setTimeout(()=>{if(show){showTooltip(element)}else if(!element.TOOLTIP_FORCE_VISIBLE){hideTooltip(false)}},show?window.RUSTDOC_TOOLTIP_HOVER_MS:window.RUSTDOC_TOOLTIP_HOVER_EXIT_MS)}function clearTooltipHoverTimeout(element){if(element.TOOLTIP_HOVER_TIMEOUT!==undefined){removeClass(window.CURRENT_TOOLTIP_ELEMENT,"fade-out");clearTimeout(element.TOOLTIP_HOVER_TIMEOUT);delete element.TOOLTIP_HOVER_TIMEOUT}}function tooltipBlurHandler(event){if(window.CURRENT_TOOLTIP_ELEMENT&&!window.CURRENT_TOOLTIP_ELEMENT.contains(document.activeElement)&&!window.CURRENT_TOOLTIP_ELEMENT.contains(event.relatedTarget)&&!window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.contains(document.activeElement)&&!window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.contains(event.relatedTarget)){setTimeout(()=>hideTooltip(false),0)}}function hideTooltip(focus){if(window.CURRENT_TOOLTIP_ELEMENT){if(window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.TOOLTIP_FORCE_VISIBLE){if(focus){window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.focus()}window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.TOOLTIP_FORCE_VISIBLE=false}const body=document.getElementsByTagName("body")[0];body.removeChild(window.CURRENT_TOOLTIP_ELEMENT);clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);window.CURRENT_TOOLTIP_ELEMENT=null}}onEachLazy(document.getElementsByClassName("tooltip"),e=>{e.onclick=()=>{e.TOOLTIP_FORCE_VISIBLE=e.TOOLTIP_FORCE_VISIBLE?false:true;if(window.CURRENT_TOOLTIP_ELEMENT&&!e.TOOLTIP_FORCE_VISIBLE){hideTooltip(true)}else{showTooltip(e);window.CURRENT_TOOLTIP_ELEMENT.setAttribute("tabindex","0");window.CURRENT_TOOLTIP_ELEMENT.focus();window.CURRENT_TOOLTIP_ELEMENT.onblur=tooltipBlurHandler}return false};e.onpointerenter=ev=>{if(ev.pointerType!=="mouse"){return}setTooltipHoverTimeout(e,true)};e.onpointermove=ev=>{if(ev.pointerType!=="mouse"){return}setTooltipHoverTimeout(e,true)};e.onpointerleave=ev=>{if(ev.pointerType!=="mouse"){return}if(!e.TOOLTIP_FORCE_VISIBLE&&window.CURRENT_TOOLTIP_ELEMENT&&!window.CURRENT_TOOLTIP_ELEMENT.contains(ev.relatedTarget)){setTooltipHoverTimeout(e,false);addClass(window.CURRENT_TOOLTIP_ELEMENT,"fade-out")}}});const sidebar_menu_toggle=document.getElementsByClassName("sidebar-menu-toggle")[0];if(sidebar_menu_toggle){sidebar_menu_toggle.addEventListener("click",()=>{const sidebar=document.getElementsByClassName("sidebar")[0];if(!hasClass(sidebar,"shown")){showSidebar()}else{hideSidebar()}})}function helpBlurHandler(event){blurHandler(event,getHelpButton(),window.hidePopoverMenus)}function buildHelpMenu(){const book_info=document.createElement("span");const channel=getVar("channel");book_info.className="top";book_info.innerHTML=`You can find more information in \ -the rustdoc book.`;const shortcuts=[["?","Show this help dialog"],["S","Focus the search field"],["↑","Move up in search results"],["↓","Move down in search results"],["← / →","Switch result tab (when results focused)"],["⏎","Go to active search result"],["+","Expand all sections"],["-","Collapse all sections"],].map(x=>"
"+x[0].split(" ").map((y,index)=>((index&1)===0?""+y+"":" "+y+" ")).join("")+"
"+x[1]+"
").join("");const div_shortcuts=document.createElement("div");addClass(div_shortcuts,"shortcuts");div_shortcuts.innerHTML="

Keyboard Shortcuts

"+shortcuts+"
";const infos=[`For a full list of all search features, take a look here.`,"Prefix searches with a type followed by a colon (e.g., fn:) to \ - restrict the search to a given item kind.","Accepted kinds are: fn, mod, struct, \ - enum, trait, type, macro, \ - and const.","Search functions by type signature (e.g., vec -> usize or \ - -> vec or String, enum:Cow -> bool)","You can look for items with an exact name by putting double quotes around \ - your request: \"string\"","Look for functions that accept or return \ - slices and \ - arrays by writing \ - square brackets (e.g., -> [u8] or [] -> Option)","Look for items inside another one by searching for a path: vec::Vec",].map(x=>"

"+x+"

").join("");const div_infos=document.createElement("div");addClass(div_infos,"infos");div_infos.innerHTML="

Search Tricks

"+infos;const rustdoc_version=document.createElement("span");rustdoc_version.className="bottom";const rustdoc_version_code=document.createElement("code");rustdoc_version_code.innerText="rustdoc "+getVar("rustdoc-version");rustdoc_version.appendChild(rustdoc_version_code);const container=document.createElement("div");if(!isHelpPage){container.className="popover"}container.id="help";container.style.display="none";const side_by_side=document.createElement("div");side_by_side.className="side-by-side";side_by_side.appendChild(div_shortcuts);side_by_side.appendChild(div_infos);container.appendChild(book_info);container.appendChild(side_by_side);container.appendChild(rustdoc_version);if(isHelpPage){const help_section=document.createElement("section");help_section.appendChild(container);document.getElementById("main-content").appendChild(help_section);container.style.display="block"}else{const help_button=getHelpButton();help_button.appendChild(container);container.onblur=helpBlurHandler;help_button.onblur=helpBlurHandler;help_button.children[0].onblur=helpBlurHandler}return container}window.hideAllModals=switchFocus=>{hideSidebar();window.hidePopoverMenus();hideTooltip(switchFocus)};window.hidePopoverMenus=()=>{onEachLazy(document.querySelectorAll(".search-form .popover"),elem=>{elem.style.display="none"})};function getHelpMenu(buildNeeded){let menu=getHelpButton().querySelector(".popover");if(!menu&&buildNeeded){menu=buildHelpMenu()}return menu}function showHelp(){getHelpButton().querySelector("a").focus();const menu=getHelpMenu(true);if(menu.style.display==="none"){window.hideAllModals();menu.style.display=""}}if(isHelpPage){showHelp();document.querySelector(`#${HELP_BUTTON_ID} > a`).addEventListener("click",event=>{const target=event.target;if(target.tagName!=="A"||target.parentElement.id!==HELP_BUTTON_ID||event.ctrlKey||event.altKey||event.metaKey){return}event.preventDefault()})}else{document.querySelector(`#${HELP_BUTTON_ID} > a`).addEventListener("click",event=>{const target=event.target;if(target.tagName!=="A"||target.parentElement.id!==HELP_BUTTON_ID||event.ctrlKey||event.altKey||event.metaKey){return}event.preventDefault();const menu=getHelpMenu(true);const shouldShowHelp=menu.style.display==="none";if(shouldShowHelp){showHelp()}else{window.hidePopoverMenus()}})}setMobileTopbar();addSidebarItems();addSidebarCrates();onHashChange(null);window.addEventListener("hashchange",onHashChange);searchState.setup()}());(function(){const SIDEBAR_MIN=100;const SIDEBAR_MAX=500;const RUSTDOC_MOBILE_BREAKPOINT=700;const BODY_MIN=400;const SIDEBAR_VANISH_THRESHOLD=SIDEBAR_MIN/2;const sidebarButton=document.getElementById("sidebar-button");if(sidebarButton){sidebarButton.addEventListener("click",e=>{removeClass(document.documentElement,"hide-sidebar");updateLocalStorage("hide-sidebar","false");if(document.querySelector(".rustdoc.src")){window.rustdocToggleSrcSidebar()}e.preventDefault()})}let currentPointerId=null;let desiredSidebarSize=null;let pendingSidebarResizingFrame=false;const resizer=document.querySelector(".sidebar-resizer");const sidebar=document.querySelector(".sidebar");if(!resizer||!sidebar){return}const isSrcPage=hasClass(document.body,"src");function hideSidebar(){if(isSrcPage){window.rustdocCloseSourceSidebar();updateLocalStorage("src-sidebar-width",null);document.documentElement.style.removeProperty("--src-sidebar-width");sidebar.style.removeProperty("--src-sidebar-width");resizer.style.removeProperty("--src-sidebar-width")}else{addClass(document.documentElement,"hide-sidebar");updateLocalStorage("hide-sidebar","true");updateLocalStorage("desktop-sidebar-width",null);document.documentElement.style.removeProperty("--desktop-sidebar-width");sidebar.style.removeProperty("--desktop-sidebar-width");resizer.style.removeProperty("--desktop-sidebar-width")}}function showSidebar(){if(isSrcPage){window.rustdocShowSourceSidebar()}else{removeClass(document.documentElement,"hide-sidebar");updateLocalStorage("hide-sidebar","false")}}function changeSidebarSize(size){if(isSrcPage){updateLocalStorage("src-sidebar-width",size);sidebar.style.setProperty("--src-sidebar-width",size+"px");resizer.style.setProperty("--src-sidebar-width",size+"px")}else{updateLocalStorage("desktop-sidebar-width",size);sidebar.style.setProperty("--desktop-sidebar-width",size+"px");resizer.style.setProperty("--desktop-sidebar-width",size+"px")}}function isSidebarHidden(){return isSrcPage?!hasClass(document.documentElement,"src-sidebar-expanded"):hasClass(document.documentElement,"hide-sidebar")}function resize(e){if(currentPointerId===null||currentPointerId!==e.pointerId){return}e.preventDefault();const pos=e.clientX-3;if(pos=SIDEBAR_MIN){if(isSidebarHidden()){showSidebar()}const constrainedPos=Math.min(pos,window.innerWidth-BODY_MIN,SIDEBAR_MAX);changeSidebarSize(constrainedPos);desiredSidebarSize=constrainedPos;if(pendingSidebarResizingFrame!==false){clearTimeout(pendingSidebarResizingFrame)}pendingSidebarResizingFrame=setTimeout(()=>{if(currentPointerId===null||pendingSidebarResizingFrame===false){return}pendingSidebarResizingFrame=false;document.documentElement.style.setProperty("--resizing-sidebar-width",desiredSidebarSize+"px")},100)}}window.addEventListener("resize",()=>{if(window.innerWidth=(window.innerWidth-BODY_MIN)){changeSidebarSize(window.innerWidth-BODY_MIN)}else if(desiredSidebarSize!==null&&desiredSidebarSize>SIDEBAR_MIN){changeSidebarSize(desiredSidebarSize)}});function stopResize(e){if(currentPointerId===null){return}if(e){e.preventDefault()}desiredSidebarSize=sidebar.getBoundingClientRect().width;removeClass(resizer,"active");window.removeEventListener("pointermove",resize,false);window.removeEventListener("pointerup",stopResize,false);removeClass(document.documentElement,"sidebar-resizing");document.documentElement.style.removeProperty("--resizing-sidebar-width");if(resizer.releasePointerCapture){resizer.releasePointerCapture(currentPointerId);currentPointerId=null}}function initResize(e){if(currentPointerId!==null||e.altKey||e.ctrlKey||e.metaKey||e.button!==0){return}if(resizer.setPointerCapture){resizer.setPointerCapture(e.pointerId);if(!resizer.hasPointerCapture(e.pointerId)){resizer.releasePointerCapture(e.pointerId);return}currentPointerId=e.pointerId}window.hideAllModals(false);e.preventDefault();window.addEventListener("pointermove",resize,false);window.addEventListener("pointercancel",stopResize,false);window.addEventListener("pointerup",stopResize,false);addClass(resizer,"active");addClass(document.documentElement,"sidebar-resizing");const pos=e.clientX-sidebar.offsetLeft-3;document.documentElement.style.setProperty("--resizing-sidebar-width",pos+"px");desiredSidebarSize=null}resizer.addEventListener("pointerdown",initResize,false)}());(function(){let reset_button_timeout=null;const but=document.getElementById("copy-path");if(!but){return}but.onclick=()=>{const parent=but.parentElement;const path=[];onEach(parent.childNodes,child=>{if(child.tagName==="A"){path.push(child.textContent)}});const el=document.createElement("textarea");el.value=path.join("::");el.setAttribute("readonly","");el.style.position="absolute";el.style.left="-9999px";document.body.appendChild(el);el.select();document.execCommand("copy");document.body.removeChild(el);but.children[0].style.display="none";let tmp;if(but.childNodes.length<2){tmp=document.createTextNode("✓");but.appendChild(tmp)}else{onEachLazy(but.childNodes,e=>{if(e.nodeType===Node.TEXT_NODE){tmp=e;return true}});tmp.textContent="✓"}if(reset_button_timeout!==null){window.clearTimeout(reset_button_timeout)}function reset_button(){tmp.textContent="";reset_button_timeout=null;but.children[0].style.display=""}reset_button_timeout=window.setTimeout(reset_button,1000)}}()) \ No newline at end of file diff --git a/static.files/main-c97aec732c613ca4.js b/static.files/main-c97aec732c613ca4.js new file mode 100644 index 000000000..3774d6ff5 --- /dev/null +++ b/static.files/main-c97aec732c613ca4.js @@ -0,0 +1,11 @@ +"use strict";window.RUSTDOC_TOOLTIP_HOVER_MS=300;window.RUSTDOC_TOOLTIP_HOVER_EXIT_MS=450;function resourcePath(basename,extension){return getVar("root-path")+basename+getVar("resource-suffix")+extension}function hideMain(){addClass(document.getElementById(MAIN_ID),"hidden")}function showMain(){removeClass(document.getElementById(MAIN_ID),"hidden")}function blurHandler(event,parentElem,hideCallback){if(!parentElem.contains(document.activeElement)&&!parentElem.contains(event.relatedTarget)){hideCallback()}}window.rootPath=getVar("root-path");window.currentCrate=getVar("current-crate");function setMobileTopbar(){const mobileTopbar=document.querySelector(".mobile-topbar");const locationTitle=document.querySelector(".sidebar h2.location");if(mobileTopbar){const mobileTitle=document.createElement("h2");mobileTitle.className="location";if(hasClass(document.querySelector(".rustdoc"),"crate")){mobileTitle.innerHTML=`Crate ${window.currentCrate}`}else if(locationTitle){mobileTitle.innerHTML=locationTitle.innerHTML}mobileTopbar.appendChild(mobileTitle)}}function getVirtualKey(ev){if("key"in ev&&typeof ev.key!=="undefined"){return ev.key}const c=ev.charCode||ev.keyCode;if(c===27){return"Escape"}return String.fromCharCode(c)}const MAIN_ID="main-content";const SETTINGS_BUTTON_ID="settings-menu";const ALTERNATIVE_DISPLAY_ID="alternative-display";const NOT_DISPLAYED_ID="not-displayed";const HELP_BUTTON_ID="help-button";function getSettingsButton(){return document.getElementById(SETTINGS_BUTTON_ID)}function getHelpButton(){return document.getElementById(HELP_BUTTON_ID)}function getNakedUrl(){return window.location.href.split("?")[0].split("#")[0]}function insertAfter(newNode,referenceNode){referenceNode.parentNode.insertBefore(newNode,referenceNode.nextSibling)}function getOrCreateSection(id,classes){let el=document.getElementById(id);if(!el){el=document.createElement("section");el.id=id;el.className=classes;insertAfter(el,document.getElementById(MAIN_ID))}return el}function getAlternativeDisplayElem(){return getOrCreateSection(ALTERNATIVE_DISPLAY_ID,"content hidden")}function getNotDisplayedElem(){return getOrCreateSection(NOT_DISPLAYED_ID,"hidden")}function switchDisplayedElement(elemToDisplay){const el=getAlternativeDisplayElem();if(el.children.length>0){getNotDisplayedElem().appendChild(el.firstElementChild)}if(elemToDisplay===null){addClass(el,"hidden");showMain();return}el.appendChild(elemToDisplay);hideMain();removeClass(el,"hidden")}function browserSupportsHistoryApi(){return window.history&&typeof window.history.pushState==="function"}function preLoadCss(cssUrl){const link=document.createElement("link");link.href=cssUrl;link.rel="preload";link.as="style";document.getElementsByTagName("head")[0].appendChild(link)}(function(){const isHelpPage=window.location.pathname.endsWith("/help.html");function loadScript(url,errorCallback){const script=document.createElement("script");script.src=url;if(errorCallback!==undefined){script.onerror=errorCallback}document.head.append(script)}getSettingsButton().onclick=event=>{if(event.ctrlKey||event.altKey||event.metaKey){return}window.hideAllModals(false);addClass(getSettingsButton(),"rotate");event.preventDefault();loadScript(getVar("static-root-path")+getVar("settings-js"));setTimeout(()=>{const themes=getVar("themes").split(",");for(const theme of themes){if(theme!==""){preLoadCss(getVar("root-path")+theme+".css")}}},0)};window.searchState={loadingText:"Loading search results...",input:document.getElementsByClassName("search-input")[0],outputElement:()=>{let el=document.getElementById("search");if(!el){el=document.createElement("section");el.id="search";getNotDisplayedElem().appendChild(el)}return el},title:document.title,titleBeforeSearch:document.title,timeout:null,currentTab:0,focusedByTab:[null,null,null],clearInputTimeout:()=>{if(searchState.timeout!==null){clearTimeout(searchState.timeout);searchState.timeout=null}},isDisplayed:()=>searchState.outputElement().parentElement.id===ALTERNATIVE_DISPLAY_ID,focus:()=>{searchState.input.focus()},defocus:()=>{searchState.input.blur()},showResults:search=>{if(search===null||typeof search==="undefined"){search=searchState.outputElement()}switchDisplayedElement(search);searchState.mouseMovedAfterSearch=false;document.title=searchState.title},removeQueryParameters:()=>{document.title=searchState.titleBeforeSearch;if(browserSupportsHistoryApi()){history.replaceState(null,"",getNakedUrl()+window.location.hash)}},hideResults:()=>{switchDisplayedElement(null);searchState.removeQueryParameters()},getQueryStringParams:()=>{const params={};window.location.search.substring(1).split("&").map(s=>{const pair=s.split("=").map(x=>x.replace(/\+/g," "));params[decodeURIComponent(pair[0])]=typeof pair[1]==="undefined"?null:decodeURIComponent(pair[1])});return params},setup:()=>{const search_input=searchState.input;if(!searchState.input){return}let searchLoaded=false;function sendSearchForm(){document.getElementsByClassName("search-form")[0].submit()}function loadSearch(){if(!searchLoaded){searchLoaded=true;loadScript(getVar("static-root-path")+getVar("search-js"),sendSearchForm);loadScript(resourcePath("search-index",".js"),sendSearchForm)}}search_input.addEventListener("focus",()=>{search_input.origPlaceholder=search_input.placeholder;search_input.placeholder="Type your search here.";loadSearch()});if(search_input.value!==""){loadSearch()}const params=searchState.getQueryStringParams();if(params.search!==undefined){searchState.setLoadingSearch();loadSearch()}},setLoadingSearch:()=>{const search=searchState.outputElement();search.innerHTML="

"+searchState.loadingText+"

";searchState.showResults(search)},descShards:new Map(),loadDesc:async function({descShard,descIndex}){if(descShard.promise===null){descShard.promise=new Promise((resolve,reject)=>{descShard.resolve=resolve;const ds=descShard;const fname=`${ds.crate}-desc-${ds.shard}-`;const url=resourcePath(`search.desc/${descShard.crate}/${fname}`,".js",);loadScript(url,reject)})}const list=await descShard.promise;return list[descIndex]},loadedDescShard:function(crate,shard,data){this.descShards.get(crate)[shard].resolve(data.split("\n"))},};const toggleAllDocsId="toggle-all-docs";let savedHash="";function handleHashes(ev){if(ev!==null&&searchState.isDisplayed()&&ev.newURL){switchDisplayedElement(null);const hash=ev.newURL.slice(ev.newURL.indexOf("#")+1);if(browserSupportsHistoryApi()){history.replaceState(null,"",getNakedUrl()+window.location.search+"#"+hash)}const elem=document.getElementById(hash);if(elem){elem.scrollIntoView()}}const pageId=window.location.hash.replace(/^#/,"");if(savedHash!==pageId){savedHash=pageId;if(pageId!==""){expandSection(pageId)}}if(savedHash.startsWith("impl-")){const splitAt=savedHash.indexOf("/");if(splitAt!==-1){const implId=savedHash.slice(0,splitAt);const assocId=savedHash.slice(splitAt+1);const implElem=document.getElementById(implId);if(implElem&&implElem.parentElement.tagName==="SUMMARY"&&implElem.parentElement.parentElement.tagName==="DETAILS"){onEachLazy(implElem.parentElement.parentElement.querySelectorAll(`[id^="${assocId}"]`),item=>{const numbered=/([^-]+)-([0-9]+)/.exec(item.id);if(item.id===assocId||(numbered&&numbered[1]===assocId)){openParentDetails(item);item.scrollIntoView();setTimeout(()=>{window.location.replace("#"+item.id)},0)}},)}}}}function onHashChange(ev){hideSidebar();handleHashes(ev)}function openParentDetails(elem){while(elem){if(elem.tagName==="DETAILS"){elem.open=true}elem=elem.parentNode}}function expandSection(id){openParentDetails(document.getElementById(id))}function handleEscape(ev){searchState.clearInputTimeout();searchState.hideResults();ev.preventDefault();searchState.defocus();window.hideAllModals(true)}function handleShortcut(ev){const disableShortcuts=getSettingValue("disable-shortcuts")==="true";if(ev.ctrlKey||ev.altKey||ev.metaKey||disableShortcuts){return}if(document.activeElement.tagName==="INPUT"&&document.activeElement.type!=="checkbox"&&document.activeElement.type!=="radio"){switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break}}else{switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break;case"s":case"S":ev.preventDefault();searchState.focus();break;case"+":ev.preventDefault();expandAllDocs();break;case"-":ev.preventDefault();collapseAllDocs();break;case"?":showHelp();break;default:break}}}document.addEventListener("keypress",handleShortcut);document.addEventListener("keydown",handleShortcut);function addSidebarItems(){if(!window.SIDEBAR_ITEMS){return}const sidebar=document.getElementsByClassName("sidebar-elems")[0];function block(shortty,id,longty){const filtered=window.SIDEBAR_ITEMS[shortty];if(!filtered){return}const modpath=hasClass(document.querySelector(".rustdoc"),"mod")?"../":"";const h3=document.createElement("h3");h3.innerHTML=`${longty}`;const ul=document.createElement("ul");ul.className="block "+shortty;for(const name of filtered){let path;if(shortty==="mod"){path=`${modpath}${name}/index.html`}else{path=`${modpath}${shortty}.${name}.html`}let current_page=document.location.href.toString();if(current_page.endsWith("/")){current_page+="index.html"}const link=document.createElement("a");link.href=path;if(path===current_page){link.className="current"}link.textContent=name;const li=document.createElement("li");li.appendChild(link);ul.appendChild(li)}sidebar.appendChild(h3);sidebar.appendChild(ul)}if(sidebar){block("primitive","primitives","Primitive Types");block("mod","modules","Modules");block("macro","macros","Macros");block("struct","structs","Structs");block("enum","enums","Enums");block("constant","constants","Constants");block("static","static","Statics");block("trait","traits","Traits");block("fn","functions","Functions");block("type","types","Type Aliases");block("union","unions","Unions");block("foreigntype","foreign-types","Foreign Types");block("keyword","keywords","Keywords");block("opaque","opaque-types","Opaque Types");block("attr","attributes","Attribute Macros");block("derive","derives","Derive Macros");block("traitalias","trait-aliases","Trait Aliases")}}window.register_implementors=imp=>{const implementors=document.getElementById("implementors-list");const synthetic_implementors=document.getElementById("synthetic-implementors-list");const inlined_types=new Set();const TEXT_IDX=0;const SYNTHETIC_IDX=1;const TYPES_IDX=2;if(synthetic_implementors){onEachLazy(synthetic_implementors.getElementsByClassName("impl"),el=>{const aliases=el.getAttribute("data-aliases");if(!aliases){return}aliases.split(",").forEach(alias=>{inlined_types.add(alias)})})}let currentNbImpls=implementors.getElementsByClassName("impl").length;const traitName=document.querySelector(".main-heading h1 > .trait").textContent;const baseIdName="impl-"+traitName+"-";const libs=Object.getOwnPropertyNames(imp);const script=document.querySelector("script[data-ignore-extern-crates]");const ignoreExternCrates=new Set((script?script.getAttribute("data-ignore-extern-crates"):"").split(","),);for(const lib of libs){if(lib===window.currentCrate||ignoreExternCrates.has(lib)){continue}const structs=imp[lib];struct_loop:for(const struct of structs){const list=struct[SYNTHETIC_IDX]?synthetic_implementors:implementors;if(struct[SYNTHETIC_IDX]){for(const struct_type of struct[TYPES_IDX]){if(inlined_types.has(struct_type)){continue struct_loop}inlined_types.add(struct_type)}}const code=document.createElement("h3");code.innerHTML=struct[TEXT_IDX];addClass(code,"code-header");onEachLazy(code.getElementsByTagName("a"),elem=>{const href=elem.getAttribute("href");if(href&&!href.startsWith("#")&&!/^(?:[a-z+]+:)?\/\//.test(href)){elem.setAttribute("href",window.rootPath+href)}});const currentId=baseIdName+currentNbImpls;const anchor=document.createElement("a");anchor.href="#"+currentId;addClass(anchor,"anchor");const display=document.createElement("div");display.id=currentId;addClass(display,"impl");display.appendChild(anchor);display.appendChild(code);list.appendChild(display);currentNbImpls+=1}}};if(window.pending_implementors){window.register_implementors(window.pending_implementors)}window.register_type_impls=imp=>{if(!imp||!imp[window.currentCrate]){return}window.pending_type_impls=null;const idMap=new Map();let implementations=document.getElementById("implementations-list");let trait_implementations=document.getElementById("trait-implementations-list");let trait_implementations_header=document.getElementById("trait-implementations");const script=document.querySelector("script[data-self-path]");const selfPath=script?script.getAttribute("data-self-path"):null;const mainContent=document.querySelector("#main-content");const sidebarSection=document.querySelector(".sidebar section");let methods=document.querySelector(".sidebar .block.method");let associatedTypes=document.querySelector(".sidebar .block.associatedtype");let associatedConstants=document.querySelector(".sidebar .block.associatedconstant");let sidebarTraitList=document.querySelector(".sidebar .block.trait-implementation");for(const impList of imp[window.currentCrate]){const types=impList.slice(2);const text=impList[0];const isTrait=impList[1]!==0;const traitName=impList[1];if(types.indexOf(selfPath)===-1){continue}let outputList=isTrait?trait_implementations:implementations;if(outputList===null){const outputListName=isTrait?"Trait Implementations":"Implementations";const outputListId=isTrait?"trait-implementations-list":"implementations-list";const outputListHeaderId=isTrait?"trait-implementations":"implementations";const outputListHeader=document.createElement("h2");outputListHeader.id=outputListHeaderId;outputListHeader.innerText=outputListName;outputList=document.createElement("div");outputList.id=outputListId;if(isTrait){const link=document.createElement("a");link.href=`#${outputListHeaderId}`;link.innerText="Trait Implementations";const h=document.createElement("h3");h.appendChild(link);trait_implementations=outputList;trait_implementations_header=outputListHeader;sidebarSection.appendChild(h);sidebarTraitList=document.createElement("ul");sidebarTraitList.className="block trait-implementation";sidebarSection.appendChild(sidebarTraitList);mainContent.appendChild(outputListHeader);mainContent.appendChild(outputList)}else{implementations=outputList;if(trait_implementations){mainContent.insertBefore(outputListHeader,trait_implementations_header);mainContent.insertBefore(outputList,trait_implementations_header)}else{const mainContent=document.querySelector("#main-content");mainContent.appendChild(outputListHeader);mainContent.appendChild(outputList)}}}const template=document.createElement("template");template.innerHTML=text;onEachLazy(template.content.querySelectorAll("a"),elem=>{const href=elem.getAttribute("href");if(href&&!href.startsWith("#")&&!/^(?:[a-z+]+:)?\/\//.test(href)){elem.setAttribute("href",window.rootPath+href)}});onEachLazy(template.content.querySelectorAll("[id]"),el=>{let i=0;if(idMap.has(el.id)){i=idMap.get(el.id)}else if(document.getElementById(el.id)){i=1;while(document.getElementById(`${el.id}-${2 * i}`)){i=2*i}while(document.getElementById(`${el.id}-${i}`)){i+=1}}if(i!==0){const oldHref=`#${el.id}`;const newHref=`#${el.id}-${i}`;el.id=`${el.id}-${i}`;onEachLazy(template.content.querySelectorAll("a[href]"),link=>{if(link.getAttribute("href")===oldHref){link.href=newHref}})}idMap.set(el.id,i+1)});const templateAssocItems=template.content.querySelectorAll("section.tymethod, "+"section.method, section.associatedtype, section.associatedconstant");if(isTrait){const li=document.createElement("li");const a=document.createElement("a");a.href=`#${template.content.querySelector(".impl").id}`;a.textContent=traitName;li.appendChild(a);sidebarTraitList.append(li)}else{onEachLazy(templateAssocItems,item=>{let block=hasClass(item,"associatedtype")?associatedTypes:(hasClass(item,"associatedconstant")?associatedConstants:(methods));if(!block){const blockTitle=hasClass(item,"associatedtype")?"Associated Types":(hasClass(item,"associatedconstant")?"Associated Constants":("Methods"));const blockClass=hasClass(item,"associatedtype")?"associatedtype":(hasClass(item,"associatedconstant")?"associatedconstant":("method"));const blockHeader=document.createElement("h3");const blockLink=document.createElement("a");blockLink.href="#implementations";blockLink.innerText=blockTitle;blockHeader.appendChild(blockLink);block=document.createElement("ul");block.className=`block ${blockClass}`;const insertionReference=methods||sidebarTraitList;if(insertionReference){const insertionReferenceH=insertionReference.previousElementSibling;sidebarSection.insertBefore(blockHeader,insertionReferenceH);sidebarSection.insertBefore(block,insertionReferenceH)}else{sidebarSection.appendChild(blockHeader);sidebarSection.appendChild(block)}if(hasClass(item,"associatedtype")){associatedTypes=block}else if(hasClass(item,"associatedconstant")){associatedConstants=block}else{methods=block}}const li=document.createElement("li");const a=document.createElement("a");a.innerText=item.id.split("-")[0].split(".")[1];a.href=`#${item.id}`;li.appendChild(a);block.appendChild(li)})}outputList.appendChild(template.content)}for(const list of[methods,associatedTypes,associatedConstants,sidebarTraitList]){if(!list){continue}const newChildren=Array.prototype.slice.call(list.children);newChildren.sort((a,b)=>{const aI=a.innerText;const bI=b.innerText;return aIbI?1:0});list.replaceChildren(...newChildren)}};if(window.pending_type_impls){window.register_type_impls(window.pending_type_impls)}function addSidebarCrates(){if(!window.ALL_CRATES){return}const sidebarElems=document.getElementsByClassName("sidebar-elems")[0];if(!sidebarElems){return}const h3=document.createElement("h3");h3.innerHTML="Crates";const ul=document.createElement("ul");ul.className="block crate";for(const crate of window.ALL_CRATES){const link=document.createElement("a");link.href=window.rootPath+crate+"/index.html";link.textContent=crate;const li=document.createElement("li");if(window.rootPath!=="./"&&crate===window.currentCrate){li.className="current"}li.appendChild(link);ul.appendChild(li)}sidebarElems.appendChild(h3);sidebarElems.appendChild(ul)}function expandAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);removeClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("toggle"),e=>{if(!hasClass(e,"type-contents-toggle")&&!hasClass(e,"more-examples-toggle")){e.open=true}});innerToggle.title="collapse all docs";innerToggle.children[0].innerText="\u2212"}function collapseAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);addClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("toggle"),e=>{if(e.parentNode.id!=="implementations-list"||(!hasClass(e,"implementors-toggle")&&!hasClass(e,"type-contents-toggle"))){e.open=false}});innerToggle.title="expand all docs";innerToggle.children[0].innerText="+"}function toggleAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);if(!innerToggle){return}if(hasClass(innerToggle,"will-expand")){expandAllDocs()}else{collapseAllDocs()}}(function(){const toggles=document.getElementById(toggleAllDocsId);if(toggles){toggles.onclick=toggleAllDocs}const hideMethodDocs=getSettingValue("auto-hide-method-docs")==="true";const hideImplementations=getSettingValue("auto-hide-trait-implementations")==="true";const hideLargeItemContents=getSettingValue("auto-hide-large-items")!=="false";function setImplementorsTogglesOpen(id,open){const list=document.getElementById(id);if(list!==null){onEachLazy(list.getElementsByClassName("implementors-toggle"),e=>{e.open=open})}}if(hideImplementations){setImplementorsTogglesOpen("trait-implementations-list",false);setImplementorsTogglesOpen("blanket-implementations-list",false)}onEachLazy(document.getElementsByClassName("toggle"),e=>{if(!hideLargeItemContents&&hasClass(e,"type-contents-toggle")){e.open=true}if(hideMethodDocs&&hasClass(e,"method-toggle")){e.open=false}})}());window.rustdoc_add_line_numbers_to_examples=()=>{onEachLazy(document.getElementsByClassName("rust-example-rendered"),x=>{const parent=x.parentNode;const line_numbers=parent.querySelectorAll(".example-line-numbers");if(line_numbers.length>0){return}const count=x.textContent.split("\n").length;const elems=[];for(let i=0;i{onEachLazy(document.getElementsByClassName("rust-example-rendered"),x=>{const parent=x.parentNode;const line_numbers=parent.querySelectorAll(".example-line-numbers");for(const node of line_numbers){parent.removeChild(node)}})};if(getSettingValue("line-numbers")==="true"){window.rustdoc_add_line_numbers_to_examples()}function showSidebar(){window.hideAllModals(false);const sidebar=document.getElementsByClassName("sidebar")[0];addClass(sidebar,"shown")}function hideSidebar(){const sidebar=document.getElementsByClassName("sidebar")[0];removeClass(sidebar,"shown")}window.addEventListener("resize",()=>{if(window.CURRENT_TOOLTIP_ELEMENT){const base=window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE;const force_visible=base.TOOLTIP_FORCE_VISIBLE;hideTooltip(false);if(force_visible){showTooltip(base);base.TOOLTIP_FORCE_VISIBLE=true}}});const mainElem=document.getElementById(MAIN_ID);if(mainElem){mainElem.addEventListener("click",hideSidebar)}onEachLazy(document.querySelectorAll("a[href^='#']"),el=>{el.addEventListener("click",()=>{expandSection(el.hash.slice(1));hideSidebar()})});onEachLazy(document.querySelectorAll(".toggle > summary:not(.hideme)"),el=>{el.addEventListener("click",e=>{if(e.target.tagName!=="SUMMARY"&&e.target.tagName!=="A"){e.preventDefault()}})});function showTooltip(e){const notable_ty=e.getAttribute("data-notable-ty");if(!window.NOTABLE_TRAITS&¬able_ty){const data=document.getElementById("notable-traits-data");if(data){window.NOTABLE_TRAITS=JSON.parse(data.innerText)}else{throw new Error("showTooltip() called with notable without any notable traits!")}}if(window.CURRENT_TOOLTIP_ELEMENT&&window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE===e){clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);return}window.hideAllModals(false);const wrapper=document.createElement("div");if(notable_ty){wrapper.innerHTML="
"+window.NOTABLE_TRAITS[notable_ty]+"
"}else{if(e.getAttribute("title")!==null){e.setAttribute("data-title",e.getAttribute("title"));e.removeAttribute("title")}if(e.getAttribute("data-title")!==null){const titleContent=document.createElement("div");titleContent.className="content";titleContent.appendChild(document.createTextNode(e.getAttribute("data-title")));wrapper.appendChild(titleContent)}}wrapper.className="tooltip popover";const focusCatcher=document.createElement("div");focusCatcher.setAttribute("tabindex","0");focusCatcher.onfocus=hideTooltip;wrapper.appendChild(focusCatcher);const pos=e.getBoundingClientRect();wrapper.style.top=(pos.top+window.scrollY+pos.height)+"px";wrapper.style.left=0;wrapper.style.right="auto";wrapper.style.visibility="hidden";const body=document.getElementsByTagName("body")[0];body.appendChild(wrapper);const wrapperPos=wrapper.getBoundingClientRect();const finalPos=pos.left+window.scrollX-wrapperPos.width+24;if(finalPos>0){wrapper.style.left=finalPos+"px"}else{wrapper.style.setProperty("--popover-arrow-offset",(wrapperPos.right-pos.right+4)+"px",)}wrapper.style.visibility="";window.CURRENT_TOOLTIP_ELEMENT=wrapper;window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE=e;clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);wrapper.onpointerenter=ev=>{if(ev.pointerType!=="mouse"){return}clearTooltipHoverTimeout(e)};wrapper.onpointerleave=ev=>{if(ev.pointerType!=="mouse"){return}if(!e.TOOLTIP_FORCE_VISIBLE&&!e.contains(ev.relatedTarget)){setTooltipHoverTimeout(e,false);addClass(wrapper,"fade-out")}}}function setTooltipHoverTimeout(element,show){clearTooltipHoverTimeout(element);if(!show&&!window.CURRENT_TOOLTIP_ELEMENT){return}if(show&&window.CURRENT_TOOLTIP_ELEMENT){return}if(window.CURRENT_TOOLTIP_ELEMENT&&window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE!==element){return}element.TOOLTIP_HOVER_TIMEOUT=setTimeout(()=>{if(show){showTooltip(element)}else if(!element.TOOLTIP_FORCE_VISIBLE){hideTooltip(false)}},show?window.RUSTDOC_TOOLTIP_HOVER_MS:window.RUSTDOC_TOOLTIP_HOVER_EXIT_MS)}function clearTooltipHoverTimeout(element){if(element.TOOLTIP_HOVER_TIMEOUT!==undefined){removeClass(window.CURRENT_TOOLTIP_ELEMENT,"fade-out");clearTimeout(element.TOOLTIP_HOVER_TIMEOUT);delete element.TOOLTIP_HOVER_TIMEOUT}}function tooltipBlurHandler(event){if(window.CURRENT_TOOLTIP_ELEMENT&&!window.CURRENT_TOOLTIP_ELEMENT.contains(document.activeElement)&&!window.CURRENT_TOOLTIP_ELEMENT.contains(event.relatedTarget)&&!window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.contains(document.activeElement)&&!window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.contains(event.relatedTarget)){setTimeout(()=>hideTooltip(false),0)}}function hideTooltip(focus){if(window.CURRENT_TOOLTIP_ELEMENT){if(window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.TOOLTIP_FORCE_VISIBLE){if(focus){window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.focus()}window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.TOOLTIP_FORCE_VISIBLE=false}const body=document.getElementsByTagName("body")[0];body.removeChild(window.CURRENT_TOOLTIP_ELEMENT);clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);window.CURRENT_TOOLTIP_ELEMENT=null}}onEachLazy(document.getElementsByClassName("tooltip"),e=>{e.onclick=()=>{e.TOOLTIP_FORCE_VISIBLE=e.TOOLTIP_FORCE_VISIBLE?false:true;if(window.CURRENT_TOOLTIP_ELEMENT&&!e.TOOLTIP_FORCE_VISIBLE){hideTooltip(true)}else{showTooltip(e);window.CURRENT_TOOLTIP_ELEMENT.setAttribute("tabindex","0");window.CURRENT_TOOLTIP_ELEMENT.focus();window.CURRENT_TOOLTIP_ELEMENT.onblur=tooltipBlurHandler}return false};e.onpointerenter=ev=>{if(ev.pointerType!=="mouse"){return}setTooltipHoverTimeout(e,true)};e.onpointermove=ev=>{if(ev.pointerType!=="mouse"){return}setTooltipHoverTimeout(e,true)};e.onpointerleave=ev=>{if(ev.pointerType!=="mouse"){return}if(!e.TOOLTIP_FORCE_VISIBLE&&window.CURRENT_TOOLTIP_ELEMENT&&!window.CURRENT_TOOLTIP_ELEMENT.contains(ev.relatedTarget)){setTooltipHoverTimeout(e,false);addClass(window.CURRENT_TOOLTIP_ELEMENT,"fade-out")}}});const sidebar_menu_toggle=document.getElementsByClassName("sidebar-menu-toggle")[0];if(sidebar_menu_toggle){sidebar_menu_toggle.addEventListener("click",()=>{const sidebar=document.getElementsByClassName("sidebar")[0];if(!hasClass(sidebar,"shown")){showSidebar()}else{hideSidebar()}})}function helpBlurHandler(event){blurHandler(event,getHelpButton(),window.hidePopoverMenus)}function buildHelpMenu(){const book_info=document.createElement("span");const channel=getVar("channel");book_info.className="top";book_info.innerHTML=`You can find more information in \ +the rustdoc book.`;const shortcuts=[["?","Show this help dialog"],["S","Focus the search field"],["↑","Move up in search results"],["↓","Move down in search results"],["← / →","Switch result tab (when results focused)"],["⏎","Go to active search result"],["+","Expand all sections"],["-","Collapse all sections"],].map(x=>"
"+x[0].split(" ").map((y,index)=>((index&1)===0?""+y+"":" "+y+" ")).join("")+"
"+x[1]+"
").join("");const div_shortcuts=document.createElement("div");addClass(div_shortcuts,"shortcuts");div_shortcuts.innerHTML="

Keyboard Shortcuts

"+shortcuts+"
";const infos=[`For a full list of all search features, take a look here.`,"Prefix searches with a type followed by a colon (e.g., fn:) to \ + restrict the search to a given item kind.","Accepted kinds are: fn, mod, struct, \ + enum, trait, type, macro, \ + and const.","Search functions by type signature (e.g., vec -> usize or \ + -> vec or String, enum:Cow -> bool)","You can look for items with an exact name by putting double quotes around \ + your request: \"string\"","Look for functions that accept or return \ + slices and \ + arrays by writing \ + square brackets (e.g., -> [u8] or [] -> Option)","Look for items inside another one by searching for a path: vec::Vec",].map(x=>"

"+x+"

").join("");const div_infos=document.createElement("div");addClass(div_infos,"infos");div_infos.innerHTML="

Search Tricks

"+infos;const rustdoc_version=document.createElement("span");rustdoc_version.className="bottom";const rustdoc_version_code=document.createElement("code");rustdoc_version_code.innerText="rustdoc "+getVar("rustdoc-version");rustdoc_version.appendChild(rustdoc_version_code);const container=document.createElement("div");if(!isHelpPage){container.className="popover"}container.id="help";container.style.display="none";const side_by_side=document.createElement("div");side_by_side.className="side-by-side";side_by_side.appendChild(div_shortcuts);side_by_side.appendChild(div_infos);container.appendChild(book_info);container.appendChild(side_by_side);container.appendChild(rustdoc_version);if(isHelpPage){const help_section=document.createElement("section");help_section.appendChild(container);document.getElementById("main-content").appendChild(help_section);container.style.display="block"}else{const help_button=getHelpButton();help_button.appendChild(container);container.onblur=helpBlurHandler;help_button.onblur=helpBlurHandler;help_button.children[0].onblur=helpBlurHandler}return container}window.hideAllModals=switchFocus=>{hideSidebar();window.hidePopoverMenus();hideTooltip(switchFocus)};window.hidePopoverMenus=()=>{onEachLazy(document.querySelectorAll(".search-form .popover"),elem=>{elem.style.display="none"})};function getHelpMenu(buildNeeded){let menu=getHelpButton().querySelector(".popover");if(!menu&&buildNeeded){menu=buildHelpMenu()}return menu}function showHelp(){getHelpButton().querySelector("a").focus();const menu=getHelpMenu(true);if(menu.style.display==="none"){window.hideAllModals();menu.style.display=""}}if(isHelpPage){showHelp();document.querySelector(`#${HELP_BUTTON_ID} > a`).addEventListener("click",event=>{const target=event.target;if(target.tagName!=="A"||target.parentElement.id!==HELP_BUTTON_ID||event.ctrlKey||event.altKey||event.metaKey){return}event.preventDefault()})}else{document.querySelector(`#${HELP_BUTTON_ID} > a`).addEventListener("click",event=>{const target=event.target;if(target.tagName!=="A"||target.parentElement.id!==HELP_BUTTON_ID||event.ctrlKey||event.altKey||event.metaKey){return}event.preventDefault();const menu=getHelpMenu(true);const shouldShowHelp=menu.style.display==="none";if(shouldShowHelp){showHelp()}else{window.hidePopoverMenus()}})}setMobileTopbar();addSidebarItems();addSidebarCrates();onHashChange(null);window.addEventListener("hashchange",onHashChange);searchState.setup()}());(function(){const SIDEBAR_MIN=100;const SIDEBAR_MAX=500;const RUSTDOC_MOBILE_BREAKPOINT=700;const BODY_MIN=400;const SIDEBAR_VANISH_THRESHOLD=SIDEBAR_MIN/2;const sidebarButton=document.getElementById("sidebar-button");if(sidebarButton){sidebarButton.addEventListener("click",e=>{removeClass(document.documentElement,"hide-sidebar");updateLocalStorage("hide-sidebar","false");if(document.querySelector(".rustdoc.src")){window.rustdocToggleSrcSidebar()}e.preventDefault()})}let currentPointerId=null;let desiredSidebarSize=null;let pendingSidebarResizingFrame=false;const resizer=document.querySelector(".sidebar-resizer");const sidebar=document.querySelector(".sidebar");if(!resizer||!sidebar){return}const isSrcPage=hasClass(document.body,"src");function hideSidebar(){if(isSrcPage){window.rustdocCloseSourceSidebar();updateLocalStorage("src-sidebar-width",null);document.documentElement.style.removeProperty("--src-sidebar-width");sidebar.style.removeProperty("--src-sidebar-width");resizer.style.removeProperty("--src-sidebar-width")}else{addClass(document.documentElement,"hide-sidebar");updateLocalStorage("hide-sidebar","true");updateLocalStorage("desktop-sidebar-width",null);document.documentElement.style.removeProperty("--desktop-sidebar-width");sidebar.style.removeProperty("--desktop-sidebar-width");resizer.style.removeProperty("--desktop-sidebar-width")}}function showSidebar(){if(isSrcPage){window.rustdocShowSourceSidebar()}else{removeClass(document.documentElement,"hide-sidebar");updateLocalStorage("hide-sidebar","false")}}function changeSidebarSize(size){if(isSrcPage){updateLocalStorage("src-sidebar-width",size);sidebar.style.setProperty("--src-sidebar-width",size+"px");resizer.style.setProperty("--src-sidebar-width",size+"px")}else{updateLocalStorage("desktop-sidebar-width",size);sidebar.style.setProperty("--desktop-sidebar-width",size+"px");resizer.style.setProperty("--desktop-sidebar-width",size+"px")}}function isSidebarHidden(){return isSrcPage?!hasClass(document.documentElement,"src-sidebar-expanded"):hasClass(document.documentElement,"hide-sidebar")}function resize(e){if(currentPointerId===null||currentPointerId!==e.pointerId){return}e.preventDefault();const pos=e.clientX-3;if(pos=SIDEBAR_MIN){if(isSidebarHidden()){showSidebar()}const constrainedPos=Math.min(pos,window.innerWidth-BODY_MIN,SIDEBAR_MAX);changeSidebarSize(constrainedPos);desiredSidebarSize=constrainedPos;if(pendingSidebarResizingFrame!==false){clearTimeout(pendingSidebarResizingFrame)}pendingSidebarResizingFrame=setTimeout(()=>{if(currentPointerId===null||pendingSidebarResizingFrame===false){return}pendingSidebarResizingFrame=false;document.documentElement.style.setProperty("--resizing-sidebar-width",desiredSidebarSize+"px",)},100)}}window.addEventListener("resize",()=>{if(window.innerWidth=(window.innerWidth-BODY_MIN)){changeSidebarSize(window.innerWidth-BODY_MIN)}else if(desiredSidebarSize!==null&&desiredSidebarSize>SIDEBAR_MIN){changeSidebarSize(desiredSidebarSize)}});function stopResize(e){if(currentPointerId===null){return}if(e){e.preventDefault()}desiredSidebarSize=sidebar.getBoundingClientRect().width;removeClass(resizer,"active");window.removeEventListener("pointermove",resize,false);window.removeEventListener("pointerup",stopResize,false);removeClass(document.documentElement,"sidebar-resizing");document.documentElement.style.removeProperty("--resizing-sidebar-width");if(resizer.releasePointerCapture){resizer.releasePointerCapture(currentPointerId);currentPointerId=null}}function initResize(e){if(currentPointerId!==null||e.altKey||e.ctrlKey||e.metaKey||e.button!==0){return}if(resizer.setPointerCapture){resizer.setPointerCapture(e.pointerId);if(!resizer.hasPointerCapture(e.pointerId)){resizer.releasePointerCapture(e.pointerId);return}currentPointerId=e.pointerId}window.hideAllModals(false);e.preventDefault();window.addEventListener("pointermove",resize,false);window.addEventListener("pointercancel",stopResize,false);window.addEventListener("pointerup",stopResize,false);addClass(resizer,"active");addClass(document.documentElement,"sidebar-resizing");const pos=e.clientX-sidebar.offsetLeft-3;document.documentElement.style.setProperty("--resizing-sidebar-width",pos+"px");desiredSidebarSize=null}resizer.addEventListener("pointerdown",initResize,false)}());(function(){let reset_button_timeout=null;const but=document.getElementById("copy-path");if(!but){return}but.onclick=()=>{const parent=but.parentElement;const path=[];onEach(parent.childNodes,child=>{if(child.tagName==="A"){path.push(child.textContent)}});const el=document.createElement("textarea");el.value=path.join("::");el.setAttribute("readonly","");el.style.position="absolute";el.style.left="-9999px";document.body.appendChild(el);el.select();document.execCommand("copy");document.body.removeChild(el);but.children[0].style.display="none";let tmp;if(but.childNodes.length<2){tmp=document.createTextNode("✓");but.appendChild(tmp)}else{onEachLazy(but.childNodes,e=>{if(e.nodeType===Node.TEXT_NODE){tmp=e;return true}});tmp.textContent="✓"}if(reset_button_timeout!==null){window.clearTimeout(reset_button_timeout)}function reset_button(){tmp.textContent="";reset_button_timeout=null;but.children[0].style.display=""}reset_button_timeout=window.setTimeout(reset_button,1000)}}()) \ No newline at end of file diff --git a/static.files/noscript-04d5337699b92874.css b/static.files/noscript-04d5337699b92874.css deleted file mode 100644 index fbd55f57d..000000000 --- a/static.files/noscript-04d5337699b92874.css +++ /dev/null @@ -1 +0,0 @@ - #main-content .attributes{margin-left:0 !important;}#copy-path,#sidebar-button,.sidebar-resizer{display:none !important;}nav.sub{display:none;}.src .sidebar{display:none;}.notable-traits{display:none;}:root{--main-background-color:white;--main-color:black;--settings-input-color:#2196f3;--settings-input-border-color:#717171;--settings-button-color:#000;--settings-button-border-focus:#717171;--sidebar-background-color:#f5f5f5;--sidebar-background-color-hover:#e0e0e0;--code-block-background-color:#f5f5f5;--scrollbar-track-background-color:#dcdcdc;--scrollbar-thumb-background-color:rgba(36,37,39,0.6);--scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;--headings-border-bottom-color:#ddd;--border-color:#e0e0e0;--button-background-color:#fff;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:none;--mobile-sidebar-menu-filter:none;--search-input-focused-border-color:#66afe9;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(35%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ad378a;--trait-link-color:#6e4fc9;--assoc-item-link-color:#3873ad;--function-link-color:#ad7c37;--macro-link-color:#068000;--keyword-link-color:#3873ad;--mod-link-color:#3873ad;--link-color:#3873ad;--sidebar-link-color:#356da4;--sidebar-current-link-background-color:#fff;--search-result-link-focus-background-color:#ccc;--search-result-border-color:#aaa3;--search-color:#000;--search-error-code-background-color:#d0cccc;--search-results-alias-color:#000;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#e6e6e6;--search-tab-button-not-selected-background:#e6e6e6;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#fff;--stab-background-color:#fff5d6;--stab-code-color:#000;--code-highlight-kw-color:#8959a8;--code-highlight-kw-2-color:#4271ae;--code-highlight-lifetime-color:#b76514;--code-highlight-prelude-color:#4271ae;--code-highlight-prelude-val-color:#c82829;--code-highlight-number-color:#718c00;--code-highlight-string-color:#718c00;--code-highlight-literal-color:#c82829;--code-highlight-attribute-color:#c82829;--code-highlight-self-color:#c82829;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8e908c;--code-highlight-doc-comment-color:#4d4d4c;--src-line-numbers-span-color:#c67e2d;--src-line-number-highlighted-background-color:#fdffd3;--test-arrow-color:#f5f5f5;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#f5f5f5;--test-arrow-hover-background-color:rgb(78,139,202);--target-background-color:#fdffd3;--target-border-color:#ad7c37;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:initial;--crate-search-div-filter:invert(100%) sepia(0%) saturate(4223%) hue-rotate(289deg) brightness(114%) contrast(76%);--crate-search-div-hover-filter:invert(44%) sepia(18%) saturate(23%) hue-rotate(317deg) brightness(96%) contrast(93%);--crate-search-hover-border:#717171;--src-sidebar-background-selected:#fff;--src-sidebar-background-hover:#e0e0e0;--table-alt-row-background-color:#f5f5f5;--codeblock-link-background:#eee;--scrape-example-toggle-line-background:#ccc;--scrape-example-toggle-line-hover-background:#999;--scrape-example-code-line-highlight:#fcffd6;--scrape-example-code-line-highlight-focus:#f6fdb0;--scrape-example-help-border-color:#555;--scrape-example-help-color:#333;--scrape-example-help-hover-border-color:#000;--scrape-example-help-hover-color:#000;--scrape-example-code-wrapper-background-start:rgba(255,255,255,1);--scrape-example-code-wrapper-background-end:rgba(255,255,255,0);--sidebar-resizer-hover:hsl(207,90%,66%);--sidebar-resizer-active:hsl(207,90%,54%);}@media (prefers-color-scheme:dark){:root{--main-background-color:#353535;--main-color:#ddd;--settings-input-color:#2196f3;--settings-input-border-color:#999;--settings-button-color:#000;--settings-button-border-focus:#ffb900;--sidebar-background-color:#505050;--sidebar-background-color-hover:#676767;--code-block-background-color:#2A2A2A;--scrollbar-track-background-color:#717171;--scrollbar-thumb-background-color:rgba(32,34,37,.6);--scrollbar-color:rgba(32,34,37,.6) #5a5a5a;--headings-border-bottom-color:#d2d2d2;--border-color:#e0e0e0;--button-background-color:#f0f0f0;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--mobile-sidebar-menu-filter:invert(100%);--search-input-focused-border-color:#008dfd;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(65%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#2dbfb8;--trait-link-color:#b78cf2;--assoc-item-link-color:#d2991d;--function-link-color:#2bab63;--macro-link-color:#09bd00;--keyword-link-color:#d2991d;--mod-link-color:#d2991d;--link-color:#d2991d;--sidebar-link-color:#fdbf35;--sidebar-current-link-background-color:#444;--search-result-link-focus-background-color:#616161;--search-result-border-color:#aaa3;--search-color:#111;--search-error-code-background-color:#484848;--search-results-alias-color:#fff;--search-results-grey-color:#ccc;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#252525;--search-tab-button-not-selected-background:#252525;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#353535;--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ab8ac1;--code-highlight-kw-2-color:#769acb;--code-highlight-lifetime-color:#d97f26;--code-highlight-prelude-color:#769acb;--code-highlight-prelude-val-color:#ee6868;--code-highlight-number-color:#83a300;--code-highlight-string-color:#83a300;--code-highlight-literal-color:#ee6868;--code-highlight-attribute-color:#ee6868;--code-highlight-self-color:#ee6868;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8d8d8b;--code-highlight-doc-comment-color:#8ca375;--src-line-numbers-span-color:#3b91e2;--src-line-number-highlighted-background-color:#0a042f;--test-arrow-color:#dedede;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#dedede;--test-arrow-hover-background-color:#4e8bca;--target-background-color:#494a3d;--target-border-color:#bb7410;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(94%) sepia(0%) saturate(721%) hue-rotate(255deg) brightness(90%) contrast(90%);--crate-search-div-hover-filter:invert(69%) sepia(60%) saturate(6613%) hue-rotate(184deg) brightness(100%) contrast(91%);--crate-search-hover-border:#2196f3;--src-sidebar-background-selected:#333;--src-sidebar-background-hover:#444;--table-alt-row-background-color:#2a2a2a;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(53,53,53,1);--scrape-example-code-wrapper-background-end:rgba(53,53,53,0);--sidebar-resizer-hover:hsl(207,30%,54%);--sidebar-resizer-active:hsl(207,90%,54%);}} \ No newline at end of file diff --git a/static.files/noscript-09095024cf37855e.css b/static.files/noscript-09095024cf37855e.css new file mode 100644 index 000000000..59786941f --- /dev/null +++ b/static.files/noscript-09095024cf37855e.css @@ -0,0 +1 @@ + #main-content .attributes{margin-left:0 !important;}#copy-path,#sidebar-button,.sidebar-resizer{display:none !important;}nav.sub{display:none;}.src .sidebar{display:none;}.notable-traits{display:none;}:root,:root:not([data-theme]){--main-background-color:white;--main-color:black;--settings-input-color:#2196f3;--settings-input-border-color:#717171;--settings-button-color:#000;--settings-button-border-focus:#717171;--sidebar-background-color:#f5f5f5;--sidebar-background-color-hover:#e0e0e0;--code-block-background-color:#f5f5f5;--scrollbar-track-background-color:#dcdcdc;--scrollbar-thumb-background-color:rgba(36,37,39,0.6);--scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;--headings-border-bottom-color:#ddd;--border-color:#e0e0e0;--button-background-color:#fff;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:none;--mobile-sidebar-menu-filter:none;--search-input-focused-border-color:#66afe9;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(35%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ad378a;--trait-link-color:#6e4fc9;--assoc-item-link-color:#3873ad;--function-link-color:#ad7c37;--macro-link-color:#068000;--keyword-link-color:#3873ad;--mod-link-color:#3873ad;--link-color:#3873ad;--sidebar-link-color:#356da4;--sidebar-current-link-background-color:#fff;--search-result-link-focus-background-color:#ccc;--search-result-border-color:#aaa3;--search-color:#000;--search-error-code-background-color:#d0cccc;--search-results-alias-color:#000;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#e6e6e6;--search-tab-button-not-selected-background:#e6e6e6;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#fff;--stab-background-color:#fff5d6;--stab-code-color:#000;--code-highlight-kw-color:#8959a8;--code-highlight-kw-2-color:#4271ae;--code-highlight-lifetime-color:#b76514;--code-highlight-prelude-color:#4271ae;--code-highlight-prelude-val-color:#c82829;--code-highlight-number-color:#718c00;--code-highlight-string-color:#718c00;--code-highlight-literal-color:#c82829;--code-highlight-attribute-color:#c82829;--code-highlight-self-color:#c82829;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8e908c;--code-highlight-doc-comment-color:#4d4d4c;--src-line-numbers-span-color:#c67e2d;--src-line-number-highlighted-background-color:#fdffd3;--test-arrow-color:#f5f5f5;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#f5f5f5;--test-arrow-hover-background-color:rgb(78,139,202);--target-background-color:#fdffd3;--target-border-color:#ad7c37;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:initial;--crate-search-div-filter:invert(100%) sepia(0%) saturate(4223%) hue-rotate(289deg) brightness(114%) contrast(76%);--crate-search-div-hover-filter:invert(44%) sepia(18%) saturate(23%) hue-rotate(317deg) brightness(96%) contrast(93%);--crate-search-hover-border:#717171;--src-sidebar-background-selected:#fff;--src-sidebar-background-hover:#e0e0e0;--table-alt-row-background-color:#f5f5f5;--codeblock-link-background:#eee;--scrape-example-toggle-line-background:#ccc;--scrape-example-toggle-line-hover-background:#999;--scrape-example-code-line-highlight:#fcffd6;--scrape-example-code-line-highlight-focus:#f6fdb0;--scrape-example-help-border-color:#555;--scrape-example-help-color:#333;--scrape-example-help-hover-border-color:#000;--scrape-example-help-hover-color:#000;--scrape-example-code-wrapper-background-start:rgba(255,255,255,1);--scrape-example-code-wrapper-background-end:rgba(255,255,255,0);--sidebar-resizer-hover:hsl(207,90%,66%);--sidebar-resizer-active:hsl(207,90%,54%);}@media (prefers-color-scheme:dark){:root,:root:not([data-theme]){--main-background-color:#353535;--main-color:#ddd;--settings-input-color:#2196f3;--settings-input-border-color:#999;--settings-button-color:#000;--settings-button-border-focus:#ffb900;--sidebar-background-color:#505050;--sidebar-background-color-hover:#676767;--code-block-background-color:#2A2A2A;--scrollbar-track-background-color:#717171;--scrollbar-thumb-background-color:rgba(32,34,37,.6);--scrollbar-color:rgba(32,34,37,.6) #5a5a5a;--headings-border-bottom-color:#d2d2d2;--border-color:#e0e0e0;--button-background-color:#f0f0f0;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--mobile-sidebar-menu-filter:invert(100%);--search-input-focused-border-color:#008dfd;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(65%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#2dbfb8;--trait-link-color:#b78cf2;--assoc-item-link-color:#d2991d;--function-link-color:#2bab63;--macro-link-color:#09bd00;--keyword-link-color:#d2991d;--mod-link-color:#d2991d;--link-color:#d2991d;--sidebar-link-color:#fdbf35;--sidebar-current-link-background-color:#444;--search-result-link-focus-background-color:#616161;--search-result-border-color:#aaa3;--search-color:#111;--search-error-code-background-color:#484848;--search-results-alias-color:#fff;--search-results-grey-color:#ccc;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#252525;--search-tab-button-not-selected-background:#252525;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#353535;--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ab8ac1;--code-highlight-kw-2-color:#769acb;--code-highlight-lifetime-color:#d97f26;--code-highlight-prelude-color:#769acb;--code-highlight-prelude-val-color:#ee6868;--code-highlight-number-color:#83a300;--code-highlight-string-color:#83a300;--code-highlight-literal-color:#ee6868;--code-highlight-attribute-color:#ee6868;--code-highlight-self-color:#ee6868;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8d8d8b;--code-highlight-doc-comment-color:#8ca375;--src-line-numbers-span-color:#3b91e2;--src-line-number-highlighted-background-color:#0a042f;--test-arrow-color:#dedede;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#dedede;--test-arrow-hover-background-color:#4e8bca;--target-background-color:#494a3d;--target-border-color:#bb7410;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(94%) sepia(0%) saturate(721%) hue-rotate(255deg) brightness(90%) contrast(90%);--crate-search-div-hover-filter:invert(69%) sepia(60%) saturate(6613%) hue-rotate(184deg) brightness(100%) contrast(91%);--crate-search-hover-border:#2196f3;--src-sidebar-background-selected:#333;--src-sidebar-background-hover:#444;--table-alt-row-background-color:#2a2a2a;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(53,53,53,1);--scrape-example-code-wrapper-background-end:rgba(53,53,53,0);--sidebar-resizer-hover:hsl(207,30%,54%);--sidebar-resizer-active:hsl(207,90%,54%);}} \ No newline at end of file diff --git a/static.files/rustdoc-5bc39a1768837dd0.css b/static.files/rustdoc-2c208a72533b4dd0.css similarity index 67% rename from static.files/rustdoc-5bc39a1768837dd0.css rename to static.files/rustdoc-2c208a72533b4dd0.css index 175164ef5..3b1630d55 100644 --- a/static.files/rustdoc-5bc39a1768837dd0.css +++ b/static.files/rustdoc-2c208a72533b4dd0.css @@ -3,11 +3,11 @@ fill="none" stroke="black" strike-linecap="square" stroke-miterlimit="10" stroke-width="12"/> \ ');filter:var(--crate-search-div-filter);}#crate-search-div:hover::after,#crate-search-div:focus-within::after{filter:var(--crate-search-div-hover-filter);}#crate-search>option{font-size:1rem;}.search-input{-webkit-appearance:none;outline:none;border:1px solid var(--border-color);border-radius:2px;padding:8px;font-size:1rem;flex-grow:1;background-color:var(--button-background-color);color:var(--search-color);}.search-input:focus{border-color:var(--search-input-focused-border-color);}.search-results{display:none;}.search-results.active{display:block;}.search-results>a{display:flex;margin-left:2px;margin-right:2px;border-bottom:1px solid var(--search-result-border-color);gap:1em;}.search-results>a>div.desc{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;flex:2;}.search-results a:hover,.search-results a:focus{background-color:var(--search-result-link-focus-background-color);}.search-results .result-name{display:flex;align-items:center;justify-content:start;flex:3;}.search-results .result-name .alias{color:var(--search-results-alias-color);}.search-results .result-name .grey{color:var(--search-results-grey-color);}.search-results .result-name .typename{color:var(--search-results-grey-color);font-size:0.875rem;width:var(--search-typename-width);}.search-results .result-name .path{word-break:break-all;max-width:calc(100% - var(--search-typename-width));display:inline-block;}.search-results .result-name .path>*{display:inline;}.popover{position:absolute;top:100%;right:0;z-index:calc(var(--desktop-sidebar-z-index) + 1);margin-top:7px;border-radius:3px;border:1px solid var(--border-color);background-color:var(--main-background-color);color:var(--main-color);--popover-arrow-offset:11px;}.popover::before{content:'';position:absolute;right:var(--popover-arrow-offset);border:solid var(--border-color);border-width:1px 1px 0 0;background-color:var(--main-background-color);padding:4px;transform:rotate(-45deg);top:-5px;}.setting-line{margin:1.2em 0.6em;}.setting-radio input,.setting-check input{margin-right:0.3em;height:1.2rem;width:1.2rem;border:2px solid var(--settings-input-border-color);outline:none;-webkit-appearance:none;cursor:pointer;}.setting-radio input{border-radius:50%;}.setting-radio span,.setting-check span{padding-bottom:1px;}.setting-radio{margin-top:0.1em;margin-bottom:0.1em;min-width:3.8em;padding:0.3em;display:inline-flex;align-items:center;cursor:pointer;}.setting-radio+.setting-radio{margin-left:0.5em;}.setting-check{margin-right:20px;display:flex;align-items:center;cursor:pointer;}.setting-radio input:checked{box-shadow:inset 0 0 0 3px var(--main-background-color);background-color:var(--settings-input-color);}.setting-check input:checked{background-color:var(--settings-input-color);border-width:1px;content:url('data:image/svg+xml,\ \ - ');}.setting-radio input:focus,.setting-check input:focus{box-shadow:0 0 1px 1px var(--settings-input-color);}.setting-radio input:checked:focus{box-shadow:inset 0 0 0 3px var(--main-background-color),0 0 2px 2px var(--settings-input-color);}.setting-radio input:hover,.setting-check input:hover{border-color:var(--settings-input-color) !important;}#help.popover{max-width:600px;--popover-arrow-offset:48px;}#help dt{float:left;clear:left;margin-right:0.5rem;}#help span.top,#help span.bottom{text-align:center;display:block;font-size:1.125rem;}#help span.top{margin:10px 0;border-bottom:1px solid var(--border-color);padding-bottom:4px;margin-bottom:6px;}#help span.bottom{clear:both;border-top:1px solid var(--border-color);}.side-by-side>div{width:50%;float:left;padding:0 20px 20px 17px;}.item-info .stab{display:block;padding:3px;margin-bottom:5px;}.item-name .stab{margin-left:0.3125em;}.stab{padding:0 2px;font-size:0.875rem;font-weight:normal;color:var(--main-color);background-color:var(--stab-background-color);width:fit-content;white-space:pre-wrap;border-radius:3px;display:inline;vertical-align:baseline;}.stab.portability>code{background:none;color:var(--stab-code-color);}.stab .emoji,.item-info .stab::before{font-size:1.25rem;}.stab .emoji{margin-right:0.3rem;}.item-info .stab::before{content:"\0";width:0;display:inline-block;color:transparent;}.emoji{text-shadow:1px 0 0 black,-1px 0 0 black,0 1px 0 black,0 -1px 0 black;}.since{font-weight:normal;font-size:initial;}.rightside{padding-left:12px;float:right;}.rightside:not(a),.out-of-band{color:var(--right-side-color);}pre.rust{tab-size:4;-moz-tab-size:4;}pre.rust .kw{color:var(--code-highlight-kw-color);}pre.rust .kw-2{color:var(--code-highlight-kw-2-color);}pre.rust .lifetime{color:var(--code-highlight-lifetime-color);}pre.rust .prelude-ty{color:var(--code-highlight-prelude-color);}pre.rust .prelude-val{color:var(--code-highlight-prelude-val-color);}pre.rust .string{color:var(--code-highlight-string-color);}pre.rust .number{color:var(--code-highlight-number-color);}pre.rust .bool-val{color:var(--code-highlight-literal-color);}pre.rust .self{color:var(--code-highlight-self-color);}pre.rust .attr{color:var(--code-highlight-attribute-color);}pre.rust .macro,pre.rust .macro-nonterminal{color:var(--code-highlight-macro-color);}pre.rust .question-mark{font-weight:bold;color:var(--code-highlight-question-mark-color);}pre.rust .comment{color:var(--code-highlight-comment-color);}pre.rust .doccomment{color:var(--code-highlight-doc-comment-color);}.rustdoc.src .example-wrap pre.rust a{background:var(--codeblock-link-background);}.example-wrap.compile_fail,.example-wrap.should_panic{border-left:2px solid var(--codeblock-error-color);}.ignore.example-wrap{border-left:2px solid var(--codeblock-ignore-color);}.example-wrap.compile_fail:hover,.example-wrap.should_panic:hover{border-left:2px solid var(--codeblock-error-hover-color);}.example-wrap.ignore:hover{border-left:2px solid var(--codeblock-ignore-hover-color);}.example-wrap.compile_fail .tooltip,.example-wrap.should_panic .tooltip{color:var(--codeblock-error-color);}.example-wrap.ignore .tooltip{color:var(--codeblock-ignore-color);}.example-wrap.compile_fail:hover .tooltip,.example-wrap.should_panic:hover .tooltip{color:var(--codeblock-error-hover-color);}.example-wrap.ignore:hover .tooltip{color:var(--codeblock-ignore-hover-color);}.example-wrap .tooltip{position:absolute;display:block;left:-25px;top:5px;margin:0;line-height:1;}.example-wrap.compile_fail .tooltip,.example-wrap.should_panic .tooltip,.example-wrap.ignore .tooltip{font-weight:bold;font-size:1.25rem;}.content .docblock .warning{border-left:2px solid var(--warning-border-color);padding:14px;position:relative;overflow-x:visible !important;}.content .docblock .warning::before{color:var(--warning-border-color);content:"ⓘ";position:absolute;left:-25px;top:5px;font-weight:bold;font-size:1.25rem;}.top-doc>.docblock>.warning:first-child::before{top:20px;}a.test-arrow{visibility:hidden;position:absolute;padding:5px 10px 5px 10px;border-radius:5px;font-size:1.375rem;top:5px;right:5px;z-index:1;color:var(--test-arrow-color);background-color:var(--test-arrow-background-color);}a.test-arrow:hover{color:var(--test-arrow-hover-color);background-color:var(--test-arrow-hover-background-color);}.example-wrap:hover .test-arrow{visibility:visible;}.code-attribute{font-weight:300;color:var(--code-attribute-color);}.item-spacer{width:100%;height:12px;display:block;}.out-of-band>span.since{font-size:1.25rem;}.sub-variant h4{font-size:1rem;font-weight:400;margin-top:0;margin-bottom:0;}.sub-variant{margin-left:24px;margin-bottom:40px;}.sub-variant>.sub-variant-field{margin-left:24px;}:target{padding-right:3px;background-color:var(--target-background-color);border-right:3px solid var(--target-border-color);}.code-header a.tooltip{color:inherit;margin-right:15px;position:relative;}.code-header a.tooltip:hover{color:var(--link-color);}a.tooltip:hover::after{position:absolute;top:calc(100% - 10px);left:-15px;right:-15px;height:20px;content:"\00a0";}.fade-out{opacity:0;transition:opacity 0.45s cubic-bezier(0,0,0.1,1.0);}.popover.tooltip .content{margin:0.25em 0.5em;}.popover.tooltip .content pre,.popover.tooltip .content code{background:transparent;margin:0;padding:0;font-size:1.25rem;white-space:pre-wrap;}.popover.tooltip .content>h3:first-child{margin:0 0 5px 0;}.search-failed{text-align:center;margin-top:20px;display:none;}.search-failed.active{display:block;}.search-failed>ul{text-align:left;max-width:570px;margin-left:auto;margin-right:auto;}#search-tabs{display:flex;flex-direction:row;gap:1px;margin-bottom:4px;}#search-tabs button{text-align:center;font-size:1.125rem;border:0;border-top:2px solid;flex:1;line-height:1.5;color:inherit;}#search-tabs button:not(.selected){background-color:var(--search-tab-button-not-selected-background);border-top-color:var(--search-tab-button-not-selected-border-top-color);}#search-tabs button:hover,#search-tabs button.selected{background-color:var(--search-tab-button-selected-background);border-top-color:var(--search-tab-button-selected-border-top-color);}#search-tabs .count{font-size:1rem;font-variant-numeric:tabular-nums;color:var(--search-tab-title-count-color);}#search .error code{border-radius:3px;background-color:var(--search-error-code-background-color);}.search-corrections{font-weight:normal;}#src-sidebar{width:100%;overflow:auto;}#src-sidebar div.files>a:hover,details.dir-entry summary:hover,#src-sidebar div.files>a:focus,details.dir-entry summary:focus{background-color:var(--src-sidebar-background-hover);}#src-sidebar div.files>a.selected{background-color:var(--src-sidebar-background-selected);}.src-sidebar-title{position:sticky;top:0;display:flex;padding:8px 8px 0 48px;margin-bottom:7px;background:var(--sidebar-background-color);border-bottom:1px solid var(--border-color);}#settings-menu,#help-button{margin-left:4px;display:flex;}#sidebar-button{display:none;line-height:0;}.hide-sidebar #sidebar-button,.src #sidebar-button{display:flex;margin-right:4px;position:fixed;left:6px;height:34px;width:34px;background-color:var(--main-background-color);z-index:1;}.src #sidebar-button{left:8px;z-index:calc(var(--desktop-sidebar-z-index) + 1);}.hide-sidebar .src #sidebar-button{position:static;}#settings-menu>a,#help-button>a,#sidebar-button>a{display:flex;align-items:center;justify-content:center;background-color:var(--button-background-color);border:1px solid var(--border-color);border-radius:2px;color:var(--settings-button-color);font-size:20px;width:33px;}#settings-menu>a:hover,#settings-menu>a:focus,#help-button>a:hover,#help-button>a:focus,#sidebar-button>a:hover,#sidebar-button>a:focus{border-color:var(--settings-button-border-focus);}#sidebar-button>a:before{content:url('data:image/svg+xml,');}.setting-radio input:focus,.setting-check input:focus{box-shadow:0 0 1px 1px var(--settings-input-color);}.setting-radio input:checked:focus{box-shadow:inset 0 0 0 3px var(--main-background-color),0 0 2px 2px var(--settings-input-color);}.setting-radio input:hover,.setting-check input:hover{border-color:var(--settings-input-color) !important;}#help.popover{max-width:600px;--popover-arrow-offset:48px;}#help dt{float:left;clear:left;margin-right:0.5rem;}#help span.top,#help span.bottom{text-align:center;display:block;font-size:1.125rem;}#help span.top{margin:10px 0;border-bottom:1px solid var(--border-color);padding-bottom:4px;margin-bottom:6px;}#help span.bottom{clear:both;border-top:1px solid var(--border-color);}.side-by-side>div{width:50%;float:left;padding:0 20px 20px 17px;}.item-info .stab{display:block;padding:3px;margin-bottom:5px;}.item-name .stab{margin-left:0.3125em;}.stab{padding:0 2px;font-size:0.875rem;font-weight:normal;color:var(--main-color);background-color:var(--stab-background-color);width:fit-content;white-space:pre-wrap;border-radius:3px;display:inline;vertical-align:baseline;}.stab.portability>code{background:none;color:var(--stab-code-color);}.stab .emoji,.item-info .stab::before{font-size:1.25rem;}.stab .emoji{margin-right:0.3rem;}.item-info .stab::before{content:"\0";width:0;display:inline-block;color:transparent;}.emoji{text-shadow:1px 0 0 black,-1px 0 0 black,0 1px 0 black,0 -1px 0 black;}.since{font-weight:normal;font-size:initial;}.rightside{padding-left:12px;float:right;}.rightside:not(a),.out-of-band{color:var(--right-side-color);}pre.rust{tab-size:4;-moz-tab-size:4;}pre.rust .kw{color:var(--code-highlight-kw-color);}pre.rust .kw-2{color:var(--code-highlight-kw-2-color);}pre.rust .lifetime{color:var(--code-highlight-lifetime-color);}pre.rust .prelude-ty{color:var(--code-highlight-prelude-color);}pre.rust .prelude-val{color:var(--code-highlight-prelude-val-color);}pre.rust .string{color:var(--code-highlight-string-color);}pre.rust .number{color:var(--code-highlight-number-color);}pre.rust .bool-val{color:var(--code-highlight-literal-color);}pre.rust .self{color:var(--code-highlight-self-color);}pre.rust .attr{color:var(--code-highlight-attribute-color);}pre.rust .macro,pre.rust .macro-nonterminal{color:var(--code-highlight-macro-color);}pre.rust .question-mark{font-weight:bold;color:var(--code-highlight-question-mark-color);}pre.rust .comment{color:var(--code-highlight-comment-color);}pre.rust .doccomment{color:var(--code-highlight-doc-comment-color);}.rustdoc.src .example-wrap pre.rust a{background:var(--codeblock-link-background);}.example-wrap.compile_fail,.example-wrap.should_panic{border-left:2px solid var(--codeblock-error-color);}.ignore.example-wrap{border-left:2px solid var(--codeblock-ignore-color);}.example-wrap.compile_fail:hover,.example-wrap.should_panic:hover{border-left:2px solid var(--codeblock-error-hover-color);}.example-wrap.ignore:hover{border-left:2px solid var(--codeblock-ignore-hover-color);}.example-wrap.compile_fail .tooltip,.example-wrap.should_panic .tooltip{color:var(--codeblock-error-color);}.example-wrap.ignore .tooltip{color:var(--codeblock-ignore-color);}.example-wrap.compile_fail:hover .tooltip,.example-wrap.should_panic:hover .tooltip{color:var(--codeblock-error-hover-color);}.example-wrap.ignore:hover .tooltip{color:var(--codeblock-ignore-hover-color);}.example-wrap .tooltip{position:absolute;display:block;left:-25px;top:5px;margin:0;line-height:1;}.example-wrap.compile_fail .tooltip,.example-wrap.should_panic .tooltip,.example-wrap.ignore .tooltip{font-weight:bold;font-size:1.25rem;}.content .docblock .warning{border-left:2px solid var(--warning-border-color);padding:14px;position:relative;overflow-x:visible !important;}.content .docblock .warning::before{color:var(--warning-border-color);content:"ⓘ";position:absolute;left:-25px;top:5px;font-weight:bold;font-size:1.25rem;}.top-doc>.docblock>.warning:first-child::before{top:20px;}a.test-arrow{visibility:hidden;position:absolute;padding:5px 10px 5px 10px;border-radius:5px;font-size:1.375rem;top:5px;right:5px;z-index:1;color:var(--test-arrow-color);background-color:var(--test-arrow-background-color);}a.test-arrow:hover{color:var(--test-arrow-hover-color);background-color:var(--test-arrow-hover-background-color);}.example-wrap:hover .test-arrow{visibility:visible;}.code-attribute{font-weight:300;color:var(--code-attribute-color);}.item-spacer{width:100%;height:12px;display:block;}.out-of-band>span.since{font-size:1.25rem;}.sub-variant h4{font-size:1rem;font-weight:400;margin-top:0;margin-bottom:0;}.sub-variant{margin-left:24px;margin-bottom:40px;}.sub-variant>.sub-variant-field{margin-left:24px;}:target{padding-right:3px;background-color:var(--target-background-color);border-right:3px solid var(--target-border-color);}.code-header a.tooltip{color:inherit;margin-right:15px;position:relative;}.code-header a.tooltip:hover{color:var(--link-color);}a.tooltip:hover::after{position:absolute;top:calc(100% - 10px);left:-15px;right:-15px;height:20px;content:"\00a0";}.fade-out{opacity:0;transition:opacity 0.45s cubic-bezier(0,0,0.1,1.0);}.popover.tooltip .content{margin:0.25em 0.5em;}.popover.tooltip .content pre,.popover.tooltip .content code{background:transparent;margin:0;padding:0;font-size:1.25rem;white-space:pre-wrap;}.popover.tooltip .content>h3:first-child{margin:0 0 5px 0;}.search-failed{text-align:center;margin-top:20px;display:none;}.search-failed.active{display:block;}.search-failed>ul{text-align:left;max-width:570px;margin-left:auto;margin-right:auto;}#search-tabs{display:flex;flex-direction:row;gap:1px;margin-bottom:4px;}#search-tabs button{text-align:center;font-size:1.125rem;border:0;border-top:2px solid;flex:1;line-height:1.5;color:inherit;}#search-tabs button:not(.selected){background-color:var(--search-tab-button-not-selected-background);border-top-color:var(--search-tab-button-not-selected-border-top-color);}#search-tabs button:hover,#search-tabs button.selected{background-color:var(--search-tab-button-selected-background);border-top-color:var(--search-tab-button-selected-border-top-color);}#search-tabs .count{font-size:1rem;font-variant-numeric:tabular-nums;color:var(--search-tab-title-count-color);}#search .error code{border-radius:3px;background-color:var(--search-error-code-background-color);}.search-corrections{font-weight:normal;}#src-sidebar{width:100%;overflow:auto;}#src-sidebar div.files>a:hover,details.dir-entry summary:hover,#src-sidebar div.files>a:focus,details.dir-entry summary:focus{background-color:var(--src-sidebar-background-hover);}#src-sidebar div.files>a.selected{background-color:var(--src-sidebar-background-selected);}.src-sidebar-title{position:sticky;top:0;display:flex;padding:8px 8px 0 48px;margin-bottom:7px;background:var(--sidebar-background-color);border-bottom:1px solid var(--border-color);}#settings-menu,#help-button{margin-left:4px;display:flex;}#sidebar-button{display:none;line-height:0;}.hide-sidebar #sidebar-button,.src #sidebar-button{display:flex;margin-right:4px;position:fixed;left:6px;height:34px;width:34px;background-color:var(--main-background-color);z-index:1;}.src #sidebar-button{left:8px;z-index:calc(var(--desktop-sidebar-z-index) + 1);}.hide-sidebar .src #sidebar-button{position:static;}#settings-menu>a,#help-button>a,#sidebar-button>a{display:flex;align-items:center;justify-content:center;background-color:var(--button-background-color);border:1px solid var(--border-color);border-radius:2px;color:var(--settings-button-color);font-size:20px;width:33px;}#settings-menu>a:hover,#settings-menu>a:focus,#help-button>a:hover,#help-button>a:focus,#sidebar-button>a:hover,#sidebar-button>a:focus{border-color:var(--settings-button-border-focus);}#settings-menu>a{line-height:0;font-size:0;}#settings-menu>a:before{content:url('wheel-63255fc4502dca9a.svg');width:22px;height:22px;}#sidebar-button>a:before{content:url('data:image/svg+xml,\ \ \ - ');width:22px;height:22px;}#copy-path{color:var(--copy-path-button-color);background:var(--main-background-color);height:34px;margin-left:10px;padding:0;padding-left:2px;border:0;width:33px;}#copy-path>img{filter:var(--copy-path-img-filter);}#copy-path:hover>img{filter:var(--copy-path-img-hover-filter);}@keyframes rotating{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}#settings-menu.rotate>a img{animation:rotating 2s linear infinite;}kbd{display:inline-block;padding:3px 5px;font:15px monospace;line-height:10px;vertical-align:middle;border:solid 1px var(--border-color);border-radius:3px;color:var(--kbd-color);background-color:var(--kbd-background);box-shadow:inset 0 -1px 0 var(--kbd-box-shadow-color);}ul.all-items>li{list-style:none;}details.dir-entry{padding-left:4px;}details.dir-entry>summary{margin:0 0 0 -4px;padding:0 0 0 4px;cursor:pointer;}details.dir-entry div.folders,details.dir-entry div.files{padding-left:23px;}details.dir-entry a{display:block;}details.toggle{contain:layout;position:relative;}details.toggle>summary.hideme{cursor:pointer;font-size:1rem;}details.toggle>summary{list-style:none;outline:none;}details.toggle>summary::-webkit-details-marker,details.toggle>summary::marker{display:none;}details.toggle>summary.hideme>span{margin-left:9px;}details.toggle>summary::before{background:url('data:image/svg+xml,');width:22px;height:22px;}#copy-path{color:var(--copy-path-button-color);background:var(--main-background-color);height:34px;margin-left:10px;padding:0;padding-left:2px;border:0;width:33px;line-height:0;font-size:0;}#copy-path:before{filter:var(--copy-path-img-filter);content:url('clipboard-24048e6d87f63d07.svg');width:19px;height:18px;}#copy-path:hover:before{filter:var(--copy-path-img-hover-filter);}@keyframes rotating{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}#settings-menu.rotate>a img{animation:rotating 2s linear infinite;}kbd{display:inline-block;padding:3px 5px;font:15px monospace;line-height:10px;vertical-align:middle;border:solid 1px var(--border-color);border-radius:3px;color:var(--kbd-color);background-color:var(--kbd-background);box-shadow:inset 0 -1px 0 var(--kbd-box-shadow-color);}ul.all-items>li{list-style:none;}details.dir-entry{padding-left:4px;}details.dir-entry>summary{margin:0 0 0 -4px;padding:0 0 0 4px;cursor:pointer;}details.dir-entry div.folders,details.dir-entry div.files{padding-left:23px;}details.dir-entry a{display:block;}details.toggle{contain:layout;position:relative;}details.toggle>summary.hideme{cursor:pointer;font-size:1rem;}details.toggle>summary{list-style:none;outline:none;}details.toggle>summary::-webkit-details-marker,details.toggle>summary::marker{display:none;}details.toggle>summary.hideme>span{margin-left:9px;}details.toggle>summary::before{background:url('data:image/svg+xml,') no-repeat top left;content:"";cursor:pointer;width:16px;height:16px;display:inline-block;vertical-align:middle;opacity:.5;filter:var(--toggle-filter);}details.toggle>summary.hideme>span,.more-examples-toggle summary,.more-examples-toggle .hide-more{color:var(--toggles-color);}details.toggle>summary::after{content:"Expand";overflow:hidden;width:0;height:0;position:absolute;}details.toggle>summary.hideme::after{content:"";}details.toggle>summary:focus::before,details.toggle>summary:hover::before{opacity:1;}details.toggle>summary:focus-visible::before{outline:1px dotted #000;outline-offset:1px;}details.non-exhaustive{margin-bottom:8px;}details.toggle>summary.hideme::before{position:relative;}details.toggle>summary:not(.hideme)::before{position:absolute;left:-24px;top:4px;}.impl-items>details.toggle>summary:not(.hideme)::before{position:absolute;left:-24px;}details.toggle[open] >summary.hideme{position:absolute;}details.toggle[open] >summary.hideme>span{display:none;}details.toggle[open] >summary::before{background:url('data:image/svg+xml,') no-repeat top left;}details viewBox="0 0 22 22" fill="none" stroke="black">\ \ \ - ');opacity:0.75;}@media (max-width:850px){#search-tabs .count{display:block;}}@media (max-width:700px){*[id]{scroll-margin-top:45px;}.rustdoc{display:block;}main{padding-left:15px;padding-top:0px;}.main-heading{flex-direction:column;}.out-of-band{text-align:left;margin-left:initial;padding:initial;}.out-of-band .since::before{content:"Since ";}.sidebar .logo-container,.sidebar .location,.sidebar-resizer{display:none;}.sidebar{position:fixed;top:45px;left:-1000px;z-index:11;height:calc(100vh - 45px);width:200px;}.src main,.rustdoc.src .sidebar{top:0;padding:0;height:100vh;border:0;}.src .search-form{margin-left:40px;}.hide-sidebar .search-form{margin-left:32px;}.hide-sidebar .src .search-form{margin-left:0;}.sidebar.shown,.src-sidebar-expanded .src .sidebar,.rustdoc:not(.src) .sidebar:focus-within{left:0;}.mobile-topbar h2{padding-bottom:0;margin:auto 0.5em auto auto;overflow:hidden;font-size:24px;}.mobile-topbar h2 a{display:block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;}.mobile-topbar .logo-container>img{max-width:35px;max-height:35px;margin:5px 0 5px 20px;}.mobile-topbar{display:flex;flex-direction:row;position:sticky;z-index:10;font-size:2rem;height:45px;width:100%;left:0;top:0;}.hide-sidebar .mobile-topbar{display:none;}.sidebar-menu-toggle{width:45px;border:none;line-height:0;}.hide-sidebar .sidebar-menu-toggle{display:none;}.sidebar-elems{margin-top:1em;}.anchor{display:none !important;}#main-content>details.toggle>summary::before,#main-content>div>details.toggle>summary::before{left:-11px;}#copy-path,#help-button{display:none;}#sidebar-button>a:before{content:url('data:image/svg+xml,');opacity:0.75;}@media (max-width:850px){#search-tabs .count{display:block;}}@media (max-width:700px){*[id]{scroll-margin-top:45px;}.rustdoc{display:block;}main{padding-left:15px;padding-top:0px;}.main-heading{flex-direction:column;}.out-of-band{text-align:left;margin-left:initial;padding:initial;}.out-of-band .since::before{content:"Since ";}.sidebar .logo-container,.sidebar .location,.sidebar-resizer{display:none;}.sidebar{position:fixed;top:45px;left:-1000px;z-index:11;height:calc(100vh - 45px);width:200px;}.src main,.rustdoc.src .sidebar{top:0;padding:0;height:100vh;border:0;}.src .search-form{margin-left:40px;}.hide-sidebar .search-form{margin-left:32px;}.hide-sidebar .src .search-form{margin-left:0;}.sidebar.shown,.src-sidebar-expanded .src .sidebar,.rustdoc:not(.src) .sidebar:focus-within{left:0;}.mobile-topbar h2{padding-bottom:0;margin:auto 0.5em auto auto;overflow:hidden;font-size:24px;white-space:nowrap;text-overflow:ellipsis;}.mobile-topbar .logo-container>img{max-width:35px;max-height:35px;margin:5px 0 5px 20px;}.mobile-topbar{display:flex;flex-direction:row;position:sticky;z-index:10;font-size:2rem;height:45px;width:100%;left:0;top:0;}.hide-sidebar .mobile-topbar{display:none;}.sidebar-menu-toggle{width:45px;border:none;line-height:0;}.hide-sidebar .sidebar-menu-toggle{display:none;}.sidebar-elems{margin-top:1em;}.anchor{display:none !important;}#main-content>details.toggle>summary::before,#main-content>div>details.toggle>summary::before{left:-11px;}#copy-path,#help-button{display:none;}#sidebar-button>a:before{content:url('data:image/svg+xml,\ \ \ - ');width:22px;height:22px;}.sidebar-menu-toggle:before{filter:var(--mobile-sidebar-menu-filter);}.sidebar-menu-toggle:hover{background:var(--main-background-color);}.item-table,.item-row,.item-table>li,.item-table>li>div,.search-results>a,.search-results>a>div{display:block;}.search-results>a{padding:5px 0px;}.search-results>a>div.desc,.item-table>li>div.desc{padding-left:2em;}.search-results .result-name{display:block;}.search-results .result-name .typename{width:initial;margin-right:0;}.search-results .result-name .typename,.search-results .result-name .path{display:inline;}.src-sidebar-expanded .src .sidebar{position:fixed;max-width:100vw;width:100vw;}.src .src-sidebar-title{padding-top:0;}details.toggle:not(.top-doc)>summary{margin-left:10px;}.impl-items>details.toggle>summary:not(.hideme)::before,#main-content>details.toggle:not(.top-doc)>summary::before,#main-content>div>details.toggle>summary::before{left:-11px;}.impl-items>.item-info{margin-left:34px;}.src nav.sub{margin:0;padding:var(--nav-sub-mobile-padding);}}@media (min-width:701px){.scraped-example-title{position:absolute;z-index:10;background:var(--main-background-color);bottom:8px;right:5px;padding:2px 4px;box-shadow:0 0 4px var(--main-background-color);}}@media print{nav.sidebar,nav.sub,.out-of-band,a.src,#copy-path,details.toggle[open] >summary::before,details.toggle>summary::before,details.toggle.top-doc>summary{display:none;}.docblock{margin-left:0;}main{padding:10px;}}@media (max-width:464px){.docblock{margin-left:12px;}.docblock code{overflow-wrap:break-word;overflow-wrap:anywhere;}nav.sub{flex-direction:column;}.search-form{align-self:stretch;}}.variant,.implementors-toggle>summary,.impl,#implementors-list>.docblock,.impl-items>section,.impl-items>.toggle>summary,.methods>section,.methods>.toggle>summary{margin-bottom:0.75em;}.variants>.docblock,.implementors-toggle>.docblock,.impl-items>.toggle[open]:not(:last-child),.methods>.toggle[open]:not(:last-child),.implementors-toggle[open]:not(:last-child){margin-bottom:2em;}#trait-implementations-list .impl-items>.toggle:not(:last-child),#synthetic-implementations-list .impl-items>.toggle:not(:last-child),#blanket-implementations-list .impl-items>.toggle:not(:last-child){margin-bottom:1em;}.scraped-example-list .scrape-help{margin-left:10px;padding:0 4px;font-weight:normal;font-size:12px;position:relative;bottom:1px;border:1px solid var(--scrape-example-help-border-color);border-radius:50px;color:var(--scrape-example-help-color);}.scraped-example-list .scrape-help:hover{border-color:var(--scrape-example-help-hover-border-color);color:var(--scrape-example-help-hover-color);}.scraped-example{position:relative;}.scraped-example .code-wrapper{position:relative;display:flex;flex-direction:row;flex-wrap:wrap;width:100%;}.scraped-example:not(.expanded) .code-wrapper{max-height:calc(1.5em * 5 + 10px);}.scraped-example:not(.expanded) .code-wrapper pre{overflow-y:hidden;padding-bottom:0;max-height:calc(1.5em * 5 + 10px);}.more-scraped-examples .scraped-example:not(.expanded) .code-wrapper,.more-scraped-examples .scraped-example:not(.expanded) .code-wrapper pre{max-height:calc(1.5em * 10 + 10px);}.scraped-example .code-wrapper .next,.scraped-example .code-wrapper .prev,.scraped-example .code-wrapper .expand{color:var(--main-color);position:absolute;top:0.25em;z-index:1;padding:0;background:none;border:none;-webkit-appearance:none;opacity:1;}.scraped-example .code-wrapper .prev{right:2.25em;}.scraped-example .code-wrapper .next{right:1.25em;}.scraped-example .code-wrapper .expand{right:0.25em;}.scraped-example:not(.expanded) .code-wrapper::before,.scraped-example:not(.expanded) .code-wrapper::after{content:" ";width:100%;height:5px;position:absolute;z-index:1;}.scraped-example:not(.expanded) .code-wrapper::before{top:0;background:linear-gradient(to bottom,var(--scrape-example-code-wrapper-background-start),var(--scrape-example-code-wrapper-background-end));}.scraped-example:not(.expanded) .code-wrapper::after{bottom:0;background:linear-gradient(to top,var(--scrape-example-code-wrapper-background-start),var(--scrape-example-code-wrapper-background-end));}.scraped-example .code-wrapper .example-wrap{width:100%;overflow-y:hidden;margin-bottom:0;}.scraped-example:not(.expanded) .code-wrapper .example-wrap{overflow-x:hidden;}.scraped-example .example-wrap .rust span.highlight{background:var(--scrape-example-code-line-highlight);}.scraped-example .example-wrap .rust span.highlight.focus{background:var(--scrape-example-code-line-highlight-focus);}.more-examples-toggle{max-width:calc(100% + 25px);margin-top:10px;margin-left:-25px;}.more-examples-toggle .hide-more{margin-left:25px;cursor:pointer;}.more-scraped-examples{margin-left:25px;position:relative;}.toggle-line{position:absolute;top:5px;bottom:0;right:calc(100% + 10px);padding:0 4px;cursor:pointer;}.toggle-line-inner{min-width:2px;height:100%;background:var(--scrape-example-toggle-line-background);}.toggle-line:hover .toggle-line-inner{background:var(--scrape-example-toggle-line-hover-background);}.more-scraped-examples .scraped-example,.example-links{margin-top:20px;}.more-scraped-examples .scraped-example:first-child{margin-top:5px;}.example-links ul{margin-bottom:0;}:root[data-theme="light"]{--main-background-color:white;--main-color:black;--settings-input-color:#2196f3;--settings-input-border-color:#717171;--settings-button-color:#000;--settings-button-border-focus:#717171;--sidebar-background-color:#f5f5f5;--sidebar-background-color-hover:#e0e0e0;--code-block-background-color:#f5f5f5;--scrollbar-track-background-color:#dcdcdc;--scrollbar-thumb-background-color:rgba(36,37,39,0.6);--scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;--headings-border-bottom-color:#ddd;--border-color:#e0e0e0;--button-background-color:#fff;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:none;--mobile-sidebar-menu-filter:none;--search-input-focused-border-color:#66afe9;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(35%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ad378a;--trait-link-color:#6e4fc9;--assoc-item-link-color:#3873ad;--function-link-color:#ad7c37;--macro-link-color:#068000;--keyword-link-color:#3873ad;--mod-link-color:#3873ad;--link-color:#3873ad;--sidebar-link-color:#356da4;--sidebar-current-link-background-color:#fff;--search-result-link-focus-background-color:#ccc;--search-result-border-color:#aaa3;--search-color:#000;--search-error-code-background-color:#d0cccc;--search-results-alias-color:#000;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#e6e6e6;--search-tab-button-not-selected-background:#e6e6e6;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#fff;--stab-background-color:#fff5d6;--stab-code-color:#000;--code-highlight-kw-color:#8959a8;--code-highlight-kw-2-color:#4271ae;--code-highlight-lifetime-color:#b76514;--code-highlight-prelude-color:#4271ae;--code-highlight-prelude-val-color:#c82829;--code-highlight-number-color:#718c00;--code-highlight-string-color:#718c00;--code-highlight-literal-color:#c82829;--code-highlight-attribute-color:#c82829;--code-highlight-self-color:#c82829;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8e908c;--code-highlight-doc-comment-color:#4d4d4c;--src-line-numbers-span-color:#c67e2d;--src-line-number-highlighted-background-color:#fdffd3;--test-arrow-color:#f5f5f5;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#f5f5f5;--test-arrow-hover-background-color:rgb(78,139,202);--target-background-color:#fdffd3;--target-border-color:#ad7c37;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:initial;--crate-search-div-filter:invert(100%) sepia(0%) saturate(4223%) hue-rotate(289deg) brightness(114%) contrast(76%);--crate-search-div-hover-filter:invert(44%) sepia(18%) saturate(23%) hue-rotate(317deg) brightness(96%) contrast(93%);--crate-search-hover-border:#717171;--src-sidebar-background-selected:#fff;--src-sidebar-background-hover:#e0e0e0;--table-alt-row-background-color:#f5f5f5;--codeblock-link-background:#eee;--scrape-example-toggle-line-background:#ccc;--scrape-example-toggle-line-hover-background:#999;--scrape-example-code-line-highlight:#fcffd6;--scrape-example-code-line-highlight-focus:#f6fdb0;--scrape-example-help-border-color:#555;--scrape-example-help-color:#333;--scrape-example-help-hover-border-color:#000;--scrape-example-help-hover-color:#000;--scrape-example-code-wrapper-background-start:rgba(255,255,255,1);--scrape-example-code-wrapper-background-end:rgba(255,255,255,0);--sidebar-resizer-hover:hsl(207,90%,66%);--sidebar-resizer-active:hsl(207,90%,54%);}:root[data-theme="dark"]{--main-background-color:#353535;--main-color:#ddd;--settings-input-color:#2196f3;--settings-input-border-color:#999;--settings-button-color:#000;--settings-button-border-focus:#ffb900;--sidebar-background-color:#505050;--sidebar-background-color-hover:#676767;--code-block-background-color:#2A2A2A;--scrollbar-track-background-color:#717171;--scrollbar-thumb-background-color:rgba(32,34,37,.6);--scrollbar-color:rgba(32,34,37,.6) #5a5a5a;--headings-border-bottom-color:#d2d2d2;--border-color:#e0e0e0;--button-background-color:#f0f0f0;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--mobile-sidebar-menu-filter:invert(100%);--search-input-focused-border-color:#008dfd;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(65%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#2dbfb8;--trait-link-color:#b78cf2;--assoc-item-link-color:#d2991d;--function-link-color:#2bab63;--macro-link-color:#09bd00;--keyword-link-color:#d2991d;--mod-link-color:#d2991d;--link-color:#d2991d;--sidebar-link-color:#fdbf35;--sidebar-current-link-background-color:#444;--search-result-link-focus-background-color:#616161;--search-result-border-color:#aaa3;--search-color:#111;--search-error-code-background-color:#484848;--search-results-alias-color:#fff;--search-results-grey-color:#ccc;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#252525;--search-tab-button-not-selected-background:#252525;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#353535;--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ab8ac1;--code-highlight-kw-2-color:#769acb;--code-highlight-lifetime-color:#d97f26;--code-highlight-prelude-color:#769acb;--code-highlight-prelude-val-color:#ee6868;--code-highlight-number-color:#83a300;--code-highlight-string-color:#83a300;--code-highlight-literal-color:#ee6868;--code-highlight-attribute-color:#ee6868;--code-highlight-self-color:#ee6868;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8d8d8b;--code-highlight-doc-comment-color:#8ca375;--src-line-numbers-span-color:#3b91e2;--src-line-number-highlighted-background-color:#0a042f;--test-arrow-color:#dedede;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#dedede;--test-arrow-hover-background-color:#4e8bca;--target-background-color:#494a3d;--target-border-color:#bb7410;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(94%) sepia(0%) saturate(721%) hue-rotate(255deg) brightness(90%) contrast(90%);--crate-search-div-hover-filter:invert(69%) sepia(60%) saturate(6613%) hue-rotate(184deg) brightness(100%) contrast(91%);--crate-search-hover-border:#2196f3;--src-sidebar-background-selected:#333;--src-sidebar-background-hover:#444;--table-alt-row-background-color:#2a2a2a;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(53,53,53,1);--scrape-example-code-wrapper-background-end:rgba(53,53,53,0);--sidebar-resizer-hover:hsl(207,30%,54%);--sidebar-resizer-active:hsl(207,90%,54%);}:root[data-theme="ayu"]{--main-background-color:#0f1419;--main-color:#c5c5c5;--settings-input-color:#ffb454;--settings-input-border-color:#999;--settings-button-color:#fff;--settings-button-border-focus:#e0e0e0;--sidebar-background-color:#14191f;--sidebar-background-color-hover:rgba(70,70,70,0.33);--code-block-background-color:#191f26;--scrollbar-track-background-color:transparent;--scrollbar-thumb-background-color:#5c6773;--scrollbar-color:#5c6773 #24292f;--headings-border-bottom-color:#5c6773;--border-color:#5c6773;--button-background-color:#141920;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--mobile-sidebar-menu-filter:invert(100%);--search-input-focused-border-color:#5c6773;--copy-path-button-color:#fff;--copy-path-img-filter:invert(70%);--copy-path-img-hover-filter:invert(100%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ffa0a5;--trait-link-color:#39afd7;--assoc-item-link-color:#39afd7;--function-link-color:#fdd687;--macro-link-color:#a37acc;--keyword-link-color:#39afd7;--mod-link-color:#39afd7;--link-color:#39afd7;--sidebar-link-color:#53b1db;--sidebar-current-link-background-color:transparent;--search-result-link-focus-background-color:#3c3c3c;--search-result-border-color:#aaa3;--search-color:#fff;--search-error-code-background-color:#4f4c4c;--search-results-alias-color:#c5c5c5;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:none;--search-tab-button-not-selected-background:transparent !important;--search-tab-button-selected-border-top-color:none;--search-tab-button-selected-background:#141920 !important;--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ff7733;--code-highlight-kw-2-color:#ff7733;--code-highlight-lifetime-color:#ff7733;--code-highlight-prelude-color:#69f2df;--code-highlight-prelude-val-color:#ff7733;--code-highlight-number-color:#b8cc52;--code-highlight-string-color:#b8cc52;--code-highlight-literal-color:#ff7733;--code-highlight-attribute-color:#e6e1cf;--code-highlight-self-color:#36a3d9;--code-highlight-macro-color:#a37acc;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#788797;--code-highlight-doc-comment-color:#a1ac88;--src-line-numbers-span-color:#5c6773;--src-line-number-highlighted-background-color:rgba(255,236,164,0.06);--test-arrow-color:#788797;--test-arrow-background-color:rgba(57,175,215,0.09);--test-arrow-hover-color:#c5c5c5;--test-arrow-hover-background-color:rgba(57,175,215,0.368);--target-background-color:rgba(255,236,164,0.06);--target-border-color:rgba(255,180,76,0.85);--kbd-color:#c5c5c5;--kbd-background:#314559;--kbd-box-shadow-color:#5c6773;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(41%) sepia(12%) saturate(487%) hue-rotate(171deg) brightness(94%) contrast(94%);--crate-search-div-hover-filter:invert(98%) sepia(12%) saturate(81%) hue-rotate(343deg) brightness(113%) contrast(76%);--crate-search-hover-border:#e0e0e0;--src-sidebar-background-selected:#14191f;--src-sidebar-background-hover:#14191f;--table-alt-row-background-color:#191f26;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(15,20,25,1);--scrape-example-code-wrapper-background-end:rgba(15,20,25,0);--sidebar-resizer-hover:hsl(34,50%,33%);--sidebar-resizer-active:hsl(34,100%,66%);}:root[data-theme="ayu"] h1,:root[data-theme="ayu"] h2,:root[data-theme="ayu"] h3,:root[data-theme="ayu"] h4,:where(:root[data-theme="ayu"]) h1 a,:root[data-theme="ayu"] .sidebar h2 a,:root[data-theme="ayu"] .sidebar h3 a{color:#fff;}:root[data-theme="ayu"] .docblock code{color:#ffb454;}:root[data-theme="ayu"] .docblock a>code{color:#39AFD7 !important;}:root[data-theme="ayu"] .code-header,:root[data-theme="ayu"] .docblock pre>code,:root[data-theme="ayu"] pre,:root[data-theme="ayu"] pre>code,:root[data-theme="ayu"] .item-info code,:root[data-theme="ayu"] .rustdoc.source .example-wrap{color:#e6e1cf;}:root[data-theme="ayu"] .sidebar .current,:root[data-theme="ayu"] .sidebar .current a,:root[data-theme="ayu"] .sidebar a:hover,:root[data-theme="ayu"] #src-sidebar div.files>a:hover,:root[data-theme="ayu"] details.dir-entry summary:hover,:root[data-theme="ayu"] #src-sidebar div.files>a:focus,:root[data-theme="ayu"] details.dir-entry summary:focus,:root[data-theme="ayu"] #src-sidebar div.files>a.selected{color:#ffb44c;}:root[data-theme="ayu"] .sidebar-elems .location{color:#ff7733;}:root[data-theme="ayu"] .src-line-numbers .line-highlighted{color:#708090;padding-right:7px;border-right:1px solid #ffb44c;}:root[data-theme="ayu"] .search-results a:hover,:root[data-theme="ayu"] .search-results a:focus{color:#fff !important;background-color:#3c3c3c;}:root[data-theme="ayu"] .search-results a{color:#0096cf;}:root[data-theme="ayu"] .search-results a div.desc{color:#c5c5c5;}:root[data-theme="ayu"] .result-name .primitive>i,:root[data-theme="ayu"] .result-name .keyword>i{color:#788797;}:root[data-theme="ayu"] #search-tabs>button.selected{border-bottom:1px solid #ffb44c !important;border-top:none;}:root[data-theme="ayu"] #search-tabs>button:not(.selected){border:none;background-color:transparent !important;}:root[data-theme="ayu"] #search-tabs>button:hover{border-bottom:1px solid rgba(242,151,24,0.3);}:root[data-theme="ayu"] #settings-menu>a img,:root[data-theme="ayu"] #sidebar-button>a:before{filter:invert(100);} \ No newline at end of file + ');width:22px;height:22px;}.sidebar-menu-toggle:before{filter:var(--mobile-sidebar-menu-filter);}.sidebar-menu-toggle:hover{background:var(--main-background-color);}.item-table,.item-row,.item-table>li,.item-table>li>div,.search-results>a,.search-results>a>div{display:block;}.search-results>a{padding:5px 0px;}.search-results>a>div.desc,.item-table>li>div.desc{padding-left:2em;}.search-results .result-name{display:block;}.search-results .result-name .typename{width:initial;margin-right:0;}.search-results .result-name .typename,.search-results .result-name .path{display:inline;}.src-sidebar-expanded .src .sidebar{position:fixed;max-width:100vw;width:100vw;}.src .src-sidebar-title{padding-top:0;}details.toggle:not(.top-doc)>summary{margin-left:10px;}.impl-items>details.toggle>summary:not(.hideme)::before,#main-content>details.toggle:not(.top-doc)>summary::before,#main-content>div>details.toggle>summary::before{left:-11px;}.impl-items>.item-info{margin-left:34px;}.src nav.sub{margin:0;padding:var(--nav-sub-mobile-padding);}}@media (min-width:701px){.scraped-example-title{position:absolute;z-index:10;background:var(--main-background-color);bottom:8px;right:5px;padding:2px 4px;box-shadow:0 0 4px var(--main-background-color);}}@media print{nav.sidebar,nav.sub,.out-of-band,a.src,#copy-path,details.toggle[open] >summary::before,details.toggle>summary::before,details.toggle.top-doc>summary{display:none;}.docblock{margin-left:0;}main{padding:10px;}}@media (max-width:464px){.docblock{margin-left:12px;}.docblock code{overflow-wrap:break-word;overflow-wrap:anywhere;}nav.sub{flex-direction:column;}.search-form{align-self:stretch;}}.variant,.implementors-toggle>summary,.impl,#implementors-list>.docblock,.impl-items>section,.impl-items>.toggle>summary,.methods>section,.methods>.toggle>summary{margin-bottom:0.75em;}.variants>.docblock,.implementors-toggle>.docblock,.impl-items>.toggle[open]:not(:last-child),.methods>.toggle[open]:not(:last-child),.implementors-toggle[open]:not(:last-child){margin-bottom:2em;}#trait-implementations-list .impl-items>.toggle:not(:last-child),#synthetic-implementations-list .impl-items>.toggle:not(:last-child),#blanket-implementations-list .impl-items>.toggle:not(:last-child){margin-bottom:1em;}.scraped-example-list .scrape-help{margin-left:10px;padding:0 4px;font-weight:normal;font-size:12px;position:relative;bottom:1px;border:1px solid var(--scrape-example-help-border-color);border-radius:50px;color:var(--scrape-example-help-color);}.scraped-example-list .scrape-help:hover{border-color:var(--scrape-example-help-hover-border-color);color:var(--scrape-example-help-hover-color);}.scraped-example{position:relative;}.scraped-example .code-wrapper{position:relative;display:flex;flex-direction:row;flex-wrap:wrap;width:100%;}.scraped-example:not(.expanded) .code-wrapper{max-height:calc(1.5em * 5 + 10px);}.scraped-example:not(.expanded) .code-wrapper pre{overflow-y:hidden;padding-bottom:0;max-height:calc(1.5em * 5 + 10px);}.more-scraped-examples .scraped-example:not(.expanded) .code-wrapper,.more-scraped-examples .scraped-example:not(.expanded) .code-wrapper pre{max-height:calc(1.5em * 10 + 10px);}.scraped-example .code-wrapper .next,.scraped-example .code-wrapper .prev,.scraped-example .code-wrapper .expand{color:var(--main-color);position:absolute;top:0.25em;z-index:1;padding:0;background:none;border:none;-webkit-appearance:none;opacity:1;}.scraped-example .code-wrapper .prev{right:2.25em;}.scraped-example .code-wrapper .next{right:1.25em;}.scraped-example .code-wrapper .expand{right:0.25em;}.scraped-example:not(.expanded) .code-wrapper::before,.scraped-example:not(.expanded) .code-wrapper::after{content:" ";width:100%;height:5px;position:absolute;z-index:1;}.scraped-example:not(.expanded) .code-wrapper::before{top:0;background:linear-gradient(to bottom,var(--scrape-example-code-wrapper-background-start),var(--scrape-example-code-wrapper-background-end));}.scraped-example:not(.expanded) .code-wrapper::after{bottom:0;background:linear-gradient(to top,var(--scrape-example-code-wrapper-background-start),var(--scrape-example-code-wrapper-background-end));}.scraped-example .code-wrapper .example-wrap{width:100%;overflow-y:hidden;margin-bottom:0;}.scraped-example:not(.expanded) .code-wrapper .example-wrap{overflow-x:hidden;}.scraped-example .example-wrap .rust span.highlight{background:var(--scrape-example-code-line-highlight);}.scraped-example .example-wrap .rust span.highlight.focus{background:var(--scrape-example-code-line-highlight-focus);}.more-examples-toggle{max-width:calc(100% + 25px);margin-top:10px;margin-left:-25px;}.more-examples-toggle .hide-more{margin-left:25px;cursor:pointer;}.more-scraped-examples{margin-left:25px;position:relative;}.toggle-line{position:absolute;top:5px;bottom:0;right:calc(100% + 10px);padding:0 4px;cursor:pointer;}.toggle-line-inner{min-width:2px;height:100%;background:var(--scrape-example-toggle-line-background);}.toggle-line:hover .toggle-line-inner{background:var(--scrape-example-toggle-line-hover-background);}.more-scraped-examples .scraped-example,.example-links{margin-top:20px;}.more-scraped-examples .scraped-example:first-child{margin-top:5px;}.example-links ul{margin-bottom:0;}:root[data-theme="light"],:root:not([data-theme]){--main-background-color:white;--main-color:black;--settings-input-color:#2196f3;--settings-input-border-color:#717171;--settings-button-color:#000;--settings-button-border-focus:#717171;--sidebar-background-color:#f5f5f5;--sidebar-background-color-hover:#e0e0e0;--code-block-background-color:#f5f5f5;--scrollbar-track-background-color:#dcdcdc;--scrollbar-thumb-background-color:rgba(36,37,39,0.6);--scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;--headings-border-bottom-color:#ddd;--border-color:#e0e0e0;--button-background-color:#fff;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:none;--mobile-sidebar-menu-filter:none;--search-input-focused-border-color:#66afe9;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(35%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ad378a;--trait-link-color:#6e4fc9;--assoc-item-link-color:#3873ad;--function-link-color:#ad7c37;--macro-link-color:#068000;--keyword-link-color:#3873ad;--mod-link-color:#3873ad;--link-color:#3873ad;--sidebar-link-color:#356da4;--sidebar-current-link-background-color:#fff;--search-result-link-focus-background-color:#ccc;--search-result-border-color:#aaa3;--search-color:#000;--search-error-code-background-color:#d0cccc;--search-results-alias-color:#000;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#e6e6e6;--search-tab-button-not-selected-background:#e6e6e6;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#fff;--stab-background-color:#fff5d6;--stab-code-color:#000;--code-highlight-kw-color:#8959a8;--code-highlight-kw-2-color:#4271ae;--code-highlight-lifetime-color:#b76514;--code-highlight-prelude-color:#4271ae;--code-highlight-prelude-val-color:#c82829;--code-highlight-number-color:#718c00;--code-highlight-string-color:#718c00;--code-highlight-literal-color:#c82829;--code-highlight-attribute-color:#c82829;--code-highlight-self-color:#c82829;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8e908c;--code-highlight-doc-comment-color:#4d4d4c;--src-line-numbers-span-color:#c67e2d;--src-line-number-highlighted-background-color:#fdffd3;--test-arrow-color:#f5f5f5;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#f5f5f5;--test-arrow-hover-background-color:rgb(78,139,202);--target-background-color:#fdffd3;--target-border-color:#ad7c37;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:initial;--crate-search-div-filter:invert(100%) sepia(0%) saturate(4223%) hue-rotate(289deg) brightness(114%) contrast(76%);--crate-search-div-hover-filter:invert(44%) sepia(18%) saturate(23%) hue-rotate(317deg) brightness(96%) contrast(93%);--crate-search-hover-border:#717171;--src-sidebar-background-selected:#fff;--src-sidebar-background-hover:#e0e0e0;--table-alt-row-background-color:#f5f5f5;--codeblock-link-background:#eee;--scrape-example-toggle-line-background:#ccc;--scrape-example-toggle-line-hover-background:#999;--scrape-example-code-line-highlight:#fcffd6;--scrape-example-code-line-highlight-focus:#f6fdb0;--scrape-example-help-border-color:#555;--scrape-example-help-color:#333;--scrape-example-help-hover-border-color:#000;--scrape-example-help-hover-color:#000;--scrape-example-code-wrapper-background-start:rgba(255,255,255,1);--scrape-example-code-wrapper-background-end:rgba(255,255,255,0);--sidebar-resizer-hover:hsl(207,90%,66%);--sidebar-resizer-active:hsl(207,90%,54%);}:root[data-theme="dark"]{--main-background-color:#353535;--main-color:#ddd;--settings-input-color:#2196f3;--settings-input-border-color:#999;--settings-button-color:#000;--settings-button-border-focus:#ffb900;--sidebar-background-color:#505050;--sidebar-background-color-hover:#676767;--code-block-background-color:#2A2A2A;--scrollbar-track-background-color:#717171;--scrollbar-thumb-background-color:rgba(32,34,37,.6);--scrollbar-color:rgba(32,34,37,.6) #5a5a5a;--headings-border-bottom-color:#d2d2d2;--border-color:#e0e0e0;--button-background-color:#f0f0f0;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--mobile-sidebar-menu-filter:invert(100%);--search-input-focused-border-color:#008dfd;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(65%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#2dbfb8;--trait-link-color:#b78cf2;--assoc-item-link-color:#d2991d;--function-link-color:#2bab63;--macro-link-color:#09bd00;--keyword-link-color:#d2991d;--mod-link-color:#d2991d;--link-color:#d2991d;--sidebar-link-color:#fdbf35;--sidebar-current-link-background-color:#444;--search-result-link-focus-background-color:#616161;--search-result-border-color:#aaa3;--search-color:#111;--search-error-code-background-color:#484848;--search-results-alias-color:#fff;--search-results-grey-color:#ccc;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#252525;--search-tab-button-not-selected-background:#252525;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#353535;--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ab8ac1;--code-highlight-kw-2-color:#769acb;--code-highlight-lifetime-color:#d97f26;--code-highlight-prelude-color:#769acb;--code-highlight-prelude-val-color:#ee6868;--code-highlight-number-color:#83a300;--code-highlight-string-color:#83a300;--code-highlight-literal-color:#ee6868;--code-highlight-attribute-color:#ee6868;--code-highlight-self-color:#ee6868;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8d8d8b;--code-highlight-doc-comment-color:#8ca375;--src-line-numbers-span-color:#3b91e2;--src-line-number-highlighted-background-color:#0a042f;--test-arrow-color:#dedede;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#dedede;--test-arrow-hover-background-color:#4e8bca;--target-background-color:#494a3d;--target-border-color:#bb7410;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(94%) sepia(0%) saturate(721%) hue-rotate(255deg) brightness(90%) contrast(90%);--crate-search-div-hover-filter:invert(69%) sepia(60%) saturate(6613%) hue-rotate(184deg) brightness(100%) contrast(91%);--crate-search-hover-border:#2196f3;--src-sidebar-background-selected:#333;--src-sidebar-background-hover:#444;--table-alt-row-background-color:#2a2a2a;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(53,53,53,1);--scrape-example-code-wrapper-background-end:rgba(53,53,53,0);--sidebar-resizer-hover:hsl(207,30%,54%);--sidebar-resizer-active:hsl(207,90%,54%);}:root[data-theme="ayu"]{--main-background-color:#0f1419;--main-color:#c5c5c5;--settings-input-color:#ffb454;--settings-input-border-color:#999;--settings-button-color:#fff;--settings-button-border-focus:#e0e0e0;--sidebar-background-color:#14191f;--sidebar-background-color-hover:rgba(70,70,70,0.33);--code-block-background-color:#191f26;--scrollbar-track-background-color:transparent;--scrollbar-thumb-background-color:#5c6773;--scrollbar-color:#5c6773 #24292f;--headings-border-bottom-color:#5c6773;--border-color:#5c6773;--button-background-color:#141920;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--mobile-sidebar-menu-filter:invert(100%);--search-input-focused-border-color:#5c6773;--copy-path-button-color:#fff;--copy-path-img-filter:invert(70%);--copy-path-img-hover-filter:invert(100%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ffa0a5;--trait-link-color:#39afd7;--assoc-item-link-color:#39afd7;--function-link-color:#fdd687;--macro-link-color:#a37acc;--keyword-link-color:#39afd7;--mod-link-color:#39afd7;--link-color:#39afd7;--sidebar-link-color:#53b1db;--sidebar-current-link-background-color:transparent;--search-result-link-focus-background-color:#3c3c3c;--search-result-border-color:#aaa3;--search-color:#fff;--search-error-code-background-color:#4f4c4c;--search-results-alias-color:#c5c5c5;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:none;--search-tab-button-not-selected-background:transparent !important;--search-tab-button-selected-border-top-color:none;--search-tab-button-selected-background:#141920 !important;--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ff7733;--code-highlight-kw-2-color:#ff7733;--code-highlight-lifetime-color:#ff7733;--code-highlight-prelude-color:#69f2df;--code-highlight-prelude-val-color:#ff7733;--code-highlight-number-color:#b8cc52;--code-highlight-string-color:#b8cc52;--code-highlight-literal-color:#ff7733;--code-highlight-attribute-color:#e6e1cf;--code-highlight-self-color:#36a3d9;--code-highlight-macro-color:#a37acc;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#788797;--code-highlight-doc-comment-color:#a1ac88;--src-line-numbers-span-color:#5c6773;--src-line-number-highlighted-background-color:rgba(255,236,164,0.06);--test-arrow-color:#788797;--test-arrow-background-color:rgba(57,175,215,0.09);--test-arrow-hover-color:#c5c5c5;--test-arrow-hover-background-color:rgba(57,175,215,0.368);--target-background-color:rgba(255,236,164,0.06);--target-border-color:rgba(255,180,76,0.85);--kbd-color:#c5c5c5;--kbd-background:#314559;--kbd-box-shadow-color:#5c6773;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(41%) sepia(12%) saturate(487%) hue-rotate(171deg) brightness(94%) contrast(94%);--crate-search-div-hover-filter:invert(98%) sepia(12%) saturate(81%) hue-rotate(343deg) brightness(113%) contrast(76%);--crate-search-hover-border:#e0e0e0;--src-sidebar-background-selected:#14191f;--src-sidebar-background-hover:#14191f;--table-alt-row-background-color:#191f26;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(15,20,25,1);--scrape-example-code-wrapper-background-end:rgba(15,20,25,0);--sidebar-resizer-hover:hsl(34,50%,33%);--sidebar-resizer-active:hsl(34,100%,66%);}:root[data-theme="ayu"] h1,:root[data-theme="ayu"] h2,:root[data-theme="ayu"] h3,:root[data-theme="ayu"] h4,:where(:root[data-theme="ayu"]) h1 a,:root[data-theme="ayu"] .sidebar h2 a,:root[data-theme="ayu"] .sidebar h3 a{color:#fff;}:root[data-theme="ayu"] .docblock code{color:#ffb454;}:root[data-theme="ayu"] .docblock a>code{color:#39AFD7 !important;}:root[data-theme="ayu"] .code-header,:root[data-theme="ayu"] .docblock pre>code,:root[data-theme="ayu"] pre,:root[data-theme="ayu"] pre>code,:root[data-theme="ayu"] .item-info code,:root[data-theme="ayu"] .rustdoc.source .example-wrap{color:#e6e1cf;}:root[data-theme="ayu"] .sidebar .current,:root[data-theme="ayu"] .sidebar .current a,:root[data-theme="ayu"] .sidebar a:hover,:root[data-theme="ayu"] #src-sidebar div.files>a:hover,:root[data-theme="ayu"] details.dir-entry summary:hover,:root[data-theme="ayu"] #src-sidebar div.files>a:focus,:root[data-theme="ayu"] details.dir-entry summary:focus,:root[data-theme="ayu"] #src-sidebar div.files>a.selected{color:#ffb44c;}:root[data-theme="ayu"] .sidebar-elems .location{color:#ff7733;}:root[data-theme="ayu"] .src-line-numbers .line-highlighted{color:#708090;padding-right:7px;border-right:1px solid #ffb44c;}:root[data-theme="ayu"] .search-results a:hover,:root[data-theme="ayu"] .search-results a:focus{color:#fff !important;background-color:#3c3c3c;}:root[data-theme="ayu"] .search-results a{color:#0096cf;}:root[data-theme="ayu"] .search-results a div.desc{color:#c5c5c5;}:root[data-theme="ayu"] .result-name .primitive>i,:root[data-theme="ayu"] .result-name .keyword>i{color:#788797;}:root[data-theme="ayu"] #search-tabs>button.selected{border-bottom:1px solid #ffb44c !important;border-top:none;}:root[data-theme="ayu"] #search-tabs>button:not(.selected){border:none;background-color:transparent !important;}:root[data-theme="ayu"] #search-tabs>button:hover{border-bottom:1px solid rgba(242,151,24,0.3);}:root[data-theme="ayu"] #settings-menu>a img,:root[data-theme="ayu"] #sidebar-button>a:before{filter:invert(100);} \ No newline at end of file diff --git a/static.files/search-dd67cee4cfa65049.js b/static.files/search-dd67cee4cfa65049.js deleted file mode 100644 index ef8bf865a..000000000 --- a/static.files/search-dd67cee4cfa65049.js +++ /dev/null @@ -1,5 +0,0 @@ -"use strict";if(!Array.prototype.toSpliced){Array.prototype.toSpliced=function(){const me=this.slice();Array.prototype.splice.apply(me,arguments);return me}}(function(){const itemTypes=["keyword","primitive","mod","externcrate","import","struct","enum","fn","type","static","trait","impl","tymethod","method","structfield","variant","macro","associatedtype","constant","associatedconstant","union","foreigntype","existential","attr","derive","traitalias","generic",];const longItemTypes=["keyword","primitive type","module","extern crate","re-export","struct","enum","function","type alias","static","trait","","trait method","method","struct field","enum variant","macro","assoc type","constant","assoc const","union","foreign type","existential type","attribute macro","derive macro","trait alias",];const TY_GENERIC=itemTypes.indexOf("generic");const ROOT_PATH=typeof window!=="undefined"?window.rootPath:"../";function printTab(nb){let iter=0;let foundCurrentTab=false;let foundCurrentResultSet=false;onEachLazy(document.getElementById("search-tabs").childNodes,elem=>{if(nb===iter){addClass(elem,"selected");foundCurrentTab=true}else{removeClass(elem,"selected")}iter+=1});const isTypeSearch=(nb>0||iter===1);iter=0;onEachLazy(document.getElementById("results").childNodes,elem=>{if(nb===iter){addClass(elem,"active");foundCurrentResultSet=true}else{removeClass(elem,"active")}iter+=1});if(foundCurrentTab&&foundCurrentResultSet){searchState.currentTab=nb;const correctionsElem=document.getElementsByClassName("search-corrections");if(isTypeSearch){removeClass(correctionsElem[0],"hidden")}else{addClass(correctionsElem[0],"hidden")}}else if(nb!==0){printTab(0)}}const editDistanceState={current:[],prev:[],prevPrev:[],calculate:function calculate(a,b,limit){if(a.lengthlimit){return limit+1}while(b.length>0&&b[0]===a[0]){a=a.substring(1);b=b.substring(1)}while(b.length>0&&b[b.length-1]===a[a.length-1]){a=a.substring(0,a.length-1);b=b.substring(0,b.length-1)}if(b.length===0){return minDist}const aLength=a.length;const bLength=b.length;for(let i=0;i<=bLength;++i){this.current[i]=0;this.prev[i]=i;this.prevPrev[i]=Number.MAX_VALUE}for(let i=1;i<=aLength;++i){this.current[0]=i;const aIdx=i-1;for(let j=1;j<=bLength;++j){const bIdx=j-1;const substitutionCost=a[aIdx]===b[bIdx]?0:1;this.current[j]=Math.min(this.prev[j]+1,this.current[j-1]+1,this.prev[j-1]+substitutionCost);if((i>1)&&(j>1)&&(a[aIdx]===b[bIdx-1])&&(a[aIdx-1]===b[bIdx])){this.current[j]=Math.min(this.current[j],this.prevPrev[j-2]+1)}}const prevPrevTmp=this.prevPrev;this.prevPrev=this.prev;this.prev=this.current;this.current=prevPrevTmp}const distance=this.prev[bLength];return distance<=limit?distance:(limit+1)},};function editDistance(a,b,limit){return editDistanceState.calculate(a,b,limit)}function initSearch(rawSearchIndex){const MAX_RESULTS=200;const NO_TYPE_FILTER=-1;let searchIndex;let functionTypeFingerprint;let currentResults;let typeNameIdMap;const ALIASES=new Map();let typeNameIdOfArray;let typeNameIdOfSlice;let typeNameIdOfArrayOrSlice;let typeNameIdOfTuple;let typeNameIdOfUnit;let typeNameIdOfTupleOrUnit;function buildTypeMapIndex(name,isAssocType){if(name===""||name===null){return null}if(typeNameIdMap.has(name)){const obj=typeNameIdMap.get(name);obj.assocOnly=isAssocType&&obj.assocOnly;return obj.id}else{const id=typeNameIdMap.size;typeNameIdMap.set(name,{id,assocOnly:isAssocType});return id}}function isSpecialStartCharacter(c){return"<\"".indexOf(c)!==-1}function isEndCharacter(c){return"=,>-])".indexOf(c)!==-1}function itemTypeFromName(typename){const index=itemTypes.findIndex(i=>i===typename);if(index<0){throw["Unknown type filter ",typename]}return index}function getStringElem(query,parserState,isInGenerics){if(isInGenerics){throw["Unexpected ","\""," in generics"]}else if(query.literalSearch){throw["Cannot have more than one literal search element"]}else if(parserState.totalElems-parserState.genericsElems>0){throw["Cannot use literal search when there is more than one element"]}parserState.pos+=1;const start=parserState.pos;const end=getIdentEndPosition(parserState);if(parserState.pos>=parserState.length){throw["Unclosed ","\""]}else if(parserState.userQuery[end]!=="\""){throw["Unexpected ",parserState.userQuery[end]," in a string element"]}else if(start===end){throw["Cannot have empty string element"]}parserState.pos+=1;query.literalSearch=true}function isPathStart(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="::"}function isReturnArrow(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="->"}function isIdentCharacter(c){return(c==="_"||(c>="0"&&c<="9")||(c>="a"&&c<="z")||(c>="A"&&c<="Z"))}function isSeparatorCharacter(c){return c===","||c==="="}function isPathSeparator(c){return c===":"||c===" "}function prevIs(parserState,lookingFor){let pos=parserState.pos;while(pos>0){const c=parserState.userQuery[pos-1];if(c===lookingFor){return true}else if(c!==" "){break}pos-=1}return false}function isLastElemGeneric(elems,parserState){return(elems.length>0&&elems[elems.length-1].generics.length>0)||prevIs(parserState,">")}function skipWhitespace(parserState){while(parserState.pos0){throw["Cannot have more than one element if you use quotes"]}const typeFilter=parserState.typeFilter;parserState.typeFilter=null;if(name==="!"){if(typeFilter!==null&&typeFilter!=="primitive"){throw["Invalid search type: primitive never type ","!"," and ",typeFilter," both specified",]}if(generics.length!==0){throw["Never type ","!"," does not accept generic parameters",]}const bindingName=parserState.isInBinding;parserState.isInBinding=null;return{name:"never",id:null,fullPath:["never"],pathWithoutLast:[],pathLast:"never",normalizedPathLast:"never",generics:[],bindings:new Map(),typeFilter:"primitive",bindingName,}}const quadcolon=/::\s*::/.exec(path);if(path.startsWith("::")){throw["Paths cannot start with ","::"]}else if(path.endsWith("::")){throw["Paths cannot end with ","::"]}else if(quadcolon!==null){throw["Unexpected ",quadcolon[0]]}const pathSegments=path.split(/(?:::\s*)|(?:\s+(?:::\s*)?)/);if(pathSegments.length===0||(pathSegments.length===1&&pathSegments[0]==="")){if(generics.length>0||prevIs(parserState,">")){throw["Found generics without a path"]}else{throw["Unexpected ",parserState.userQuery[parserState.pos]]}}for(const[i,pathSegment]of pathSegments.entries()){if(pathSegment==="!"){if(i!==0){throw["Never type ","!"," is not associated item"]}pathSegments[i]="never"}}parserState.totalElems+=1;if(isInGenerics){parserState.genericsElems+=1}const bindingName=parserState.isInBinding;parserState.isInBinding=null;const bindings=new Map();const pathLast=pathSegments[pathSegments.length-1];return{name:name.trim(),id:null,fullPath:pathSegments,pathWithoutLast:pathSegments.slice(0,pathSegments.length-1),pathLast,normalizedPathLast:pathLast.replace(/_/g,""),generics:generics.filter(gen=>{if(gen.bindingName!==null){bindings.set(gen.bindingName.name,[gen,...gen.bindingName.generics]);return false}return true}),bindings,typeFilter,bindingName,}}function getIdentEndPosition(parserState){const start=parserState.pos;let end=parserState.pos;let foundExclamation=-1;while(parserState.pos0){throw["Unexpected ",c," after ",parserState.userQuery[parserState.pos-1]]}else{throw["Unexpected ",c]}}parserState.pos+=1;end=parserState.pos}if(foundExclamation!==-1&&foundExclamation!==start&&isIdentCharacter(parserState.userQuery[foundExclamation-1])){if(parserState.typeFilter===null){parserState.typeFilter="macro"}else if(parserState.typeFilter!=="macro"){throw["Invalid search type: macro ","!"," and ",parserState.typeFilter," both specified",]}end=foundExclamation}return end}function getNextElem(query,parserState,elems,isInGenerics){const generics=[];skipWhitespace(parserState);let start=parserState.pos;let end;if("[(".indexOf(parserState.userQuery[parserState.pos])!==-1){let endChar=")";let name="()";let friendlyName="tuple";if(parserState.userQuery[parserState.pos]==="["){endChar="]";name="[]";friendlyName="slice"}parserState.pos+=1;const{foundSeparator}=getItemsBefore(query,parserState,generics,endChar);const typeFilter=parserState.typeFilter;const isInBinding=parserState.isInBinding;if(typeFilter!==null&&typeFilter!=="primitive"){throw["Invalid search type: primitive ",name," and ",typeFilter," both specified",]}parserState.typeFilter=null;parserState.isInBinding=null;for(const gen of generics){if(gen.bindingName!==null){throw["Type parameter ","=",` cannot be within ${friendlyName} `,name]}}if(name==="()"&&!foundSeparator&&generics.length===1&&typeFilter===null){elems.push(generics[0])}else{parserState.totalElems+=1;if(isInGenerics){parserState.genericsElems+=1}elems.push({name:name,id:null,fullPath:[name],pathWithoutLast:[],pathLast:name,normalizedPathLast:name,generics,bindings:new Map(),typeFilter:"primitive",bindingName:isInBinding,})}}else{const isStringElem=parserState.userQuery[start]==="\"";if(isStringElem){start+=1;getStringElem(query,parserState,isInGenerics);end=parserState.pos-1}else{end=getIdentEndPosition(parserState)}if(parserState.pos=end){throw["Found generics without a path"]}parserState.pos+=1;getItemsBefore(query,parserState,generics,">")}if(isStringElem){skipWhitespace(parserState)}if(start>=end&&generics.length===0){return}if(parserState.userQuery[parserState.pos]==="="){if(parserState.isInBinding){throw["Cannot write ","="," twice in a binding"]}if(!isInGenerics){throw["Type parameter ","="," must be within generics list"]}const name=parserState.userQuery.slice(start,end).trim();if(name==="!"){throw["Type parameter ","="," key cannot be ","!"," never type"]}if(name.includes("!")){throw["Type parameter ","="," key cannot be ","!"," macro"]}if(name.includes("::")){throw["Type parameter ","="," key cannot contain ","::"," path"]}if(name.includes(":")){throw["Type parameter ","="," key cannot contain ",":"," type"]}parserState.isInBinding={name,generics}}else{elems.push(createQueryElement(query,parserState,parserState.userQuery.slice(start,end),generics,isInGenerics))}}}function getItemsBefore(query,parserState,elems,endChar){let foundStopChar=true;let foundSeparator=false;let start=parserState.pos;const oldTypeFilter=parserState.typeFilter;parserState.typeFilter=null;const oldIsInBinding=parserState.isInBinding;parserState.isInBinding=null;let extra="";if(endChar===">"){extra="<"}else if(endChar==="]"){extra="["}else if(endChar===")"){extra="("}else if(endChar===""){extra="->"}else{extra=endChar}while(parserState.pos"]}else if(prevIs(parserState,"\"")){throw["Cannot have more than one element if you use quotes"]}if(endChar!==""){throw["Expected ",",",", ","=",", or ",endChar,...extra,", found ",c,]}throw["Expected ",","," or ","=",...extra,", found ",c,]}const posBefore=parserState.pos;start=parserState.pos;getNextElem(query,parserState,elems,endChar!=="");if(endChar!==""&&parserState.pos>=parserState.length){throw["Unclosed ",extra]}if(posBefore===parserState.pos){parserState.pos+=1}foundStopChar=false}if(parserState.pos>=parserState.length&&endChar!==""){throw["Unclosed ",extra]}parserState.pos+=1;parserState.typeFilter=oldTypeFilter;parserState.isInBinding=oldIsInBinding;return{foundSeparator}}function checkExtraTypeFilterCharacters(start,parserState){const query=parserState.userQuery.slice(start,parserState.pos).trim();for(const c in query){if(!isIdentCharacter(query[c])){throw["Unexpected ",query[c]," in type filter (before ",":",")",]}}}function parseInput(query,parserState){let foundStopChar=true;let start=parserState.pos;while(parserState.pos"){if(isReturnArrow(parserState)){break}throw["Unexpected ",c," (did you mean ","->","?)"]}else if(parserState.pos>0){throw["Unexpected ",c," after ",parserState.userQuery[parserState.pos-1]]}throw["Unexpected ",c]}else if(c===":"&&!isPathStart(parserState)){if(parserState.typeFilter!==null){throw["Unexpected ",":"," (expected path after type filter ",parserState.typeFilter+":",")",]}else if(query.elems.length===0){throw["Expected type filter before ",":"]}else if(query.literalSearch){throw["Cannot use quotes on type filter"]}const typeFilterElem=query.elems.pop();checkExtraTypeFilterCharacters(start,parserState);parserState.typeFilter=typeFilterElem.name;parserState.pos+=1;parserState.totalElems-=1;query.literalSearch=false;foundStopChar=true;continue}else if(c===" "){skipWhitespace(parserState);continue}if(!foundStopChar){let extra="";if(isLastElemGeneric(query.elems,parserState)){extra=[" after ",">"]}else if(prevIs(parserState,"\"")){throw["Cannot have more than one element if you use quotes"]}if(parserState.typeFilter!==null){throw["Expected ",","," or ","->",...extra,", found ",c,]}throw["Expected ",",",", ",":"," or ","->",...extra,", found ",c,]}const before=query.elems.length;start=parserState.pos;getNextElem(query,parserState,query.elems,false);if(query.elems.length===before){parserState.pos+=1}foundStopChar=false}if(parserState.typeFilter!==null){throw["Unexpected ",":"," (expected path after type filter ",parserState.typeFilter+":",")",]}while(parserState.pos"]}break}else{parserState.pos+=1}}}function newParsedQuery(userQuery){return{original:userQuery,userQuery:userQuery.toLowerCase(),elems:[],returned:[],foundElems:0,totalElems:0,literalSearch:false,error:null,correction:null,proposeCorrectionFrom:null,proposeCorrectionTo:null,typeFingerprint:new Uint32Array(4),}}function buildUrl(search,filterCrates){let extra="?search="+encodeURIComponent(search);if(filterCrates!==null){extra+="&filter-crate="+encodeURIComponent(filterCrates)}return getNakedUrl()+extra+window.location.hash}function getFilterCrates(){const elem=document.getElementById("crate-search");if(elem&&elem.value!=="all crates"&&rawSearchIndex.has(elem.value)){return elem.value}return null}function parseQuery(userQuery){function convertTypeFilterOnElem(elem){if(elem.typeFilter!==null){let typeFilter=elem.typeFilter;if(typeFilter==="const"){typeFilter="constant"}elem.typeFilter=itemTypeFromName(typeFilter)}else{elem.typeFilter=NO_TYPE_FILTER}for(const elem2 of elem.generics){convertTypeFilterOnElem(elem2)}for(const constraints of elem.bindings.values()){for(const constraint of constraints){convertTypeFilterOnElem(constraint)}}}userQuery=userQuery.trim().replace(/\r|\n|\t/g," ");const parserState={length:userQuery.length,pos:0,totalElems:0,genericsElems:0,typeFilter:null,isInBinding:null,userQuery:userQuery.toLowerCase(),};let query=newParsedQuery(userQuery);try{parseInput(query,parserState);for(const elem of query.elems){convertTypeFilterOnElem(elem)}for(const elem of query.returned){convertTypeFilterOnElem(elem)}}catch(err){query=newParsedQuery(userQuery);query.error=err;return query}if(!query.literalSearch){query.literalSearch=parserState.totalElems>1}query.foundElems=query.elems.length+query.returned.length;query.totalElems=parserState.totalElems;return query}function createQueryResults(results_in_args,results_returned,results_others,parsedQuery){return{"in_args":results_in_args,"returned":results_returned,"others":results_others,"query":parsedQuery,}}function execQuery(parsedQuery,filterCrates,currentCrate){const results_others=new Map(),results_in_args=new Map(),results_returned=new Map();function transformResults(results){const duplicates=new Set();const out=[];for(const result of results){if(result.id!==-1){const obj=searchIndex[result.id];obj.dist=result.dist;const res=buildHrefAndPath(obj);obj.displayPath=pathSplitter(res[0]);obj.fullPath=obj.displayPath+obj.name;obj.fullPath+="|"+obj.ty;if(duplicates.has(obj.fullPath)){continue}duplicates.add(obj.fullPath);obj.href=res[1];out.push(obj);if(out.length>=MAX_RESULTS){break}}}return out}function sortResults(results,isType,preferredCrate){if(results.size===0){return[]}const userQuery=parsedQuery.userQuery;const result_list=[];for(const result of results.values()){result.item=searchIndex[result.id];result.word=searchIndex[result.id].word;result_list.push(result)}result_list.sort((aaa,bbb)=>{let a,b;a=(aaa.word!==userQuery);b=(bbb.word!==userQuery);if(a!==b){return a-b}a=(aaa.index<0);b=(bbb.index<0);if(a!==b){return a-b}a=aaa.path_dist;b=bbb.path_dist;if(a!==b){return a-b}a=aaa.index;b=bbb.index;if(a!==b){return a-b}a=(aaa.dist);b=(bbb.dist);if(a!==b){return a-b}a=aaa.item.deprecated;b=bbb.item.deprecated;if(a!==b){return a-b}a=(aaa.item.crate!==preferredCrate);b=(bbb.item.crate!==preferredCrate);if(a!==b){return a-b}a=aaa.word.length;b=bbb.word.length;if(a!==b){return a-b}a=aaa.word;b=bbb.word;if(a!==b){return(a>b?+1:-1)}a=(aaa.item.desc==="");b=(bbb.item.desc==="");if(a!==b){return a-b}a=aaa.item.ty;b=bbb.item.ty;if(a!==b){return a-b}a=aaa.item.path;b=bbb.item.path;if(a!==b){return(a>b?+1:-1)}return 0});return transformResults(result_list)}function unifyFunctionTypes(fnTypesIn,queryElems,whereClause,mgensIn,solutionCb){const mgens=mgensIn===null?null:new Map(mgensIn);if(queryElems.length===0){return!solutionCb||solutionCb(mgens)}if(!fnTypesIn||fnTypesIn.length===0){return false}const ql=queryElems.length;const fl=fnTypesIn.length;if(ql===1&&queryElems[0].generics.length===0&&queryElems[0].bindings.size===0){const queryElem=queryElems[0];for(const fnType of fnTypesIn){if(!unifyFunctionTypeIsMatchCandidate(fnType,queryElem,whereClause,mgens)){continue}if(fnType.id<0&&queryElem.id<0){if(mgens&&mgens.has(fnType.id)&&mgens.get(fnType.id)!==queryElem.id){continue}const mgensScratch=new Map(mgens);mgensScratch.set(fnType.id,queryElem.id);if(!solutionCb||solutionCb(mgensScratch)){return true}}else if(!solutionCb||solutionCb(mgens?new Map(mgens):null)){return true}}for(const fnType of fnTypesIn){if(!unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens)){continue}if(fnType.id<0){if(mgens&&mgens.has(fnType.id)&&mgens.get(fnType.id)!==0){continue}const mgensScratch=new Map(mgens);mgensScratch.set(fnType.id,0);if(unifyFunctionTypes(whereClause[(-fnType.id)-1],queryElems,whereClause,mgensScratch,solutionCb)){return true}}else if(unifyFunctionTypes([...fnType.generics,...Array.from(fnType.bindings.values()).flat()],queryElems,whereClause,mgens?new Map(mgens):null,solutionCb)){return true}}return false}const fnTypes=fnTypesIn.slice();const flast=fl-1;const qlast=ql-1;const queryElem=queryElems[qlast];let queryElemsTmp=null;for(let i=flast;i>=0;i-=1){const fnType=fnTypes[i];if(!unifyFunctionTypeIsMatchCandidate(fnType,queryElem,whereClause,mgens)){continue}let mgensScratch;if(fnType.id<0){mgensScratch=new Map(mgens);if(mgensScratch.has(fnType.id)&&mgensScratch.get(fnType.id)!==queryElem.id){continue}mgensScratch.set(fnType.id,queryElem.id)}else{mgensScratch=mgens}fnTypes[i]=fnTypes[flast];fnTypes.length=flast;if(!queryElemsTmp){queryElemsTmp=queryElems.slice(0,qlast)}const passesUnification=unifyFunctionTypes(fnTypes,queryElemsTmp,whereClause,mgensScratch,mgensScratch=>{if(fnType.generics.length===0&&queryElem.generics.length===0&&fnType.bindings.size===0&&queryElem.bindings.size===0){return!solutionCb||solutionCb(mgensScratch)}const solution=unifyFunctionTypeCheckBindings(fnType,queryElem,whereClause,mgensScratch);if(!solution){return false}const simplifiedGenerics=solution.simplifiedGenerics;for(const simplifiedMgens of solution.mgens){const passesUnification=unifyFunctionTypes(simplifiedGenerics,queryElem.generics,whereClause,simplifiedMgens,solutionCb);if(passesUnification){return true}}return false});if(passesUnification){return true}fnTypes[flast]=fnTypes[i];fnTypes[i]=fnType;fnTypes.length=fl}for(let i=flast;i>=0;i-=1){const fnType=fnTypes[i];if(!unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens)){continue}let mgensScratch;if(fnType.id<0){mgensScratch=new Map(mgens);if(mgensScratch.has(fnType.id)&&mgensScratch.get(fnType.id)!==0){continue}mgensScratch.set(fnType.id,0)}else{mgensScratch=mgens}const generics=fnType.id<0?whereClause[(-fnType.id)-1]:fnType.generics;const bindings=fnType.bindings?Array.from(fnType.bindings.values()).flat():[];const passesUnification=unifyFunctionTypes(fnTypes.toSpliced(i,1,...generics,...bindings),queryElems,whereClause,mgensScratch,solutionCb);if(passesUnification){return true}}return false}function unifyFunctionTypeIsMatchCandidate(fnType,queryElem,whereClause,mgensIn){if(!typePassesFilter(queryElem.typeFilter,fnType.ty)){return false}if(fnType.id<0&&queryElem.id<0){if(mgensIn){if(mgensIn.has(fnType.id)&&mgensIn.get(fnType.id)!==queryElem.id){return false}for(const[fid,qid]of mgensIn.entries()){if(fnType.id!==fid&&queryElem.id===qid){return false}if(fnType.id===fid&&queryElem.id!==qid){return false}}}return true}else{if(queryElem.id===typeNameIdOfArrayOrSlice&&(fnType.id===typeNameIdOfSlice||fnType.id===typeNameIdOfArray)){}else if(queryElem.id===typeNameIdOfTupleOrUnit&&(fnType.id===typeNameIdOfTuple||fnType.id===typeNameIdOfUnit)){}else if(fnType.id!==queryElem.id||queryElem.id===null){return false}if((fnType.generics.length+fnType.bindings.size)===0&&queryElem.generics.length!==0){return false}if(fnType.bindings.size0){const fnTypePath=fnType.path!==undefined&&fnType.path!==null?fnType.path.split("::"):[];if(queryElemPathLength>fnTypePath.length){return false}let i=0;for(const path of fnTypePath){if(path===queryElem.pathWithoutLast[i]){i+=1;if(i>=queryElemPathLength){break}}}if(i0){let mgensSolutionSet=[mgensIn];for(const[name,constraints]of queryElem.bindings.entries()){if(mgensSolutionSet.length===0){return false}if(!fnType.bindings.has(name)){return false}const fnTypeBindings=fnType.bindings.get(name);mgensSolutionSet=mgensSolutionSet.flatMap(mgens=>{const newSolutions=[];unifyFunctionTypes(fnTypeBindings,constraints,whereClause,mgens,newMgens=>{newSolutions.push(newMgens);return false});return newSolutions})}if(mgensSolutionSet.length===0){return false}const binds=Array.from(fnType.bindings.entries()).flatMap(entry=>{const[name,constraints]=entry;if(queryElem.bindings.has(name)){return[]}else{return constraints}});if(simplifiedGenerics.length>0){simplifiedGenerics=[...simplifiedGenerics,...binds]}else{simplifiedGenerics=binds}return{simplifiedGenerics,mgens:mgensSolutionSet}}return{simplifiedGenerics,mgens:[mgensIn]}}function unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens){if(fnType.id<0&&queryElem.id>=0){if(!whereClause){return false}if(mgens&&mgens.has(fnType.id)&&mgens.get(fnType.id)!==0){return false}const mgensTmp=new Map(mgens);mgensTmp.set(fnType.id,null);return checkIfInList(whereClause[(-fnType.id)-1],queryElem,whereClause,mgensTmp)}else if(fnType.generics.length>0||fnType.bindings.size>0){const simplifiedGenerics=[...fnType.generics,...Array.from(fnType.bindings.values()).flat(),];return checkIfInList(simplifiedGenerics,queryElem,whereClause,mgens)}return false}function checkIfInList(list,elem,whereClause,mgens){for(const entry of list){if(checkType(entry,elem,whereClause,mgens)){return true}}return false}function checkType(row,elem,whereClause,mgens){if(row.bindings.size===0&&elem.bindings.size===0){if(elem.id<0){return row.id<0||checkIfInList(row.generics,elem,whereClause,mgens)}if(row.id>0&&elem.id>0&&elem.pathWithoutLast.length===0&&typePassesFilter(elem.typeFilter,row.ty)&&elem.generics.length===0&&elem.id!==typeNameIdOfArrayOrSlice&&elem.id!==typeNameIdOfTupleOrUnit){return row.id===elem.id||checkIfInList(row.generics,elem,whereClause,mgens)}}return unifyFunctionTypes([row],[elem],whereClause,mgens)}function checkPath(contains,ty){if(contains.length===0){return 0}const maxPathEditDistance=Math.floor(contains.reduce((acc,next)=>acc+next.length,0)/3);let ret_dist=maxPathEditDistance+1;const path=ty.path.split("::");if(ty.parent&&ty.parent.name){path.push(ty.parent.name.toLowerCase())}const length=path.length;const clength=contains.length;pathiter:for(let i=length-clength;i>=0;i-=1){let dist_total=0;for(let x=0;xmaxPathEditDistance){continue pathiter}dist_total+=dist}}ret_dist=Math.min(ret_dist,Math.round(dist_total/clength))}return ret_dist>maxPathEditDistance?null:ret_dist}function typePassesFilter(filter,type){if(filter<=NO_TYPE_FILTER||filter===type)return true;const name=itemTypes[type];switch(itemTypes[filter]){case"constant":return name==="associatedconstant";case"fn":return name==="method"||name==="tymethod";case"type":return name==="primitive"||name==="associatedtype";case"trait":return name==="traitalias"}return false}function createAliasFromItem(item){return{crate:item.crate,name:item.name,path:item.path,desc:item.desc,ty:item.ty,parent:item.parent,type:item.type,is_alias:true,deprecated:item.deprecated,implDisambiguator:item.implDisambiguator,}}function handleAliases(ret,query,filterCrates,currentCrate){const lowerQuery=query.toLowerCase();const aliases=[];const crateAliases=[];if(filterCrates!==null){if(ALIASES.has(filterCrates)&&ALIASES.get(filterCrates).has(lowerQuery)){const query_aliases=ALIASES.get(filterCrates).get(lowerQuery);for(const alias of query_aliases){aliases.push(createAliasFromItem(searchIndex[alias]))}}}else{for(const[crate,crateAliasesIndex]of ALIASES){if(crateAliasesIndex.has(lowerQuery)){const pushTo=crate===currentCrate?crateAliases:aliases;const query_aliases=crateAliasesIndex.get(lowerQuery);for(const alias of query_aliases){pushTo.push(createAliasFromItem(searchIndex[alias]))}}}}const sortFunc=(aaa,bbb)=>{if(aaa.path{alias.alias=query;const res=buildHrefAndPath(alias);alias.displayPath=pathSplitter(res[0]);alias.fullPath=alias.displayPath+alias.name;alias.href=res[1];ret.others.unshift(alias);if(ret.others.length>MAX_RESULTS){ret.others.pop()}};aliases.forEach(pushFunc);crateAliases.forEach(pushFunc)}function addIntoResults(results,fullId,id,index,dist,path_dist,maxEditDistance){if(dist<=maxEditDistance||index!==-1){if(results.has(fullId)){const result=results.get(fullId);if(result.dontValidate||result.dist<=dist){return}}results.set(fullId,{id:id,index:index,dontValidate:parsedQuery.literalSearch,dist:dist,path_dist:path_dist,})}}function handleSingleArg(row,pos,elem,results_others,results_in_args,results_returned,maxEditDistance){if(!row||(filterCrates!==null&&row.crate!==filterCrates)){return}let path_dist=0;const fullId=row.id;const tfpDist=compareTypeFingerprints(fullId,parsedQuery.typeFingerprint);if(tfpDist!==null){const in_args=row.type&&row.type.inputs&&checkIfInList(row.type.inputs,elem,row.type.where_clause);const returned=row.type&&row.type.output&&checkIfInList(row.type.output,elem,row.type.where_clause);if(in_args){results_in_args.max_dist=Math.max(results_in_args.max_dist||0,tfpDist);const maxDist=results_in_args.sizenormalizedIndex&&normalizedIndex!==-1)){index=normalizedIndex}if(elem.fullPath.length>1){path_dist=checkPath(elem.pathWithoutLast,row);if(path_dist===null){return}}if(parsedQuery.literalSearch){if(row.word===elem.pathLast){addIntoResults(results_others,fullId,pos,index,0,path_dist)}return}const dist=editDistance(row.normalizedName,elem.normalizedPathLast,maxEditDistance);if(index===-1&&dist>maxEditDistance){return}addIntoResults(results_others,fullId,pos,index,dist,path_dist,maxEditDistance)}function handleArgs(row,pos,results){if(!row||(filterCrates!==null&&row.crate!==filterCrates)||!row.type){return}const tfpDist=compareTypeFingerprints(row.id,parsedQuery.typeFingerprint);if(tfpDist===null){return}if(results.size>=MAX_RESULTS&&tfpDist>results.max_dist){return}if(!unifyFunctionTypes(row.type.inputs,parsedQuery.elems,row.type.where_clause,null,mgens=>{return unifyFunctionTypes(row.type.output,parsedQuery.returned,row.type.where_clause,mgens)})){return}results.max_dist=Math.max(results.max_dist||0,tfpDist);addIntoResults(results,row.id,pos,0,tfpDist,0,Number.MAX_VALUE)}function innerRunQuery(){const queryLen=parsedQuery.elems.reduce((acc,next)=>acc+next.pathLast.length,0)+parsedQuery.returned.reduce((acc,next)=>acc+next.pathLast.length,0);const maxEditDistance=Math.floor(queryLen/3);const genericSymbols=new Map();function convertNameToId(elem,isAssocType){if(typeNameIdMap.has(elem.normalizedPathLast)&&(isAssocType||!typeNameIdMap.get(elem.normalizedPathLast).assocOnly)){elem.id=typeNameIdMap.get(elem.normalizedPathLast).id}else if(!parsedQuery.literalSearch){let match=null;let matchDist=maxEditDistance+1;let matchName="";for(const[name,{id,assocOnly}]of typeNameIdMap){const dist=editDistance(name,elem.normalizedPathLast,maxEditDistance);if(dist<=matchDist&&dist<=maxEditDistance&&(isAssocType||!assocOnly)){if(dist===matchDist&&matchName>name){continue}match=id;matchDist=dist;matchName=name}}if(match!==null){parsedQuery.correction=matchName}elem.id=match}if((elem.id===null&&parsedQuery.totalElems>1&&elem.typeFilter===-1&&elem.generics.length===0&&elem.bindings.size===0)||elem.typeFilter===TY_GENERIC){if(genericSymbols.has(elem.name)){elem.id=genericSymbols.get(elem.name)}else{elem.id=-(genericSymbols.size+1);genericSymbols.set(elem.name,elem.id)}if(elem.typeFilter===-1&&elem.name.length>=3){const maxPartDistance=Math.floor(elem.name.length/3);let matchDist=maxPartDistance+1;let matchName="";for(const name of typeNameIdMap.keys()){const dist=editDistance(name,elem.name,maxPartDistance);if(dist<=matchDist&&dist<=maxPartDistance){if(dist===matchDist&&matchName>name){continue}matchDist=dist;matchName=name}}if(matchName!==""){parsedQuery.proposeCorrectionFrom=elem.name;parsedQuery.proposeCorrectionTo=matchName}}elem.typeFilter=TY_GENERIC}if(elem.generics.length>0&&elem.typeFilter===TY_GENERIC){parsedQuery.error=["Generic type parameter ",elem.name," does not accept generic parameters",]}for(const elem2 of elem.generics){convertNameToId(elem2)}elem.bindings=new Map(Array.from(elem.bindings.entries()).map(entry=>{const[name,constraints]=entry;if(!typeNameIdMap.has(name)){parsedQuery.error=["Type parameter ",name," does not exist",];return[null,[]]}for(const elem2 of constraints){convertNameToId(elem2)}return[typeNameIdMap.get(name).id,constraints]}))}const fps=new Set();for(const elem of parsedQuery.elems){convertNameToId(elem);buildFunctionTypeFingerprint(elem,parsedQuery.typeFingerprint,fps)}for(const elem of parsedQuery.returned){convertNameToId(elem);buildFunctionTypeFingerprint(elem,parsedQuery.typeFingerprint,fps)}if(parsedQuery.foundElems===1&&parsedQuery.returned.length===0){if(parsedQuery.elems.length===1){const elem=parsedQuery.elems[0];for(let i=0,nSearchIndex=searchIndex.length;i0){const sortQ=(a,b)=>{const ag=a.generics.length===0&&a.bindings.size===0;const bg=b.generics.length===0&&b.bindings.size===0;if(ag!==bg){return ag-bg}const ai=a.id>0;const bi=b.id>0;return ai-bi};parsedQuery.elems.sort(sortQ);parsedQuery.returned.sort(sortQ);for(let i=0,nSearchIndex=searchIndex.length;i");if(tmp.endsWith("")){return tmp.slice(0,tmp.length-6)}return tmp}function addTab(array,query,display){const extraClass=display?" active":"";const output=document.createElement("div");if(array.length>0){output.className="search-results "+extraClass;array.forEach(item=>{const name=item.name;const type=itemTypes[item.ty];const longType=longItemTypes[item.ty];const typeName=longType.length!==0?`${longType}`:"?";const link=document.createElement("a");link.className="result-"+type;link.href=item.href;const resultName=document.createElement("div");resultName.className="result-name";resultName.insertAdjacentHTML("beforeend",`${typeName}`);link.appendChild(resultName);let alias=" ";if(item.is_alias){alias=`
\ -${item.alias} - see \ -
`}resultName.insertAdjacentHTML("beforeend",`
${alias}\ -${item.displayPath}${name}\ -
`);const description=document.createElement("div");description.className="desc";description.insertAdjacentHTML("beforeend",item.desc);link.appendChild(description);output.appendChild(link)})}else if(query.error===null){output.className="search-failed"+extraClass;output.innerHTML="No results :(
"+"Try on DuckDuckGo?

"+"Or try looking in one of these:"}return[output,array.length]}function makeTabHeader(tabNb,text,nbElems){const fmtNbElems=nbElems<10?`\u{2007}(${nbElems})\u{2007}\u{2007}`:nbElems<100?`\u{2007}(${nbElems})\u{2007}`:`\u{2007}(${nbElems})`;if(searchState.currentTab===tabNb){return""}return""}function showResults(results,go_to_first,filterCrates){const search=searchState.outputElement();if(go_to_first||(results.others.length===1&&getSettingValue("go-to-only-result")==="true")){window.onunload=()=>{};searchState.removeQueryParameters();const elem=document.createElement("a");elem.href=results.others[0].href;removeClass(elem,"active");document.body.appendChild(elem);elem.click();return}if(results.query===undefined){results.query=parseQuery(searchState.input.value)}currentResults=results.query.userQuery;const ret_others=addTab(results.others,results.query,true);const ret_in_args=addTab(results.in_args,results.query,false);const ret_returned=addTab(results.returned,results.query,false);let currentTab=searchState.currentTab;if((currentTab===0&&ret_others[1]===0)||(currentTab===1&&ret_in_args[1]===0)||(currentTab===2&&ret_returned[1]===0)){if(ret_others[1]!==0){currentTab=0}else if(ret_in_args[1]!==0){currentTab=1}else if(ret_returned[1]!==0){currentTab=2}}let crates="";if(rawSearchIndex.size>1){crates=" in 
"}let output=`

Results${crates}

`;if(results.query.error!==null){const error=results.query.error;error.forEach((value,index)=>{value=value.split("<").join("<").split(">").join(">");if(index%2!==0){error[index]=`${value.replaceAll(" ", " ")}`}else{error[index]=value}});output+=`

Query parser error: "${error.join("")}".

`;output+="
"+makeTabHeader(0,"In Names",ret_others[1])+"
";currentTab=0}else if(results.query.foundElems<=1&&results.query.returned.length===0){output+="
"+makeTabHeader(0,"In Names",ret_others[1])+makeTabHeader(1,"In Parameters",ret_in_args[1])+makeTabHeader(2,"In Return Types",ret_returned[1])+"
"}else{const signatureTabTitle=results.query.elems.length===0?"In Function Return Types":results.query.returned.length===0?"In Function Parameters":"In Function Signatures";output+="
"+makeTabHeader(0,signatureTabTitle,ret_others[1])+"
";currentTab=0}if(results.query.correction!==null){const orig=results.query.returned.length>0?results.query.returned[0].name:results.query.elems[0].name;output+="

"+`Type "${orig}" not found. `+"Showing results for closest type name "+`"${results.query.correction}" instead.

`}if(results.query.proposeCorrectionFrom!==null){const orig=results.query.proposeCorrectionFrom;const targ=results.query.proposeCorrectionTo;output+="

"+`Type "${orig}" not found and used as generic parameter. `+`Consider searching for "${targ}" instead.

`}const resultsElem=document.createElement("div");resultsElem.id="results";resultsElem.appendChild(ret_others[0]);resultsElem.appendChild(ret_in_args[0]);resultsElem.appendChild(ret_returned[0]);search.innerHTML=output;const crateSearch=document.getElementById("crate-search");if(crateSearch){crateSearch.addEventListener("input",updateCrate)}search.appendChild(resultsElem);searchState.showResults(search);const elems=document.getElementById("search-tabs").childNodes;searchState.focusedByTab=[];let i=0;for(const elem of elems){const j=i;elem.onclick=()=>printTab(j);searchState.focusedByTab.push(null);i+=1}printTab(currentTab)}function updateSearchHistory(url){if(!browserSupportsHistoryApi()){return}const params=searchState.getQueryStringParams();if(!history.state&&!params.search){history.pushState(null,"",url)}else{history.replaceState(null,"",url)}}function search(forced){const query=parseQuery(searchState.input.value.trim());let filterCrates=getFilterCrates();if(!forced&&query.userQuery===currentResults){if(query.userQuery.length>0){putBackSearch()}return}searchState.setLoadingSearch();const params=searchState.getQueryStringParams();if(filterCrates===null&¶ms["filter-crate"]!==undefined){filterCrates=params["filter-crate"]}searchState.title="Results for "+query.original+" - Rust";updateSearchHistory(buildUrl(query.original,filterCrates));showResults(execQuery(query,filterCrates,window.currentCrate),params.go_to_first,filterCrates)}function buildItemSearchTypeAll(types,lowercasePaths){return types.length>0?types.map(type=>buildItemSearchType(type,lowercasePaths)):EMPTY_GENERICS_ARRAY}const EMPTY_BINDINGS_MAP=new Map();const EMPTY_GENERICS_ARRAY=[];let TYPES_POOL=new Map();function buildItemSearchType(type,lowercasePaths,isAssocType){const PATH_INDEX_DATA=0;const GENERICS_DATA=1;const BINDINGS_DATA=2;let pathIndex,generics,bindings;if(typeof type==="number"){pathIndex=type;generics=EMPTY_GENERICS_ARRAY;bindings=EMPTY_BINDINGS_MAP}else{pathIndex=type[PATH_INDEX_DATA];generics=buildItemSearchTypeAll(type[GENERICS_DATA],lowercasePaths);if(type.length>BINDINGS_DATA&&type[BINDINGS_DATA].length>0){bindings=new Map(type[BINDINGS_DATA].map(binding=>{const[assocType,constraints]=binding;return[buildItemSearchType(assocType,lowercasePaths,true).id,buildItemSearchTypeAll(constraints,lowercasePaths),]}))}else{bindings=EMPTY_BINDINGS_MAP}}let result;if(pathIndex<0){result={id:pathIndex,ty:TY_GENERIC,path:null,generics,bindings,}}else if(pathIndex===0){result={id:null,ty:null,path:null,generics,bindings,}}else{const item=lowercasePaths[pathIndex-1];result={id:buildTypeMapIndex(item.name,isAssocType),ty:item.ty,path:item.path,generics,bindings,}}const cr=TYPES_POOL.get(result.id);if(cr){if(cr.generics.length===result.generics.length&&cr.generics!==result.generics&&cr.generics.every((x,i)=>result.generics[i]===x)){result.generics=cr.generics}if(cr.bindings.size===result.bindings.size&&cr.bindings!==result.bindings){let ok=true;for(const[k,v]of cr.bindings.entries()){const v2=result.bindings.get(v);if(!v2){ok=false;break}if(v!==v2&&v.length===v2.length&&v.every((x,i)=>v2[i]===x)){result.bindings.set(k,v)}else if(v!==v2){ok=false;break}}if(ok){result.bindings=cr.bindings}}if(cr.ty===result.ty&&cr.path===result.path&&cr.bindings===result.bindings&&cr.generics===result.generics&&cr.ty===result.ty){return cr}}TYPES_POOL.set(result.id,result);return result}function buildFunctionSearchType(itemFunctionDecoder,lowercasePaths){const c=itemFunctionDecoder.string.charCodeAt(itemFunctionDecoder.offset);itemFunctionDecoder.offset+=1;const[zero,ua,la,ob,cb]=["0","@","`","{","}"].map(c=>c.charCodeAt(0));if(c===la){return null}if(c>=zero&&c>1];itemFunctionDecoder.offset+=1;return sign?-value:value}const functionSearchType=decodeList();const INPUTS_DATA=0;const OUTPUT_DATA=1;let inputs,output;if(typeof functionSearchType[INPUTS_DATA]==="number"){inputs=[buildItemSearchType(functionSearchType[INPUTS_DATA],lowercasePaths)]}else{inputs=buildItemSearchTypeAll(functionSearchType[INPUTS_DATA],lowercasePaths)}if(functionSearchType.length>1){if(typeof functionSearchType[OUTPUT_DATA]==="number"){output=[buildItemSearchType(functionSearchType[OUTPUT_DATA],lowercasePaths)]}else{output=buildItemSearchTypeAll(functionSearchType[OUTPUT_DATA],lowercasePaths)}}else{output=[]}const where_clause=[];const l=functionSearchType.length;for(let i=2;i16){itemFunctionDecoder.backrefQueue.pop()}return ret}function buildFunctionTypeFingerprint(type,output,fps){let input=type.id;if(input===typeNameIdOfArray||input===typeNameIdOfSlice){input=typeNameIdOfArrayOrSlice}if(input===typeNameIdOfTuple||input===typeNameIdOfUnit){input=typeNameIdOfTupleOrUnit}const hashint1=k=>{k=(~~k+0x7ed55d16)+(k<<12);k=(k ^ 0xc761c23c)^(k>>>19);k=(~~k+0x165667b1)+(k<<5);k=(~~k+0xd3a2646c)^(k<<9);k=(~~k+0xfd7046c5)+(k<<3);return(k ^ 0xb55a4f09)^(k>>>16)};const hashint2=k=>{k=~k+(k<<15);k ^=k>>>12;k+=k<<2;k ^=k>>>4;k=Math.imul(k,2057);return k ^(k>>16)};if(input!==null){const h0a=hashint1(input);const h0b=hashint2(input);const h1a=~~(h0a+Math.imul(h0b,2));const h1b=~~(h0a+Math.imul(h0b,3));const h2a=~~(h0a+Math.imul(h0b,4));const h2b=~~(h0a+Math.imul(h0b,5));output[0]|=(1<<(h0a%32))|(1<<(h1b%32));output[1]|=(1<<(h1a%32))|(1<<(h2b%32));output[2]|=(1<<(h2a%32))|(1<<(h0b%32));fps.add(input)}for(const g of type.generics){buildFunctionTypeFingerprint(g,output,fps)}const fb={id:null,ty:0,generics:EMPTY_GENERICS_ARRAY,bindings:EMPTY_BINDINGS_MAP,};for(const[k,v]of type.bindings.entries()){fb.id=k;fb.generics=v;buildFunctionTypeFingerprint(fb,output,fps)}output[3]=fps.size}function compareTypeFingerprints(fullId,queryFingerprint){const fh0=functionTypeFingerprint[fullId*4];const fh1=functionTypeFingerprint[(fullId*4)+1];const fh2=functionTypeFingerprint[(fullId*4)+2];const[qh0,qh1,qh2]=queryFingerprint;const[in0,in1,in2]=[fh0&qh0,fh1&qh1,fh2&qh2];if((in0 ^ qh0)||(in1 ^ qh1)||(in2 ^ qh2)){return null}return functionTypeFingerprint[(fullId*4)+3]}function buildIndex(rawSearchIndex){searchIndex=[];typeNameIdMap=new Map();const charA="A".charCodeAt(0);let currentIndex=0;let id=0;typeNameIdOfArray=buildTypeMapIndex("array");typeNameIdOfSlice=buildTypeMapIndex("slice");typeNameIdOfTuple=buildTypeMapIndex("tuple");typeNameIdOfUnit=buildTypeMapIndex("unit");typeNameIdOfArrayOrSlice=buildTypeMapIndex("[]");typeNameIdOfTupleOrUnit=buildTypeMapIndex("()");for(const crate of rawSearchIndex.values()){id+=crate.t.length+1}functionTypeFingerprint=new Uint32Array((id+1)*4);id=0;for(const[crate,crateCorpus]of rawSearchIndex){const crateRow={crate:crate,ty:3,name:crate,path:"",desc:crateCorpus.doc,parent:undefined,type:null,id:id,word:crate,normalizedName:crate.indexOf("_")===-1?crate:crate.replace(/_/g,""),deprecated:null,implDisambiguator:null,};id+=1;searchIndex.push(crateRow);currentIndex+=1;const itemTypes=crateCorpus.t;const itemNames=crateCorpus.n;const itemPaths=new Map(crateCorpus.q);const itemDescs=crateCorpus.d;const itemParentIdxs=crateCorpus.i;const itemFunctionDecoder={string:crateCorpus.f,offset:0,backrefQueue:[],};const deprecatedItems=new Set(crateCorpus.c);const implDisambiguator=new Map(crateCorpus.b);const paths=crateCorpus.p;const aliases=crateCorpus.a;const lowercasePaths=[];let len=paths.length;let lastPath=itemPaths.get(0);for(let i=0;i2){path=itemPaths.has(elem[2])?itemPaths.get(elem[2]):lastPath;lastPath=path}lowercasePaths.push({ty:ty,name:name.toLowerCase(),path:path});paths[i]={ty:ty,name:name,path:path}}lastPath="";len=itemTypes.length;for(let i=0;i0?paths[itemParentIdxs[i]-1]:undefined,type,id:id,word,normalizedName:word.indexOf("_")===-1?word:word.replace(/_/g,""),deprecated:deprecatedItems.has(i),implDisambiguator:implDisambiguator.has(i)?implDisambiguator.get(i):null,};id+=1;searchIndex.push(row);lastPath=row.path}if(aliases){const currentCrateAliases=new Map();ALIASES.set(crate,currentCrateAliases);for(const alias_name in aliases){if(!Object.prototype.hasOwnProperty.call(aliases,alias_name)){continue}let currentNameAliases;if(currentCrateAliases.has(alias_name)){currentNameAliases=currentCrateAliases.get(alias_name)}else{currentNameAliases=[];currentCrateAliases.set(alias_name,currentNameAliases)}for(const local_alias of aliases[alias_name]){currentNameAliases.push(local_alias+currentIndex)}}}currentIndex+=itemTypes.length}TYPES_POOL=new Map()}function onSearchSubmit(e){e.preventDefault();searchState.clearInputTimeout();search()}function putBackSearch(){const search_input=searchState.input;if(!searchState.input){return}if(search_input.value!==""&&!searchState.isDisplayed()){searchState.showResults();if(browserSupportsHistoryApi()){history.replaceState(null,"",buildUrl(search_input.value,getFilterCrates()))}document.title=searchState.title}}function registerSearchEvents(){const params=searchState.getQueryStringParams();if(searchState.input.value===""){searchState.input.value=params.search||""}const searchAfter500ms=()=>{searchState.clearInputTimeout();if(searchState.input.value.length===0){searchState.hideResults()}else{searchState.timeout=setTimeout(search,500)}};searchState.input.onkeyup=searchAfter500ms;searchState.input.oninput=searchAfter500ms;document.getElementsByClassName("search-form")[0].onsubmit=onSearchSubmit;searchState.input.onchange=e=>{if(e.target!==document.activeElement){return}searchState.clearInputTimeout();setTimeout(search,0)};searchState.input.onpaste=searchState.input.onchange;searchState.outputElement().addEventListener("keydown",e=>{if(e.altKey||e.ctrlKey||e.shiftKey||e.metaKey){return}if(e.which===38){const previous=document.activeElement.previousElementSibling;if(previous){previous.focus()}else{searchState.focus()}e.preventDefault()}else if(e.which===40){const next=document.activeElement.nextElementSibling;if(next){next.focus()}const rect=document.activeElement.getBoundingClientRect();if(window.innerHeight-rect.bottom{if(e.which===40){focusSearchResult();e.preventDefault()}});searchState.input.addEventListener("focus",()=>{putBackSearch()});searchState.input.addEventListener("blur",()=>{searchState.input.placeholder=searchState.input.origPlaceholder});if(browserSupportsHistoryApi()){const previousTitle=document.title;window.addEventListener("popstate",e=>{const params=searchState.getQueryStringParams();document.title=previousTitle;currentResults=null;if(params.search&¶ms.search.length>0){searchState.input.value=params.search;e.preventDefault();search()}else{searchState.input.value="";searchState.hideResults()}})}window.onpageshow=()=>{const qSearch=searchState.getQueryStringParams().search;if(searchState.input.value===""&&qSearch){searchState.input.value=qSearch}search()}}function updateCrate(ev){if(ev.target.value==="all crates"){const query=searchState.input.value.trim();updateSearchHistory(buildUrl(query,null))}currentResults=null;search(true)}buildIndex(rawSearchIndex);if(typeof window!=="undefined"){registerSearchEvents();if(window.searchState.getQueryStringParams().search){search()}}if(typeof exports!=="undefined"){exports.initSearch=initSearch;exports.execQuery=execQuery;exports.parseQuery=parseQuery}}if(typeof window!=="undefined"){window.initSearch=initSearch;if(window.searchIndex!==undefined){initSearch(window.searchIndex)}}else{initSearch(new Map())}})() \ No newline at end of file diff --git a/static.files/search-ffac13a0df2b1870.js b/static.files/search-ffac13a0df2b1870.js new file mode 100644 index 000000000..38185d9ed --- /dev/null +++ b/static.files/search-ffac13a0df2b1870.js @@ -0,0 +1,5 @@ +"use strict";if(!Array.prototype.toSpliced){Array.prototype.toSpliced=function(){const me=this.slice();Array.prototype.splice.apply(me,arguments);return me}}(function(){const itemTypes=["keyword","primitive","mod","externcrate","import","struct","enum","fn","type","static","trait","impl","tymethod","method","structfield","variant","macro","associatedtype","constant","associatedconstant","union","foreigntype","existential","attr","derive","traitalias","generic",];const longItemTypes=["keyword","primitive type","module","extern crate","re-export","struct","enum","function","type alias","static","trait","","trait method","method","struct field","enum variant","macro","assoc type","constant","assoc const","union","foreign type","existential type","attribute macro","derive macro","trait alias",];const TY_GENERIC=itemTypes.indexOf("generic");const ROOT_PATH=typeof window!=="undefined"?window.rootPath:"../";const UNBOXING_LIMIT=5;function printTab(nb){let iter=0;let foundCurrentTab=false;let foundCurrentResultSet=false;onEachLazy(document.getElementById("search-tabs").childNodes,elem=>{if(nb===iter){addClass(elem,"selected");foundCurrentTab=true}else{removeClass(elem,"selected")}iter+=1});const isTypeSearch=(nb>0||iter===1);iter=0;onEachLazy(document.getElementById("results").childNodes,elem=>{if(nb===iter){addClass(elem,"active");foundCurrentResultSet=true}else{removeClass(elem,"active")}iter+=1});if(foundCurrentTab&&foundCurrentResultSet){searchState.currentTab=nb;const correctionsElem=document.getElementsByClassName("search-corrections");if(isTypeSearch){removeClass(correctionsElem[0],"hidden")}else{addClass(correctionsElem[0],"hidden")}}else if(nb!==0){printTab(0)}}const editDistanceState={current:[],prev:[],prevPrev:[],calculate:function calculate(a,b,limit){if(a.lengthlimit){return limit+1}while(b.length>0&&b[0]===a[0]){a=a.substring(1);b=b.substring(1)}while(b.length>0&&b[b.length-1]===a[a.length-1]){a=a.substring(0,a.length-1);b=b.substring(0,b.length-1)}if(b.length===0){return minDist}const aLength=a.length;const bLength=b.length;for(let i=0;i<=bLength;++i){this.current[i]=0;this.prev[i]=i;this.prevPrev[i]=Number.MAX_VALUE}for(let i=1;i<=aLength;++i){this.current[0]=i;const aIdx=i-1;for(let j=1;j<=bLength;++j){const bIdx=j-1;const substitutionCost=a[aIdx]===b[bIdx]?0:1;this.current[j]=Math.min(this.prev[j]+1,this.current[j-1]+1,this.prev[j-1]+substitutionCost,);if((i>1)&&(j>1)&&(a[aIdx]===b[bIdx-1])&&(a[aIdx-1]===b[bIdx])){this.current[j]=Math.min(this.current[j],this.prevPrev[j-2]+1,)}}const prevPrevTmp=this.prevPrev;this.prevPrev=this.prev;this.prev=this.current;this.current=prevPrevTmp}const distance=this.prev[bLength];return distance<=limit?distance:(limit+1)},};function editDistance(a,b,limit){return editDistanceState.calculate(a,b,limit)}function initSearch(rawSearchIndex){const MAX_RESULTS=200;const NO_TYPE_FILTER=-1;let searchIndex;let searchIndexDeprecated;let searchIndexEmptyDesc;let functionTypeFingerprint;let currentResults;const typeNameIdMap=new Map();const ALIASES=new Map();const typeNameIdOfArray=buildTypeMapIndex("array");const typeNameIdOfSlice=buildTypeMapIndex("slice");const typeNameIdOfArrayOrSlice=buildTypeMapIndex("[]");const typeNameIdOfTuple=buildTypeMapIndex("tuple");const typeNameIdOfUnit=buildTypeMapIndex("unit");const typeNameIdOfTupleOrUnit=buildTypeMapIndex("()");const typeNameIdOfFn=buildTypeMapIndex("fn");const typeNameIdOfFnMut=buildTypeMapIndex("fnmut");const typeNameIdOfFnOnce=buildTypeMapIndex("fnonce");const typeNameIdOfHof=buildTypeMapIndex("->");function buildTypeMapIndex(name,isAssocType){if(name===""||name===null){return null}if(typeNameIdMap.has(name)){const obj=typeNameIdMap.get(name);obj.assocOnly=isAssocType&&obj.assocOnly;return obj.id}else{const id=typeNameIdMap.size;typeNameIdMap.set(name,{id,assocOnly:isAssocType});return id}}function isSpecialStartCharacter(c){return"<\"".indexOf(c)!==-1}function isEndCharacter(c){return"=,>-])".indexOf(c)!==-1}function itemTypeFromName(typename){const index=itemTypes.findIndex(i=>i===typename);if(index<0){throw["Unknown type filter ",typename]}return index}function getStringElem(query,parserState,isInGenerics){if(isInGenerics){throw["Unexpected ","\""," in generics"]}else if(query.literalSearch){throw["Cannot have more than one literal search element"]}else if(parserState.totalElems-parserState.genericsElems>0){throw["Cannot use literal search when there is more than one element"]}parserState.pos+=1;const start=parserState.pos;const end=getIdentEndPosition(parserState);if(parserState.pos>=parserState.length){throw["Unclosed ","\""]}else if(parserState.userQuery[end]!=="\""){throw["Unexpected ",parserState.userQuery[end]," in a string element"]}else if(start===end){throw["Cannot have empty string element"]}parserState.pos+=1;query.literalSearch=true}function isPathStart(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="::"}function isReturnArrow(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="->"}function isIdentCharacter(c){return(c==="_"||(c>="0"&&c<="9")||(c>="a"&&c<="z")||(c>="A"&&c<="Z"))}function isSeparatorCharacter(c){return c===","||c==="="}function isPathSeparator(c){return c===":"||c===" "}function prevIs(parserState,lookingFor){let pos=parserState.pos;while(pos>0){const c=parserState.userQuery[pos-1];if(c===lookingFor){return true}else if(c!==" "){break}pos-=1}return false}function isLastElemGeneric(elems,parserState){return(elems.length>0&&elems[elems.length-1].generics.length>0)||prevIs(parserState,">")}function skipWhitespace(parserState){while(parserState.pos0){throw["Cannot have more than one element if you use quotes"]}const typeFilter=parserState.typeFilter;parserState.typeFilter=null;if(name==="!"){if(typeFilter!==null&&typeFilter!=="primitive"){throw["Invalid search type: primitive never type ","!"," and ",typeFilter," both specified",]}if(generics.length!==0){throw["Never type ","!"," does not accept generic parameters",]}const bindingName=parserState.isInBinding;parserState.isInBinding=null;return makePrimitiveElement("never",{bindingName})}const quadcolon=/::\s*::/.exec(path);if(path.startsWith("::")){throw["Paths cannot start with ","::"]}else if(path.endsWith("::")){throw["Paths cannot end with ","::"]}else if(quadcolon!==null){throw["Unexpected ",quadcolon[0]]}const pathSegments=path.split(/(?:::\s*)|(?:\s+(?:::\s*)?)/);if(pathSegments.length===0||(pathSegments.length===1&&pathSegments[0]==="")){if(generics.length>0||prevIs(parserState,">")){throw["Found generics without a path"]}else{throw["Unexpected ",parserState.userQuery[parserState.pos]]}}for(const[i,pathSegment]of pathSegments.entries()){if(pathSegment==="!"){if(i!==0){throw["Never type ","!"," is not associated item"]}pathSegments[i]="never"}}parserState.totalElems+=1;if(isInGenerics){parserState.genericsElems+=1}const bindingName=parserState.isInBinding;parserState.isInBinding=null;const bindings=new Map();const pathLast=pathSegments[pathSegments.length-1];return{name:name.trim(),id:null,fullPath:pathSegments,pathWithoutLast:pathSegments.slice(0,pathSegments.length-1),pathLast,normalizedPathLast:pathLast.replace(/_/g,""),generics:generics.filter(gen=>{if(gen.bindingName!==null){if(gen.name!==null){gen.bindingName.generics.unshift(gen)}bindings.set(gen.bindingName.name,gen.bindingName.generics);return false}return true}),bindings,typeFilter,bindingName,}}function getIdentEndPosition(parserState){const start=parserState.pos;let end=parserState.pos;let foundExclamation=-1;while(parserState.pos0){throw["Unexpected ",c," after ",parserState.userQuery[parserState.pos-1]]}else{throw["Unexpected ",c]}}parserState.pos+=1;end=parserState.pos}if(foundExclamation!==-1&&foundExclamation!==start&&isIdentCharacter(parserState.userQuery[foundExclamation-1])){if(parserState.typeFilter===null){parserState.typeFilter="macro"}else if(parserState.typeFilter!=="macro"){throw["Invalid search type: macro ","!"," and ",parserState.typeFilter," both specified",]}end=foundExclamation}return end}function getFilteredNextElem(query,parserState,elems,isInGenerics){const start=parserState.pos;if(parserState.userQuery[parserState.pos]===":"&&!isPathStart(parserState)){throw["Expected type filter before ",":"]}getNextElem(query,parserState,elems,isInGenerics);if(parserState.userQuery[parserState.pos]===":"&&!isPathStart(parserState)){if(parserState.typeFilter!==null){throw["Unexpected ",":"," (expected path after type filter ",parserState.typeFilter+":",")",]}if(elems.length===0){throw["Expected type filter before ",":"]}else if(query.literalSearch){throw["Cannot use quotes on type filter"]}const typeFilterElem=elems.pop();checkExtraTypeFilterCharacters(start,parserState);parserState.typeFilter=typeFilterElem.name;parserState.pos+=1;parserState.totalElems-=1;query.literalSearch=false;getNextElem(query,parserState,elems,isInGenerics)}}function getNextElem(query,parserState,elems,isInGenerics){const generics=[];skipWhitespace(parserState);let start=parserState.pos;let end;if("[(".indexOf(parserState.userQuery[parserState.pos])!==-1){let endChar=")";let name="()";let friendlyName="tuple";if(parserState.userQuery[parserState.pos]==="["){endChar="]";name="[]";friendlyName="slice"}parserState.pos+=1;const{foundSeparator}=getItemsBefore(query,parserState,generics,endChar);const typeFilter=parserState.typeFilter;const bindingName=parserState.isInBinding;parserState.typeFilter=null;parserState.isInBinding=null;for(const gen of generics){if(gen.bindingName!==null){throw["Type parameter ","=",` cannot be within ${friendlyName} `,name]}}if(name==="()"&&!foundSeparator&&generics.length===1&&typeFilter===null){elems.push(generics[0])}else if(name==="()"&&generics.length===1&&generics[0].name==="->"){generics[0].typeFilter=typeFilter;elems.push(generics[0])}else{if(typeFilter!==null&&typeFilter!=="primitive"){throw["Invalid search type: primitive ",name," and ",typeFilter," both specified",]}parserState.totalElems+=1;if(isInGenerics){parserState.genericsElems+=1}elems.push(makePrimitiveElement(name,{bindingName,generics}))}}else{const isStringElem=parserState.userQuery[start]==="\"";if(isStringElem){start+=1;getStringElem(query,parserState,isInGenerics);end=parserState.pos-1}else{end=getIdentEndPosition(parserState)}if(parserState.pos=end){throw["Found generics without a path"]}parserState.pos+=1;getItemsBefore(query,parserState,generics,">")}else if(parserState.pos=end){throw["Found generics without a path"]}if(parserState.isInBinding){throw["Unexpected ","("," after ","="]}parserState.pos+=1;const typeFilter=parserState.typeFilter;parserState.typeFilter=null;getItemsBefore(query,parserState,generics,")");skipWhitespace(parserState);if(isReturnArrow(parserState)){parserState.pos+=2;skipWhitespace(parserState);getFilteredNextElem(query,parserState,generics,isInGenerics);generics[generics.length-1].bindingName=makePrimitiveElement("output")}else{generics.push(makePrimitiveElement(null,{bindingName:makePrimitiveElement("output"),typeFilter:null,}))}parserState.typeFilter=typeFilter}if(isStringElem){skipWhitespace(parserState)}if(start>=end&&generics.length===0){return}if(parserState.userQuery[parserState.pos]==="="){if(parserState.isInBinding){throw["Cannot write ","="," twice in a binding"]}if(!isInGenerics){throw["Type parameter ","="," must be within generics list"]}const name=parserState.userQuery.slice(start,end).trim();if(name==="!"){throw["Type parameter ","="," key cannot be ","!"," never type"]}if(name.includes("!")){throw["Type parameter ","="," key cannot be ","!"," macro"]}if(name.includes("::")){throw["Type parameter ","="," key cannot contain ","::"," path"]}if(name.includes(":")){throw["Type parameter ","="," key cannot contain ",":"," type"]}parserState.isInBinding={name,generics}}else{elems.push(createQueryElement(query,parserState,parserState.userQuery.slice(start,end),generics,isInGenerics,),)}}}function getItemsBefore(query,parserState,elems,endChar){let foundStopChar=true;let foundSeparator=false;const oldTypeFilter=parserState.typeFilter;parserState.typeFilter=null;const oldIsInBinding=parserState.isInBinding;parserState.isInBinding=null;let hofParameters=null;let extra="";if(endChar===">"){extra="<"}else if(endChar==="]"){extra="["}else if(endChar===")"){extra="("}else if(endChar===""){extra="->"}else{extra=endChar}while(parserState.pos"," after ","="]}hofParameters=[...elems];elems.length=0;parserState.pos+=2;foundStopChar=true;foundSeparator=false;continue}else if(c===" "){parserState.pos+=1;continue}else if(isSeparatorCharacter(c)){parserState.pos+=1;foundStopChar=true;foundSeparator=true;continue}else if(c===":"&&isPathStart(parserState)){throw["Unexpected ","::",": paths cannot start with ","::"]}else if(isEndCharacter(c)){throw["Unexpected ",c," after ",extra]}if(!foundStopChar){let extra=[];if(isLastElemGeneric(query.elems,parserState)){extra=[" after ",">"]}else if(prevIs(parserState,"\"")){throw["Cannot have more than one element if you use quotes"]}if(endChar!==""){throw["Expected ",",",", ","=",", or ",endChar,...extra,", found ",c,]}throw["Expected ",","," or ","=",...extra,", found ",c,]}const posBefore=parserState.pos;getFilteredNextElem(query,parserState,elems,endChar!=="");if(endChar!==""&&parserState.pos>=parserState.length){throw["Unclosed ",extra]}if(posBefore===parserState.pos){parserState.pos+=1}foundStopChar=false}if(parserState.pos>=parserState.length&&endChar!==""){throw["Unclosed ",extra]}parserState.pos+=1;if(hofParameters){foundSeparator=false;if([...elems,...hofParameters].some(x=>x.bindingName)||parserState.isInBinding){throw["Unexpected ","="," within ","->"]}const hofElem=makePrimitiveElement("->",{generics:hofParameters,bindings:new Map([["output",[...elems]]]),typeFilter:null,});elems.length=0;elems[0]=hofElem}parserState.typeFilter=oldTypeFilter;parserState.isInBinding=oldIsInBinding;return{foundSeparator}}function checkExtraTypeFilterCharacters(start,parserState){const query=parserState.userQuery.slice(start,parserState.pos).trim();for(const c in query){if(!isIdentCharacter(query[c])){throw["Unexpected ",query[c]," in type filter (before ",":",")",]}}}function parseInput(query,parserState){let foundStopChar=true;while(parserState.pos"){if(isReturnArrow(parserState)){break}throw["Unexpected ",c," (did you mean ","->","?)"]}else if(parserState.pos>0){throw["Unexpected ",c," after ",parserState.userQuery[parserState.pos-1]]}throw["Unexpected ",c]}else if(c===" "){skipWhitespace(parserState);continue}if(!foundStopChar){let extra="";if(isLastElemGeneric(query.elems,parserState)){extra=[" after ",">"]}else if(prevIs(parserState,"\"")){throw["Cannot have more than one element if you use quotes"]}if(parserState.typeFilter!==null){throw["Expected ",","," or ","->",...extra,", found ",c,]}throw["Expected ",",",", ",":"," or ","->",...extra,", found ",c,]}const before=query.elems.length;getFilteredNextElem(query,parserState,query.elems,false);if(query.elems.length===before){parserState.pos+=1}foundStopChar=false}if(parserState.typeFilter!==null){throw["Unexpected ",":"," (expected path after type filter ",parserState.typeFilter+":",")",]}while(parserState.pos"]}break}else{parserState.pos+=1}}}function newParsedQuery(userQuery){return{original:userQuery,userQuery:userQuery.toLowerCase(),elems:[],returned:[],foundElems:0,totalElems:0,literalSearch:false,error:null,correction:null,proposeCorrectionFrom:null,proposeCorrectionTo:null,typeFingerprint:new Uint32Array(4),}}function buildUrl(search,filterCrates){let extra="?search="+encodeURIComponent(search);if(filterCrates!==null){extra+="&filter-crate="+encodeURIComponent(filterCrates)}return getNakedUrl()+extra+window.location.hash}function getFilterCrates(){const elem=document.getElementById("crate-search");if(elem&&elem.value!=="all crates"&&rawSearchIndex.has(elem.value)){return elem.value}return null}function parseQuery(userQuery){function convertTypeFilterOnElem(elem){if(elem.typeFilter!==null){let typeFilter=elem.typeFilter;if(typeFilter==="const"){typeFilter="constant"}elem.typeFilter=itemTypeFromName(typeFilter)}else{elem.typeFilter=NO_TYPE_FILTER}for(const elem2 of elem.generics){convertTypeFilterOnElem(elem2)}for(const constraints of elem.bindings.values()){for(const constraint of constraints){convertTypeFilterOnElem(constraint)}}}userQuery=userQuery.trim().replace(/\r|\n|\t/g," ");const parserState={length:userQuery.length,pos:0,totalElems:0,genericsElems:0,typeFilter:null,isInBinding:null,userQuery:userQuery.toLowerCase(),};let query=newParsedQuery(userQuery);try{parseInput(query,parserState);for(const elem of query.elems){convertTypeFilterOnElem(elem)}for(const elem of query.returned){convertTypeFilterOnElem(elem)}}catch(err){query=newParsedQuery(userQuery);query.error=err;return query}if(!query.literalSearch){query.literalSearch=parserState.totalElems>1}query.foundElems=query.elems.length+query.returned.length;query.totalElems=parserState.totalElems;return query}function createQueryResults(results_in_args,results_returned,results_others,parsedQuery){return{"in_args":results_in_args,"returned":results_returned,"others":results_others,"query":parsedQuery,}}async function execQuery(parsedQuery,filterCrates,currentCrate){const results_others=new Map(),results_in_args=new Map(),results_returned=new Map();function transformResults(results){const duplicates=new Set();const out=[];for(const result of results){if(result.id!==-1){const obj=searchIndex[result.id];obj.dist=result.dist;const res=buildHrefAndPath(obj);obj.displayPath=pathSplitter(res[0]);obj.fullPath=obj.displayPath+obj.name;obj.fullPath+="|"+obj.ty;if(duplicates.has(obj.fullPath)){continue}duplicates.add(obj.fullPath);obj.href=res[1];out.push(obj);if(out.length>=MAX_RESULTS){break}}}return out}async function sortResults(results,isType,preferredCrate){const userQuery=parsedQuery.userQuery;const result_list=[];for(const result of results.values()){result.item=searchIndex[result.id];result.word=searchIndex[result.id].word;result_list.push(result)}result_list.sort((aaa,bbb)=>{let a,b;a=(aaa.word!==userQuery);b=(bbb.word!==userQuery);if(a!==b){return a-b}a=(aaa.index<0);b=(bbb.index<0);if(a!==b){return a-b}a=aaa.path_dist;b=bbb.path_dist;if(a!==b){return a-b}a=aaa.index;b=bbb.index;if(a!==b){return a-b}a=(aaa.dist);b=(bbb.dist);if(a!==b){return a-b}a=searchIndexDeprecated.get(aaa.item.crate).contains(aaa.item.bitIndex);b=searchIndexDeprecated.get(bbb.item.crate).contains(bbb.item.bitIndex);if(a!==b){return a-b}a=(aaa.item.crate!==preferredCrate);b=(bbb.item.crate!==preferredCrate);if(a!==b){return a-b}a=aaa.word.length;b=bbb.word.length;if(a!==b){return a-b}a=aaa.word;b=bbb.word;if(a!==b){return(a>b?+1:-1)}a=searchIndexEmptyDesc.get(aaa.item.crate).contains(aaa.item.bitIndex);b=searchIndexEmptyDesc.get(bbb.item.crate).contains(bbb.item.bitIndex);if(a!==b){return a-b}a=aaa.item.ty;b=bbb.item.ty;if(a!==b){return a-b}a=aaa.item.path;b=bbb.item.path;if(a!==b){return(a>b?+1:-1)}return 0});const transformed=transformResults(result_list);const descs=await Promise.all(transformed.map(result=>{return searchIndexEmptyDesc.get(result.crate).contains(result.bitIndex)?"":searchState.loadDesc(result)}));for(const[i,result]of transformed.entries()){result.desc=descs[i]}return transformed}function unifyFunctionTypes(fnTypesIn,queryElems,whereClause,mgensIn,solutionCb,unboxingDepth,){if(unboxingDepth>=UNBOXING_LIMIT){return false}const mgens=mgensIn===null?null:new Map(mgensIn);if(queryElems.length===0){return!solutionCb||solutionCb(mgens)}if(!fnTypesIn||fnTypesIn.length===0){return false}const ql=queryElems.length;const fl=fnTypesIn.length;if(ql===1&&queryElems[0].generics.length===0&&queryElems[0].bindings.size===0){const queryElem=queryElems[0];for(const fnType of fnTypesIn){if(!unifyFunctionTypeIsMatchCandidate(fnType,queryElem,mgens)){continue}if(fnType.id<0&&queryElem.id<0){if(mgens&&mgens.has(fnType.id)&&mgens.get(fnType.id)!==queryElem.id){continue}const mgensScratch=new Map(mgens);mgensScratch.set(fnType.id,queryElem.id);if(!solutionCb||solutionCb(mgensScratch)){return true}}else if(!solutionCb||solutionCb(mgens?new Map(mgens):null)){return true}}for(const fnType of fnTypesIn){if(!unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens,unboxingDepth+1,)){continue}if(fnType.id<0){if(mgens&&mgens.has(fnType.id)&&mgens.get(fnType.id)!==0){continue}const mgensScratch=new Map(mgens);mgensScratch.set(fnType.id,0);if(unifyFunctionTypes(whereClause[(-fnType.id)-1],queryElems,whereClause,mgensScratch,solutionCb,unboxingDepth+1,)){return true}}else if(unifyFunctionTypes([...fnType.generics,...Array.from(fnType.bindings.values()).flat()],queryElems,whereClause,mgens?new Map(mgens):null,solutionCb,unboxingDepth+1,)){return true}}return false}const fnTypes=fnTypesIn.slice();const flast=fl-1;const qlast=ql-1;const queryElem=queryElems[qlast];let queryElemsTmp=null;for(let i=flast;i>=0;i-=1){const fnType=fnTypes[i];if(!unifyFunctionTypeIsMatchCandidate(fnType,queryElem,mgens)){continue}let mgensScratch;if(fnType.id<0){mgensScratch=new Map(mgens);if(mgensScratch.has(fnType.id)&&mgensScratch.get(fnType.id)!==queryElem.id){continue}mgensScratch.set(fnType.id,queryElem.id)}else{mgensScratch=mgens}fnTypes[i]=fnTypes[flast];fnTypes.length=flast;if(!queryElemsTmp){queryElemsTmp=queryElems.slice(0,qlast)}const passesUnification=unifyFunctionTypes(fnTypes,queryElemsTmp,whereClause,mgensScratch,mgensScratch=>{if(fnType.generics.length===0&&queryElem.generics.length===0&&fnType.bindings.size===0&&queryElem.bindings.size===0){return!solutionCb||solutionCb(mgensScratch)}const solution=unifyFunctionTypeCheckBindings(fnType,queryElem,whereClause,mgensScratch,unboxingDepth,);if(!solution){return false}const simplifiedGenerics=solution.simplifiedGenerics;for(const simplifiedMgens of solution.mgens){const passesUnification=unifyFunctionTypes(simplifiedGenerics,queryElem.generics,whereClause,simplifiedMgens,solutionCb,unboxingDepth,);if(passesUnification){return true}}return false},unboxingDepth,);if(passesUnification){return true}fnTypes[flast]=fnTypes[i];fnTypes[i]=fnType;fnTypes.length=fl}for(let i=flast;i>=0;i-=1){const fnType=fnTypes[i];if(!unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens,unboxingDepth+1,)){continue}let mgensScratch;if(fnType.id<0){mgensScratch=new Map(mgens);if(mgensScratch.has(fnType.id)&&mgensScratch.get(fnType.id)!==0){continue}mgensScratch.set(fnType.id,0)}else{mgensScratch=mgens}const generics=fnType.id<0?whereClause[(-fnType.id)-1]:fnType.generics;const bindings=fnType.bindings?Array.from(fnType.bindings.values()).flat():[];const passesUnification=unifyFunctionTypes(fnTypes.toSpliced(i,1,...generics,...bindings),queryElems,whereClause,mgensScratch,solutionCb,unboxingDepth+1,);if(passesUnification){return true}}return false}function unifyFunctionTypeIsMatchCandidate(fnType,queryElem,mgensIn){if(!typePassesFilter(queryElem.typeFilter,fnType.ty)){return false}if(fnType.id<0&&queryElem.id<0){if(mgensIn){if(mgensIn.has(fnType.id)&&mgensIn.get(fnType.id)!==queryElem.id){return false}for(const[fid,qid]of mgensIn.entries()){if(fnType.id!==fid&&queryElem.id===qid){return false}if(fnType.id===fid&&queryElem.id!==qid){return false}}}return true}else{if(queryElem.id===typeNameIdOfArrayOrSlice&&(fnType.id===typeNameIdOfSlice||fnType.id===typeNameIdOfArray)){}else if(queryElem.id===typeNameIdOfTupleOrUnit&&(fnType.id===typeNameIdOfTuple||fnType.id===typeNameIdOfUnit)){}else if(queryElem.id===typeNameIdOfHof&&(fnType.id===typeNameIdOfFn||fnType.id===typeNameIdOfFnMut||fnType.id===typeNameIdOfFnOnce)){}else if(fnType.id!==queryElem.id||queryElem.id===null){return false}if((fnType.generics.length+fnType.bindings.size)===0&&queryElem.generics.length!==0){return false}if(fnType.bindings.size0){const fnTypePath=fnType.path!==undefined&&fnType.path!==null?fnType.path.split("::"):[];if(queryElemPathLength>fnTypePath.length){return false}let i=0;for(const path of fnTypePath){if(path===queryElem.pathWithoutLast[i]){i+=1;if(i>=queryElemPathLength){break}}}if(i0){let mgensSolutionSet=[mgensIn];for(const[name,constraints]of queryElem.bindings.entries()){if(mgensSolutionSet.length===0){return false}if(!fnType.bindings.has(name)){return false}const fnTypeBindings=fnType.bindings.get(name);mgensSolutionSet=mgensSolutionSet.flatMap(mgens=>{const newSolutions=[];unifyFunctionTypes(fnTypeBindings,constraints,whereClause,mgens,newMgens=>{newSolutions.push(newMgens);return false},unboxingDepth,);return newSolutions})}if(mgensSolutionSet.length===0){return false}const binds=Array.from(fnType.bindings.entries()).flatMap(entry=>{const[name,constraints]=entry;if(queryElem.bindings.has(name)){return[]}else{return constraints}});if(simplifiedGenerics.length>0){simplifiedGenerics=[...simplifiedGenerics,...binds]}else{simplifiedGenerics=binds}return{simplifiedGenerics,mgens:mgensSolutionSet}}return{simplifiedGenerics,mgens:[mgensIn]}}function unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens,unboxingDepth,){if(unboxingDepth>=UNBOXING_LIMIT){return false}if(fnType.id<0&&queryElem.id>=0){if(!whereClause){return false}if(mgens&&mgens.has(fnType.id)&&mgens.get(fnType.id)!==0){return false}const mgensTmp=new Map(mgens);mgensTmp.set(fnType.id,null);return checkIfInList(whereClause[(-fnType.id)-1],queryElem,whereClause,mgensTmp,unboxingDepth,)}else if(fnType.generics.length>0||fnType.bindings.size>0){const simplifiedGenerics=[...fnType.generics,...Array.from(fnType.bindings.values()).flat(),];return checkIfInList(simplifiedGenerics,queryElem,whereClause,mgens,unboxingDepth,)}return false}function checkIfInList(list,elem,whereClause,mgens,unboxingDepth){for(const entry of list){if(checkType(entry,elem,whereClause,mgens,unboxingDepth)){return true}}return false}function checkType(row,elem,whereClause,mgens,unboxingDepth){if(unboxingDepth>=UNBOXING_LIMIT){return false}if(row.bindings.size===0&&elem.bindings.size===0){if(elem.id<0&&mgens===null){return row.id<0||checkIfInList(row.generics,elem,whereClause,mgens,unboxingDepth+1,)}if(row.id>0&&elem.id>0&&elem.pathWithoutLast.length===0&&typePassesFilter(elem.typeFilter,row.ty)&&elem.generics.length===0&&elem.id!==typeNameIdOfArrayOrSlice&&elem.id!==typeNameIdOfTupleOrUnit&&elem.id!==typeNameIdOfHof){return row.id===elem.id||checkIfInList(row.generics,elem,whereClause,mgens,unboxingDepth,)}}return unifyFunctionTypes([row],[elem],whereClause,mgens,null,unboxingDepth)}function checkPath(contains,ty){if(contains.length===0){return 0}const maxPathEditDistance=Math.floor(contains.reduce((acc,next)=>acc+next.length,0)/3,);let ret_dist=maxPathEditDistance+1;const path=ty.path.split("::");if(ty.parent&&ty.parent.name){path.push(ty.parent.name.toLowerCase())}const length=path.length;const clength=contains.length;pathiter:for(let i=length-clength;i>=0;i-=1){let dist_total=0;for(let x=0;xmaxPathEditDistance){continue pathiter}dist_total+=dist}}ret_dist=Math.min(ret_dist,Math.round(dist_total/clength))}return ret_dist>maxPathEditDistance?null:ret_dist}function typePassesFilter(filter,type){if(filter<=NO_TYPE_FILTER||filter===type)return true;const name=itemTypes[type];switch(itemTypes[filter]){case"constant":return name==="associatedconstant";case"fn":return name==="method"||name==="tymethod";case"type":return name==="primitive"||name==="associatedtype";case"trait":return name==="traitalias"}return false}function createAliasFromItem(item){return{crate:item.crate,name:item.name,path:item.path,descShard:item.descShard,descIndex:item.descIndex,ty:item.ty,parent:item.parent,type:item.type,is_alias:true,bitIndex:item.bitIndex,implDisambiguator:item.implDisambiguator,}}function handleAliases(ret,query,filterCrates,currentCrate){const lowerQuery=query.toLowerCase();const aliases=[];const crateAliases=[];if(filterCrates!==null){if(ALIASES.has(filterCrates)&&ALIASES.get(filterCrates).has(lowerQuery)){const query_aliases=ALIASES.get(filterCrates).get(lowerQuery);for(const alias of query_aliases){aliases.push(createAliasFromItem(searchIndex[alias]))}}}else{for(const[crate,crateAliasesIndex]of ALIASES){if(crateAliasesIndex.has(lowerQuery)){const pushTo=crate===currentCrate?crateAliases:aliases;const query_aliases=crateAliasesIndex.get(lowerQuery);for(const alias of query_aliases){pushTo.push(createAliasFromItem(searchIndex[alias]))}}}}const sortFunc=(aaa,bbb)=>{if(aaa.path{alias.alias=query;const res=buildHrefAndPath(alias);alias.displayPath=pathSplitter(res[0]);alias.fullPath=alias.displayPath+alias.name;alias.href=res[1];ret.others.unshift(alias);if(ret.others.length>MAX_RESULTS){ret.others.pop()}};aliases.forEach(pushFunc);crateAliases.forEach(pushFunc)}function addIntoResults(results,fullId,id,index,dist,path_dist,maxEditDistance){if(dist<=maxEditDistance||index!==-1){if(results.has(fullId)){const result=results.get(fullId);if(result.dontValidate||result.dist<=dist){return}}results.set(fullId,{id:id,index:index,dontValidate:parsedQuery.literalSearch,dist:dist,path_dist:path_dist,})}}function handleSingleArg(row,pos,elem,results_others,results_in_args,results_returned,maxEditDistance,){if(!row||(filterCrates!==null&&row.crate!==filterCrates)){return}let path_dist=0;const fullId=row.id;const tfpDist=compareTypeFingerprints(fullId,parsedQuery.typeFingerprint,);if(tfpDist!==null){const in_args=row.type&&row.type.inputs&&checkIfInList(row.type.inputs,elem,row.type.where_clause,null,0);const returned=row.type&&row.type.output&&checkIfInList(row.type.output,elem,row.type.where_clause,null,0);if(in_args){results_in_args.max_dist=Math.max(results_in_args.max_dist||0,tfpDist);const maxDist=results_in_args.sizenormalizedIndex&&normalizedIndex!==-1)){index=normalizedIndex}if(elem.fullPath.length>1){path_dist=checkPath(elem.pathWithoutLast,row);if(path_dist===null){return}}if(parsedQuery.literalSearch){if(row.word===elem.pathLast){addIntoResults(results_others,fullId,pos,index,0,path_dist)}return}const dist=editDistance(row.normalizedName,elem.normalizedPathLast,maxEditDistance);if(index===-1&&dist>maxEditDistance){return}addIntoResults(results_others,fullId,pos,index,dist,path_dist,maxEditDistance)}function handleArgs(row,pos,results){if(!row||(filterCrates!==null&&row.crate!==filterCrates)||!row.type){return}const tfpDist=compareTypeFingerprints(row.id,parsedQuery.typeFingerprint,);if(tfpDist===null){return}if(results.size>=MAX_RESULTS&&tfpDist>results.max_dist){return}if(!unifyFunctionTypes(row.type.inputs,parsedQuery.elems,row.type.where_clause,null,mgens=>{return unifyFunctionTypes(row.type.output,parsedQuery.returned,row.type.where_clause,mgens,null,0,)},0,)){return}results.max_dist=Math.max(results.max_dist||0,tfpDist);addIntoResults(results,row.id,pos,0,tfpDist,0,Number.MAX_VALUE)}function innerRunQuery(){const queryLen=parsedQuery.elems.reduce((acc,next)=>acc+next.pathLast.length,0)+parsedQuery.returned.reduce((acc,next)=>acc+next.pathLast.length,0);const maxEditDistance=Math.floor(queryLen/3);const genericSymbols=new Map();function convertNameToId(elem,isAssocType){if(typeNameIdMap.has(elem.normalizedPathLast)&&(isAssocType||!typeNameIdMap.get(elem.normalizedPathLast).assocOnly)){elem.id=typeNameIdMap.get(elem.normalizedPathLast).id}else if(!parsedQuery.literalSearch){let match=null;let matchDist=maxEditDistance+1;let matchName="";for(const[name,{id,assocOnly}]of typeNameIdMap){const dist=editDistance(name,elem.normalizedPathLast,maxEditDistance);if(dist<=matchDist&&dist<=maxEditDistance&&(isAssocType||!assocOnly)){if(dist===matchDist&&matchName>name){continue}match=id;matchDist=dist;matchName=name}}if(match!==null){parsedQuery.correction=matchName}elem.id=match}if((elem.id===null&&parsedQuery.totalElems>1&&elem.typeFilter===-1&&elem.generics.length===0&&elem.bindings.size===0)||elem.typeFilter===TY_GENERIC){if(genericSymbols.has(elem.name)){elem.id=genericSymbols.get(elem.name)}else{elem.id=-(genericSymbols.size+1);genericSymbols.set(elem.name,elem.id)}if(elem.typeFilter===-1&&elem.name.length>=3){const maxPartDistance=Math.floor(elem.name.length/3);let matchDist=maxPartDistance+1;let matchName="";for(const name of typeNameIdMap.keys()){const dist=editDistance(name,elem.name,maxPartDistance);if(dist<=matchDist&&dist<=maxPartDistance){if(dist===matchDist&&matchName>name){continue}matchDist=dist;matchName=name}}if(matchName!==""){parsedQuery.proposeCorrectionFrom=elem.name;parsedQuery.proposeCorrectionTo=matchName}}elem.typeFilter=TY_GENERIC}if(elem.generics.length>0&&elem.typeFilter===TY_GENERIC){parsedQuery.error=["Generic type parameter ",elem.name," does not accept generic parameters",]}for(const elem2 of elem.generics){convertNameToId(elem2)}elem.bindings=new Map(Array.from(elem.bindings.entries()).map(entry=>{const[name,constraints]=entry;if(!typeNameIdMap.has(name)){parsedQuery.error=["Type parameter ",name," does not exist",];return[null,[]]}for(const elem2 of constraints){convertNameToId(elem2)}return[typeNameIdMap.get(name).id,constraints]}),)}const fps=new Set();for(const elem of parsedQuery.elems){convertNameToId(elem);buildFunctionTypeFingerprint(elem,parsedQuery.typeFingerprint,fps)}for(const elem of parsedQuery.returned){convertNameToId(elem);buildFunctionTypeFingerprint(elem,parsedQuery.typeFingerprint,fps)}if(parsedQuery.foundElems===1&&parsedQuery.returned.length===0){if(parsedQuery.elems.length===1){const elem=parsedQuery.elems[0];for(let i=0,nSearchIndex=searchIndex.length;i0){const sortQ=(a,b)=>{const ag=a.generics.length===0&&a.bindings.size===0;const bg=b.generics.length===0&&b.bindings.size===0;if(ag!==bg){return ag-bg}const ai=a.id>0;const bi=b.id>0;return ai-bi};parsedQuery.elems.sort(sortQ);parsedQuery.returned.sort(sortQ);for(let i=0,nSearchIndex=searchIndex.length;i");if(tmp.endsWith("")){return tmp.slice(0,tmp.length-6)}return tmp}async function addTab(array,query,display){const extraClass=display?" active":"";const output=document.createElement("div");if(array.length>0){output.className="search-results "+extraClass;for(const item of array){const name=item.name;const type=itemTypes[item.ty];const longType=longItemTypes[item.ty];const typeName=longType.length!==0?`${longType}`:"?";const link=document.createElement("a");link.className="result-"+type;link.href=item.href;const resultName=document.createElement("div");resultName.className="result-name";resultName.insertAdjacentHTML("beforeend",`${typeName}`);link.appendChild(resultName);let alias=" ";if(item.is_alias){alias=`
\ +${item.alias} - see \ +
`}resultName.insertAdjacentHTML("beforeend",`
${alias}\ +${item.displayPath}${name}\ +
`);const description=document.createElement("div");description.className="desc";description.insertAdjacentHTML("beforeend",item.desc);link.appendChild(description);output.appendChild(link)}}else if(query.error===null){output.className="search-failed"+extraClass;output.innerHTML="No results :(
"+"Try on DuckDuckGo?

"+"Or try looking in one of these:"}return[output,array.length]}function makeTabHeader(tabNb,text,nbElems){const fmtNbElems=nbElems<10?`\u{2007}(${nbElems})\u{2007}\u{2007}`:nbElems<100?`\u{2007}(${nbElems})\u{2007}`:`\u{2007}(${nbElems})`;if(searchState.currentTab===tabNb){return""}return""}async function showResults(results,go_to_first,filterCrates){const search=searchState.outputElement();if(go_to_first||(results.others.length===1&&getSettingValue("go-to-only-result")==="true")){window.onunload=()=>{};searchState.removeQueryParameters();const elem=document.createElement("a");elem.href=results.others[0].href;removeClass(elem,"active");document.body.appendChild(elem);elem.click();return}if(results.query===undefined){results.query=parseQuery(searchState.input.value)}currentResults=results.query.userQuery;const[ret_others,ret_in_args,ret_returned]=await Promise.all([addTab(results.others,results.query,true),addTab(results.in_args,results.query,false),addTab(results.returned,results.query,false),]);let currentTab=searchState.currentTab;if((currentTab===0&&ret_others[1]===0)||(currentTab===1&&ret_in_args[1]===0)||(currentTab===2&&ret_returned[1]===0)){if(ret_others[1]!==0){currentTab=0}else if(ret_in_args[1]!==0){currentTab=1}else if(ret_returned[1]!==0){currentTab=2}}let crates="";if(rawSearchIndex.size>1){crates=" in 
"}let output=`

Results${crates}

`;if(results.query.error!==null){const error=results.query.error;error.forEach((value,index)=>{value=value.split("<").join("<").split(">").join(">");if(index%2!==0){error[index]=`${value.replaceAll(" ", " ")}`}else{error[index]=value}});output+=`

Query parser error: "${error.join("")}".

`;output+="
"+makeTabHeader(0,"In Names",ret_others[1])+"
";currentTab=0}else if(results.query.foundElems<=1&&results.query.returned.length===0){output+="
"+makeTabHeader(0,"In Names",ret_others[1])+makeTabHeader(1,"In Parameters",ret_in_args[1])+makeTabHeader(2,"In Return Types",ret_returned[1])+"
"}else{const signatureTabTitle=results.query.elems.length===0?"In Function Return Types":results.query.returned.length===0?"In Function Parameters":"In Function Signatures";output+="
"+makeTabHeader(0,signatureTabTitle,ret_others[1])+"
";currentTab=0}if(results.query.correction!==null){const orig=results.query.returned.length>0?results.query.returned[0].name:results.query.elems[0].name;output+="

"+`Type "${orig}" not found. `+"Showing results for closest type name "+`"${results.query.correction}" instead.

`}if(results.query.proposeCorrectionFrom!==null){const orig=results.query.proposeCorrectionFrom;const targ=results.query.proposeCorrectionTo;output+="

"+`Type "${orig}" not found and used as generic parameter. `+`Consider searching for "${targ}" instead.

`}const resultsElem=document.createElement("div");resultsElem.id="results";resultsElem.appendChild(ret_others[0]);resultsElem.appendChild(ret_in_args[0]);resultsElem.appendChild(ret_returned[0]);search.innerHTML=output;const crateSearch=document.getElementById("crate-search");if(crateSearch){crateSearch.addEventListener("input",updateCrate)}search.appendChild(resultsElem);searchState.showResults(search);const elems=document.getElementById("search-tabs").childNodes;searchState.focusedByTab=[];let i=0;for(const elem of elems){const j=i;elem.onclick=()=>printTab(j);searchState.focusedByTab.push(null);i+=1}printTab(currentTab)}function updateSearchHistory(url){if(!browserSupportsHistoryApi()){return}const params=searchState.getQueryStringParams();if(!history.state&&!params.search){history.pushState(null,"",url)}else{history.replaceState(null,"",url)}}async function search(forced){const query=parseQuery(searchState.input.value.trim());let filterCrates=getFilterCrates();if(!forced&&query.userQuery===currentResults){if(query.userQuery.length>0){putBackSearch()}return}searchState.setLoadingSearch();const params=searchState.getQueryStringParams();if(filterCrates===null&¶ms["filter-crate"]!==undefined){filterCrates=params["filter-crate"]}searchState.title="Results for "+query.original+" - Rust";updateSearchHistory(buildUrl(query.original,filterCrates));await showResults(await execQuery(query,filterCrates,window.currentCrate),params.go_to_first,filterCrates)}function buildItemSearchTypeAll(types,lowercasePaths){return types.length>0?types.map(type=>buildItemSearchType(type,lowercasePaths)):EMPTY_GENERICS_ARRAY}const EMPTY_BINDINGS_MAP=new Map();const EMPTY_GENERICS_ARRAY=[];let TYPES_POOL=new Map();function buildItemSearchType(type,lowercasePaths,isAssocType){const PATH_INDEX_DATA=0;const GENERICS_DATA=1;const BINDINGS_DATA=2;let pathIndex,generics,bindings;if(typeof type==="number"){pathIndex=type;generics=EMPTY_GENERICS_ARRAY;bindings=EMPTY_BINDINGS_MAP}else{pathIndex=type[PATH_INDEX_DATA];generics=buildItemSearchTypeAll(type[GENERICS_DATA],lowercasePaths,);if(type.length>BINDINGS_DATA&&type[BINDINGS_DATA].length>0){bindings=new Map(type[BINDINGS_DATA].map(binding=>{const[assocType,constraints]=binding;return[buildItemSearchType(assocType,lowercasePaths,true).id,buildItemSearchTypeAll(constraints,lowercasePaths),]}))}else{bindings=EMPTY_BINDINGS_MAP}}let result;if(pathIndex<0){result={id:pathIndex,ty:TY_GENERIC,path:null,generics,bindings,}}else if(pathIndex===0){result={id:null,ty:null,path:null,generics,bindings,}}else{const item=lowercasePaths[pathIndex-1];result={id:buildTypeMapIndex(item.name,isAssocType),ty:item.ty,path:item.path,generics,bindings,}}const cr=TYPES_POOL.get(result.id);if(cr){if(cr.generics.length===result.generics.length&&cr.generics!==result.generics&&cr.generics.every((x,i)=>result.generics[i]===x)){result.generics=cr.generics}if(cr.bindings.size===result.bindings.size&&cr.bindings!==result.bindings){let ok=true;for(const[k,v]of cr.bindings.entries()){const v2=result.bindings.get(v);if(!v2){ok=false;break}if(v!==v2&&v.length===v2.length&&v.every((x,i)=>v2[i]===x)){result.bindings.set(k,v)}else if(v!==v2){ok=false;break}}if(ok){result.bindings=cr.bindings}}if(cr.ty===result.ty&&cr.path===result.path&&cr.bindings===result.bindings&&cr.generics===result.generics&&cr.ty===result.ty){return cr}}TYPES_POOL.set(result.id,result);return result}function buildFunctionSearchTypeCallback(lowercasePaths){return functionSearchType=>{if(functionSearchType===0){return null}const INPUTS_DATA=0;const OUTPUT_DATA=1;let inputs,output;if(typeof functionSearchType[INPUTS_DATA]==="number"){inputs=[buildItemSearchType(functionSearchType[INPUTS_DATA],lowercasePaths)]}else{inputs=buildItemSearchTypeAll(functionSearchType[INPUTS_DATA],lowercasePaths,)}if(functionSearchType.length>1){if(typeof functionSearchType[OUTPUT_DATA]==="number"){output=[buildItemSearchType(functionSearchType[OUTPUT_DATA],lowercasePaths)]}else{output=buildItemSearchTypeAll(functionSearchType[OUTPUT_DATA],lowercasePaths,)}}else{output=[]}const where_clause=[];const l=functionSearchType.length;for(let i=2;i{k=(~~k+0x7ed55d16)+(k<<12);k=(k ^ 0xc761c23c)^(k>>>19);k=(~~k+0x165667b1)+(k<<5);k=(~~k+0xd3a2646c)^(k<<9);k=(~~k+0xfd7046c5)+(k<<3);return(k ^ 0xb55a4f09)^(k>>>16)};const hashint2=k=>{k=~k+(k<<15);k ^=k>>>12;k+=k<<2;k ^=k>>>4;k=Math.imul(k,2057);return k ^(k>>16)};if(input!==null){const h0a=hashint1(input);const h0b=hashint2(input);const h1a=~~(h0a+Math.imul(h0b,2));const h1b=~~(h0a+Math.imul(h0b,3));const h2a=~~(h0a+Math.imul(h0b,4));const h2b=~~(h0a+Math.imul(h0b,5));output[0]|=(1<<(h0a%32))|(1<<(h1b%32));output[1]|=(1<<(h1a%32))|(1<<(h2b%32));output[2]|=(1<<(h2a%32))|(1<<(h0b%32));fps.add(input)}for(const g of type.generics){buildFunctionTypeFingerprint(g,output,fps)}const fb={id:null,ty:0,generics:EMPTY_GENERICS_ARRAY,bindings:EMPTY_BINDINGS_MAP,};for(const[k,v]of type.bindings.entries()){fb.id=k;fb.generics=v;buildFunctionTypeFingerprint(fb,output,fps)}output[3]=fps.size}function compareTypeFingerprints(fullId,queryFingerprint){const fh0=functionTypeFingerprint[fullId*4];const fh1=functionTypeFingerprint[(fullId*4)+1];const fh2=functionTypeFingerprint[(fullId*4)+2];const[qh0,qh1,qh2]=queryFingerprint;const[in0,in1,in2]=[fh0&qh0,fh1&qh1,fh2&qh2];if((in0 ^ qh0)||(in1 ^ qh1)||(in2 ^ qh2)){return null}return functionTypeFingerprint[(fullId*4)+3]}class VlqHexDecoder{constructor(string,cons){this.string=string;this.cons=cons;this.offset=0;this.backrefQueue=[]}decodeList(){const cb="}".charCodeAt(0);let c=this.string.charCodeAt(this.offset);const ret=[];while(c!==cb){ret.push(this.decode());c=this.string.charCodeAt(this.offset)}this.offset+=1;return ret}decode(){const[ob,la]=["{","`"].map(c=>c.charCodeAt(0));let n=0;let c=this.string.charCodeAt(this.offset);if(c===ob){this.offset+=1;return this.decodeList()}while(c>1];this.offset+=1;return sign?-value:value}next(){const c=this.string.charCodeAt(this.offset);const[zero,ua,la]=["0","@","`"].map(c=>c.charCodeAt(0));if(c>=zero&&c16){this.backrefQueue.pop()}return result}}class RoaringBitmap{constructor(str){const strdecoded=atob(str);const u8array=new Uint8Array(strdecoded.length);for(let j=0;j=4){offsets=[];for(let j=0;j>3]&(1<<(j&0x7))){const runcount=(u8array[i]|(u8array[i+1]<<8));i+=2;this.containers.push(new RoaringBitmapRun(runcount,u8array.slice(i,i+(runcount*4)),));i+=runcount*4}else if(this.cardinalities[j]>=4096){this.containers.push(new RoaringBitmapBits(u8array.slice(i,i+8192)));i+=8192}else{const end=this.cardinalities[j]*2;this.containers.push(new RoaringBitmapArray(this.cardinalities[j],u8array.slice(i,i+end),));i+=end}}}contains(keyvalue){const key=keyvalue>>16;const value=keyvalue&0xFFFF;for(let i=0;i=start&&value<=(start+lenm1)){return true}}return false}}class RoaringBitmapArray{constructor(cardinality,array){this.cardinality=cardinality;this.array=array}contains(value){const l=this.cardinality*2;for(let i=0;i>3]&(1<<(value&7)))}}function buildIndex(rawSearchIndex){searchIndex=[];searchIndexDeprecated=new Map();searchIndexEmptyDesc=new Map();const charA="A".charCodeAt(0);let currentIndex=0;let id=0;for(const crate of rawSearchIndex.values()){id+=crate.t.length+1}functionTypeFingerprint=new Uint32Array((id+1)*4);id=0;for(const[crate,crateCorpus]of rawSearchIndex){const itemDescShardDecoder=new VlqHexDecoder(crateCorpus.D,noop=>noop);let descShard={crate,shard:0,start:0,len:itemDescShardDecoder.next(),promise:null,resolve:null,};const descShardList=[descShard];searchIndexDeprecated.set(crate,new RoaringBitmap(crateCorpus.c));searchIndexEmptyDesc.set(crate,new RoaringBitmap(crateCorpus.e));let descIndex=0;const crateRow={crate,ty:3,name:crate,path:"",descShard,descIndex,parent:undefined,type:null,id,word:crate,normalizedName:crate.indexOf("_")===-1?crate:crate.replace(/_/g,""),bitIndex:0,implDisambiguator:null,};id+=1;searchIndex.push(crateRow);currentIndex+=1;if(!searchIndexEmptyDesc.get(crate).contains(0)){descIndex+=1}const itemTypes=crateCorpus.t;const itemNames=crateCorpus.n;const itemPaths=new Map(crateCorpus.q);const itemParentIdxs=crateCorpus.i;const implDisambiguator=new Map(crateCorpus.b);const paths=crateCorpus.p;const aliases=crateCorpus.a;const lowercasePaths=[];const itemFunctionDecoder=new VlqHexDecoder(crateCorpus.f,buildFunctionSearchTypeCallback(lowercasePaths),);let len=paths.length;let lastPath=itemPaths.get(0);for(let i=0;i2){path=itemPaths.has(elem[2])?itemPaths.get(elem[2]):lastPath;lastPath=path}lowercasePaths.push({ty:ty,name:name.toLowerCase(),path:path});paths[i]={ty:ty,name:name,path:path}}lastPath="";len=itemTypes.length;for(let i=0;i=descShard.len&&!searchIndexEmptyDesc.get(crate).contains(bitIndex)){descShard={crate,shard:descShard.shard+1,start:descShard.start+descShard.len,len:itemDescShardDecoder.next(),promise:null,resolve:null,};descIndex=0;descShardList.push(descShard)}let word="";if(typeof itemNames[i]==="string"){word=itemNames[i].toLowerCase()}const path=itemPaths.has(i)?itemPaths.get(i):lastPath;const type=itemFunctionDecoder.next();if(type!==null){if(type){const fp=functionTypeFingerprint.subarray(id*4,(id+1)*4);const fps=new Set();for(const t of type.inputs){buildFunctionTypeFingerprint(t,fp,fps)}for(const t of type.output){buildFunctionTypeFingerprint(t,fp,fps)}for(const w of type.where_clause){for(const t of w){buildFunctionTypeFingerprint(t,fp,fps)}}}}const row={crate,ty:itemTypes.charCodeAt(i)-charA,name:itemNames[i],path,descShard,descIndex,parent:itemParentIdxs[i]>0?paths[itemParentIdxs[i]-1]:undefined,type,id,word,normalizedName:word.indexOf("_")===-1?word:word.replace(/_/g,""),bitIndex,implDisambiguator:implDisambiguator.has(i)?implDisambiguator.get(i):null,};id+=1;searchIndex.push(row);lastPath=row.path;if(!searchIndexEmptyDesc.get(crate).contains(bitIndex)){descIndex+=1}}if(aliases){const currentCrateAliases=new Map();ALIASES.set(crate,currentCrateAliases);for(const alias_name in aliases){if(!Object.prototype.hasOwnProperty.call(aliases,alias_name)){continue}let currentNameAliases;if(currentCrateAliases.has(alias_name)){currentNameAliases=currentCrateAliases.get(alias_name)}else{currentNameAliases=[];currentCrateAliases.set(alias_name,currentNameAliases)}for(const local_alias of aliases[alias_name]){currentNameAliases.push(local_alias+currentIndex)}}}currentIndex+=itemTypes.length;searchState.descShards.set(crate,descShardList)}TYPES_POOL=new Map()}function onSearchSubmit(e){e.preventDefault();searchState.clearInputTimeout();search()}function putBackSearch(){const search_input=searchState.input;if(!searchState.input){return}if(search_input.value!==""&&!searchState.isDisplayed()){searchState.showResults();if(browserSupportsHistoryApi()){history.replaceState(null,"",buildUrl(search_input.value,getFilterCrates()))}document.title=searchState.title}}function registerSearchEvents(){const params=searchState.getQueryStringParams();if(searchState.input.value===""){searchState.input.value=params.search||""}const searchAfter500ms=()=>{searchState.clearInputTimeout();if(searchState.input.value.length===0){searchState.hideResults()}else{searchState.timeout=setTimeout(search,500)}};searchState.input.onkeyup=searchAfter500ms;searchState.input.oninput=searchAfter500ms;document.getElementsByClassName("search-form")[0].onsubmit=onSearchSubmit;searchState.input.onchange=e=>{if(e.target!==document.activeElement){return}searchState.clearInputTimeout();setTimeout(search,0)};searchState.input.onpaste=searchState.input.onchange;searchState.outputElement().addEventListener("keydown",e=>{if(e.altKey||e.ctrlKey||e.shiftKey||e.metaKey){return}if(e.which===38){const previous=document.activeElement.previousElementSibling;if(previous){previous.focus()}else{searchState.focus()}e.preventDefault()}else if(e.which===40){const next=document.activeElement.nextElementSibling;if(next){next.focus()}const rect=document.activeElement.getBoundingClientRect();if(window.innerHeight-rect.bottom{if(e.which===40){focusSearchResult();e.preventDefault()}});searchState.input.addEventListener("focus",()=>{putBackSearch()});searchState.input.addEventListener("blur",()=>{searchState.input.placeholder=searchState.input.origPlaceholder});if(browserSupportsHistoryApi()){const previousTitle=document.title;window.addEventListener("popstate",e=>{const params=searchState.getQueryStringParams();document.title=previousTitle;currentResults=null;if(params.search&¶ms.search.length>0){searchState.input.value=params.search;e.preventDefault();search()}else{searchState.input.value="";searchState.hideResults()}})}window.onpageshow=()=>{const qSearch=searchState.getQueryStringParams().search;if(searchState.input.value===""&&qSearch){searchState.input.value=qSearch}search()}}function updateCrate(ev){if(ev.target.value==="all crates"){const query=searchState.input.value.trim();updateSearchHistory(buildUrl(query,null))}currentResults=null;search(true)}buildIndex(rawSearchIndex);if(typeof window!=="undefined"){registerSearchEvents();if(window.searchState.getQueryStringParams().search){search()}}if(typeof exports!=="undefined"){exports.initSearch=initSearch;exports.execQuery=execQuery;exports.parseQuery=parseQuery}}if(typeof window!=="undefined"){window.initSearch=initSearch;if(window.searchIndex!==undefined){initSearch(window.searchIndex)}}else{initSearch(new Map())}})() \ No newline at end of file diff --git a/static.files/storage-4c98445ec4002617.js b/static.files/storage-e32f0c247825364d.js similarity index 91% rename from static.files/storage-4c98445ec4002617.js rename to static.files/storage-e32f0c247825364d.js index b378b8561..61ddce239 100644 --- a/static.files/storage-4c98445ec4002617.js +++ b/static.files/storage-e32f0c247825364d.js @@ -1 +1 @@ -"use strict";const builtinThemes=["light","dark","ayu"];const darkThemes=["dark","ayu"];window.currentTheme=document.getElementById("themeStyle");const settingsDataset=(function(){const settingsElement=document.getElementById("default-settings");return settingsElement&&settingsElement.dataset?settingsElement.dataset:null})();function getSettingValue(settingName){const current=getCurrentValue(settingName);if(current===null&&settingsDataset!==null){const def=settingsDataset[settingName.replace(/-/g,"_")];if(def!==undefined){return def}}return current}const localStoredTheme=getSettingValue("theme");function hasClass(elem,className){return elem&&elem.classList&&elem.classList.contains(className)}function addClass(elem,className){if(elem&&elem.classList){elem.classList.add(className)}}function removeClass(elem,className){if(elem&&elem.classList){elem.classList.remove(className)}}function onEach(arr,func){for(const elem of arr){if(func(elem)){return true}}return false}function onEachLazy(lazyArray,func){return onEach(Array.prototype.slice.call(lazyArray),func)}function updateLocalStorage(name,value){try{window.localStorage.setItem("rustdoc-"+name,value)}catch(e){}}function getCurrentValue(name){try{return window.localStorage.getItem("rustdoc-"+name)}catch(e){return null}}const getVar=(function getVar(name){const el=document.querySelector("head > meta[name='rustdoc-vars']");return el?el.attributes["data-"+name].value:null});function switchTheme(newThemeName,saveTheme){const themeNames=getVar("themes").split(",").filter(t=>t);themeNames.push(...builtinThemes);if(themeNames.indexOf(newThemeName)===-1){return}if(saveTheme){updateLocalStorage("theme",newThemeName)}document.documentElement.setAttribute("data-theme",newThemeName);if(builtinThemes.indexOf(newThemeName)!==-1){if(window.currentTheme){window.currentTheme.parentNode.removeChild(window.currentTheme);window.currentTheme=null}}else{const newHref=getVar("root-path")+encodeURIComponent(newThemeName)+getVar("resource-suffix")+".css";if(!window.currentTheme){if(document.readyState==="loading"){document.write(``);window.currentTheme=document.getElementById("themeStyle")}else{window.currentTheme=document.createElement("link");window.currentTheme.rel="stylesheet";window.currentTheme.id="themeStyle";window.currentTheme.href=newHref;document.documentElement.appendChild(window.currentTheme)}}else if(newHref!==window.currentTheme.href){window.currentTheme.href=newHref}}}const updateTheme=(function(){const mql=window.matchMedia("(prefers-color-scheme: dark)");function updateTheme(){if(getSettingValue("use-system-theme")!=="false"){const lightTheme=getSettingValue("preferred-light-theme")||"light";const darkTheme=getSettingValue("preferred-dark-theme")||"dark";updateLocalStorage("use-system-theme","true");switchTheme(mql.matches?darkTheme:lightTheme,true)}else{switchTheme(getSettingValue("theme"),false)}}mql.addEventListener("change",updateTheme);return updateTheme})();if(getSettingValue("use-system-theme")!=="false"&&window.matchMedia){if(getSettingValue("use-system-theme")===null&&getSettingValue("preferred-dark-theme")===null&&darkThemes.indexOf(localStoredTheme)>=0){updateLocalStorage("preferred-dark-theme",localStoredTheme)}}updateTheme();if(getSettingValue("source-sidebar-show")==="true"){addClass(document.documentElement,"src-sidebar-expanded")}if(getSettingValue("hide-sidebar")==="true"){addClass(document.documentElement,"hide-sidebar")}function updateSidebarWidth(){const desktopSidebarWidth=getSettingValue("desktop-sidebar-width");if(desktopSidebarWidth&&desktopSidebarWidth!=="null"){document.documentElement.style.setProperty("--desktop-sidebar-width",desktopSidebarWidth+"px")}const srcSidebarWidth=getSettingValue("src-sidebar-width");if(srcSidebarWidth&&srcSidebarWidth!=="null"){document.documentElement.style.setProperty("--src-sidebar-width",srcSidebarWidth+"px")}}updateSidebarWidth();window.addEventListener("pageshow",ev=>{if(ev.persisted){setTimeout(updateTheme,0);setTimeout(updateSidebarWidth,0)}}) \ No newline at end of file +"use strict";const builtinThemes=["light","dark","ayu"];const darkThemes=["dark","ayu"];window.currentTheme=document.getElementById("themeStyle");const settingsDataset=(function(){const settingsElement=document.getElementById("default-settings");return settingsElement&&settingsElement.dataset?settingsElement.dataset:null})();function getSettingValue(settingName){const current=getCurrentValue(settingName);if(current===null&&settingsDataset!==null){const def=settingsDataset[settingName.replace(/-/g,"_")];if(def!==undefined){return def}}return current}const localStoredTheme=getSettingValue("theme");function hasClass(elem,className){return elem&&elem.classList&&elem.classList.contains(className)}function addClass(elem,className){if(elem&&elem.classList){elem.classList.add(className)}}function removeClass(elem,className){if(elem&&elem.classList){elem.classList.remove(className)}}function onEach(arr,func){for(const elem of arr){if(func(elem)){return true}}return false}function onEachLazy(lazyArray,func){return onEach(Array.prototype.slice.call(lazyArray),func)}function updateLocalStorage(name,value){try{window.localStorage.setItem("rustdoc-"+name,value)}catch(e){}}function getCurrentValue(name){try{return window.localStorage.getItem("rustdoc-"+name)}catch(e){return null}}const getVar=(function getVar(name){const el=document.querySelector("head > meta[name='rustdoc-vars']");return el?el.attributes["data-"+name].value:null});function switchTheme(newThemeName,saveTheme){const themeNames=getVar("themes").split(",").filter(t=>t);themeNames.push(...builtinThemes);if(themeNames.indexOf(newThemeName)===-1){return}if(saveTheme){updateLocalStorage("theme",newThemeName)}document.documentElement.setAttribute("data-theme",newThemeName);if(builtinThemes.indexOf(newThemeName)!==-1){if(window.currentTheme){window.currentTheme.parentNode.removeChild(window.currentTheme);window.currentTheme=null}}else{const newHref=getVar("root-path")+encodeURIComponent(newThemeName)+getVar("resource-suffix")+".css";if(!window.currentTheme){if(document.readyState==="loading"){document.write(``);window.currentTheme=document.getElementById("themeStyle")}else{window.currentTheme=document.createElement("link");window.currentTheme.rel="stylesheet";window.currentTheme.id="themeStyle";window.currentTheme.href=newHref;document.documentElement.appendChild(window.currentTheme)}}else if(newHref!==window.currentTheme.href){window.currentTheme.href=newHref}}}const updateTheme=(function(){const mql=window.matchMedia("(prefers-color-scheme: dark)");function updateTheme(){if(getSettingValue("use-system-theme")!=="false"){const lightTheme=getSettingValue("preferred-light-theme")||"light";const darkTheme=getSettingValue("preferred-dark-theme")||"dark";updateLocalStorage("use-system-theme","true");switchTheme(mql.matches?darkTheme:lightTheme,true)}else{switchTheme(getSettingValue("theme"),false)}}mql.addEventListener("change",updateTheme);return updateTheme})();if(getSettingValue("use-system-theme")!=="false"&&window.matchMedia){if(getSettingValue("use-system-theme")===null&&getSettingValue("preferred-dark-theme")===null&&darkThemes.indexOf(localStoredTheme)>=0){updateLocalStorage("preferred-dark-theme",localStoredTheme)}}updateTheme();if(getSettingValue("source-sidebar-show")==="true"){addClass(document.documentElement,"src-sidebar-expanded")}if(getSettingValue("hide-sidebar")==="true"){addClass(document.documentElement,"hide-sidebar")}function updateSidebarWidth(){const desktopSidebarWidth=getSettingValue("desktop-sidebar-width");if(desktopSidebarWidth&&desktopSidebarWidth!=="null"){document.documentElement.style.setProperty("--desktop-sidebar-width",desktopSidebarWidth+"px",)}const srcSidebarWidth=getSettingValue("src-sidebar-width");if(srcSidebarWidth&&srcSidebarWidth!=="null"){document.documentElement.style.setProperty("--src-sidebar-width",srcSidebarWidth+"px",)}}updateSidebarWidth();window.addEventListener("pageshow",ev=>{if(ev.persisted){setTimeout(updateTheme,0);setTimeout(updateSidebarWidth,0)}}) \ No newline at end of file diff --git a/static.files/wheel-63255fc4502dca9a.svg b/static.files/wheel-63255fc4502dca9a.svg new file mode 100644 index 000000000..ba30f13dd --- /dev/null +++ b/static.files/wheel-63255fc4502dca9a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static.files/wheel-7b819b6101059cd0.svg b/static.files/wheel-7b819b6101059cd0.svg deleted file mode 100644 index 83c07f63d..000000000 --- a/static.files/wheel-7b819b6101059cd0.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/timestamp/all.html b/timestamp/all.html index 0de937d70..e521964b0 100644 --- a/timestamp/all.html +++ b/timestamp/all.html @@ -1,2 +1 @@ -List of all items in this crate -
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/timestamp/enum.TimestampError.html b/timestamp/enum.TimestampError.html index d89741a3f..490dc378a 100644 --- a/timestamp/enum.TimestampError.html +++ b/timestamp/enum.TimestampError.html @@ -1,5 +1,4 @@ -TimestampError in timestamp - Rust -
pub enum TimestampError {
+TimestampError in timestamp - Rust

Enum timestamp::TimestampError

source ·
pub enum TimestampError {
     BadlyTyped,
     MissingNewTimestamp,
     NewTimestampWrongHeight,
@@ -11,6 +10,7 @@
     CleanupRequiresOneReference,
     CleanupCannotCreateState,
     DontBeSoHasty,
+    CleanupEvictionsOnly,
 }
Expand description

Reasons that setting or cleaning up the timestamp may go wrong.

Variants§

§

BadlyTyped

UTXO data has an unexpected type

§

MissingNewTimestamp

When attempting to set a new best timestamp, you have not included a new timestamp output.

@@ -26,12 +26,11 @@ However, you have supplied some new outputs in this transaction.

§

DontBeSoHasty

You may not clean up old timestamps until they are at least the CLEANUP_AGE older than another noted timestamp on-chain.

-

Trait Implementations§

source§

impl Debug for TimestampError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl PartialEq for TimestampError

source§

fn eq(&self, other: &TimestampError) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl Eq for TimestampError

source§

impl StructuralPartialEq for TimestampError

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where - T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where - T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where +
§

CleanupEvictionsOnly

When cleaning up old timestamps, you must evict them. You may not use normal inputs.

+

Trait Implementations§

source§

impl Debug for TimestampError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl PartialEq for TimestampError

source§

fn eq(&self, other: &TimestampError) -> bool

This method tests for self and other values to be equal, and is used +by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
source§

impl Eq for TimestampError

source§

impl StructuralPartialEq for TimestampError

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CheckedConversion for T

§

fn checked_from<T>(t: T) -> Option<Self>
where Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
§

fn checked_into<T>(self) -> Option<T>
where @@ -59,14 +58,21 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -135,9 +141,9 @@ Self: DerefMut<Target = T> + Deref, T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where diff --git a/timestamp/index.html b/timestamp/index.html index 49d6edc3d..5ff3bc3a8 100644 --- a/timestamp/index.html +++ b/timestamp/index.html @@ -1,12 +1,8 @@ -timestamp - Rust -

Crate timestamp

source ·
Expand description

Allow block authors to include a timestamp via an inherent transaction.

+timestamp - Rust

Crate timestamp

source ·
Expand description

Allow block authors to include a timestamp via an inherent transaction.

This is roughly analogous to FRAME’s pallet timestamp. It relies on the same client-side inherent data provider, -as well as Tuxedo’s own previous block inehrent data provider.

+as well as Tuxedo’s own previous block inherent data provider.

In each block, the block author must include a single SetTimestamp transaction that peeks at the Timestamp UTXO that was created in the previous block, and creates a new one with an updated timestamp.

-

This piece currently features a prominent hack which will need to be cleaned up in due course. -It abuses the UpForGrabs verifier. This should be replaced with an Unspendable verifier and an eviction workflow.

Structs§

  • Allows users to voluntarily clean up old timestamps by showing that there exists another timestamp that is at least the CLEANUP_AGE newer.
  • A constraint checker for the simple act of setting a new best timetamp.
  • A timestamp, since the unix epoch, noted at some point in the history of the chain. It also records the block height in which it was included.

Enums§

  • Reasons that setting or cleaning up the timestamp may go wrong.

Traits§

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl<T> Default for CleanUpTimestamp<T>

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de, T> Deserialize<'de> for CleanUpTimestamp<T>

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<T> Encode for CleanUpTimestamp<T>
where + PhantomData<T>: Encode,

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy -)

Convert self to a slice and append it to the destination.
source§

fn encode(&self) -> Vec<u8>

Convert self to an owned vector.
source§

fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback: FnOnce(&[u8]) -> __CodecOutputReturn>( +)

Convert self to a slice and append it to the destination.
source§

fn encode(&self) -> Vec<u8>

Convert self to an owned vector.
source§

fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback: FnOnce(&[u8]) -> __CodecOutputReturn>( &self, f: __CodecUsingEncodedCallback -) -> __CodecOutputReturn

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl<T: PartialEq> PartialEq for CleanUpTimestamp<T>

source§

fn eq(&self, other: &CleanUpTimestamp<T>) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl<T> Serialize for CleanUpTimestamp<T>

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl<T: TimestampConfig> SimpleConstraintChecker for CleanUpTimestamp<T>

§

type Error = TimestampError

The error type that this constraint checker may return
source§

fn check( +) -> __CodecOutputReturn

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl<T: PartialEq> PartialEq for CleanUpTimestamp<T>

source§

fn eq(&self, other: &CleanUpTimestamp<T>) -> bool

This method tests for self and other values to be equal, and is used +by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
source§

impl<T> Serialize for CleanUpTimestamp<T>

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl<T: TimestampConfig> SimpleConstraintChecker for CleanUpTimestamp<T>

§

type Error = TimestampError

The error type that this constraint checker may return
source§

fn check( &self, input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], peek_data: &[DynamicallyTypedData], output_data: &[DynamicallyTypedData] -) -> Result<TransactionPriority, Self::Error>

The actual check validation logic
source§

impl<T> TypeInfo for CleanUpTimestamp<T>
where +) -> Result<TransactionPriority, Self::Error>

The on chain logic that makes the final check for whether a transaction is valid.
source§

impl<T> TypeInfo for CleanUpTimestamp<T>
where PhantomData<T>: TypeInfo + 'static, - T: TypeInfo + 'static,

§

type Identity = CleanUpTimestamp<T>

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl<T> EncodeLike for CleanUpTimestamp<T>
where - PhantomData<T>: Encode,

source§

impl<T: Eq> Eq for CleanUpTimestamp<T>

source§

impl<T> StructuralPartialEq for CleanUpTimestamp<T>

Auto Trait Implementations§

§

impl<T> RefUnwindSafe for CleanUpTimestamp<T>
where + T: TypeInfo + 'static,

§

type Identity = CleanUpTimestamp<T>

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl<T> EncodeLike for CleanUpTimestamp<T>
where + PhantomData<T>: Encode,

source§

impl<T: Eq> Eq for CleanUpTimestamp<T>

source§

impl<T> StructuralPartialEq for CleanUpTimestamp<T>

Auto Trait Implementations§

§

impl<T> Freeze for CleanUpTimestamp<T>

§

impl<T> RefUnwindSafe for CleanUpTimestamp<T>
where T: RefUnwindSafe,

§

impl<T> Send for CleanUpTimestamp<T>
where T: Send,

§

impl<T> Sync for CleanUpTimestamp<T>
where T: Sync,

§

impl<T> Unpin for CleanUpTimestamp<T>
where T: Unpin,

§

impl<T> UnwindSafe for CleanUpTimestamp<T>
where T: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where - T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where - T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CheckedConversion for T

§

fn checked_from<T>(t: T) -> Option<Self>
where Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
§

fn checked_into<T>(self) -> Option<T>
where Self: TryInto<T>,

Consume self to return Some equivalent value of Option<T>. Read more
§

impl<T> Clear for T
where - T: Default + Eq + PartialEq,

§

fn is_clear(&self) -> bool

True iff no bits are set.
§

fn clear() -> T

Return the value of Self that is clear.
§

impl<T, V> ConstraintChecker<V> for T
where - T: SimpleConstraintChecker,

§

type Error = <T as SimpleConstraintChecker>::Error

The error type that this constraint checker may return
§

type InherentHooks = ()

Optional Associated Inherent processing logic. If this transaction type is not an inherent, use (). -If it is an inherent, use Self, and implement the TuxedoInherent trait.
§

fn check( + T: Default + Eq + PartialEq,

§

fn is_clear(&self) -> bool

True iff no bits are set.
§

fn clear() -> T

Return the value of Self that is clear.
§

impl<T> ConstraintChecker for T
where + T: SimpleConstraintChecker,

§

type Error = <T as SimpleConstraintChecker>::Error

The error type that this constraint checker may return
§

fn check( &self, - inputs: &[Output<V>], - peeks: &[Output<V>], - outputs: &[Output<V>] -) -> Result<u64, <T as ConstraintChecker<V>>::Error>

The actual check validation logic
§

fn is_inherent(&self) -> bool

Tells whether this extrinsic is an inherent or not. -If you return true here, you must provide the correct inherent hooks above.
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where + input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], + peek_data: &[DynamicallyTypedData], + output_data: &[DynamicallyTypedData] +) -> Result<u64, <T as ConstraintChecker>::Error>

The on chain logic that makes the final check for whether a transaction is valid.
§

fn is_inherent(&self) -> bool

Tells whether this extrinsic is an inherent or not. +If you return true here, you must provide the correct inherent hooks above.
§

fn create_inherents<V>( + _authoring_inherent_data: &InherentData, + _previous_inherents: Vec<(Transaction<V, T>, H256)> +) -> Vec<Transaction<V, T>>

Create the inherent extrinsics to insert into a block that is being authored locally. +The inherent data is supplied by the authoring node.
§

fn check_inherents<V>( + _: &InherentData, + inherents: Vec<Transaction<V, T>>, + _: &mut CheckInherentsResult +)

Perform off-chain pre-execution checks on the inherents. +The inherent data is supplied by the importing node. +The inherent data available here is not necessarily the +same as what is available at authoring time.
§

fn genesis_transactions<V>() -> Vec<Transaction<V, T>>

Return the genesis transactions that are required for the inherents.
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
§

impl<T> DecodeAll for T
where T: Decode,

§

fn decode_all(input: &mut &[u8]) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

impl<T> DecodeLimit for T
where T: Decode,

§

fn decode_all_with_depth_limit( @@ -60,8 +69,8 @@ input: &mut &[u8] ) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
where I: Input,

Decode Self with the given maximum recursion depth and advance input by the number of -bytes consumed. Read more
source§

impl<T> DynClone for T
where - T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where +bytes consumed. Read more

source§

impl<T> DynClone for T
where + T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, @@ -84,14 +93,21 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -162,9 +178,9 @@ T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where @@ -172,8 +188,8 @@ S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<S> Codec for S
where - S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where + S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where T: Encode,

§

impl<T> EncodeLike<&T> for T
where T: Encode,

§

impl<T> EncodeLike<&mut T> for T
where T: Encode,

§

impl<T> EncodeLike<Arc<T>> for T
where @@ -185,7 +201,7 @@ S: Encode + EncodeLike,

§

impl<T> JsonSchemaMaybe for T

§

impl<T> MaybeDebug for T
where T: Debug,

§

impl<T> MaybeRefUnwindSafe for T
where T: RefUnwindSafe,

§

impl<T> MaybeSerialize for T
where - T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where + T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

§

impl<T> StaticTypeInfo for T
where T: TypeInfo + 'static,

\ No newline at end of file diff --git a/timestamp/struct.SetTimestamp.html b/timestamp/struct.SetTimestamp.html index 4d547411f..46371f31a 100644 --- a/timestamp/struct.SetTimestamp.html +++ b/timestamp/struct.SetTimestamp.html @@ -1,5 +1,4 @@ -SetTimestamp in timestamp - Rust -

Struct timestamp::SetTimestamp

source ·
pub struct SetTimestamp<T>(/* private fields */);
Expand description

A constraint checker for the simple act of setting a new best timetamp.

+SetTimestamp in timestamp - Rust

Struct timestamp::SetTimestamp

source ·
pub struct SetTimestamp<T>(/* private fields */);
Expand description

A constraint checker for the simple act of setting a new best timetamp.

This is expected to be performed through an inherent, and to happen exactly once per block.

This transaction comsumes a single input which is the previous best timestamp, And it creates two new outputs. A best timestamp, and a noted timestamp, both of which @@ -8,60 +7,76 @@ On the other hand, the noted timestamps stick around in storage for a while so that other transactions that need to peek at them are not immediately invalidated. Noted timestamps can be voluntarily cleand up later by another transaction.

-

Trait Implementations§

source§

impl<T> Clone for SetTimestamp<T>

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<T: TimestampConfig + 'static, V: Verifier + From<UpForGrabs>> ConstraintChecker<V> for SetTimestamp<T>

§

type Error = TimestampError

The error type that this constraint checker may return
§

type InherentHooks = TuxedoInherentAdapter<SetTimestamp<T>>

Optional Associated Inherent processing logic. If this transaction type is not an inherent, use (). -If it is an inherent, use Self, and implement the TuxedoInherent trait.
source§

fn check( - &self, - input_data: &[Output<V>], - peek_data: &[Output<V>], - output_data: &[Output<V>] -) -> Result<TransactionPriority, Self::Error>

The actual check validation logic
source§

fn is_inherent(&self) -> bool

Tells whether this extrinsic is an inherent or not. -If you return true here, you must provide the correct inherent hooks above.
source§

impl<T> Debug for SetTimestamp<T>

source§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<T> Decode for SetTimestamp<T>
where - PhantomData<T>: Decode,

source§

fn decode<__CodecInputEdqy: Input>( +

Trait Implementations§

source§

impl<T> Clone for SetTimestamp<T>

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<T> Debug for SetTimestamp<T>

source§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<T> Decode for SetTimestamp<T>
where + PhantomData<T>: Decode,

source§

fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Self, Error>

Attempt to deserialise the value from input.
§

fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>
where I: Input,

Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
§

fn skip<I>(input: &mut I) -> Result<(), Error>
where - I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl<T> Default for SetTimestamp<T>

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de, T> Deserialize<'de> for SetTimestamp<T>

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<T> Encode for SetTimestamp<T>
where - PhantomData<T>: Encode,

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl<T> Default for SetTimestamp<T>

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de, T> Deserialize<'de> for SetTimestamp<T>

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<T> Encode for SetTimestamp<T>
where + PhantomData<T>: Encode,

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy -)

Convert self to a slice and append it to the destination.
source§

fn encode(&self) -> Vec<u8>

Convert self to an owned vector.
source§

fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback: FnOnce(&[u8]) -> __CodecOutputReturn>( +)

Convert self to a slice and append it to the destination.
source§

fn encode(&self) -> Vec<u8>

Convert self to an owned vector.
source§

fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback: FnOnce(&[u8]) -> __CodecOutputReturn>( &self, f: __CodecUsingEncodedCallback -) -> __CodecOutputReturn

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl<T: PartialEq> PartialEq for SetTimestamp<T>

source§

fn eq(&self, other: &SetTimestamp<T>) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl<T> Serialize for SetTimestamp<T>

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl<V: Verifier + From<UpForGrabs>, T: TimestampConfig + 'static> TuxedoInherent<V, SetTimestamp<T>> for SetTimestamp<T>

§

type Error = InherentError

source§

const INHERENT_IDENTIFIER: InherentIdentifier = sp_timestamp::INHERENT_IDENTIFIER

source§

fn create_inherent( +) -> __CodecOutputReturn

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl<T: TimestampConfig + 'static> InherentHooks for SetTimestamp<T>

§

type Error = InherentError

source§

const INHERENT_IDENTIFIER: InherentIdentifier = sp_timestamp::INHERENT_IDENTIFIER

source§

fn create_inherent<V: Verifier>( authoring_inherent_data: &InherentData, previous_inherent: (Transaction<V, Self>, H256) ) -> Transaction<V, Self>

Create the inherent extrinsic to insert into a block that is being authored locally. -The inherent data is supplied by the authoring node.
source§

fn check_inherent( +The inherent data is supplied by the authoring node.

source§

fn check_inherent<V>( importing_inherent_data: &InherentData, inherent: Transaction<V, Self>, result: &mut CheckInherentsResult )

Perform off-chain pre-execution checks on the inherent. The inherent data is supplied by the importing node. The inherent data available here is not guaranteed to be the -same as what is available at authoring time.
source§

fn genesis_transactions() -> Vec<Transaction<V, Self>>

Return the genesis transactions that are required for this inherent.
source§

impl<T> TypeInfo for SetTimestamp<T>
where +same as what is available at authoring time.

source§

fn genesis_transactions<V: Verifier>() -> Vec<Transaction<V, Self>>

Return the genesis transactions that are required for this inherent.
source§

impl<T: PartialEq> PartialEq for SetTimestamp<T>

source§

fn eq(&self, other: &SetTimestamp<T>) -> bool

This method tests for self and other values to be equal, and is used +by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
source§

impl<T> Serialize for SetTimestamp<T>

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl<T: TimestampConfig + 'static> SimpleConstraintChecker for SetTimestamp<T>

§

type Error = TimestampError

The error type that this constraint checker may return
source§

fn check( + &self, + input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], + peek_data: &[DynamicallyTypedData], + output_data: &[DynamicallyTypedData] +) -> Result<TransactionPriority, Self::Error>

The on chain logic that makes the final check for whether a transaction is valid.
source§

impl<T> TypeInfo for SetTimestamp<T>
where PhantomData<T>: TypeInfo + 'static, - T: 'static,

§

type Identity = SetTimestamp<T>

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl<T> EncodeLike for SetTimestamp<T>
where - PhantomData<T>: Encode,

source§

impl<T: Eq> Eq for SetTimestamp<T>

source§

impl<T> StructuralPartialEq for SetTimestamp<T>

Auto Trait Implementations§

§

impl<T> RefUnwindSafe for SetTimestamp<T>
where + T: 'static,

§

type Identity = SetTimestamp<T>

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl<T> EncodeLike for SetTimestamp<T>
where + PhantomData<T>: Encode,

source§

impl<T: Eq> Eq for SetTimestamp<T>

source§

impl<T> StructuralPartialEq for SetTimestamp<T>

Auto Trait Implementations§

§

impl<T> Freeze for SetTimestamp<T>

§

impl<T> RefUnwindSafe for SetTimestamp<T>
where T: RefUnwindSafe,

§

impl<T> Send for SetTimestamp<T>
where T: Send,

§

impl<T> Sync for SetTimestamp<T>
where T: Sync,

§

impl<T> Unpin for SetTimestamp<T>
where T: Unpin,

§

impl<T> UnwindSafe for SetTimestamp<T>
where T: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where - T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where - T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CheckedConversion for T

§

fn checked_from<T>(t: T) -> Option<Self>
where Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
§

fn checked_into<T>(self) -> Option<T>
where Self: TryInto<T>,

Consume self to return Some equivalent value of Option<T>. Read more
§

impl<T> Clear for T
where - T: Default + Eq + PartialEq,

§

fn is_clear(&self) -> bool

True iff no bits are set.
§

fn clear() -> T

Return the value of Self that is clear.
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where + T: Default + Eq + PartialEq,

§

fn is_clear(&self) -> bool

True iff no bits are set.
§

fn clear() -> T

Return the value of Self that is clear.
§

impl<T> ConstraintChecker for T
where + T: SimpleConstraintChecker,

§

type Error = <T as SimpleConstraintChecker>::Error

The error type that this constraint checker may return
§

fn check( + &self, + input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], + peek_data: &[DynamicallyTypedData], + output_data: &[DynamicallyTypedData] +) -> Result<u64, <T as ConstraintChecker>::Error>

The on chain logic that makes the final check for whether a transaction is valid.
§

fn is_inherent(&self) -> bool

Tells whether this extrinsic is an inherent or not. +If you return true here, you must provide the correct inherent hooks above.
§

fn create_inherents<V>( + _authoring_inherent_data: &InherentData, + _previous_inherents: Vec<(Transaction<V, T>, H256)> +) -> Vec<Transaction<V, T>>

Create the inherent extrinsics to insert into a block that is being authored locally. +The inherent data is supplied by the authoring node.
§

fn check_inherents<V>( + _: &InherentData, + inherents: Vec<Transaction<V, T>>, + _: &mut CheckInherentsResult +)

Perform off-chain pre-execution checks on the inherents. +The inherent data is supplied by the importing node. +The inherent data available here is not necessarily the +same as what is available at authoring time.
§

fn genesis_transactions<V>() -> Vec<Transaction<V, T>>

Return the genesis transactions that are required for the inherents.
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
§

impl<T> DecodeAll for T
where T: Decode,

§

fn decode_all(input: &mut &[u8]) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

impl<T> DecodeLimit for T
where T: Decode,

§

fn decode_all_with_depth_limit( @@ -69,8 +84,8 @@ input: &mut &[u8] ) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
where I: Input,

Decode Self with the given maximum recursion depth and advance input by the number of -bytes consumed. Read more
source§

impl<T> DynClone for T
where - T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where +bytes consumed. Read more

source§

impl<T> DynClone for T
where + T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, @@ -93,14 +108,21 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -171,9 +193,9 @@ T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where @@ -181,8 +203,8 @@ S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<S> Codec for S
where - S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where + S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where T: Encode,

§

impl<T> EncodeLike<&T> for T
where T: Encode,

§

impl<T> EncodeLike<&mut T> for T
where T: Encode,

§

impl<T> EncodeLike<Arc<T>> for T
where @@ -194,7 +216,7 @@ S: Encode + EncodeLike,

§

impl<T> JsonSchemaMaybe for T

§

impl<T> MaybeDebug for T
where T: Debug,

§

impl<T> MaybeRefUnwindSafe for T
where T: RefUnwindSafe,

§

impl<T> MaybeSerialize for T
where - T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where + T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

§

impl<T> StaticTypeInfo for T
where T: TypeInfo + 'static,

\ No newline at end of file diff --git a/timestamp/struct.Timestamp.html b/timestamp/struct.Timestamp.html index 78f6b071d..b7a11bca8 100644 --- a/timestamp/struct.Timestamp.html +++ b/timestamp/struct.Timestamp.html @@ -1,34 +1,31 @@ -Timestamp in timestamp - Rust -

Struct timestamp::Timestamp

source ·
pub struct Timestamp {
+Timestamp in timestamp - Rust

Struct timestamp::Timestamp

source ·
pub struct Timestamp {
     pub time: u64,
     pub block: u32,
 }
Expand description

A timestamp, since the unix epoch, noted at some point in the history of the chain. It also records the block height in which it was included.

Fields§

§time: u64

The time, in milliseconds, since the unix epoch.

§block: u32

The block number in which this timestamp was noted.

-

Implementations§

source§

impl Timestamp

source

pub fn new(time: u64, block: u32) -> Self

Trait Implementations§

source§

impl Clone for Timestamp

source§

fn clone(&self) -> Timestamp

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Timestamp

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Decode for Timestamp

source§

fn decode<__CodecInputEdqy: Input>( +

Implementations§

source§

impl Timestamp

source

pub fn new(time: u64, block: u32) -> Self

Trait Implementations§

source§

impl Clone for Timestamp

source§

fn clone(&self) -> Timestamp

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Timestamp

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Decode for Timestamp

source§

fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Self, Error>

Attempt to deserialise the value from input.
§

fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>
where I: Input,

Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
§

fn skip<I>(input: &mut I) -> Result<(), Error>
where - I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl Default for Timestamp

source§

fn default() -> Timestamp

Returns the “default value” for a type. Read more
source§

impl Encode for Timestamp

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl Default for Timestamp

source§

fn default() -> Timestamp

Returns the “default value” for a type. Read more
source§

impl Encode for Timestamp

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )

Convert self to a slice and append it to the destination.
§

fn encode(&self) -> Vec<u8>

Convert self to an owned vector.
§

fn using_encoded<R, F>(&self, f: F) -> R
where - F: FnOnce(&[u8]) -> R,

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl Ord for Timestamp

source§

fn cmp(&self, other: &Timestamp) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where - Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where - Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where - Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for Timestamp

source§

fn eq(&self, other: &Timestamp) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for Timestamp

source§

fn partial_cmp(&self, other: &Timestamp) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= -operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
source§

impl UtxoData for Timestamp

source§

const TYPE_ID: [u8; 4] = _

A unique identifier for this type. For now choosing this value and making sure it -really is unique is the problem of the developer. Ideally this would be better.
source§

impl Copy for Timestamp

source§

impl EncodeLike for Timestamp

source§

impl Eq for Timestamp

source§

impl StructuralPartialEq for Timestamp

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where - T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where - T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where + F: FnOnce(&[u8]) -> R,

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl Ord for Timestamp

source§

fn cmp(&self, other: &Timestamp) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where + Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where + Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where + Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for Timestamp

source§

fn eq(&self, other: &Timestamp) -> bool

This method tests for self and other values to be equal, and is used +by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for Timestamp

source§

fn partial_cmp(&self, other: &Timestamp) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= +operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= +operator. Read more
source§

impl UtxoData for Timestamp

source§

const TYPE_ID: [u8; 4] = _

A unique identifier for this type. For now choosing this value and making sure it +really is unique is the problem of the developer. Ideally this would be better.
source§

impl Copy for Timestamp

source§

impl EncodeLike for Timestamp

source§

impl Eq for Timestamp

source§

impl StructuralPartialEq for Timestamp

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CheckedConversion for T

§

fn checked_from<T>(t: T) -> Option<Self>
where Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
§

fn checked_into<T>(self) -> Option<T>
where @@ -43,8 +40,8 @@ input: &mut &[u8] ) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
where I: Input,

Decode Self with the given maximum recursion depth and advance input by the number of -bytes consumed. Read more
source§

impl<T> DynClone for T
where - T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where +bytes consumed. Read more

source§

impl<T> DynClone for T
where + T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, @@ -67,14 +64,21 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -145,9 +149,9 @@ T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where diff --git a/timestamp/trait.TimestampConfig.html b/timestamp/trait.TimestampConfig.html index 693b2739e..16df16e27 100644 --- a/timestamp/trait.TimestampConfig.html +++ b/timestamp/trait.TimestampConfig.html @@ -1,5 +1,4 @@ -TimestampConfig in timestamp - Rust -
pub trait TimestampConfig {
+TimestampConfig in timestamp - Rust

Trait timestamp::TimestampConfig

source ·
pub trait TimestampConfig {
     const MINIMUM_TIME_INTERVAL: u64 = 2_000u64;
     const MAX_DRIFT: u64 = 60_000u64;
     const MIN_TIME_BEFORE_CLEANUP: u64 = 86_400_000u64;
@@ -9,18 +8,18 @@
     fn block_height() -> u32;
 }
Expand description

Options to configure the timestamp piece in your runtime. Currently we only need access to a block number.

-

Provided Associated Constants§

source

const MINIMUM_TIME_INTERVAL: u64 = 2_000u64

The minimum amount of time by which the timestamp may be updated.

+

Provided Associated Constants§

source

const MINIMUM_TIME_INTERVAL: u64 = 2_000u64

The minimum amount of time by which the timestamp may be updated.

The default is 2 seconds which should be slightly lower than most chains’ block times.

-
source

const MAX_DRIFT: u64 = 60_000u64

The maximum amount by which a valid block’s timestamp may be ahead of an importing +

source

const MAX_DRIFT: u64 = 60_000u64

The maximum amount by which a valid block’s timestamp may be ahead of an importing node’s current local time.

Default is 1 minute.

-
source

const MIN_TIME_BEFORE_CLEANUP: u64 = 86_400_000u64

The minimum amount of time that must have passed before an old timestamp +

source

const MIN_TIME_BEFORE_CLEANUP: u64 = 86_400_000u64

The minimum amount of time that must have passed before an old timestamp may be cleaned up.

Default is 1 day.

-
source

const MIN_BLOCKS_BEFORE_CLEANUP: u32 = 15_000u32

The minimum number of blocks that must have passed before an old timestamp +

source

const MIN_BLOCKS_BEFORE_CLEANUP: u32 = 15_000u32

The minimum number of blocks that must have passed before an old timestamp may be cleaned up.

Default is 15 thousand which is roughly equivalent to 1 day with 6 second block times which is a common default in Substrate chains because of Polkadot.

-

Required Methods§

source

fn block_height() -> u32

A means of getting the current block height. +

Required Methods§

source

fn block_height() -> u32

A means of getting the current block height. Probably this will be the Tuxedo Executive

Object Safety§

This trait is not object safe.

Implementors§

\ No newline at end of file diff --git a/trait.impl/clap_builder/derive/trait.Args.js b/trait.impl/clap_builder/derive/trait.Args.js index 122a85d4b..6e5699286 100644 --- a/trait.impl/clap_builder/derive/trait.Args.js +++ b/trait.impl/clap_builder/derive/trait.Args.js @@ -1,4 +1,4 @@ (function() {var implementors = { "parachain_template_node":[["impl Args for Cli"]], -"tuxedo_template_wallet":[["impl Args for Cli"],["impl Args for SpendArgs"],["impl Args for MintCoinArgs"]] +"tuxedo_template_wallet":[["impl Args for Cli"],["impl Args for MintCoinArgs"],["impl Args for SpendArgs"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/clap_builder/derive/trait.FromArgMatches.js b/trait.impl/clap_builder/derive/trait.FromArgMatches.js index cfdfe473e..2befe113b 100644 --- a/trait.impl/clap_builder/derive/trait.FromArgMatches.js +++ b/trait.impl/clap_builder/derive/trait.FromArgMatches.js @@ -1,4 +1,4 @@ (function() {var implementors = { "parachain_template_node":[["impl FromArgMatches for Subcommand"],["impl FromArgMatches for Cli"]], -"tuxedo_template_wallet":[["impl FromArgMatches for Command"],["impl FromArgMatches for Cli"],["impl FromArgMatches for SpendArgs"],["impl FromArgMatches for MintCoinArgs"]] +"tuxedo_template_wallet":[["impl FromArgMatches for Command"],["impl FromArgMatches for Cli"],["impl FromArgMatches for MintCoinArgs"],["impl FromArgMatches for SpendArgs"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/clone/trait.Clone.js b/trait.impl/core/clone/trait.Clone.js index b40396e19..77670b0a2 100644 --- a/trait.impl/core/clone/trait.Clone.js +++ b/trait.impl/core/clone/trait.Clone.js @@ -1,13 +1,15 @@ (function() {var implementors = { -"amoeba":[["impl Clone for AmoebaCreation"],["impl Clone for AmoebaDetails"],["impl Clone for AmoebaDeath"],["impl Clone for AmoebaMitosis"]], -"kitties":[["impl Clone for MomKittyStatus"],["impl Clone for KittyData"],["impl Clone for ConstraintCheckerError"],["impl Clone for KittyDNA"],["impl Clone for Parent"],["impl Clone for FreeKittyConstraintChecker"],["impl Clone for DadKittyStatus"]], -"money":[["impl<const ID: u8> Clone for MoneyConstraintChecker<ID>"],["impl<const ID: u8> Clone for Coin<ID>"],["impl Clone for ConstraintCheckerError"]], +"amoeba":[["impl Clone for AmoebaCreation"],["impl Clone for AmoebaDeath"],["impl Clone for AmoebaDetails"],["impl Clone for AmoebaMitosis"]], +"kitties":[["impl Clone for ConstraintCheckerError"],["impl Clone for DadKittyStatus"],["impl Clone for MomKittyStatus"],["impl Clone for Parent"],["impl Clone for FreeKittyConstraintChecker"],["impl Clone for KittyDNA"],["impl Clone for KittyData"]], +"money":[["impl Clone for ConstraintCheckerError"],["impl<const ID: u8> Clone for MoneyConstraintChecker<ID>"],["impl<const ID: u8> Clone for Coin<ID>"]], "parachain_piece":[["impl<T> Clone for SetParachainInfo<T>"]], -"parachain_template_node":[["impl Clone for ExtensionsFork"],["impl Clone for Extensions"]], -"poe":[["impl Clone for ConstraintCheckerError"],["impl Clone for PoeDispute"],["impl<T> Clone for PoeClaim<T>"],["impl Clone for PoeRevoke"]], +"parachain_template_node":[["impl Clone for Extensions"],["impl Clone for ExtensionsFork"]], +"poe":[["impl Clone for ConstraintCheckerError"],["impl Clone for PoeDispute"],["impl Clone for PoeRevoke"],["impl<T> Clone for PoeClaim<T>"]], "runtime_upgrade":[["impl Clone for RuntimeUpgrade"]], -"timestamp":[["impl Clone for Timestamp"],["impl<T> Clone for SetTimestamp<T>"],["impl<T> Clone for CleanUpTimestamp<T>"]], -"tuxedo_core":[["impl Clone for ThresholdMultiSignature"],["impl Clone for DynamicallyTypedData"],["impl Clone for Sr25519Signature"],["impl Clone for SignatureAndIndex"],["impl Clone for TestVerifier"],["impl<T: Clone> Clone for TuxedoInherentAdapter<T>"],["impl<V: Clone, C: Clone> Clone for Transaction<V, C>"],["impl Clone for UpForGrabs"],["impl Clone for Input"],["impl<V: Clone> Clone for Output<V>"],["impl Clone for OutputRef"]], +"timestamp":[["impl Clone for Timestamp"],["impl<T> Clone for CleanUpTimestamp<T>"],["impl<T> Clone for SetTimestamp<T>"]], +"tuxedo_core":[["impl Clone for RedemptionStrategy"],["impl Clone for DynamicallyTypedData"],["impl Clone for Input"],["impl Clone for OutputRef"],["impl Clone for BlakeTwoHashLock"],["impl Clone for P2PKH"],["impl Clone for Sr25519Signature"],["impl Clone for TestVerifier"],["impl Clone for ThresholdMultiSignature"],["impl Clone for TimeLock"],["impl Clone for Unspendable"],["impl Clone for UpForGrabs"],["impl<C: Clone> Clone for InherentAdapter<C>"],["impl<V: Clone> Clone for Output<V>"],["impl<V: Clone, C: Clone> Clone for Transaction<V, C>"]], "tuxedo_parachain_core":[["impl Clone for ParachainInherentDataUtxo"]], -"tuxedo_template_runtime":[["impl Clone for SessionKeys"],["impl Clone for OuterConstraintChecker"],["impl Clone for OuterVerifier"],["impl Clone for DummyParachainInfo"],["impl Clone for Runtime"]] +"tuxedo_parachain_runtime":[["impl Clone for ParachainConstraintChecker"],["impl Clone for Runtime"],["impl Clone for RuntimeParachainConfig"]], +"tuxedo_template_runtime":[["impl Clone for OuterConstraintChecker"],["impl Clone for OuterVerifier"],["impl Clone for SessionKeys"],["impl Clone for Runtime"]], +"tuxedo_template_wallet":[["impl Clone for ParachainConstraintChecker"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/cmp/trait.Eq.js b/trait.impl/core/cmp/trait.Eq.js index 34a9f7ff3..466a70812 100644 --- a/trait.impl/core/cmp/trait.Eq.js +++ b/trait.impl/core/cmp/trait.Eq.js @@ -1,11 +1,13 @@ (function() {var implementors = { -"amoeba":[["impl Eq for AmoebaCreation"],["impl Eq for ConstraintCheckerError"],["impl Eq for AmoebaDeath"],["impl Eq for AmoebaDetails"],["impl Eq for AmoebaMitosis"]], -"kitties":[["impl Eq for KittyDNA"],["impl Eq for FreeKittyConstraintChecker"],["impl Eq for KittyData"],["impl Eq for MomKittyStatus"],["impl Eq for DadKittyStatus"],["impl Eq for ConstraintCheckerError"],["impl Eq for Parent"]], -"money":[["impl<const ID: u8> Eq for MoneyConstraintChecker<ID>"],["impl<const ID: u8> Eq for Coin<ID>"],["impl Eq for ConstraintCheckerError"]], +"amoeba":[["impl Eq for ConstraintCheckerError"],["impl Eq for AmoebaCreation"],["impl Eq for AmoebaDeath"],["impl Eq for AmoebaDetails"],["impl Eq for AmoebaMitosis"]], +"kitties":[["impl Eq for ConstraintCheckerError"],["impl Eq for DadKittyStatus"],["impl Eq for MomKittyStatus"],["impl Eq for Parent"],["impl Eq for FreeKittyConstraintChecker"],["impl Eq for KittyDNA"],["impl Eq for KittyData"]], +"money":[["impl Eq for ConstraintCheckerError"],["impl<const ID: u8> Eq for MoneyConstraintChecker<ID>"],["impl<const ID: u8> Eq for Coin<ID>"]], "parachain_piece":[["impl Eq for ParachainError"],["impl<T: Eq> Eq for SetParachainInfo<T>"]], "poe":[["impl Eq for ConstraintCheckerError"],["impl Eq for PoeDispute"],["impl Eq for PoeRevoke"],["impl<T: Eq> Eq for PoeClaim<T>"]], "runtime_upgrade":[["impl Eq for RuntimeUpgrade"]], -"timestamp":[["impl Eq for TimestampError"],["impl Eq for Timestamp"],["impl<T: Eq> Eq for SetTimestamp<T>"],["impl<T: Eq> Eq for CleanUpTimestamp<T>"]], -"tuxedo_core":[["impl<ConstraintCheckerError: Eq> Eq for UtxoError<ConstraintCheckerError>"],["impl Eq for Input"],["impl Eq for UpForGrabs"],["impl Eq for SignatureAndIndex"],["impl Eq for DynamicallyTypedData"],["impl Eq for Bogus"],["impl Eq for TestVerifier"],["impl Eq for OutputRef"],["impl<V: Eq, C: Eq> Eq for Transaction<V, C>"],["impl<V: Eq> Eq for Output<V>"],["impl Eq for Sr25519Signature"],["impl Eq for ThresholdMultiSignature"],["impl Eq for DynamicTypingError"]], -"tuxedo_template_runtime":[["impl Eq for DummyParachainInfo"],["impl Eq for SessionKeys"],["impl Eq for OuterVerifier"],["impl Eq for OuterConstraintChecker"],["impl Eq for Runtime"]] +"timestamp":[["impl Eq for TimestampError"],["impl Eq for Timestamp"],["impl<T: Eq> Eq for CleanUpTimestamp<T>"],["impl<T: Eq> Eq for SetTimestamp<T>"]], +"tuxedo_core":[["impl Eq for DynamicTypingError"],["impl Eq for RedemptionStrategy"],["impl Eq for DynamicallyTypedData"],["impl Eq for Bogus"],["impl Eq for Input"],["impl Eq for OutputRef"],["impl Eq for BlakeTwoHashLock"],["impl Eq for P2PKH"],["impl Eq for Sr25519Signature"],["impl Eq for TestVerifier"],["impl Eq for ThresholdMultiSignature"],["impl Eq for TimeLock"],["impl Eq for Unspendable"],["impl Eq for UpForGrabs"],["impl<C: Eq> Eq for InherentAdapter<C>"],["impl<ConstraintCheckerError: Eq> Eq for UtxoError<ConstraintCheckerError>"],["impl<V: Eq> Eq for Output<V>"],["impl<V: Eq, C: Eq> Eq for Transaction<V, C>"]], +"tuxedo_parachain_runtime":[["impl Eq for ParachainConstraintChecker"],["impl Eq for Runtime"],["impl Eq for RuntimeParachainConfig"]], +"tuxedo_template_runtime":[["impl Eq for OuterConstraintChecker"],["impl Eq for OuterVerifier"],["impl Eq for SessionKeys"],["impl Eq for Runtime"]], +"tuxedo_template_wallet":[["impl Eq for ParachainConstraintChecker"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/cmp/trait.Ord.js b/trait.impl/core/cmp/trait.Ord.js index 19d88bb17..a397cd6aa 100644 --- a/trait.impl/core/cmp/trait.Ord.js +++ b/trait.impl/core/cmp/trait.Ord.js @@ -1,5 +1,5 @@ (function() {var implementors = { -"kitties":[["impl Ord for DadKittyStatus"],["impl Ord for KittyDNA"],["impl Ord for FreeKittyConstraintChecker"],["impl Ord for MomKittyStatus"],["impl Ord for ConstraintCheckerError"],["impl Ord for KittyData"],["impl Ord for Parent"]], -"money":[["impl Ord for ConstraintCheckerError"],["impl<const ID: u8> Ord for Coin<ID>"],["impl<const ID: u8> Ord for MoneyConstraintChecker<ID>"]], +"kitties":[["impl Ord for ConstraintCheckerError"],["impl Ord for DadKittyStatus"],["impl Ord for MomKittyStatus"],["impl Ord for Parent"],["impl Ord for FreeKittyConstraintChecker"],["impl Ord for KittyDNA"],["impl Ord for KittyData"]], +"money":[["impl Ord for ConstraintCheckerError"],["impl<const ID: u8> Ord for MoneyConstraintChecker<ID>"],["impl<const ID: u8> Ord for Coin<ID>"]], "timestamp":[["impl Ord for Timestamp"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/cmp/trait.PartialEq.js b/trait.impl/core/cmp/trait.PartialEq.js index 9cd573d27..39bc9a55f 100644 --- a/trait.impl/core/cmp/trait.PartialEq.js +++ b/trait.impl/core/cmp/trait.PartialEq.js @@ -1,12 +1,14 @@ (function() {var implementors = { -"amoeba":[["impl PartialEq for AmoebaDeath"],["impl PartialEq for AmoebaDetails"],["impl PartialEq for AmoebaMitosis"],["impl PartialEq for ConstraintCheckerError"],["impl PartialEq for AmoebaCreation"]], -"kitties":[["impl PartialEq for MomKittyStatus"],["impl PartialEq for DadKittyStatus"],["impl PartialEq for KittyDNA"],["impl PartialEq for Parent"],["impl PartialEq for FreeKittyConstraintChecker"],["impl PartialEq for ConstraintCheckerError"],["impl PartialEq for KittyData"]], -"money":[["impl<const ID: u8> PartialEq for Coin<ID>"],["impl PartialEq for ConstraintCheckerError"],["impl<const ID: u8> PartialEq for MoneyConstraintChecker<ID>"]], +"amoeba":[["impl PartialEq for ConstraintCheckerError"],["impl PartialEq for AmoebaCreation"],["impl PartialEq for AmoebaDeath"],["impl PartialEq for AmoebaDetails"],["impl PartialEq for AmoebaMitosis"]], +"kitties":[["impl PartialEq for ConstraintCheckerError"],["impl PartialEq for DadKittyStatus"],["impl PartialEq for MomKittyStatus"],["impl PartialEq for Parent"],["impl PartialEq for FreeKittyConstraintChecker"],["impl PartialEq for KittyDNA"],["impl PartialEq for KittyData"]], +"money":[["impl PartialEq for ConstraintCheckerError"],["impl<const ID: u8> PartialEq for MoneyConstraintChecker<ID>"],["impl<const ID: u8> PartialEq for Coin<ID>"]], "parachain_piece":[["impl PartialEq for ParachainError"],["impl<T: PartialEq> PartialEq for SetParachainInfo<T>"]], "parachain_template_node":[["impl PartialEq for Extensions"],["impl PartialEq for ExtensionsFork"]], -"poe":[["impl PartialEq for PoeDispute"],["impl PartialEq for ConstraintCheckerError"],["impl<T: PartialEq> PartialEq for PoeClaim<T>"],["impl PartialEq for PoeRevoke"]], +"poe":[["impl PartialEq for ConstraintCheckerError"],["impl PartialEq for PoeDispute"],["impl PartialEq for PoeRevoke"],["impl<T: PartialEq> PartialEq for PoeClaim<T>"]], "runtime_upgrade":[["impl PartialEq for RuntimeUpgrade"]], -"timestamp":[["impl<T: PartialEq> PartialEq for CleanUpTimestamp<T>"],["impl<T: PartialEq> PartialEq for SetTimestamp<T>"],["impl PartialEq for TimestampError"],["impl PartialEq for Timestamp"]], -"tuxedo_core":[["impl PartialEq for Sr25519Signature"],["impl<V: PartialEq> PartialEq for Output<V>"],["impl PartialEq for DynamicTypingError"],["impl PartialEq for Input"],["impl PartialEq for OutputRef"],["impl<ConstraintCheckerError: PartialEq> PartialEq for UtxoError<ConstraintCheckerError>"],["impl PartialEq for UpForGrabs"],["impl PartialEq for TestVerifier"],["impl<V: PartialEq, C: PartialEq> PartialEq for Transaction<V, C>"],["impl PartialEq for SignatureAndIndex"],["impl PartialEq for Bogus"],["impl PartialEq for DynamicallyTypedData"],["impl PartialEq for ThresholdMultiSignature"]], -"tuxedo_template_runtime":[["impl PartialEq for DummyParachainInfo"],["impl PartialEq for OuterConstraintChecker"],["impl PartialEq for OuterVerifier"],["impl PartialEq for SessionKeys"],["impl PartialEq for Runtime"]] +"timestamp":[["impl PartialEq for TimestampError"],["impl PartialEq for Timestamp"],["impl<T: PartialEq> PartialEq for CleanUpTimestamp<T>"],["impl<T: PartialEq> PartialEq for SetTimestamp<T>"]], +"tuxedo_core":[["impl PartialEq for DynamicTypingError"],["impl PartialEq for RedemptionStrategy"],["impl PartialEq for DynamicallyTypedData"],["impl PartialEq for Bogus"],["impl PartialEq for Input"],["impl PartialEq for OutputRef"],["impl PartialEq for BlakeTwoHashLock"],["impl PartialEq for P2PKH"],["impl PartialEq for Sr25519Signature"],["impl PartialEq for TestVerifier"],["impl PartialEq for ThresholdMultiSignature"],["impl PartialEq for TimeLock"],["impl PartialEq for Unspendable"],["impl PartialEq for UpForGrabs"],["impl<C: PartialEq> PartialEq for InherentAdapter<C>"],["impl<ConstraintCheckerError: PartialEq> PartialEq for UtxoError<ConstraintCheckerError>"],["impl<V: PartialEq> PartialEq for Output<V>"],["impl<V: PartialEq, C: PartialEq> PartialEq for Transaction<V, C>"]], +"tuxedo_parachain_runtime":[["impl PartialEq for ParachainConstraintChecker"],["impl PartialEq for Runtime"],["impl PartialEq for RuntimeParachainConfig"]], +"tuxedo_template_runtime":[["impl PartialEq for OuterConstraintChecker"],["impl PartialEq for OuterVerifier"],["impl PartialEq for SessionKeys"],["impl PartialEq for Runtime"]], +"tuxedo_template_wallet":[["impl PartialEq for ParachainConstraintChecker"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/cmp/trait.PartialOrd.js b/trait.impl/core/cmp/trait.PartialOrd.js index 5c3e43ec7..5c0d8c3a9 100644 --- a/trait.impl/core/cmp/trait.PartialOrd.js +++ b/trait.impl/core/cmp/trait.PartialOrd.js @@ -1,5 +1,5 @@ (function() {var implementors = { -"kitties":[["impl PartialOrd for FreeKittyConstraintChecker"],["impl PartialOrd for MomKittyStatus"],["impl PartialOrd for DadKittyStatus"],["impl PartialOrd for KittyDNA"],["impl PartialOrd for KittyData"],["impl PartialOrd for Parent"],["impl PartialOrd for ConstraintCheckerError"]], -"money":[["impl<const ID: u8> PartialOrd for MoneyConstraintChecker<ID>"],["impl PartialOrd for ConstraintCheckerError"],["impl<const ID: u8> PartialOrd for Coin<ID>"]], +"kitties":[["impl PartialOrd for ConstraintCheckerError"],["impl PartialOrd for DadKittyStatus"],["impl PartialOrd for MomKittyStatus"],["impl PartialOrd for Parent"],["impl PartialOrd for FreeKittyConstraintChecker"],["impl PartialOrd for KittyDNA"],["impl PartialOrd for KittyData"]], +"money":[["impl PartialOrd for ConstraintCheckerError"],["impl<const ID: u8> PartialOrd for MoneyConstraintChecker<ID>"],["impl<const ID: u8> PartialOrd for Coin<ID>"]], "timestamp":[["impl PartialOrd for Timestamp"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/convert/trait.From.js b/trait.impl/core/convert/trait.From.js index afb071949..99e1e41d3 100644 --- a/trait.impl/core/convert/trait.From.js +++ b/trait.impl/core/convert/trait.From.js @@ -1,5 +1,7 @@ (function() {var implementors = { -"tuxedo_core":[["impl<V, V1: Into<V>, P: Into<DynamicallyTypedData>> From<(P, V1)> for Output<V>"],["impl<T: UtxoData> From<T> for DynamicallyTypedData"],["impl<V: Default> From<DynamicallyTypedData> for Output<V>"]], +"tuxedo_core":[["impl<T: UtxoData> From<T> for DynamicallyTypedData"],["impl<V, V1: Into<V>, P: Into<DynamicallyTypedData>> From<(P, V1)> for Output<V>"],["impl<V: Default> From<DynamicallyTypedData> for Output<V>"]], "tuxedo_parachain_core":[["impl From<ParachainInherentDataUtxo> for ParachainInherentData"],["impl From<ParachainInherentData> for ParachainInherentDataUtxo"]], -"tuxedo_template_runtime":[["impl From<OuterConstraintChecker> for AmoebaDeath"],["impl From<OuterConstraintChecker> for MoneyConstraintChecker<0>"],["impl From<OuterConstraintChecker> for PoeClaim<Runtime>"],["impl From<OuterConstraintChecker> for SetParachainInfo<Runtime>"],["impl From<PoeDispute> for OuterConstraintChecker"],["impl From<FreeKittyConstraintChecker> for OuterConstraintChecker"],["impl From<AmoebaCreation> for OuterConstraintChecker"],["impl From<Sr25519Signature> for OuterVerifier"],["impl From<OuterVerifier> for ThresholdMultiSignature"],["impl From<OuterConstraintChecker> for AmoebaMitosis"],["impl From<RuntimeUpgrade> for OuterConstraintChecker"],["impl From<ThresholdMultiSignature> for OuterVerifier"],["impl From<PoeRevoke> for OuterConstraintChecker"],["impl From<SetTimestamp<Runtime>> for OuterConstraintChecker"],["impl From<OuterConstraintChecker> for RuntimeUpgrade"],["impl From<MoneyConstraintChecker<0>> for OuterConstraintChecker"],["impl From<SetParachainInfo<Runtime>> for OuterConstraintChecker"],["impl From<PoeClaim<Runtime>> for OuterConstraintChecker"],["impl From<OuterConstraintChecker> for AmoebaCreation"],["impl From<AmoebaDeath> for OuterConstraintChecker"],["impl From<OuterConstraintChecker> for SetTimestamp<Runtime>"],["impl From<OuterConstraintChecker> for PoeDispute"],["impl From<OuterVerifier> for UpForGrabs"],["impl From<UpForGrabs> for OuterVerifier"],["impl From<OuterConstraintChecker> for PoeRevoke"],["impl From<OuterVerifier> for Sr25519Signature"],["impl From<AmoebaMitosis> for OuterConstraintChecker"],["impl From<OuterConstraintChecker> for FreeKittyConstraintChecker"]] +"tuxedo_parachain_runtime":[["impl From<OuterConstraintChecker> for ParachainConstraintChecker"],["impl From<ParachainConstraintChecker> for InnerConstraintChecker"],["impl From<ParachainConstraintChecker> for InherentAdapter<SetParachainInfo<RuntimeParachainConfig>>"],["impl From<InherentAdapter<SetParachainInfo<RuntimeParachainConfig>>> for ParachainConstraintChecker"]], +"tuxedo_template_runtime":[["impl From<MoneyConstraintChecker<0>> for OuterConstraintChecker"],["impl From<OuterConstraintChecker> for MoneyConstraintChecker<0>"],["impl From<OuterConstraintChecker> for AmoebaCreation"],["impl From<OuterConstraintChecker> for AmoebaDeath"],["impl From<OuterConstraintChecker> for AmoebaMitosis"],["impl From<OuterConstraintChecker> for FreeKittyConstraintChecker"],["impl From<OuterConstraintChecker> for PoeClaim<Runtime>"],["impl From<OuterConstraintChecker> for PoeDispute"],["impl From<OuterConstraintChecker> for PoeRevoke"],["impl From<OuterConstraintChecker> for RuntimeUpgrade"],["impl From<OuterConstraintChecker> for InherentAdapter<SetTimestamp<Runtime>>"],["impl From<OuterVerifier> for ThresholdMultiSignature"],["impl From<OuterVerifier> for Sr25519Signature"],["impl From<OuterVerifier> for UpForGrabs"],["impl From<AmoebaCreation> for OuterConstraintChecker"],["impl From<AmoebaDeath> for OuterConstraintChecker"],["impl From<AmoebaMitosis> for OuterConstraintChecker"],["impl From<FreeKittyConstraintChecker> for OuterConstraintChecker"],["impl From<PoeClaim<Runtime>> for OuterConstraintChecker"],["impl From<PoeDispute> for OuterConstraintChecker"],["impl From<PoeRevoke> for OuterConstraintChecker"],["impl From<RuntimeUpgrade> for OuterConstraintChecker"],["impl From<InherentAdapter<SetTimestamp<Runtime>>> for OuterConstraintChecker"],["impl From<ThresholdMultiSignature> for OuterVerifier"],["impl From<Sr25519Signature> for OuterVerifier"],["impl From<UpForGrabs> for OuterVerifier"]], +"tuxedo_template_wallet":[["impl From<OuterConstraintChecker> for ParachainConstraintChecker"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/default/trait.Default.js b/trait.impl/core/default/trait.Default.js index d9e758513..fe345c47f 100644 --- a/trait.impl/core/default/trait.Default.js +++ b/trait.impl/core/default/trait.Default.js @@ -1,7 +1,6 @@ (function() {var implementors = { -"kitties":[["impl Default for DadKittyStatus"],["impl Default for KittyData"],["impl Default for MomKittyStatus"],["impl Default for KittyDNA"],["impl Default for Parent"]], +"kitties":[["impl Default for DadKittyStatus"],["impl Default for MomKittyStatus"],["impl Default for Parent"],["impl Default for KittyDNA"],["impl Default for KittyData"]], "parachain_piece":[["impl<T> Default for SetParachainInfo<T>"]], -"timestamp":[["impl<T> Default for SetTimestamp<T>"],["impl<T> Default for CleanUpTimestamp<T>"],["impl Default for Timestamp"]], -"tuxedo_core":[["impl Default for UpForGrabs"],["impl<T: Default> Default for TuxedoInherentAdapter<T>"],["impl<V: Default, C: Default> Default for Transaction<V, C>"]], -"tuxedo_template_runtime":[["impl Default for DummyParachainInfo"]] +"timestamp":[["impl Default for Timestamp"],["impl<T> Default for CleanUpTimestamp<T>"],["impl<T> Default for SetTimestamp<T>"]], +"tuxedo_core":[["impl Default for RedemptionStrategy"],["impl Default for Unspendable"],["impl Default for UpForGrabs"],["impl<C: Default> Default for InherentAdapter<C>"],["impl<V: Default, C: Default> Default for Transaction<V, C>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/fmt/trait.Debug.js b/trait.impl/core/fmt/trait.Debug.js index f33cd9606..49c02962a 100644 --- a/trait.impl/core/fmt/trait.Debug.js +++ b/trait.impl/core/fmt/trait.Debug.js @@ -1,14 +1,15 @@ (function() {var implementors = { -"amoeba":[["impl Debug for AmoebaDetails"],["impl Debug for AmoebaMitosis"],["impl Debug for AmoebaDeath"],["impl Debug for AmoebaCreation"],["impl Debug for ConstraintCheckerError"]], -"kitties":[["impl Debug for ConstraintCheckerError"],["impl Debug for FreeKittyConstraintChecker"],["impl Debug for MomKittyStatus"],["impl Debug for Parent"],["impl Debug for DadKittyStatus"],["impl Debug for KittyData"],["impl Debug for KittyDNA"]], -"money":[["impl Debug for ConstraintCheckerError"],["impl<const ID: u8> Debug for Coin<ID>"],["impl<const ID: u8> Debug for MoneyConstraintChecker<ID>"]], +"amoeba":[["impl Debug for ConstraintCheckerError"],["impl Debug for AmoebaCreation"],["impl Debug for AmoebaDeath"],["impl Debug for AmoebaDetails"],["impl Debug for AmoebaMitosis"]], +"kitties":[["impl Debug for ConstraintCheckerError"],["impl Debug for DadKittyStatus"],["impl Debug for MomKittyStatus"],["impl Debug for Parent"],["impl Debug for FreeKittyConstraintChecker"],["impl Debug for KittyDNA"],["impl Debug for KittyData"]], +"money":[["impl Debug for ConstraintCheckerError"],["impl<const ID: u8> Debug for MoneyConstraintChecker<ID>"],["impl<const ID: u8> Debug for Coin<ID>"]], "parachain_piece":[["impl Debug for ParachainError"],["impl<T> Debug for SetParachainInfo<T>"]], -"parachain_template_node":[["impl Debug for Extensions"],["impl Debug for Cli"],["impl Debug for ExtensionsFork"],["impl Debug for RelayChainCli"],["impl Debug for Subcommand"]], -"poe":[["impl Debug for PoeDispute"],["impl Debug for PoeRevoke"],["impl<T> Debug for PoeClaim<T>"],["impl Debug for ConstraintCheckerError"]], -"runtime_upgrade":[["impl Debug for RuntimeUpgrade"],["impl Debug for ConstraintCheckerError"]], -"timestamp":[["impl<T> Debug for CleanUpTimestamp<T>"],["impl Debug for TimestampError"],["impl<T> Debug for SetTimestamp<T>"],["impl Debug for Timestamp"]], -"tuxedo_core":[["impl Debug for TestVerifier"],["impl<V: Debug> Debug for Output<V>"],["impl Debug for Bogus"],["impl Debug for UpForGrabs"],["impl<V: Debug, C: Debug> Debug for Transaction<V, C>"],["impl Debug for DynamicallyTypedData"],["impl Debug for DynamicTypingError"],["impl Debug for ThresholdMultiSignature"],["impl Debug for SignatureAndIndex"],["impl<ConstraintCheckerError: Debug> Debug for UtxoError<ConstraintCheckerError>"],["impl Debug for Sr25519Signature"],["impl<T: Debug> Debug for TuxedoInherentAdapter<T>"],["impl Debug for OutputRef"],["impl Debug for Input"]], +"parachain_template_node":[["impl Debug for Subcommand"],["impl Debug for Extensions"],["impl Debug for ExtensionsFork"],["impl Debug for Cli"],["impl Debug for RelayChainCli"]], +"poe":[["impl Debug for ConstraintCheckerError"],["impl Debug for PoeDispute"],["impl Debug for PoeRevoke"],["impl<T> Debug for PoeClaim<T>"]], +"runtime_upgrade":[["impl Debug for ConstraintCheckerError"],["impl Debug for RuntimeUpgrade"]], +"timestamp":[["impl Debug for TimestampError"],["impl Debug for Timestamp"],["impl<T> Debug for CleanUpTimestamp<T>"],["impl<T> Debug for SetTimestamp<T>"]], +"tuxedo_core":[["impl Debug for DynamicTypingError"],["impl Debug for RedemptionStrategy"],["impl Debug for DynamicallyTypedData"],["impl Debug for Bogus"],["impl Debug for Input"],["impl Debug for OutputRef"],["impl Debug for BlakeTwoHashLock"],["impl Debug for P2PKH"],["impl Debug for Sr25519Signature"],["impl Debug for TestVerifier"],["impl Debug for ThresholdMultiSignature"],["impl Debug for TimeLock"],["impl Debug for Unspendable"],["impl Debug for UpForGrabs"],["impl<C: Debug> Debug for InherentAdapter<C>"],["impl<ConstraintCheckerError: Debug> Debug for UtxoError<ConstraintCheckerError>"],["impl<V: Debug> Debug for Output<V>"],["impl<V: Debug, C: Debug> Debug for Transaction<V, C>"]], "tuxedo_parachain_core":[["impl Debug for ParachainInherentDataUtxo"]], -"tuxedo_template_runtime":[["impl Debug for OuterVerifier"],["impl Debug for OuterConstraintCheckerError"],["impl Debug for OuterConstraintCheckerInherentHooks"],["impl Debug for OuterConstraintChecker"],["impl Debug for SessionKeys"],["impl Debug for DummyParachainInfo"]], -"tuxedo_template_wallet":[["impl Debug for SpendArgs"],["impl Debug for Command"],["impl Debug for Cli"],["impl Debug for MintCoinArgs"]] +"tuxedo_parachain_runtime":[["impl Debug for ParachainConstraintChecker"],["impl Debug for ParachainConstraintCheckerError"]], +"tuxedo_template_runtime":[["impl Debug for OuterConstraintChecker"],["impl Debug for OuterConstraintCheckerError"],["impl Debug for OuterVerifier"],["impl Debug for OuterVerifierRedeemer"],["impl Debug for SessionKeys"]], +"tuxedo_template_wallet":[["impl Debug for Command"],["impl Debug for ParachainConstraintChecker"],["impl Debug for Cli"],["impl Debug for MintCoinArgs"],["impl Debug for SpendArgs"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/hash/trait.Hash.js b/trait.impl/core/hash/trait.Hash.js index 0f6a7d6b2..b3be4a4b3 100644 --- a/trait.impl/core/hash/trait.Hash.js +++ b/trait.impl/core/hash/trait.Hash.js @@ -1,4 +1,4 @@ (function() {var implementors = { -"kitties":[["impl Hash for ConstraintCheckerError"],["impl Hash for MomKittyStatus"],["impl Hash for FreeKittyConstraintChecker"],["impl Hash for KittyData"],["impl Hash for KittyDNA"],["impl Hash for Parent"],["impl Hash for DadKittyStatus"]], -"money":[["impl<const ID: u8> Hash for MoneyConstraintChecker<ID>"],["impl Hash for ConstraintCheckerError"],["impl<const ID: u8> Hash for Coin<ID>"]] +"kitties":[["impl Hash for ConstraintCheckerError"],["impl Hash for DadKittyStatus"],["impl Hash for MomKittyStatus"],["impl Hash for Parent"],["impl Hash for FreeKittyConstraintChecker"],["impl Hash for KittyDNA"],["impl Hash for KittyData"]], +"money":[["impl Hash for ConstraintCheckerError"],["impl<const ID: u8> Hash for MoneyConstraintChecker<ID>"],["impl<const ID: u8> Hash for Coin<ID>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/marker/trait.Copy.js b/trait.impl/core/marker/trait.Copy.js index 393d063c3..a59f33e36 100644 --- a/trait.impl/core/marker/trait.Copy.js +++ b/trait.impl/core/marker/trait.Copy.js @@ -1,4 +1,4 @@ (function() {var implementors = { "timestamp":[["impl Copy for Timestamp"]], -"tuxedo_core":[["impl<T: Copy> Copy for TuxedoInherentAdapter<T>"]] +"tuxedo_core":[["impl<C: Copy> Copy for InherentAdapter<C>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/marker/trait.Freeze.js b/trait.impl/core/marker/trait.Freeze.js index 051ab7a47..a5b52033c 100644 --- a/trait.impl/core/marker/trait.Freeze.js +++ b/trait.impl/core/marker/trait.Freeze.js @@ -1,15 +1,16 @@ (function() {var implementors = { -"amoeba":[["impl Freeze for AmoebaDetails",1,["amoeba::AmoebaDetails"]],["impl Freeze for ConstraintCheckerError",1,["amoeba::ConstraintCheckerError"]],["impl Freeze for AmoebaMitosis",1,["amoeba::AmoebaMitosis"]],["impl Freeze for AmoebaDeath",1,["amoeba::AmoebaDeath"]],["impl Freeze for AmoebaCreation",1,["amoeba::AmoebaCreation"]]], -"kitties":[["impl Freeze for FreeKittyConstraintChecker",1,["kitties::FreeKittyConstraintChecker"]],["impl Freeze for DadKittyStatus",1,["kitties::DadKittyStatus"]],["impl Freeze for MomKittyStatus",1,["kitties::MomKittyStatus"]],["impl Freeze for Parent",1,["kitties::Parent"]],["impl Freeze for KittyDNA",1,["kitties::KittyDNA"]],["impl Freeze for KittyData",1,["kitties::KittyData"]],["impl Freeze for ConstraintCheckerError",1,["kitties::ConstraintCheckerError"]],["impl Freeze for KittyHelpers",1,["kitties::KittyHelpers"]]], -"money":[["impl<const ID: u8> Freeze for MoneyConstraintChecker<ID>",1,["money::MoneyConstraintChecker"]],["impl<const ID: u8> Freeze for Coin<ID>",1,["money::Coin"]],["impl Freeze for ConstraintCheckerError",1,["money::ConstraintCheckerError"]]], -"node_template":[["impl<C, P> Freeze for FullDeps<C, P>",1,["node_template::rpc::FullDeps"]],["impl Freeze for ExecutorDispatch",1,["node_template::service::ExecutorDispatch"]]], -"parachain_piece":[["impl Freeze for ParachainError",1,["parachain_piece::ParachainError"]],["impl<T> Freeze for SetParachainInfo<T>",1,["parachain_piece::SetParachainInfo"]]], -"parachain_template_node":[["impl Freeze for Extensions",1,["parachain_template_node::chain_spec::Extensions"]],["impl Freeze for ExtensionsFork",1,["parachain_template_node::chain_spec::ExtensionsFork"]],["impl Freeze for Subcommand",1,["parachain_template_node::cli::Subcommand"]],["impl Freeze for Cli",1,["parachain_template_node::cli::Cli"]],["impl Freeze for RelayChainCli",1,["parachain_template_node::cli::RelayChainCli"]],["impl Freeze for ExecutorDispatch",1,["parachain_template_node::dev_service::ExecutorDispatch"]],["impl<C, P> Freeze for FullDeps<C, P>",1,["parachain_template_node::rpc::FullDeps"]],["impl Freeze for ParachainNativeExecutor",1,["parachain_template_node::service::ParachainNativeExecutor"]]], -"poe":[["impl Freeze for ConstraintCheckerError",1,["poe::ConstraintCheckerError"]],["impl<T> Freeze for PoeClaim<T>",1,["poe::PoeClaim"]],["impl Freeze for PoeRevoke",1,["poe::PoeRevoke"]],["impl Freeze for PoeDispute",1,["poe::PoeDispute"]]], -"runtime_upgrade":[["impl Freeze for ConstraintCheckerError",1,["runtime_upgrade::ConstraintCheckerError"]],["impl Freeze for RuntimeUpgrade",1,["runtime_upgrade::RuntimeUpgrade"]]], -"timestamp":[["impl Freeze for Timestamp",1,["timestamp::Timestamp"]],["impl Freeze for TimestampError",1,["timestamp::TimestampError"]],["impl<T> Freeze for SetTimestamp<T>",1,["timestamp::SetTimestamp"]],["impl<T> Freeze for CleanUpTimestamp<T>",1,["timestamp::CleanUpTimestamp"]]], -"tuxedo_core":[["impl Freeze for Bogus",1,["tuxedo_core::dynamic_typing::testing::Bogus"]],["impl Freeze for DynamicallyTypedData",1,["tuxedo_core::dynamic_typing::DynamicallyTypedData"]],["impl Freeze for DynamicTypingError",1,["tuxedo_core::dynamic_typing::DynamicTypingError"]],["impl<B, V, C> Freeze for Executive<B, V, C>",1,["tuxedo_core::executive::Executive"]],["impl<Block> Freeze for ParentBlockInherentDataProvider<Block>
where\n Block: Freeze,
",1,["tuxedo_core::inherents::ParentBlockInherentDataProvider"]],["impl<T> Freeze for TuxedoInherentAdapter<T>
where\n T: Freeze,
",1,["tuxedo_core::inherents::TuxedoInherentAdapter"]],["impl Freeze for OutputRef",1,["tuxedo_core::types::OutputRef"]],["impl<V, C> Freeze for Transaction<V, C>
where\n C: Freeze,
",1,["tuxedo_core::types::Transaction"]],["impl Freeze for Input",1,["tuxedo_core::types::Input"]],["impl<ConstraintCheckerError> Freeze for UtxoError<ConstraintCheckerError>
where\n ConstraintCheckerError: Freeze,
",1,["tuxedo_core::types::UtxoError"]],["impl<V> Freeze for Output<V>
where\n V: Freeze,
",1,["tuxedo_core::types::Output"]],["impl<Verifier> Freeze for TransparentUtxoSet<Verifier>",1,["tuxedo_core::utxo_set::TransparentUtxoSet"]],["impl Freeze for Sr25519Signature",1,["tuxedo_core::verifier::Sr25519Signature"]],["impl Freeze for UpForGrabs",1,["tuxedo_core::verifier::UpForGrabs"]],["impl Freeze for ThresholdMultiSignature",1,["tuxedo_core::verifier::ThresholdMultiSignature"]],["impl Freeze for SignatureAndIndex",1,["tuxedo_core::verifier::SignatureAndIndex"]],["impl Freeze for TestVerifier",1,["tuxedo_core::verifier::TestVerifier"]],["impl<'a, Block, B, E> Freeze for TuxedoGenesisBlockBuilder<'a, Block, B, E>
where\n E: Freeze,
",1,["tuxedo_core::genesis::TuxedoGenesisBlockBuilder"]],["impl<V, C> Freeze for TuxedoGenesisConfig<V, C>",1,["tuxedo_core::genesis::TuxedoGenesisConfig"]]], -"tuxedo_parachain_core":[["impl Freeze for RelayParentNumberStorage",1,["tuxedo_parachain_core::RelayParentNumberStorage"]],["impl Freeze for MockRelayParentNumberStorage",1,["tuxedo_parachain_core::MockRelayParentNumberStorage"]],["impl Freeze for ParachainInherentDataUtxo",1,["tuxedo_parachain_core::ParachainInherentDataUtxo"]]], -"tuxedo_template_runtime":[["impl Freeze for SessionKeys",1,["tuxedo_template_runtime::opaque::SessionKeys"]],["impl Freeze for AuraAppPublic",1,["tuxedo_template_runtime::opaque::AuraAppPublic"]],["impl Freeze for GrandpaAppPublic",1,["tuxedo_template_runtime::opaque::GrandpaAppPublic"]],["impl Freeze for OuterVerifier",1,["tuxedo_template_runtime::OuterVerifier"]],["impl Freeze for OuterConstraintChecker",1,["tuxedo_template_runtime::OuterConstraintChecker"]],["impl Freeze for OuterConstraintCheckerError",1,["tuxedo_template_runtime::OuterConstraintCheckerError"]],["impl Freeze for OuterConstraintCheckerInherentHooks",1,["tuxedo_template_runtime::OuterConstraintCheckerInherentHooks"]],["impl Freeze for DummyParachainInfo",1,["tuxedo_template_runtime::DummyParachainInfo"]],["impl Freeze for Runtime",1,["tuxedo_template_runtime::Runtime"]],["impl Freeze for RuntimeApi",1,["tuxedo_template_runtime::RuntimeApi"]],["impl<Block, C> !Freeze for RuntimeApiImpl<Block, C>",1,["tuxedo_template_runtime::RuntimeApiImpl"]]], -"tuxedo_template_wallet":[["impl Freeze for Cli",1,["tuxedo_template_wallet::cli::Cli"]],["impl Freeze for Command",1,["tuxedo_template_wallet::cli::Command"]],["impl Freeze for MintCoinArgs",1,["tuxedo_template_wallet::cli::MintCoinArgs"]],["impl Freeze for SpendArgs",1,["tuxedo_template_wallet::cli::SpendArgs"]],["impl Freeze for TestSr25519SignatureFilter",1,["tuxedo_template_wallet::output_filter::tests::TestSr25519SignatureFilter"]],["impl Freeze for Sr25519SignatureFilter",1,["tuxedo_template_wallet::output_filter::Sr25519SignatureFilter"]]] +"amoeba":[["impl Freeze for ConstraintCheckerError",1,["amoeba::ConstraintCheckerError"]],["impl Freeze for AmoebaCreation",1,["amoeba::AmoebaCreation"]],["impl Freeze for AmoebaDeath",1,["amoeba::AmoebaDeath"]],["impl Freeze for AmoebaDetails",1,["amoeba::AmoebaDetails"]],["impl Freeze for AmoebaMitosis",1,["amoeba::AmoebaMitosis"]]], +"kitties":[["impl Freeze for ConstraintCheckerError",1,["kitties::ConstraintCheckerError"]],["impl Freeze for DadKittyStatus",1,["kitties::DadKittyStatus"]],["impl Freeze for MomKittyStatus",1,["kitties::MomKittyStatus"]],["impl Freeze for Parent",1,["kitties::Parent"]],["impl Freeze for FreeKittyConstraintChecker",1,["kitties::FreeKittyConstraintChecker"]],["impl Freeze for KittyDNA",1,["kitties::KittyDNA"]],["impl Freeze for KittyData",1,["kitties::KittyData"]],["impl Freeze for KittyHelpers",1,["kitties::KittyHelpers"]]], +"money":[["impl Freeze for ConstraintCheckerError",1,["money::ConstraintCheckerError"]],["impl<const ID: u8> Freeze for MoneyConstraintChecker<ID>",1,["money::MoneyConstraintChecker"]],["impl<const ID: u8> Freeze for Coin<ID>",1,["money::Coin"]]], +"node_template":[["impl Freeze for ExecutorDispatch",1,["node_template::service::ExecutorDispatch"]],["impl<C, P> Freeze for FullDeps<C, P>",1,["node_template::rpc::FullDeps"]]], +"parachain_piece":[["impl Freeze for ParachainError",1,["parachain_piece::ParachainError"]],["impl<T> Freeze for SetParachainInfo<T>",1,["parachain_piece::SetParachainInfo"]]], +"parachain_template_node":[["impl Freeze for Subcommand",1,["parachain_template_node::cli::Subcommand"]],["impl Freeze for Extensions",1,["parachain_template_node::chain_spec::Extensions"]],["impl Freeze for ExtensionsFork",1,["parachain_template_node::chain_spec::ExtensionsFork"]],["impl Freeze for Cli",1,["parachain_template_node::cli::Cli"]],["impl Freeze for RelayChainCli",1,["parachain_template_node::cli::RelayChainCli"]],["impl Freeze for ExecutorDispatch",1,["parachain_template_node::dev_service::ExecutorDispatch"]],["impl Freeze for ParachainNativeExecutor",1,["parachain_template_node::service::ParachainNativeExecutor"]],["impl<C, P> Freeze for FullDeps<C, P>",1,["parachain_template_node::rpc::FullDeps"]]], +"poe":[["impl Freeze for ConstraintCheckerError",1,["poe::ConstraintCheckerError"]],["impl Freeze for PoeDispute",1,["poe::PoeDispute"]],["impl Freeze for PoeRevoke",1,["poe::PoeRevoke"]],["impl<T> Freeze for PoeClaim<T>",1,["poe::PoeClaim"]]], +"runtime_upgrade":[["impl Freeze for ConstraintCheckerError",1,["runtime_upgrade::ConstraintCheckerError"]],["impl Freeze for RuntimeUpgrade",1,["runtime_upgrade::RuntimeUpgrade"]]], +"timestamp":[["impl Freeze for TimestampError",1,["timestamp::TimestampError"]],["impl Freeze for Timestamp",1,["timestamp::Timestamp"]],["impl<T> Freeze for CleanUpTimestamp<T>",1,["timestamp::CleanUpTimestamp"]],["impl<T> Freeze for SetTimestamp<T>",1,["timestamp::SetTimestamp"]]], +"tuxedo_core":[["impl Freeze for DynamicTypingError",1,["tuxedo_core::dynamic_typing::DynamicTypingError"]],["impl Freeze for RedemptionStrategy",1,["tuxedo_core::types::RedemptionStrategy"]],["impl Freeze for DynamicallyTypedData",1,["tuxedo_core::dynamic_typing::DynamicallyTypedData"]],["impl Freeze for Bogus",1,["tuxedo_core::dynamic_typing::testing::Bogus"]],["impl Freeze for Input",1,["tuxedo_core::types::Input"]],["impl Freeze for OutputRef",1,["tuxedo_core::types::OutputRef"]],["impl Freeze for BlakeTwoHashLock",1,["tuxedo_core::verifier::htlc::BlakeTwoHashLock"]],["impl Freeze for P2PKH",1,["tuxedo_core::verifier::simple_signature::P2PKH"]],["impl Freeze for Sr25519Signature",1,["tuxedo_core::verifier::simple_signature::Sr25519Signature"]],["impl Freeze for TestVerifier",1,["tuxedo_core::verifier::TestVerifier"]],["impl Freeze for ThresholdMultiSignature",1,["tuxedo_core::verifier::multi_signature::ThresholdMultiSignature"]],["impl Freeze for TimeLock",1,["tuxedo_core::verifier::htlc::TimeLock"]],["impl Freeze for Unspendable",1,["tuxedo_core::verifier::Unspendable"]],["impl Freeze for UpForGrabs",1,["tuxedo_core::verifier::UpForGrabs"]],["impl<'a, Block, B, E> Freeze for TuxedoGenesisBlockBuilder<'a, Block, B, E>
where\n E: Freeze,
",1,["tuxedo_core::genesis::block_builder::TuxedoGenesisBlockBuilder"]],["impl<Block> Freeze for ParentBlockInherentDataProvider<Block>
where\n Block: Freeze,
",1,["tuxedo_core::inherents::ParentBlockInherentDataProvider"]],["impl<C> Freeze for InherentAdapter<C>
where\n C: Freeze,
",1,["tuxedo_core::inherents::InherentAdapter"]],["impl<ConstraintCheckerError> Freeze for UtxoError<ConstraintCheckerError>
where\n ConstraintCheckerError: Freeze,
",1,["tuxedo_core::types::UtxoError"]],["impl<V> Freeze for Output<V>
where\n V: Freeze,
",1,["tuxedo_core::types::Output"]],["impl<V, C> Freeze for TuxedoGenesisConfigBuilder<V, C>",1,["tuxedo_core::genesis::config_builder::TuxedoGenesisConfigBuilder"]],["impl<V, C> Freeze for Executive<V, C>",1,["tuxedo_core::executive::Executive"]],["impl<V, C> Freeze for Transaction<V, C>
where\n C: Freeze,
",1,["tuxedo_core::types::Transaction"]],["impl<Verifier> Freeze for TransparentUtxoSet<Verifier>",1,["tuxedo_core::utxo_set::TransparentUtxoSet"]]], +"tuxedo_parachain_core":[["impl Freeze for MockRelayParentNumberStorage",1,["tuxedo_parachain_core::MockRelayParentNumberStorage"]],["impl Freeze for RelayParentNumberStorage",1,["tuxedo_parachain_core::RelayParentNumberStorage"]],["impl Freeze for ParachainInherentDataUtxo",1,["tuxedo_parachain_core::ParachainInherentDataUtxo"]]], +"tuxedo_parachain_runtime":[["impl Freeze for ParachainConstraintChecker",1,["tuxedo_parachain_runtime::ParachainConstraintChecker"]],["impl Freeze for ParachainConstraintCheckerError",1,["tuxedo_parachain_runtime::ParachainConstraintCheckerError"]],["impl Freeze for Runtime",1,["tuxedo_parachain_runtime::Runtime"]],["impl Freeze for RuntimeApi",1,["tuxedo_parachain_runtime::RuntimeApi"]],["impl Freeze for RuntimeParachainConfig",1,["tuxedo_parachain_runtime::RuntimeParachainConfig"]],["impl<Block, C> !Freeze for RuntimeApiImpl<Block, C>",1,["tuxedo_parachain_runtime::RuntimeApiImpl"]]], +"tuxedo_template_runtime":[["impl Freeze for OuterConstraintChecker",1,["tuxedo_template_runtime::OuterConstraintChecker"]],["impl Freeze for OuterConstraintCheckerError",1,["tuxedo_template_runtime::OuterConstraintCheckerError"]],["impl Freeze for OuterVerifier",1,["tuxedo_template_runtime::OuterVerifier"]],["impl Freeze for OuterVerifierRedeemer",1,["tuxedo_template_runtime::OuterVerifierRedeemer"]],["impl Freeze for AuraAppPublic",1,["tuxedo_template_runtime::opaque::AuraAppPublic"]],["impl Freeze for GrandpaAppPublic",1,["tuxedo_template_runtime::opaque::GrandpaAppPublic"]],["impl Freeze for SessionKeys",1,["tuxedo_template_runtime::opaque::SessionKeys"]],["impl Freeze for Runtime",1,["tuxedo_template_runtime::Runtime"]],["impl Freeze for RuntimeApi",1,["tuxedo_template_runtime::RuntimeApi"]],["impl<Block, C> !Freeze for RuntimeApiImpl<Block, C>",1,["tuxedo_template_runtime::RuntimeApiImpl"]]], +"tuxedo_template_wallet":[["impl Freeze for Command",1,["tuxedo_template_wallet::cli::Command"]],["impl Freeze for ParachainConstraintChecker",1,["tuxedo_template_wallet::parachain::ParachainConstraintChecker"]],["impl Freeze for Cli",1,["tuxedo_template_wallet::cli::Cli"]],["impl Freeze for MintCoinArgs",1,["tuxedo_template_wallet::cli::MintCoinArgs"]],["impl Freeze for SpendArgs",1,["tuxedo_template_wallet::cli::SpendArgs"]],["impl Freeze for Sr25519SignatureFilter",1,["tuxedo_template_wallet::output_filter::Sr25519SignatureFilter"]],["impl Freeze for TestSr25519SignatureFilter",1,["tuxedo_template_wallet::output_filter::tests::TestSr25519SignatureFilter"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/marker/trait.Send.js b/trait.impl/core/marker/trait.Send.js index 41b2932e9..d5cdf09cb 100644 --- a/trait.impl/core/marker/trait.Send.js +++ b/trait.impl/core/marker/trait.Send.js @@ -1,15 +1,16 @@ (function() {var implementors = { -"amoeba":[["impl Send for AmoebaDetails",1,["amoeba::AmoebaDetails"]],["impl Send for ConstraintCheckerError",1,["amoeba::ConstraintCheckerError"]],["impl Send for AmoebaMitosis",1,["amoeba::AmoebaMitosis"]],["impl Send for AmoebaDeath",1,["amoeba::AmoebaDeath"]],["impl Send for AmoebaCreation",1,["amoeba::AmoebaCreation"]]], -"kitties":[["impl Send for FreeKittyConstraintChecker",1,["kitties::FreeKittyConstraintChecker"]],["impl Send for DadKittyStatus",1,["kitties::DadKittyStatus"]],["impl Send for MomKittyStatus",1,["kitties::MomKittyStatus"]],["impl Send for Parent",1,["kitties::Parent"]],["impl Send for KittyDNA",1,["kitties::KittyDNA"]],["impl Send for KittyData",1,["kitties::KittyData"]],["impl Send for ConstraintCheckerError",1,["kitties::ConstraintCheckerError"]],["impl Send for KittyHelpers",1,["kitties::KittyHelpers"]]], -"money":[["impl<const ID: u8> Send for MoneyConstraintChecker<ID>",1,["money::MoneyConstraintChecker"]],["impl<const ID: u8> Send for Coin<ID>",1,["money::Coin"]],["impl Send for ConstraintCheckerError",1,["money::ConstraintCheckerError"]]], -"node_template":[["impl<C, P> Send for FullDeps<C, P>
where\n C: Sync + Send,\n P: Sync + Send,
",1,["node_template::rpc::FullDeps"]],["impl Send for ExecutorDispatch",1,["node_template::service::ExecutorDispatch"]]], +"amoeba":[["impl Send for ConstraintCheckerError",1,["amoeba::ConstraintCheckerError"]],["impl Send for AmoebaCreation",1,["amoeba::AmoebaCreation"]],["impl Send for AmoebaDeath",1,["amoeba::AmoebaDeath"]],["impl Send for AmoebaDetails",1,["amoeba::AmoebaDetails"]],["impl Send for AmoebaMitosis",1,["amoeba::AmoebaMitosis"]]], +"kitties":[["impl Send for ConstraintCheckerError",1,["kitties::ConstraintCheckerError"]],["impl Send for DadKittyStatus",1,["kitties::DadKittyStatus"]],["impl Send for MomKittyStatus",1,["kitties::MomKittyStatus"]],["impl Send for Parent",1,["kitties::Parent"]],["impl Send for FreeKittyConstraintChecker",1,["kitties::FreeKittyConstraintChecker"]],["impl Send for KittyDNA",1,["kitties::KittyDNA"]],["impl Send for KittyData",1,["kitties::KittyData"]],["impl Send for KittyHelpers",1,["kitties::KittyHelpers"]]], +"money":[["impl Send for ConstraintCheckerError",1,["money::ConstraintCheckerError"]],["impl<const ID: u8> Send for MoneyConstraintChecker<ID>",1,["money::MoneyConstraintChecker"]],["impl<const ID: u8> Send for Coin<ID>",1,["money::Coin"]]], +"node_template":[["impl Send for ExecutorDispatch",1,["node_template::service::ExecutorDispatch"]],["impl<C, P> Send for FullDeps<C, P>
where\n C: Sync + Send,\n P: Sync + Send,
",1,["node_template::rpc::FullDeps"]]], "parachain_piece":[["impl Send for ParachainError",1,["parachain_piece::ParachainError"]],["impl<T> Send for SetParachainInfo<T>
where\n T: Send,
",1,["parachain_piece::SetParachainInfo"]]], -"parachain_template_node":[["impl Send for Extensions",1,["parachain_template_node::chain_spec::Extensions"]],["impl Send for ExtensionsFork",1,["parachain_template_node::chain_spec::ExtensionsFork"]],["impl Send for Subcommand",1,["parachain_template_node::cli::Subcommand"]],["impl Send for Cli",1,["parachain_template_node::cli::Cli"]],["impl Send for RelayChainCli",1,["parachain_template_node::cli::RelayChainCli"]],["impl Send for ExecutorDispatch",1,["parachain_template_node::dev_service::ExecutorDispatch"]],["impl<C, P> Send for FullDeps<C, P>
where\n C: Sync + Send,\n P: Sync + Send,
",1,["parachain_template_node::rpc::FullDeps"]],["impl Send for ParachainNativeExecutor",1,["parachain_template_node::service::ParachainNativeExecutor"]]], -"poe":[["impl Send for ConstraintCheckerError",1,["poe::ConstraintCheckerError"]],["impl<T> Send for PoeClaim<T>
where\n T: Send,
",1,["poe::PoeClaim"]],["impl Send for PoeRevoke",1,["poe::PoeRevoke"]],["impl Send for PoeDispute",1,["poe::PoeDispute"]]], +"parachain_template_node":[["impl Send for Subcommand",1,["parachain_template_node::cli::Subcommand"]],["impl Send for Extensions",1,["parachain_template_node::chain_spec::Extensions"]],["impl Send for ExtensionsFork",1,["parachain_template_node::chain_spec::ExtensionsFork"]],["impl Send for Cli",1,["parachain_template_node::cli::Cli"]],["impl Send for RelayChainCli",1,["parachain_template_node::cli::RelayChainCli"]],["impl Send for ExecutorDispatch",1,["parachain_template_node::dev_service::ExecutorDispatch"]],["impl Send for ParachainNativeExecutor",1,["parachain_template_node::service::ParachainNativeExecutor"]],["impl<C, P> Send for FullDeps<C, P>
where\n C: Sync + Send,\n P: Sync + Send,
",1,["parachain_template_node::rpc::FullDeps"]]], +"poe":[["impl Send for ConstraintCheckerError",1,["poe::ConstraintCheckerError"]],["impl Send for PoeDispute",1,["poe::PoeDispute"]],["impl Send for PoeRevoke",1,["poe::PoeRevoke"]],["impl<T> Send for PoeClaim<T>
where\n T: Send,
",1,["poe::PoeClaim"]]], "runtime_upgrade":[["impl Send for ConstraintCheckerError",1,["runtime_upgrade::ConstraintCheckerError"]],["impl Send for RuntimeUpgrade",1,["runtime_upgrade::RuntimeUpgrade"]]], -"timestamp":[["impl Send for Timestamp",1,["timestamp::Timestamp"]],["impl Send for TimestampError",1,["timestamp::TimestampError"]],["impl<T> Send for SetTimestamp<T>
where\n T: Send,
",1,["timestamp::SetTimestamp"]],["impl<T> Send for CleanUpTimestamp<T>
where\n T: Send,
",1,["timestamp::CleanUpTimestamp"]]], -"tuxedo_core":[["impl Send for Bogus",1,["tuxedo_core::dynamic_typing::testing::Bogus"]],["impl Send for DynamicallyTypedData",1,["tuxedo_core::dynamic_typing::DynamicallyTypedData"]],["impl Send for DynamicTypingError",1,["tuxedo_core::dynamic_typing::DynamicTypingError"]],["impl<B, V, C> Send for Executive<B, V, C>
where\n B: Send,\n C: Send,\n V: Send,
",1,["tuxedo_core::executive::Executive"]],["impl<Block> Send for ParentBlockInherentDataProvider<Block>
where\n Block: Send,
",1,["tuxedo_core::inherents::ParentBlockInherentDataProvider"]],["impl<T> Send for TuxedoInherentAdapter<T>
where\n T: Send,
",1,["tuxedo_core::inherents::TuxedoInherentAdapter"]],["impl Send for OutputRef",1,["tuxedo_core::types::OutputRef"]],["impl<V, C> Send for Transaction<V, C>
where\n C: Send,\n V: Send,
",1,["tuxedo_core::types::Transaction"]],["impl Send for Input",1,["tuxedo_core::types::Input"]],["impl<ConstraintCheckerError> Send for UtxoError<ConstraintCheckerError>
where\n ConstraintCheckerError: Send,
",1,["tuxedo_core::types::UtxoError"]],["impl<V> Send for Output<V>
where\n V: Send,
",1,["tuxedo_core::types::Output"]],["impl<Verifier> Send for TransparentUtxoSet<Verifier>
where\n Verifier: Send,
",1,["tuxedo_core::utxo_set::TransparentUtxoSet"]],["impl Send for Sr25519Signature",1,["tuxedo_core::verifier::Sr25519Signature"]],["impl Send for UpForGrabs",1,["tuxedo_core::verifier::UpForGrabs"]],["impl Send for ThresholdMultiSignature",1,["tuxedo_core::verifier::ThresholdMultiSignature"]],["impl Send for SignatureAndIndex",1,["tuxedo_core::verifier::SignatureAndIndex"]],["impl Send for TestVerifier",1,["tuxedo_core::verifier::TestVerifier"]],["impl<'a, Block, B, E> !Send for TuxedoGenesisBlockBuilder<'a, Block, B, E>",1,["tuxedo_core::genesis::TuxedoGenesisBlockBuilder"]],["impl<V, C> Send for TuxedoGenesisConfig<V, C>
where\n C: Send,\n V: Send,
",1,["tuxedo_core::genesis::TuxedoGenesisConfig"]]], -"tuxedo_parachain_core":[["impl Send for RelayParentNumberStorage",1,["tuxedo_parachain_core::RelayParentNumberStorage"]],["impl Send for MockRelayParentNumberStorage",1,["tuxedo_parachain_core::MockRelayParentNumberStorage"]],["impl Send for ParachainInherentDataUtxo",1,["tuxedo_parachain_core::ParachainInherentDataUtxo"]]], -"tuxedo_template_runtime":[["impl Send for SessionKeys",1,["tuxedo_template_runtime::opaque::SessionKeys"]],["impl Send for AuraAppPublic",1,["tuxedo_template_runtime::opaque::AuraAppPublic"]],["impl Send for GrandpaAppPublic",1,["tuxedo_template_runtime::opaque::GrandpaAppPublic"]],["impl Send for OuterVerifier",1,["tuxedo_template_runtime::OuterVerifier"]],["impl Send for OuterConstraintChecker",1,["tuxedo_template_runtime::OuterConstraintChecker"]],["impl Send for OuterConstraintCheckerError",1,["tuxedo_template_runtime::OuterConstraintCheckerError"]],["impl Send for OuterConstraintCheckerInherentHooks",1,["tuxedo_template_runtime::OuterConstraintCheckerInherentHooks"]],["impl Send for DummyParachainInfo",1,["tuxedo_template_runtime::DummyParachainInfo"]],["impl Send for Runtime",1,["tuxedo_template_runtime::Runtime"]],["impl Send for RuntimeApi",1,["tuxedo_template_runtime::RuntimeApi"]],["impl<Block, C> Send for RuntimeApiImpl<Block, C>
where\n C: Sync,
",1,["tuxedo_template_runtime::RuntimeApiImpl"]]], -"tuxedo_template_wallet":[["impl Send for Cli",1,["tuxedo_template_wallet::cli::Cli"]],["impl Send for Command",1,["tuxedo_template_wallet::cli::Command"]],["impl Send for MintCoinArgs",1,["tuxedo_template_wallet::cli::MintCoinArgs"]],["impl Send for SpendArgs",1,["tuxedo_template_wallet::cli::SpendArgs"]],["impl Send for TestSr25519SignatureFilter",1,["tuxedo_template_wallet::output_filter::tests::TestSr25519SignatureFilter"]],["impl Send for Sr25519SignatureFilter",1,["tuxedo_template_wallet::output_filter::Sr25519SignatureFilter"]]] +"timestamp":[["impl Send for TimestampError",1,["timestamp::TimestampError"]],["impl Send for Timestamp",1,["timestamp::Timestamp"]],["impl<T> Send for CleanUpTimestamp<T>
where\n T: Send,
",1,["timestamp::CleanUpTimestamp"]],["impl<T> Send for SetTimestamp<T>
where\n T: Send,
",1,["timestamp::SetTimestamp"]]], +"tuxedo_core":[["impl Send for DynamicTypingError",1,["tuxedo_core::dynamic_typing::DynamicTypingError"]],["impl Send for RedemptionStrategy",1,["tuxedo_core::types::RedemptionStrategy"]],["impl Send for DynamicallyTypedData",1,["tuxedo_core::dynamic_typing::DynamicallyTypedData"]],["impl Send for Bogus",1,["tuxedo_core::dynamic_typing::testing::Bogus"]],["impl Send for Input",1,["tuxedo_core::types::Input"]],["impl Send for OutputRef",1,["tuxedo_core::types::OutputRef"]],["impl Send for BlakeTwoHashLock",1,["tuxedo_core::verifier::htlc::BlakeTwoHashLock"]],["impl Send for P2PKH",1,["tuxedo_core::verifier::simple_signature::P2PKH"]],["impl Send for Sr25519Signature",1,["tuxedo_core::verifier::simple_signature::Sr25519Signature"]],["impl Send for TestVerifier",1,["tuxedo_core::verifier::TestVerifier"]],["impl Send for ThresholdMultiSignature",1,["tuxedo_core::verifier::multi_signature::ThresholdMultiSignature"]],["impl Send for TimeLock",1,["tuxedo_core::verifier::htlc::TimeLock"]],["impl Send for Unspendable",1,["tuxedo_core::verifier::Unspendable"]],["impl Send for UpForGrabs",1,["tuxedo_core::verifier::UpForGrabs"]],["impl<'a, Block, B, E> !Send for TuxedoGenesisBlockBuilder<'a, Block, B, E>",1,["tuxedo_core::genesis::block_builder::TuxedoGenesisBlockBuilder"]],["impl<Block> Send for ParentBlockInherentDataProvider<Block>
where\n Block: Send,
",1,["tuxedo_core::inherents::ParentBlockInherentDataProvider"]],["impl<C> Send for InherentAdapter<C>
where\n C: Send,
",1,["tuxedo_core::inherents::InherentAdapter"]],["impl<ConstraintCheckerError> Send for UtxoError<ConstraintCheckerError>
where\n ConstraintCheckerError: Send,
",1,["tuxedo_core::types::UtxoError"]],["impl<V> Send for Output<V>
where\n V: Send,
",1,["tuxedo_core::types::Output"]],["impl<V, C> Send for TuxedoGenesisConfigBuilder<V, C>
where\n V: Send,\n C: Send,
",1,["tuxedo_core::genesis::config_builder::TuxedoGenesisConfigBuilder"]],["impl<V, C> Send for Executive<V, C>
where\n V: Send,\n C: Send,
",1,["tuxedo_core::executive::Executive"]],["impl<V, C> Send for Transaction<V, C>
where\n C: Send,\n V: Send,
",1,["tuxedo_core::types::Transaction"]],["impl<Verifier> Send for TransparentUtxoSet<Verifier>
where\n Verifier: Send,
",1,["tuxedo_core::utxo_set::TransparentUtxoSet"]]], +"tuxedo_parachain_core":[["impl Send for MockRelayParentNumberStorage",1,["tuxedo_parachain_core::MockRelayParentNumberStorage"]],["impl Send for RelayParentNumberStorage",1,["tuxedo_parachain_core::RelayParentNumberStorage"]],["impl Send for ParachainInherentDataUtxo",1,["tuxedo_parachain_core::ParachainInherentDataUtxo"]]], +"tuxedo_parachain_runtime":[["impl Send for ParachainConstraintChecker",1,["tuxedo_parachain_runtime::ParachainConstraintChecker"]],["impl Send for ParachainConstraintCheckerError",1,["tuxedo_parachain_runtime::ParachainConstraintCheckerError"]],["impl Send for Runtime",1,["tuxedo_parachain_runtime::Runtime"]],["impl Send for RuntimeApi",1,["tuxedo_parachain_runtime::RuntimeApi"]],["impl Send for RuntimeParachainConfig",1,["tuxedo_parachain_runtime::RuntimeParachainConfig"]],["impl<Block, C> Send for RuntimeApiImpl<Block, C>
where\n C: Sync,
",1,["tuxedo_parachain_runtime::RuntimeApiImpl"]]], +"tuxedo_template_runtime":[["impl Send for OuterConstraintChecker",1,["tuxedo_template_runtime::OuterConstraintChecker"]],["impl Send for OuterConstraintCheckerError",1,["tuxedo_template_runtime::OuterConstraintCheckerError"]],["impl Send for OuterVerifier",1,["tuxedo_template_runtime::OuterVerifier"]],["impl Send for OuterVerifierRedeemer",1,["tuxedo_template_runtime::OuterVerifierRedeemer"]],["impl Send for AuraAppPublic",1,["tuxedo_template_runtime::opaque::AuraAppPublic"]],["impl Send for GrandpaAppPublic",1,["tuxedo_template_runtime::opaque::GrandpaAppPublic"]],["impl Send for SessionKeys",1,["tuxedo_template_runtime::opaque::SessionKeys"]],["impl Send for Runtime",1,["tuxedo_template_runtime::Runtime"]],["impl Send for RuntimeApi",1,["tuxedo_template_runtime::RuntimeApi"]],["impl<Block, C> Send for RuntimeApiImpl<Block, C>
where\n C: Sync,
",1,["tuxedo_template_runtime::RuntimeApiImpl"]]], +"tuxedo_template_wallet":[["impl Send for Command",1,["tuxedo_template_wallet::cli::Command"]],["impl Send for ParachainConstraintChecker",1,["tuxedo_template_wallet::parachain::ParachainConstraintChecker"]],["impl Send for Cli",1,["tuxedo_template_wallet::cli::Cli"]],["impl Send for MintCoinArgs",1,["tuxedo_template_wallet::cli::MintCoinArgs"]],["impl Send for SpendArgs",1,["tuxedo_template_wallet::cli::SpendArgs"]],["impl Send for Sr25519SignatureFilter",1,["tuxedo_template_wallet::output_filter::Sr25519SignatureFilter"]],["impl Send for TestSr25519SignatureFilter",1,["tuxedo_template_wallet::output_filter::tests::TestSr25519SignatureFilter"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/marker/trait.StructuralPartialEq.js b/trait.impl/core/marker/trait.StructuralPartialEq.js index 37ade83a0..995ba4201 100644 --- a/trait.impl/core/marker/trait.StructuralPartialEq.js +++ b/trait.impl/core/marker/trait.StructuralPartialEq.js @@ -1,12 +1,14 @@ (function() {var implementors = { -"amoeba":[["impl StructuralPartialEq for AmoebaMitosis"],["impl StructuralPartialEq for AmoebaDetails"],["impl StructuralPartialEq for AmoebaDeath"],["impl StructuralPartialEq for AmoebaCreation"],["impl StructuralPartialEq for ConstraintCheckerError"]], -"kitties":[["impl StructuralPartialEq for KittyDNA"],["impl StructuralPartialEq for DadKittyStatus"],["impl StructuralPartialEq for Parent"],["impl StructuralPartialEq for MomKittyStatus"],["impl StructuralPartialEq for ConstraintCheckerError"],["impl StructuralPartialEq for KittyData"],["impl StructuralPartialEq for FreeKittyConstraintChecker"]], -"money":[["impl<const ID: u8> StructuralPartialEq for MoneyConstraintChecker<ID>"],["impl StructuralPartialEq for ConstraintCheckerError"],["impl<const ID: u8> StructuralPartialEq for Coin<ID>"]], +"amoeba":[["impl StructuralPartialEq for ConstraintCheckerError"],["impl StructuralPartialEq for AmoebaCreation"],["impl StructuralPartialEq for AmoebaDeath"],["impl StructuralPartialEq for AmoebaDetails"],["impl StructuralPartialEq for AmoebaMitosis"]], +"kitties":[["impl StructuralPartialEq for ConstraintCheckerError"],["impl StructuralPartialEq for DadKittyStatus"],["impl StructuralPartialEq for MomKittyStatus"],["impl StructuralPartialEq for Parent"],["impl StructuralPartialEq for FreeKittyConstraintChecker"],["impl StructuralPartialEq for KittyDNA"],["impl StructuralPartialEq for KittyData"]], +"money":[["impl StructuralPartialEq for ConstraintCheckerError"],["impl<const ID: u8> StructuralPartialEq for MoneyConstraintChecker<ID>"],["impl<const ID: u8> StructuralPartialEq for Coin<ID>"]], "parachain_piece":[["impl StructuralPartialEq for ParachainError"],["impl<T> StructuralPartialEq for SetParachainInfo<T>"]], -"parachain_template_node":[["impl StructuralPartialEq for ExtensionsFork"],["impl StructuralPartialEq for Extensions"]], -"poe":[["impl<T> StructuralPartialEq for PoeClaim<T>"],["impl StructuralPartialEq for ConstraintCheckerError"],["impl StructuralPartialEq for PoeRevoke"],["impl StructuralPartialEq for PoeDispute"]], +"parachain_template_node":[["impl StructuralPartialEq for Extensions"],["impl StructuralPartialEq for ExtensionsFork"]], +"poe":[["impl StructuralPartialEq for ConstraintCheckerError"],["impl StructuralPartialEq for PoeDispute"],["impl StructuralPartialEq for PoeRevoke"],["impl<T> StructuralPartialEq for PoeClaim<T>"]], "runtime_upgrade":[["impl StructuralPartialEq for RuntimeUpgrade"]], -"timestamp":[["impl StructuralPartialEq for Timestamp"],["impl<T> StructuralPartialEq for SetTimestamp<T>"],["impl<T> StructuralPartialEq for CleanUpTimestamp<T>"],["impl StructuralPartialEq for TimestampError"]], -"tuxedo_core":[["impl StructuralPartialEq for SignatureAndIndex"],["impl StructuralPartialEq for OutputRef"],["impl<ConstraintCheckerError> StructuralPartialEq for UtxoError<ConstraintCheckerError>"],["impl StructuralPartialEq for Bogus"],["impl StructuralPartialEq for ThresholdMultiSignature"],["impl StructuralPartialEq for TestVerifier"],["impl StructuralPartialEq for UpForGrabs"],["impl StructuralPartialEq for DynamicallyTypedData"],["impl<V, C> StructuralPartialEq for Transaction<V, C>"],["impl StructuralPartialEq for Sr25519Signature"],["impl<V> StructuralPartialEq for Output<V>"],["impl StructuralPartialEq for Input"],["impl StructuralPartialEq for DynamicTypingError"]], -"tuxedo_template_runtime":[["impl StructuralPartialEq for OuterConstraintChecker"],["impl StructuralPartialEq for Runtime"],["impl StructuralPartialEq for DummyParachainInfo"],["impl StructuralPartialEq for OuterVerifier"],["impl StructuralPartialEq for SessionKeys"]] +"timestamp":[["impl StructuralPartialEq for TimestampError"],["impl StructuralPartialEq for Timestamp"],["impl<T> StructuralPartialEq for CleanUpTimestamp<T>"],["impl<T> StructuralPartialEq for SetTimestamp<T>"]], +"tuxedo_core":[["impl StructuralPartialEq for DynamicTypingError"],["impl StructuralPartialEq for RedemptionStrategy"],["impl StructuralPartialEq for DynamicallyTypedData"],["impl StructuralPartialEq for Bogus"],["impl StructuralPartialEq for Input"],["impl StructuralPartialEq for OutputRef"],["impl StructuralPartialEq for BlakeTwoHashLock"],["impl StructuralPartialEq for P2PKH"],["impl StructuralPartialEq for Sr25519Signature"],["impl StructuralPartialEq for TestVerifier"],["impl StructuralPartialEq for ThresholdMultiSignature"],["impl StructuralPartialEq for TimeLock"],["impl StructuralPartialEq for Unspendable"],["impl StructuralPartialEq for UpForGrabs"],["impl<C> StructuralPartialEq for InherentAdapter<C>"],["impl<ConstraintCheckerError> StructuralPartialEq for UtxoError<ConstraintCheckerError>"],["impl<V> StructuralPartialEq for Output<V>"],["impl<V, C> StructuralPartialEq for Transaction<V, C>"]], +"tuxedo_parachain_runtime":[["impl StructuralPartialEq for ParachainConstraintChecker"],["impl StructuralPartialEq for Runtime"],["impl StructuralPartialEq for RuntimeParachainConfig"]], +"tuxedo_template_runtime":[["impl StructuralPartialEq for OuterConstraintChecker"],["impl StructuralPartialEq for OuterVerifier"],["impl StructuralPartialEq for SessionKeys"],["impl StructuralPartialEq for Runtime"]], +"tuxedo_template_wallet":[["impl StructuralPartialEq for ParachainConstraintChecker"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/marker/trait.Sync.js b/trait.impl/core/marker/trait.Sync.js index 03d63ee64..a584200b0 100644 --- a/trait.impl/core/marker/trait.Sync.js +++ b/trait.impl/core/marker/trait.Sync.js @@ -1,15 +1,16 @@ (function() {var implementors = { -"amoeba":[["impl Sync for AmoebaDetails",1,["amoeba::AmoebaDetails"]],["impl Sync for ConstraintCheckerError",1,["amoeba::ConstraintCheckerError"]],["impl Sync for AmoebaMitosis",1,["amoeba::AmoebaMitosis"]],["impl Sync for AmoebaDeath",1,["amoeba::AmoebaDeath"]],["impl Sync for AmoebaCreation",1,["amoeba::AmoebaCreation"]]], -"kitties":[["impl Sync for FreeKittyConstraintChecker",1,["kitties::FreeKittyConstraintChecker"]],["impl Sync for DadKittyStatus",1,["kitties::DadKittyStatus"]],["impl Sync for MomKittyStatus",1,["kitties::MomKittyStatus"]],["impl Sync for Parent",1,["kitties::Parent"]],["impl Sync for KittyDNA",1,["kitties::KittyDNA"]],["impl Sync for KittyData",1,["kitties::KittyData"]],["impl Sync for ConstraintCheckerError",1,["kitties::ConstraintCheckerError"]],["impl Sync for KittyHelpers",1,["kitties::KittyHelpers"]]], -"money":[["impl<const ID: u8> Sync for MoneyConstraintChecker<ID>",1,["money::MoneyConstraintChecker"]],["impl<const ID: u8> Sync for Coin<ID>",1,["money::Coin"]],["impl Sync for ConstraintCheckerError",1,["money::ConstraintCheckerError"]]], -"node_template":[["impl<C, P> Sync for FullDeps<C, P>
where\n C: Sync + Send,\n P: Sync + Send,
",1,["node_template::rpc::FullDeps"]],["impl Sync for ExecutorDispatch",1,["node_template::service::ExecutorDispatch"]]], +"amoeba":[["impl Sync for ConstraintCheckerError",1,["amoeba::ConstraintCheckerError"]],["impl Sync for AmoebaCreation",1,["amoeba::AmoebaCreation"]],["impl Sync for AmoebaDeath",1,["amoeba::AmoebaDeath"]],["impl Sync for AmoebaDetails",1,["amoeba::AmoebaDetails"]],["impl Sync for AmoebaMitosis",1,["amoeba::AmoebaMitosis"]]], +"kitties":[["impl Sync for ConstraintCheckerError",1,["kitties::ConstraintCheckerError"]],["impl Sync for DadKittyStatus",1,["kitties::DadKittyStatus"]],["impl Sync for MomKittyStatus",1,["kitties::MomKittyStatus"]],["impl Sync for Parent",1,["kitties::Parent"]],["impl Sync for FreeKittyConstraintChecker",1,["kitties::FreeKittyConstraintChecker"]],["impl Sync for KittyDNA",1,["kitties::KittyDNA"]],["impl Sync for KittyData",1,["kitties::KittyData"]],["impl Sync for KittyHelpers",1,["kitties::KittyHelpers"]]], +"money":[["impl Sync for ConstraintCheckerError",1,["money::ConstraintCheckerError"]],["impl<const ID: u8> Sync for MoneyConstraintChecker<ID>",1,["money::MoneyConstraintChecker"]],["impl<const ID: u8> Sync for Coin<ID>",1,["money::Coin"]]], +"node_template":[["impl Sync for ExecutorDispatch",1,["node_template::service::ExecutorDispatch"]],["impl<C, P> Sync for FullDeps<C, P>
where\n C: Sync + Send,\n P: Sync + Send,
",1,["node_template::rpc::FullDeps"]]], "parachain_piece":[["impl Sync for ParachainError",1,["parachain_piece::ParachainError"]],["impl<T> Sync for SetParachainInfo<T>
where\n T: Sync,
",1,["parachain_piece::SetParachainInfo"]]], -"parachain_template_node":[["impl Sync for Extensions",1,["parachain_template_node::chain_spec::Extensions"]],["impl Sync for ExtensionsFork",1,["parachain_template_node::chain_spec::ExtensionsFork"]],["impl Sync for Subcommand",1,["parachain_template_node::cli::Subcommand"]],["impl Sync for Cli",1,["parachain_template_node::cli::Cli"]],["impl Sync for RelayChainCli",1,["parachain_template_node::cli::RelayChainCli"]],["impl Sync for ExecutorDispatch",1,["parachain_template_node::dev_service::ExecutorDispatch"]],["impl<C, P> Sync for FullDeps<C, P>
where\n C: Sync + Send,\n P: Sync + Send,
",1,["parachain_template_node::rpc::FullDeps"]],["impl Sync for ParachainNativeExecutor",1,["parachain_template_node::service::ParachainNativeExecutor"]]], -"poe":[["impl Sync for ConstraintCheckerError",1,["poe::ConstraintCheckerError"]],["impl<T> Sync for PoeClaim<T>
where\n T: Sync,
",1,["poe::PoeClaim"]],["impl Sync for PoeRevoke",1,["poe::PoeRevoke"]],["impl Sync for PoeDispute",1,["poe::PoeDispute"]]], +"parachain_template_node":[["impl Sync for Subcommand",1,["parachain_template_node::cli::Subcommand"]],["impl Sync for Extensions",1,["parachain_template_node::chain_spec::Extensions"]],["impl Sync for ExtensionsFork",1,["parachain_template_node::chain_spec::ExtensionsFork"]],["impl Sync for Cli",1,["parachain_template_node::cli::Cli"]],["impl Sync for RelayChainCli",1,["parachain_template_node::cli::RelayChainCli"]],["impl Sync for ExecutorDispatch",1,["parachain_template_node::dev_service::ExecutorDispatch"]],["impl Sync for ParachainNativeExecutor",1,["parachain_template_node::service::ParachainNativeExecutor"]],["impl<C, P> Sync for FullDeps<C, P>
where\n C: Sync + Send,\n P: Sync + Send,
",1,["parachain_template_node::rpc::FullDeps"]]], +"poe":[["impl Sync for ConstraintCheckerError",1,["poe::ConstraintCheckerError"]],["impl Sync for PoeDispute",1,["poe::PoeDispute"]],["impl Sync for PoeRevoke",1,["poe::PoeRevoke"]],["impl<T> Sync for PoeClaim<T>
where\n T: Sync,
",1,["poe::PoeClaim"]]], "runtime_upgrade":[["impl Sync for ConstraintCheckerError",1,["runtime_upgrade::ConstraintCheckerError"]],["impl Sync for RuntimeUpgrade",1,["runtime_upgrade::RuntimeUpgrade"]]], -"timestamp":[["impl Sync for Timestamp",1,["timestamp::Timestamp"]],["impl Sync for TimestampError",1,["timestamp::TimestampError"]],["impl<T> Sync for SetTimestamp<T>
where\n T: Sync,
",1,["timestamp::SetTimestamp"]],["impl<T> Sync for CleanUpTimestamp<T>
where\n T: Sync,
",1,["timestamp::CleanUpTimestamp"]]], -"tuxedo_core":[["impl Sync for Bogus",1,["tuxedo_core::dynamic_typing::testing::Bogus"]],["impl Sync for DynamicallyTypedData",1,["tuxedo_core::dynamic_typing::DynamicallyTypedData"]],["impl Sync for DynamicTypingError",1,["tuxedo_core::dynamic_typing::DynamicTypingError"]],["impl<B, V, C> Sync for Executive<B, V, C>
where\n B: Sync,\n C: Sync,\n V: Sync,
",1,["tuxedo_core::executive::Executive"]],["impl<Block> Sync for ParentBlockInherentDataProvider<Block>
where\n Block: Sync,
",1,["tuxedo_core::inherents::ParentBlockInherentDataProvider"]],["impl<T> Sync for TuxedoInherentAdapter<T>
where\n T: Sync,
",1,["tuxedo_core::inherents::TuxedoInherentAdapter"]],["impl Sync for OutputRef",1,["tuxedo_core::types::OutputRef"]],["impl<V, C> Sync for Transaction<V, C>
where\n C: Sync,\n V: Sync,
",1,["tuxedo_core::types::Transaction"]],["impl Sync for Input",1,["tuxedo_core::types::Input"]],["impl<ConstraintCheckerError> Sync for UtxoError<ConstraintCheckerError>
where\n ConstraintCheckerError: Sync,
",1,["tuxedo_core::types::UtxoError"]],["impl<V> Sync for Output<V>
where\n V: Sync,
",1,["tuxedo_core::types::Output"]],["impl<Verifier> Sync for TransparentUtxoSet<Verifier>
where\n Verifier: Sync,
",1,["tuxedo_core::utxo_set::TransparentUtxoSet"]],["impl Sync for Sr25519Signature",1,["tuxedo_core::verifier::Sr25519Signature"]],["impl Sync for UpForGrabs",1,["tuxedo_core::verifier::UpForGrabs"]],["impl Sync for ThresholdMultiSignature",1,["tuxedo_core::verifier::ThresholdMultiSignature"]],["impl Sync for SignatureAndIndex",1,["tuxedo_core::verifier::SignatureAndIndex"]],["impl Sync for TestVerifier",1,["tuxedo_core::verifier::TestVerifier"]],["impl<'a, Block, B, E> !Sync for TuxedoGenesisBlockBuilder<'a, Block, B, E>",1,["tuxedo_core::genesis::TuxedoGenesisBlockBuilder"]],["impl<V, C> Sync for TuxedoGenesisConfig<V, C>
where\n C: Sync,\n V: Sync,
",1,["tuxedo_core::genesis::TuxedoGenesisConfig"]]], -"tuxedo_parachain_core":[["impl Sync for RelayParentNumberStorage",1,["tuxedo_parachain_core::RelayParentNumberStorage"]],["impl Sync for MockRelayParentNumberStorage",1,["tuxedo_parachain_core::MockRelayParentNumberStorage"]],["impl Sync for ParachainInherentDataUtxo",1,["tuxedo_parachain_core::ParachainInherentDataUtxo"]]], -"tuxedo_template_runtime":[["impl Sync for SessionKeys",1,["tuxedo_template_runtime::opaque::SessionKeys"]],["impl Sync for AuraAppPublic",1,["tuxedo_template_runtime::opaque::AuraAppPublic"]],["impl Sync for GrandpaAppPublic",1,["tuxedo_template_runtime::opaque::GrandpaAppPublic"]],["impl Sync for OuterVerifier",1,["tuxedo_template_runtime::OuterVerifier"]],["impl Sync for OuterConstraintChecker",1,["tuxedo_template_runtime::OuterConstraintChecker"]],["impl Sync for OuterConstraintCheckerError",1,["tuxedo_template_runtime::OuterConstraintCheckerError"]],["impl Sync for OuterConstraintCheckerInherentHooks",1,["tuxedo_template_runtime::OuterConstraintCheckerInherentHooks"]],["impl Sync for DummyParachainInfo",1,["tuxedo_template_runtime::DummyParachainInfo"]],["impl Sync for Runtime",1,["tuxedo_template_runtime::Runtime"]],["impl Sync for RuntimeApi",1,["tuxedo_template_runtime::RuntimeApi"]],["impl<Block, C> !Sync for RuntimeApiImpl<Block, C>",1,["tuxedo_template_runtime::RuntimeApiImpl"]]], -"tuxedo_template_wallet":[["impl Sync for Cli",1,["tuxedo_template_wallet::cli::Cli"]],["impl Sync for Command",1,["tuxedo_template_wallet::cli::Command"]],["impl Sync for MintCoinArgs",1,["tuxedo_template_wallet::cli::MintCoinArgs"]],["impl Sync for SpendArgs",1,["tuxedo_template_wallet::cli::SpendArgs"]],["impl Sync for TestSr25519SignatureFilter",1,["tuxedo_template_wallet::output_filter::tests::TestSr25519SignatureFilter"]],["impl Sync for Sr25519SignatureFilter",1,["tuxedo_template_wallet::output_filter::Sr25519SignatureFilter"]]] +"timestamp":[["impl Sync for TimestampError",1,["timestamp::TimestampError"]],["impl Sync for Timestamp",1,["timestamp::Timestamp"]],["impl<T> Sync for CleanUpTimestamp<T>
where\n T: Sync,
",1,["timestamp::CleanUpTimestamp"]],["impl<T> Sync for SetTimestamp<T>
where\n T: Sync,
",1,["timestamp::SetTimestamp"]]], +"tuxedo_core":[["impl Sync for DynamicTypingError",1,["tuxedo_core::dynamic_typing::DynamicTypingError"]],["impl Sync for RedemptionStrategy",1,["tuxedo_core::types::RedemptionStrategy"]],["impl Sync for DynamicallyTypedData",1,["tuxedo_core::dynamic_typing::DynamicallyTypedData"]],["impl Sync for Bogus",1,["tuxedo_core::dynamic_typing::testing::Bogus"]],["impl Sync for Input",1,["tuxedo_core::types::Input"]],["impl Sync for OutputRef",1,["tuxedo_core::types::OutputRef"]],["impl Sync for BlakeTwoHashLock",1,["tuxedo_core::verifier::htlc::BlakeTwoHashLock"]],["impl Sync for P2PKH",1,["tuxedo_core::verifier::simple_signature::P2PKH"]],["impl Sync for Sr25519Signature",1,["tuxedo_core::verifier::simple_signature::Sr25519Signature"]],["impl Sync for TestVerifier",1,["tuxedo_core::verifier::TestVerifier"]],["impl Sync for ThresholdMultiSignature",1,["tuxedo_core::verifier::multi_signature::ThresholdMultiSignature"]],["impl Sync for TimeLock",1,["tuxedo_core::verifier::htlc::TimeLock"]],["impl Sync for Unspendable",1,["tuxedo_core::verifier::Unspendable"]],["impl Sync for UpForGrabs",1,["tuxedo_core::verifier::UpForGrabs"]],["impl<'a, Block, B, E> !Sync for TuxedoGenesisBlockBuilder<'a, Block, B, E>",1,["tuxedo_core::genesis::block_builder::TuxedoGenesisBlockBuilder"]],["impl<Block> Sync for ParentBlockInherentDataProvider<Block>
where\n Block: Sync,
",1,["tuxedo_core::inherents::ParentBlockInherentDataProvider"]],["impl<C> Sync for InherentAdapter<C>
where\n C: Sync,
",1,["tuxedo_core::inherents::InherentAdapter"]],["impl<ConstraintCheckerError> Sync for UtxoError<ConstraintCheckerError>
where\n ConstraintCheckerError: Sync,
",1,["tuxedo_core::types::UtxoError"]],["impl<V> Sync for Output<V>
where\n V: Sync,
",1,["tuxedo_core::types::Output"]],["impl<V, C> Sync for TuxedoGenesisConfigBuilder<V, C>
where\n V: Sync,\n C: Sync,
",1,["tuxedo_core::genesis::config_builder::TuxedoGenesisConfigBuilder"]],["impl<V, C> Sync for Executive<V, C>
where\n V: Sync,\n C: Sync,
",1,["tuxedo_core::executive::Executive"]],["impl<V, C> Sync for Transaction<V, C>
where\n C: Sync,\n V: Sync,
",1,["tuxedo_core::types::Transaction"]],["impl<Verifier> Sync for TransparentUtxoSet<Verifier>
where\n Verifier: Sync,
",1,["tuxedo_core::utxo_set::TransparentUtxoSet"]]], +"tuxedo_parachain_core":[["impl Sync for MockRelayParentNumberStorage",1,["tuxedo_parachain_core::MockRelayParentNumberStorage"]],["impl Sync for RelayParentNumberStorage",1,["tuxedo_parachain_core::RelayParentNumberStorage"]],["impl Sync for ParachainInherentDataUtxo",1,["tuxedo_parachain_core::ParachainInherentDataUtxo"]]], +"tuxedo_parachain_runtime":[["impl Sync for ParachainConstraintChecker",1,["tuxedo_parachain_runtime::ParachainConstraintChecker"]],["impl Sync for ParachainConstraintCheckerError",1,["tuxedo_parachain_runtime::ParachainConstraintCheckerError"]],["impl Sync for Runtime",1,["tuxedo_parachain_runtime::Runtime"]],["impl Sync for RuntimeApi",1,["tuxedo_parachain_runtime::RuntimeApi"]],["impl Sync for RuntimeParachainConfig",1,["tuxedo_parachain_runtime::RuntimeParachainConfig"]],["impl<Block, C> !Sync for RuntimeApiImpl<Block, C>",1,["tuxedo_parachain_runtime::RuntimeApiImpl"]]], +"tuxedo_template_runtime":[["impl Sync for OuterConstraintChecker",1,["tuxedo_template_runtime::OuterConstraintChecker"]],["impl Sync for OuterConstraintCheckerError",1,["tuxedo_template_runtime::OuterConstraintCheckerError"]],["impl Sync for OuterVerifier",1,["tuxedo_template_runtime::OuterVerifier"]],["impl Sync for OuterVerifierRedeemer",1,["tuxedo_template_runtime::OuterVerifierRedeemer"]],["impl Sync for AuraAppPublic",1,["tuxedo_template_runtime::opaque::AuraAppPublic"]],["impl Sync for GrandpaAppPublic",1,["tuxedo_template_runtime::opaque::GrandpaAppPublic"]],["impl Sync for SessionKeys",1,["tuxedo_template_runtime::opaque::SessionKeys"]],["impl Sync for Runtime",1,["tuxedo_template_runtime::Runtime"]],["impl Sync for RuntimeApi",1,["tuxedo_template_runtime::RuntimeApi"]],["impl<Block, C> !Sync for RuntimeApiImpl<Block, C>",1,["tuxedo_template_runtime::RuntimeApiImpl"]]], +"tuxedo_template_wallet":[["impl Sync for Command",1,["tuxedo_template_wallet::cli::Command"]],["impl Sync for ParachainConstraintChecker",1,["tuxedo_template_wallet::parachain::ParachainConstraintChecker"]],["impl Sync for Cli",1,["tuxedo_template_wallet::cli::Cli"]],["impl Sync for MintCoinArgs",1,["tuxedo_template_wallet::cli::MintCoinArgs"]],["impl Sync for SpendArgs",1,["tuxedo_template_wallet::cli::SpendArgs"]],["impl Sync for Sr25519SignatureFilter",1,["tuxedo_template_wallet::output_filter::Sr25519SignatureFilter"]],["impl Sync for TestSr25519SignatureFilter",1,["tuxedo_template_wallet::output_filter::tests::TestSr25519SignatureFilter"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/marker/trait.Unpin.js b/trait.impl/core/marker/trait.Unpin.js index d29f04b20..20d1622f2 100644 --- a/trait.impl/core/marker/trait.Unpin.js +++ b/trait.impl/core/marker/trait.Unpin.js @@ -1,15 +1,16 @@ (function() {var implementors = { -"amoeba":[["impl Unpin for AmoebaDetails",1,["amoeba::AmoebaDetails"]],["impl Unpin for ConstraintCheckerError",1,["amoeba::ConstraintCheckerError"]],["impl Unpin for AmoebaMitosis",1,["amoeba::AmoebaMitosis"]],["impl Unpin for AmoebaDeath",1,["amoeba::AmoebaDeath"]],["impl Unpin for AmoebaCreation",1,["amoeba::AmoebaCreation"]]], -"kitties":[["impl Unpin for FreeKittyConstraintChecker",1,["kitties::FreeKittyConstraintChecker"]],["impl Unpin for DadKittyStatus",1,["kitties::DadKittyStatus"]],["impl Unpin for MomKittyStatus",1,["kitties::MomKittyStatus"]],["impl Unpin for Parent",1,["kitties::Parent"]],["impl Unpin for KittyDNA",1,["kitties::KittyDNA"]],["impl Unpin for KittyData",1,["kitties::KittyData"]],["impl Unpin for ConstraintCheckerError",1,["kitties::ConstraintCheckerError"]],["impl Unpin for KittyHelpers",1,["kitties::KittyHelpers"]]], -"money":[["impl<const ID: u8> Unpin for MoneyConstraintChecker<ID>",1,["money::MoneyConstraintChecker"]],["impl<const ID: u8> Unpin for Coin<ID>",1,["money::Coin"]],["impl Unpin for ConstraintCheckerError",1,["money::ConstraintCheckerError"]]], -"node_template":[["impl<C, P> Unpin for FullDeps<C, P>",1,["node_template::rpc::FullDeps"]],["impl Unpin for ExecutorDispatch",1,["node_template::service::ExecutorDispatch"]]], +"amoeba":[["impl Unpin for ConstraintCheckerError",1,["amoeba::ConstraintCheckerError"]],["impl Unpin for AmoebaCreation",1,["amoeba::AmoebaCreation"]],["impl Unpin for AmoebaDeath",1,["amoeba::AmoebaDeath"]],["impl Unpin for AmoebaDetails",1,["amoeba::AmoebaDetails"]],["impl Unpin for AmoebaMitosis",1,["amoeba::AmoebaMitosis"]]], +"kitties":[["impl Unpin for ConstraintCheckerError",1,["kitties::ConstraintCheckerError"]],["impl Unpin for DadKittyStatus",1,["kitties::DadKittyStatus"]],["impl Unpin for MomKittyStatus",1,["kitties::MomKittyStatus"]],["impl Unpin for Parent",1,["kitties::Parent"]],["impl Unpin for FreeKittyConstraintChecker",1,["kitties::FreeKittyConstraintChecker"]],["impl Unpin for KittyDNA",1,["kitties::KittyDNA"]],["impl Unpin for KittyData",1,["kitties::KittyData"]],["impl Unpin for KittyHelpers",1,["kitties::KittyHelpers"]]], +"money":[["impl Unpin for ConstraintCheckerError",1,["money::ConstraintCheckerError"]],["impl<const ID: u8> Unpin for MoneyConstraintChecker<ID>",1,["money::MoneyConstraintChecker"]],["impl<const ID: u8> Unpin for Coin<ID>",1,["money::Coin"]]], +"node_template":[["impl Unpin for ExecutorDispatch",1,["node_template::service::ExecutorDispatch"]],["impl<C, P> Unpin for FullDeps<C, P>",1,["node_template::rpc::FullDeps"]]], "parachain_piece":[["impl Unpin for ParachainError",1,["parachain_piece::ParachainError"]],["impl<T> Unpin for SetParachainInfo<T>
where\n T: Unpin,
",1,["parachain_piece::SetParachainInfo"]]], -"parachain_template_node":[["impl Unpin for Extensions",1,["parachain_template_node::chain_spec::Extensions"]],["impl Unpin for ExtensionsFork",1,["parachain_template_node::chain_spec::ExtensionsFork"]],["impl Unpin for Subcommand",1,["parachain_template_node::cli::Subcommand"]],["impl Unpin for Cli",1,["parachain_template_node::cli::Cli"]],["impl Unpin for RelayChainCli",1,["parachain_template_node::cli::RelayChainCli"]],["impl Unpin for ExecutorDispatch",1,["parachain_template_node::dev_service::ExecutorDispatch"]],["impl<C, P> Unpin for FullDeps<C, P>",1,["parachain_template_node::rpc::FullDeps"]],["impl Unpin for ParachainNativeExecutor",1,["parachain_template_node::service::ParachainNativeExecutor"]]], -"poe":[["impl Unpin for ConstraintCheckerError",1,["poe::ConstraintCheckerError"]],["impl<T> Unpin for PoeClaim<T>
where\n T: Unpin,
",1,["poe::PoeClaim"]],["impl Unpin for PoeRevoke",1,["poe::PoeRevoke"]],["impl Unpin for PoeDispute",1,["poe::PoeDispute"]]], +"parachain_template_node":[["impl Unpin for Subcommand",1,["parachain_template_node::cli::Subcommand"]],["impl Unpin for Extensions",1,["parachain_template_node::chain_spec::Extensions"]],["impl Unpin for ExtensionsFork",1,["parachain_template_node::chain_spec::ExtensionsFork"]],["impl Unpin for Cli",1,["parachain_template_node::cli::Cli"]],["impl Unpin for RelayChainCli",1,["parachain_template_node::cli::RelayChainCli"]],["impl Unpin for ExecutorDispatch",1,["parachain_template_node::dev_service::ExecutorDispatch"]],["impl Unpin for ParachainNativeExecutor",1,["parachain_template_node::service::ParachainNativeExecutor"]],["impl<C, P> Unpin for FullDeps<C, P>",1,["parachain_template_node::rpc::FullDeps"]]], +"poe":[["impl Unpin for ConstraintCheckerError",1,["poe::ConstraintCheckerError"]],["impl Unpin for PoeDispute",1,["poe::PoeDispute"]],["impl Unpin for PoeRevoke",1,["poe::PoeRevoke"]],["impl<T> Unpin for PoeClaim<T>
where\n T: Unpin,
",1,["poe::PoeClaim"]]], "runtime_upgrade":[["impl Unpin for ConstraintCheckerError",1,["runtime_upgrade::ConstraintCheckerError"]],["impl Unpin for RuntimeUpgrade",1,["runtime_upgrade::RuntimeUpgrade"]]], -"timestamp":[["impl Unpin for Timestamp",1,["timestamp::Timestamp"]],["impl Unpin for TimestampError",1,["timestamp::TimestampError"]],["impl<T> Unpin for SetTimestamp<T>
where\n T: Unpin,
",1,["timestamp::SetTimestamp"]],["impl<T> Unpin for CleanUpTimestamp<T>
where\n T: Unpin,
",1,["timestamp::CleanUpTimestamp"]]], -"tuxedo_core":[["impl Unpin for Bogus",1,["tuxedo_core::dynamic_typing::testing::Bogus"]],["impl Unpin for DynamicallyTypedData",1,["tuxedo_core::dynamic_typing::DynamicallyTypedData"]],["impl Unpin for DynamicTypingError",1,["tuxedo_core::dynamic_typing::DynamicTypingError"]],["impl<B, V, C> Unpin for Executive<B, V, C>
where\n B: Unpin,\n C: Unpin,\n V: Unpin,
",1,["tuxedo_core::executive::Executive"]],["impl<Block> Unpin for ParentBlockInherentDataProvider<Block>
where\n Block: Unpin,
",1,["tuxedo_core::inherents::ParentBlockInherentDataProvider"]],["impl<T> Unpin for TuxedoInherentAdapter<T>
where\n T: Unpin,
",1,["tuxedo_core::inherents::TuxedoInherentAdapter"]],["impl Unpin for OutputRef",1,["tuxedo_core::types::OutputRef"]],["impl<V, C> Unpin for Transaction<V, C>
where\n C: Unpin,\n V: Unpin,
",1,["tuxedo_core::types::Transaction"]],["impl Unpin for Input",1,["tuxedo_core::types::Input"]],["impl<ConstraintCheckerError> Unpin for UtxoError<ConstraintCheckerError>
where\n ConstraintCheckerError: Unpin,
",1,["tuxedo_core::types::UtxoError"]],["impl<V> Unpin for Output<V>
where\n V: Unpin,
",1,["tuxedo_core::types::Output"]],["impl<Verifier> Unpin for TransparentUtxoSet<Verifier>
where\n Verifier: Unpin,
",1,["tuxedo_core::utxo_set::TransparentUtxoSet"]],["impl Unpin for Sr25519Signature",1,["tuxedo_core::verifier::Sr25519Signature"]],["impl Unpin for UpForGrabs",1,["tuxedo_core::verifier::UpForGrabs"]],["impl Unpin for ThresholdMultiSignature",1,["tuxedo_core::verifier::ThresholdMultiSignature"]],["impl Unpin for SignatureAndIndex",1,["tuxedo_core::verifier::SignatureAndIndex"]],["impl Unpin for TestVerifier",1,["tuxedo_core::verifier::TestVerifier"]],["impl<'a, Block, B, E> Unpin for TuxedoGenesisBlockBuilder<'a, Block, B, E>
where\n Block: Unpin,\n E: Unpin,
",1,["tuxedo_core::genesis::TuxedoGenesisBlockBuilder"]],["impl<V, C> Unpin for TuxedoGenesisConfig<V, C>
where\n C: Unpin,\n V: Unpin,
",1,["tuxedo_core::genesis::TuxedoGenesisConfig"]]], -"tuxedo_parachain_core":[["impl Unpin for RelayParentNumberStorage",1,["tuxedo_parachain_core::RelayParentNumberStorage"]],["impl Unpin for MockRelayParentNumberStorage",1,["tuxedo_parachain_core::MockRelayParentNumberStorage"]],["impl Unpin for ParachainInherentDataUtxo",1,["tuxedo_parachain_core::ParachainInherentDataUtxo"]]], -"tuxedo_template_runtime":[["impl Unpin for SessionKeys",1,["tuxedo_template_runtime::opaque::SessionKeys"]],["impl Unpin for AuraAppPublic",1,["tuxedo_template_runtime::opaque::AuraAppPublic"]],["impl Unpin for GrandpaAppPublic",1,["tuxedo_template_runtime::opaque::GrandpaAppPublic"]],["impl Unpin for OuterVerifier",1,["tuxedo_template_runtime::OuterVerifier"]],["impl Unpin for OuterConstraintChecker",1,["tuxedo_template_runtime::OuterConstraintChecker"]],["impl Unpin for OuterConstraintCheckerError",1,["tuxedo_template_runtime::OuterConstraintCheckerError"]],["impl Unpin for OuterConstraintCheckerInherentHooks",1,["tuxedo_template_runtime::OuterConstraintCheckerInherentHooks"]],["impl Unpin for DummyParachainInfo",1,["tuxedo_template_runtime::DummyParachainInfo"]],["impl Unpin for Runtime",1,["tuxedo_template_runtime::Runtime"]],["impl Unpin for RuntimeApi",1,["tuxedo_template_runtime::RuntimeApi"]],["impl<Block, C> Unpin for RuntimeApiImpl<Block, C>
where\n <Block as Block>::Hash: Unpin,\n <<Block as Block>::Header as Header>::Hashing: Unpin,
",1,["tuxedo_template_runtime::RuntimeApiImpl"]]], -"tuxedo_template_wallet":[["impl Unpin for Cli",1,["tuxedo_template_wallet::cli::Cli"]],["impl Unpin for Command",1,["tuxedo_template_wallet::cli::Command"]],["impl Unpin for MintCoinArgs",1,["tuxedo_template_wallet::cli::MintCoinArgs"]],["impl Unpin for SpendArgs",1,["tuxedo_template_wallet::cli::SpendArgs"]],["impl Unpin for TestSr25519SignatureFilter",1,["tuxedo_template_wallet::output_filter::tests::TestSr25519SignatureFilter"]],["impl Unpin for Sr25519SignatureFilter",1,["tuxedo_template_wallet::output_filter::Sr25519SignatureFilter"]]] +"timestamp":[["impl Unpin for TimestampError",1,["timestamp::TimestampError"]],["impl Unpin for Timestamp",1,["timestamp::Timestamp"]],["impl<T> Unpin for CleanUpTimestamp<T>
where\n T: Unpin,
",1,["timestamp::CleanUpTimestamp"]],["impl<T> Unpin for SetTimestamp<T>
where\n T: Unpin,
",1,["timestamp::SetTimestamp"]]], +"tuxedo_core":[["impl Unpin for DynamicTypingError",1,["tuxedo_core::dynamic_typing::DynamicTypingError"]],["impl Unpin for RedemptionStrategy",1,["tuxedo_core::types::RedemptionStrategy"]],["impl Unpin for DynamicallyTypedData",1,["tuxedo_core::dynamic_typing::DynamicallyTypedData"]],["impl Unpin for Bogus",1,["tuxedo_core::dynamic_typing::testing::Bogus"]],["impl Unpin for Input",1,["tuxedo_core::types::Input"]],["impl Unpin for OutputRef",1,["tuxedo_core::types::OutputRef"]],["impl Unpin for BlakeTwoHashLock",1,["tuxedo_core::verifier::htlc::BlakeTwoHashLock"]],["impl Unpin for P2PKH",1,["tuxedo_core::verifier::simple_signature::P2PKH"]],["impl Unpin for Sr25519Signature",1,["tuxedo_core::verifier::simple_signature::Sr25519Signature"]],["impl Unpin for TestVerifier",1,["tuxedo_core::verifier::TestVerifier"]],["impl Unpin for ThresholdMultiSignature",1,["tuxedo_core::verifier::multi_signature::ThresholdMultiSignature"]],["impl Unpin for TimeLock",1,["tuxedo_core::verifier::htlc::TimeLock"]],["impl Unpin for Unspendable",1,["tuxedo_core::verifier::Unspendable"]],["impl Unpin for UpForGrabs",1,["tuxedo_core::verifier::UpForGrabs"]],["impl<'a, Block, B, E> Unpin for TuxedoGenesisBlockBuilder<'a, Block, B, E>
where\n E: Unpin,\n Block: Unpin,
",1,["tuxedo_core::genesis::block_builder::TuxedoGenesisBlockBuilder"]],["impl<Block> Unpin for ParentBlockInherentDataProvider<Block>
where\n Block: Unpin,
",1,["tuxedo_core::inherents::ParentBlockInherentDataProvider"]],["impl<C> Unpin for InherentAdapter<C>
where\n C: Unpin,
",1,["tuxedo_core::inherents::InherentAdapter"]],["impl<ConstraintCheckerError> Unpin for UtxoError<ConstraintCheckerError>
where\n ConstraintCheckerError: Unpin,
",1,["tuxedo_core::types::UtxoError"]],["impl<V> Unpin for Output<V>
where\n V: Unpin,
",1,["tuxedo_core::types::Output"]],["impl<V, C> Unpin for TuxedoGenesisConfigBuilder<V, C>
where\n V: Unpin,\n C: Unpin,
",1,["tuxedo_core::genesis::config_builder::TuxedoGenesisConfigBuilder"]],["impl<V, C> Unpin for Executive<V, C>
where\n V: Unpin,\n C: Unpin,
",1,["tuxedo_core::executive::Executive"]],["impl<V, C> Unpin for Transaction<V, C>
where\n C: Unpin,\n V: Unpin,
",1,["tuxedo_core::types::Transaction"]],["impl<Verifier> Unpin for TransparentUtxoSet<Verifier>
where\n Verifier: Unpin,
",1,["tuxedo_core::utxo_set::TransparentUtxoSet"]]], +"tuxedo_parachain_core":[["impl Unpin for MockRelayParentNumberStorage",1,["tuxedo_parachain_core::MockRelayParentNumberStorage"]],["impl Unpin for RelayParentNumberStorage",1,["tuxedo_parachain_core::RelayParentNumberStorage"]],["impl Unpin for ParachainInherentDataUtxo",1,["tuxedo_parachain_core::ParachainInherentDataUtxo"]]], +"tuxedo_parachain_runtime":[["impl Unpin for ParachainConstraintChecker",1,["tuxedo_parachain_runtime::ParachainConstraintChecker"]],["impl Unpin for ParachainConstraintCheckerError",1,["tuxedo_parachain_runtime::ParachainConstraintCheckerError"]],["impl Unpin for Runtime",1,["tuxedo_parachain_runtime::Runtime"]],["impl Unpin for RuntimeApi",1,["tuxedo_parachain_runtime::RuntimeApi"]],["impl Unpin for RuntimeParachainConfig",1,["tuxedo_parachain_runtime::RuntimeParachainConfig"]],["impl<Block, C> Unpin for RuntimeApiImpl<Block, C>
where\n <Block as Block>::Hash: Unpin,\n <<Block as Block>::Header as Header>::Hashing: Unpin,
",1,["tuxedo_parachain_runtime::RuntimeApiImpl"]]], +"tuxedo_template_runtime":[["impl Unpin for OuterConstraintChecker",1,["tuxedo_template_runtime::OuterConstraintChecker"]],["impl Unpin for OuterConstraintCheckerError",1,["tuxedo_template_runtime::OuterConstraintCheckerError"]],["impl Unpin for OuterVerifier",1,["tuxedo_template_runtime::OuterVerifier"]],["impl Unpin for OuterVerifierRedeemer",1,["tuxedo_template_runtime::OuterVerifierRedeemer"]],["impl Unpin for AuraAppPublic",1,["tuxedo_template_runtime::opaque::AuraAppPublic"]],["impl Unpin for GrandpaAppPublic",1,["tuxedo_template_runtime::opaque::GrandpaAppPublic"]],["impl Unpin for SessionKeys",1,["tuxedo_template_runtime::opaque::SessionKeys"]],["impl Unpin for Runtime",1,["tuxedo_template_runtime::Runtime"]],["impl Unpin for RuntimeApi",1,["tuxedo_template_runtime::RuntimeApi"]],["impl<Block, C> Unpin for RuntimeApiImpl<Block, C>
where\n <Block as Block>::Hash: Unpin,\n <<Block as Block>::Header as Header>::Hashing: Unpin,
",1,["tuxedo_template_runtime::RuntimeApiImpl"]]], +"tuxedo_template_wallet":[["impl Unpin for Command",1,["tuxedo_template_wallet::cli::Command"]],["impl Unpin for ParachainConstraintChecker",1,["tuxedo_template_wallet::parachain::ParachainConstraintChecker"]],["impl Unpin for Cli",1,["tuxedo_template_wallet::cli::Cli"]],["impl Unpin for MintCoinArgs",1,["tuxedo_template_wallet::cli::MintCoinArgs"]],["impl Unpin for SpendArgs",1,["tuxedo_template_wallet::cli::SpendArgs"]],["impl Unpin for Sr25519SignatureFilter",1,["tuxedo_template_wallet::output_filter::Sr25519SignatureFilter"]],["impl Unpin for TestSr25519SignatureFilter",1,["tuxedo_template_wallet::output_filter::tests::TestSr25519SignatureFilter"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js b/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js index f6d6d27a0..e02a680b0 100644 --- a/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js +++ b/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js @@ -1,15 +1,16 @@ (function() {var implementors = { -"amoeba":[["impl RefUnwindSafe for AmoebaDetails",1,["amoeba::AmoebaDetails"]],["impl RefUnwindSafe for ConstraintCheckerError",1,["amoeba::ConstraintCheckerError"]],["impl RefUnwindSafe for AmoebaMitosis",1,["amoeba::AmoebaMitosis"]],["impl RefUnwindSafe for AmoebaDeath",1,["amoeba::AmoebaDeath"]],["impl RefUnwindSafe for AmoebaCreation",1,["amoeba::AmoebaCreation"]]], -"kitties":[["impl RefUnwindSafe for FreeKittyConstraintChecker",1,["kitties::FreeKittyConstraintChecker"]],["impl RefUnwindSafe for DadKittyStatus",1,["kitties::DadKittyStatus"]],["impl RefUnwindSafe for MomKittyStatus",1,["kitties::MomKittyStatus"]],["impl RefUnwindSafe for Parent",1,["kitties::Parent"]],["impl RefUnwindSafe for KittyDNA",1,["kitties::KittyDNA"]],["impl RefUnwindSafe for KittyData",1,["kitties::KittyData"]],["impl RefUnwindSafe for ConstraintCheckerError",1,["kitties::ConstraintCheckerError"]],["impl RefUnwindSafe for KittyHelpers",1,["kitties::KittyHelpers"]]], -"money":[["impl<const ID: u8> RefUnwindSafe for MoneyConstraintChecker<ID>",1,["money::MoneyConstraintChecker"]],["impl<const ID: u8> RefUnwindSafe for Coin<ID>",1,["money::Coin"]],["impl RefUnwindSafe for ConstraintCheckerError",1,["money::ConstraintCheckerError"]]], -"node_template":[["impl<C, P> RefUnwindSafe for FullDeps<C, P>
where\n C: RefUnwindSafe,\n P: RefUnwindSafe,
",1,["node_template::rpc::FullDeps"]],["impl RefUnwindSafe for ExecutorDispatch",1,["node_template::service::ExecutorDispatch"]]], +"amoeba":[["impl RefUnwindSafe for ConstraintCheckerError",1,["amoeba::ConstraintCheckerError"]],["impl RefUnwindSafe for AmoebaCreation",1,["amoeba::AmoebaCreation"]],["impl RefUnwindSafe for AmoebaDeath",1,["amoeba::AmoebaDeath"]],["impl RefUnwindSafe for AmoebaDetails",1,["amoeba::AmoebaDetails"]],["impl RefUnwindSafe for AmoebaMitosis",1,["amoeba::AmoebaMitosis"]]], +"kitties":[["impl RefUnwindSafe for ConstraintCheckerError",1,["kitties::ConstraintCheckerError"]],["impl RefUnwindSafe for DadKittyStatus",1,["kitties::DadKittyStatus"]],["impl RefUnwindSafe for MomKittyStatus",1,["kitties::MomKittyStatus"]],["impl RefUnwindSafe for Parent",1,["kitties::Parent"]],["impl RefUnwindSafe for FreeKittyConstraintChecker",1,["kitties::FreeKittyConstraintChecker"]],["impl RefUnwindSafe for KittyDNA",1,["kitties::KittyDNA"]],["impl RefUnwindSafe for KittyData",1,["kitties::KittyData"]],["impl RefUnwindSafe for KittyHelpers",1,["kitties::KittyHelpers"]]], +"money":[["impl RefUnwindSafe for ConstraintCheckerError",1,["money::ConstraintCheckerError"]],["impl<const ID: u8> RefUnwindSafe for MoneyConstraintChecker<ID>",1,["money::MoneyConstraintChecker"]],["impl<const ID: u8> RefUnwindSafe for Coin<ID>",1,["money::Coin"]]], +"node_template":[["impl RefUnwindSafe for ExecutorDispatch",1,["node_template::service::ExecutorDispatch"]],["impl<C, P> RefUnwindSafe for FullDeps<C, P>
where\n C: RefUnwindSafe,\n P: RefUnwindSafe,
",1,["node_template::rpc::FullDeps"]]], "parachain_piece":[["impl RefUnwindSafe for ParachainError",1,["parachain_piece::ParachainError"]],["impl<T> RefUnwindSafe for SetParachainInfo<T>
where\n T: RefUnwindSafe,
",1,["parachain_piece::SetParachainInfo"]]], -"parachain_template_node":[["impl RefUnwindSafe for Extensions",1,["parachain_template_node::chain_spec::Extensions"]],["impl RefUnwindSafe for ExtensionsFork",1,["parachain_template_node::chain_spec::ExtensionsFork"]],["impl RefUnwindSafe for Subcommand",1,["parachain_template_node::cli::Subcommand"]],["impl RefUnwindSafe for Cli",1,["parachain_template_node::cli::Cli"]],["impl RefUnwindSafe for RelayChainCli",1,["parachain_template_node::cli::RelayChainCli"]],["impl RefUnwindSafe for ExecutorDispatch",1,["parachain_template_node::dev_service::ExecutorDispatch"]],["impl<C, P> RefUnwindSafe for FullDeps<C, P>
where\n C: RefUnwindSafe,\n P: RefUnwindSafe,
",1,["parachain_template_node::rpc::FullDeps"]],["impl RefUnwindSafe for ParachainNativeExecutor",1,["parachain_template_node::service::ParachainNativeExecutor"]]], -"poe":[["impl RefUnwindSafe for ConstraintCheckerError",1,["poe::ConstraintCheckerError"]],["impl<T> RefUnwindSafe for PoeClaim<T>
where\n T: RefUnwindSafe,
",1,["poe::PoeClaim"]],["impl RefUnwindSafe for PoeRevoke",1,["poe::PoeRevoke"]],["impl RefUnwindSafe for PoeDispute",1,["poe::PoeDispute"]]], +"parachain_template_node":[["impl RefUnwindSafe for Subcommand",1,["parachain_template_node::cli::Subcommand"]],["impl RefUnwindSafe for Extensions",1,["parachain_template_node::chain_spec::Extensions"]],["impl RefUnwindSafe for ExtensionsFork",1,["parachain_template_node::chain_spec::ExtensionsFork"]],["impl RefUnwindSafe for Cli",1,["parachain_template_node::cli::Cli"]],["impl RefUnwindSafe for RelayChainCli",1,["parachain_template_node::cli::RelayChainCli"]],["impl RefUnwindSafe for ExecutorDispatch",1,["parachain_template_node::dev_service::ExecutorDispatch"]],["impl RefUnwindSafe for ParachainNativeExecutor",1,["parachain_template_node::service::ParachainNativeExecutor"]],["impl<C, P> RefUnwindSafe for FullDeps<C, P>
where\n C: RefUnwindSafe,\n P: RefUnwindSafe,
",1,["parachain_template_node::rpc::FullDeps"]]], +"poe":[["impl RefUnwindSafe for ConstraintCheckerError",1,["poe::ConstraintCheckerError"]],["impl RefUnwindSafe for PoeDispute",1,["poe::PoeDispute"]],["impl RefUnwindSafe for PoeRevoke",1,["poe::PoeRevoke"]],["impl<T> RefUnwindSafe for PoeClaim<T>
where\n T: RefUnwindSafe,
",1,["poe::PoeClaim"]]], "runtime_upgrade":[["impl RefUnwindSafe for ConstraintCheckerError",1,["runtime_upgrade::ConstraintCheckerError"]],["impl RefUnwindSafe for RuntimeUpgrade",1,["runtime_upgrade::RuntimeUpgrade"]]], -"timestamp":[["impl RefUnwindSafe for Timestamp",1,["timestamp::Timestamp"]],["impl RefUnwindSafe for TimestampError",1,["timestamp::TimestampError"]],["impl<T> RefUnwindSafe for SetTimestamp<T>
where\n T: RefUnwindSafe,
",1,["timestamp::SetTimestamp"]],["impl<T> RefUnwindSafe for CleanUpTimestamp<T>
where\n T: RefUnwindSafe,
",1,["timestamp::CleanUpTimestamp"]]], -"tuxedo_core":[["impl RefUnwindSafe for Bogus",1,["tuxedo_core::dynamic_typing::testing::Bogus"]],["impl RefUnwindSafe for DynamicallyTypedData",1,["tuxedo_core::dynamic_typing::DynamicallyTypedData"]],["impl RefUnwindSafe for DynamicTypingError",1,["tuxedo_core::dynamic_typing::DynamicTypingError"]],["impl<B, V, C> RefUnwindSafe for Executive<B, V, C>
where\n B: RefUnwindSafe,\n C: RefUnwindSafe,\n V: RefUnwindSafe,
",1,["tuxedo_core::executive::Executive"]],["impl<Block> RefUnwindSafe for ParentBlockInherentDataProvider<Block>
where\n Block: RefUnwindSafe,
",1,["tuxedo_core::inherents::ParentBlockInherentDataProvider"]],["impl<T> RefUnwindSafe for TuxedoInherentAdapter<T>
where\n T: RefUnwindSafe,
",1,["tuxedo_core::inherents::TuxedoInherentAdapter"]],["impl RefUnwindSafe for OutputRef",1,["tuxedo_core::types::OutputRef"]],["impl<V, C> RefUnwindSafe for Transaction<V, C>
where\n C: RefUnwindSafe,\n V: RefUnwindSafe,
",1,["tuxedo_core::types::Transaction"]],["impl RefUnwindSafe for Input",1,["tuxedo_core::types::Input"]],["impl<ConstraintCheckerError> RefUnwindSafe for UtxoError<ConstraintCheckerError>
where\n ConstraintCheckerError: RefUnwindSafe,
",1,["tuxedo_core::types::UtxoError"]],["impl<V> RefUnwindSafe for Output<V>
where\n V: RefUnwindSafe,
",1,["tuxedo_core::types::Output"]],["impl<Verifier> RefUnwindSafe for TransparentUtxoSet<Verifier>
where\n Verifier: RefUnwindSafe,
",1,["tuxedo_core::utxo_set::TransparentUtxoSet"]],["impl RefUnwindSafe for Sr25519Signature",1,["tuxedo_core::verifier::Sr25519Signature"]],["impl RefUnwindSafe for UpForGrabs",1,["tuxedo_core::verifier::UpForGrabs"]],["impl RefUnwindSafe for ThresholdMultiSignature",1,["tuxedo_core::verifier::ThresholdMultiSignature"]],["impl RefUnwindSafe for SignatureAndIndex",1,["tuxedo_core::verifier::SignatureAndIndex"]],["impl RefUnwindSafe for TestVerifier",1,["tuxedo_core::verifier::TestVerifier"]],["impl<'a, Block, B, E> !RefUnwindSafe for TuxedoGenesisBlockBuilder<'a, Block, B, E>",1,["tuxedo_core::genesis::TuxedoGenesisBlockBuilder"]],["impl<V, C> RefUnwindSafe for TuxedoGenesisConfig<V, C>
where\n C: RefUnwindSafe,\n V: RefUnwindSafe,
",1,["tuxedo_core::genesis::TuxedoGenesisConfig"]]], -"tuxedo_parachain_core":[["impl RefUnwindSafe for RelayParentNumberStorage",1,["tuxedo_parachain_core::RelayParentNumberStorage"]],["impl RefUnwindSafe for MockRelayParentNumberStorage",1,["tuxedo_parachain_core::MockRelayParentNumberStorage"]],["impl RefUnwindSafe for ParachainInherentDataUtxo",1,["tuxedo_parachain_core::ParachainInherentDataUtxo"]]], -"tuxedo_template_runtime":[["impl RefUnwindSafe for SessionKeys",1,["tuxedo_template_runtime::opaque::SessionKeys"]],["impl RefUnwindSafe for AuraAppPublic",1,["tuxedo_template_runtime::opaque::AuraAppPublic"]],["impl RefUnwindSafe for GrandpaAppPublic",1,["tuxedo_template_runtime::opaque::GrandpaAppPublic"]],["impl RefUnwindSafe for OuterVerifier",1,["tuxedo_template_runtime::OuterVerifier"]],["impl RefUnwindSafe for OuterConstraintChecker",1,["tuxedo_template_runtime::OuterConstraintChecker"]],["impl RefUnwindSafe for OuterConstraintCheckerError",1,["tuxedo_template_runtime::OuterConstraintCheckerError"]],["impl RefUnwindSafe for OuterConstraintCheckerInherentHooks",1,["tuxedo_template_runtime::OuterConstraintCheckerInherentHooks"]],["impl RefUnwindSafe for DummyParachainInfo",1,["tuxedo_template_runtime::DummyParachainInfo"]],["impl RefUnwindSafe for Runtime",1,["tuxedo_template_runtime::Runtime"]],["impl RefUnwindSafe for RuntimeApi",1,["tuxedo_template_runtime::RuntimeApi"]],["impl<Block, C> !RefUnwindSafe for RuntimeApiImpl<Block, C>",1,["tuxedo_template_runtime::RuntimeApiImpl"]]], -"tuxedo_template_wallet":[["impl RefUnwindSafe for Cli",1,["tuxedo_template_wallet::cli::Cli"]],["impl RefUnwindSafe for Command",1,["tuxedo_template_wallet::cli::Command"]],["impl RefUnwindSafe for MintCoinArgs",1,["tuxedo_template_wallet::cli::MintCoinArgs"]],["impl RefUnwindSafe for SpendArgs",1,["tuxedo_template_wallet::cli::SpendArgs"]],["impl RefUnwindSafe for TestSr25519SignatureFilter",1,["tuxedo_template_wallet::output_filter::tests::TestSr25519SignatureFilter"]],["impl RefUnwindSafe for Sr25519SignatureFilter",1,["tuxedo_template_wallet::output_filter::Sr25519SignatureFilter"]]] +"timestamp":[["impl RefUnwindSafe for TimestampError",1,["timestamp::TimestampError"]],["impl RefUnwindSafe for Timestamp",1,["timestamp::Timestamp"]],["impl<T> RefUnwindSafe for CleanUpTimestamp<T>
where\n T: RefUnwindSafe,
",1,["timestamp::CleanUpTimestamp"]],["impl<T> RefUnwindSafe for SetTimestamp<T>
where\n T: RefUnwindSafe,
",1,["timestamp::SetTimestamp"]]], +"tuxedo_core":[["impl RefUnwindSafe for DynamicTypingError",1,["tuxedo_core::dynamic_typing::DynamicTypingError"]],["impl RefUnwindSafe for RedemptionStrategy",1,["tuxedo_core::types::RedemptionStrategy"]],["impl RefUnwindSafe for DynamicallyTypedData",1,["tuxedo_core::dynamic_typing::DynamicallyTypedData"]],["impl RefUnwindSafe for Bogus",1,["tuxedo_core::dynamic_typing::testing::Bogus"]],["impl RefUnwindSafe for Input",1,["tuxedo_core::types::Input"]],["impl RefUnwindSafe for OutputRef",1,["tuxedo_core::types::OutputRef"]],["impl RefUnwindSafe for BlakeTwoHashLock",1,["tuxedo_core::verifier::htlc::BlakeTwoHashLock"]],["impl RefUnwindSafe for P2PKH",1,["tuxedo_core::verifier::simple_signature::P2PKH"]],["impl RefUnwindSafe for Sr25519Signature",1,["tuxedo_core::verifier::simple_signature::Sr25519Signature"]],["impl RefUnwindSafe for TestVerifier",1,["tuxedo_core::verifier::TestVerifier"]],["impl RefUnwindSafe for ThresholdMultiSignature",1,["tuxedo_core::verifier::multi_signature::ThresholdMultiSignature"]],["impl RefUnwindSafe for TimeLock",1,["tuxedo_core::verifier::htlc::TimeLock"]],["impl RefUnwindSafe for Unspendable",1,["tuxedo_core::verifier::Unspendable"]],["impl RefUnwindSafe for UpForGrabs",1,["tuxedo_core::verifier::UpForGrabs"]],["impl<'a, Block, B, E> !RefUnwindSafe for TuxedoGenesisBlockBuilder<'a, Block, B, E>",1,["tuxedo_core::genesis::block_builder::TuxedoGenesisBlockBuilder"]],["impl<Block> RefUnwindSafe for ParentBlockInherentDataProvider<Block>
where\n Block: RefUnwindSafe,
",1,["tuxedo_core::inherents::ParentBlockInherentDataProvider"]],["impl<C> RefUnwindSafe for InherentAdapter<C>
where\n C: RefUnwindSafe,
",1,["tuxedo_core::inherents::InherentAdapter"]],["impl<ConstraintCheckerError> RefUnwindSafe for UtxoError<ConstraintCheckerError>
where\n ConstraintCheckerError: RefUnwindSafe,
",1,["tuxedo_core::types::UtxoError"]],["impl<V> RefUnwindSafe for Output<V>
where\n V: RefUnwindSafe,
",1,["tuxedo_core::types::Output"]],["impl<V, C> RefUnwindSafe for TuxedoGenesisConfigBuilder<V, C>
where\n V: RefUnwindSafe,\n C: RefUnwindSafe,
",1,["tuxedo_core::genesis::config_builder::TuxedoGenesisConfigBuilder"]],["impl<V, C> RefUnwindSafe for Executive<V, C>
where\n V: RefUnwindSafe,\n C: RefUnwindSafe,
",1,["tuxedo_core::executive::Executive"]],["impl<V, C> RefUnwindSafe for Transaction<V, C>
where\n C: RefUnwindSafe,\n V: RefUnwindSafe,
",1,["tuxedo_core::types::Transaction"]],["impl<Verifier> RefUnwindSafe for TransparentUtxoSet<Verifier>
where\n Verifier: RefUnwindSafe,
",1,["tuxedo_core::utxo_set::TransparentUtxoSet"]]], +"tuxedo_parachain_core":[["impl RefUnwindSafe for MockRelayParentNumberStorage",1,["tuxedo_parachain_core::MockRelayParentNumberStorage"]],["impl RefUnwindSafe for RelayParentNumberStorage",1,["tuxedo_parachain_core::RelayParentNumberStorage"]],["impl RefUnwindSafe for ParachainInherentDataUtxo",1,["tuxedo_parachain_core::ParachainInherentDataUtxo"]]], +"tuxedo_parachain_runtime":[["impl RefUnwindSafe for ParachainConstraintChecker",1,["tuxedo_parachain_runtime::ParachainConstraintChecker"]],["impl RefUnwindSafe for ParachainConstraintCheckerError",1,["tuxedo_parachain_runtime::ParachainConstraintCheckerError"]],["impl RefUnwindSafe for Runtime",1,["tuxedo_parachain_runtime::Runtime"]],["impl RefUnwindSafe for RuntimeApi",1,["tuxedo_parachain_runtime::RuntimeApi"]],["impl RefUnwindSafe for RuntimeParachainConfig",1,["tuxedo_parachain_runtime::RuntimeParachainConfig"]],["impl<Block, C> !RefUnwindSafe for RuntimeApiImpl<Block, C>",1,["tuxedo_parachain_runtime::RuntimeApiImpl"]]], +"tuxedo_template_runtime":[["impl RefUnwindSafe for OuterConstraintChecker",1,["tuxedo_template_runtime::OuterConstraintChecker"]],["impl RefUnwindSafe for OuterConstraintCheckerError",1,["tuxedo_template_runtime::OuterConstraintCheckerError"]],["impl RefUnwindSafe for OuterVerifier",1,["tuxedo_template_runtime::OuterVerifier"]],["impl RefUnwindSafe for OuterVerifierRedeemer",1,["tuxedo_template_runtime::OuterVerifierRedeemer"]],["impl RefUnwindSafe for AuraAppPublic",1,["tuxedo_template_runtime::opaque::AuraAppPublic"]],["impl RefUnwindSafe for GrandpaAppPublic",1,["tuxedo_template_runtime::opaque::GrandpaAppPublic"]],["impl RefUnwindSafe for SessionKeys",1,["tuxedo_template_runtime::opaque::SessionKeys"]],["impl RefUnwindSafe for Runtime",1,["tuxedo_template_runtime::Runtime"]],["impl RefUnwindSafe for RuntimeApi",1,["tuxedo_template_runtime::RuntimeApi"]],["impl<Block, C> !RefUnwindSafe for RuntimeApiImpl<Block, C>",1,["tuxedo_template_runtime::RuntimeApiImpl"]]], +"tuxedo_template_wallet":[["impl RefUnwindSafe for Command",1,["tuxedo_template_wallet::cli::Command"]],["impl RefUnwindSafe for ParachainConstraintChecker",1,["tuxedo_template_wallet::parachain::ParachainConstraintChecker"]],["impl RefUnwindSafe for Cli",1,["tuxedo_template_wallet::cli::Cli"]],["impl RefUnwindSafe for MintCoinArgs",1,["tuxedo_template_wallet::cli::MintCoinArgs"]],["impl RefUnwindSafe for SpendArgs",1,["tuxedo_template_wallet::cli::SpendArgs"]],["impl RefUnwindSafe for Sr25519SignatureFilter",1,["tuxedo_template_wallet::output_filter::Sr25519SignatureFilter"]],["impl RefUnwindSafe for TestSr25519SignatureFilter",1,["tuxedo_template_wallet::output_filter::tests::TestSr25519SignatureFilter"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js b/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js index 72617977a..048e666d4 100644 --- a/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js +++ b/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js @@ -1,15 +1,16 @@ (function() {var implementors = { -"amoeba":[["impl UnwindSafe for AmoebaDetails",1,["amoeba::AmoebaDetails"]],["impl UnwindSafe for ConstraintCheckerError",1,["amoeba::ConstraintCheckerError"]],["impl UnwindSafe for AmoebaMitosis",1,["amoeba::AmoebaMitosis"]],["impl UnwindSafe for AmoebaDeath",1,["amoeba::AmoebaDeath"]],["impl UnwindSafe for AmoebaCreation",1,["amoeba::AmoebaCreation"]]], -"kitties":[["impl UnwindSafe for FreeKittyConstraintChecker",1,["kitties::FreeKittyConstraintChecker"]],["impl UnwindSafe for DadKittyStatus",1,["kitties::DadKittyStatus"]],["impl UnwindSafe for MomKittyStatus",1,["kitties::MomKittyStatus"]],["impl UnwindSafe for Parent",1,["kitties::Parent"]],["impl UnwindSafe for KittyDNA",1,["kitties::KittyDNA"]],["impl UnwindSafe for KittyData",1,["kitties::KittyData"]],["impl UnwindSafe for ConstraintCheckerError",1,["kitties::ConstraintCheckerError"]],["impl UnwindSafe for KittyHelpers",1,["kitties::KittyHelpers"]]], -"money":[["impl<const ID: u8> UnwindSafe for MoneyConstraintChecker<ID>",1,["money::MoneyConstraintChecker"]],["impl<const ID: u8> UnwindSafe for Coin<ID>",1,["money::Coin"]],["impl UnwindSafe for ConstraintCheckerError",1,["money::ConstraintCheckerError"]]], -"node_template":[["impl<C, P> UnwindSafe for FullDeps<C, P>
where\n C: RefUnwindSafe,\n P: RefUnwindSafe,
",1,["node_template::rpc::FullDeps"]],["impl UnwindSafe for ExecutorDispatch",1,["node_template::service::ExecutorDispatch"]]], +"amoeba":[["impl UnwindSafe for ConstraintCheckerError",1,["amoeba::ConstraintCheckerError"]],["impl UnwindSafe for AmoebaCreation",1,["amoeba::AmoebaCreation"]],["impl UnwindSafe for AmoebaDeath",1,["amoeba::AmoebaDeath"]],["impl UnwindSafe for AmoebaDetails",1,["amoeba::AmoebaDetails"]],["impl UnwindSafe for AmoebaMitosis",1,["amoeba::AmoebaMitosis"]]], +"kitties":[["impl UnwindSafe for ConstraintCheckerError",1,["kitties::ConstraintCheckerError"]],["impl UnwindSafe for DadKittyStatus",1,["kitties::DadKittyStatus"]],["impl UnwindSafe for MomKittyStatus",1,["kitties::MomKittyStatus"]],["impl UnwindSafe for Parent",1,["kitties::Parent"]],["impl UnwindSafe for FreeKittyConstraintChecker",1,["kitties::FreeKittyConstraintChecker"]],["impl UnwindSafe for KittyDNA",1,["kitties::KittyDNA"]],["impl UnwindSafe for KittyData",1,["kitties::KittyData"]],["impl UnwindSafe for KittyHelpers",1,["kitties::KittyHelpers"]]], +"money":[["impl UnwindSafe for ConstraintCheckerError",1,["money::ConstraintCheckerError"]],["impl<const ID: u8> UnwindSafe for MoneyConstraintChecker<ID>",1,["money::MoneyConstraintChecker"]],["impl<const ID: u8> UnwindSafe for Coin<ID>",1,["money::Coin"]]], +"node_template":[["impl UnwindSafe for ExecutorDispatch",1,["node_template::service::ExecutorDispatch"]],["impl<C, P> UnwindSafe for FullDeps<C, P>
where\n C: RefUnwindSafe,\n P: RefUnwindSafe,
",1,["node_template::rpc::FullDeps"]]], "parachain_piece":[["impl UnwindSafe for ParachainError",1,["parachain_piece::ParachainError"]],["impl<T> UnwindSafe for SetParachainInfo<T>
where\n T: UnwindSafe,
",1,["parachain_piece::SetParachainInfo"]]], -"parachain_template_node":[["impl UnwindSafe for Extensions",1,["parachain_template_node::chain_spec::Extensions"]],["impl UnwindSafe for ExtensionsFork",1,["parachain_template_node::chain_spec::ExtensionsFork"]],["impl UnwindSafe for Subcommand",1,["parachain_template_node::cli::Subcommand"]],["impl UnwindSafe for Cli",1,["parachain_template_node::cli::Cli"]],["impl UnwindSafe for RelayChainCli",1,["parachain_template_node::cli::RelayChainCli"]],["impl UnwindSafe for ExecutorDispatch",1,["parachain_template_node::dev_service::ExecutorDispatch"]],["impl<C, P> UnwindSafe for FullDeps<C, P>
where\n C: RefUnwindSafe,\n P: RefUnwindSafe,
",1,["parachain_template_node::rpc::FullDeps"]],["impl UnwindSafe for ParachainNativeExecutor",1,["parachain_template_node::service::ParachainNativeExecutor"]]], -"poe":[["impl UnwindSafe for ConstraintCheckerError",1,["poe::ConstraintCheckerError"]],["impl<T> UnwindSafe for PoeClaim<T>
where\n T: UnwindSafe,
",1,["poe::PoeClaim"]],["impl UnwindSafe for PoeRevoke",1,["poe::PoeRevoke"]],["impl UnwindSafe for PoeDispute",1,["poe::PoeDispute"]]], +"parachain_template_node":[["impl UnwindSafe for Subcommand",1,["parachain_template_node::cli::Subcommand"]],["impl UnwindSafe for Extensions",1,["parachain_template_node::chain_spec::Extensions"]],["impl UnwindSafe for ExtensionsFork",1,["parachain_template_node::chain_spec::ExtensionsFork"]],["impl UnwindSafe for Cli",1,["parachain_template_node::cli::Cli"]],["impl UnwindSafe for RelayChainCli",1,["parachain_template_node::cli::RelayChainCli"]],["impl UnwindSafe for ExecutorDispatch",1,["parachain_template_node::dev_service::ExecutorDispatch"]],["impl UnwindSafe for ParachainNativeExecutor",1,["parachain_template_node::service::ParachainNativeExecutor"]],["impl<C, P> UnwindSafe for FullDeps<C, P>
where\n C: RefUnwindSafe,\n P: RefUnwindSafe,
",1,["parachain_template_node::rpc::FullDeps"]]], +"poe":[["impl UnwindSafe for ConstraintCheckerError",1,["poe::ConstraintCheckerError"]],["impl UnwindSafe for PoeDispute",1,["poe::PoeDispute"]],["impl UnwindSafe for PoeRevoke",1,["poe::PoeRevoke"]],["impl<T> UnwindSafe for PoeClaim<T>
where\n T: UnwindSafe,
",1,["poe::PoeClaim"]]], "runtime_upgrade":[["impl UnwindSafe for ConstraintCheckerError",1,["runtime_upgrade::ConstraintCheckerError"]],["impl UnwindSafe for RuntimeUpgrade",1,["runtime_upgrade::RuntimeUpgrade"]]], -"timestamp":[["impl UnwindSafe for Timestamp",1,["timestamp::Timestamp"]],["impl UnwindSafe for TimestampError",1,["timestamp::TimestampError"]],["impl<T> UnwindSafe for SetTimestamp<T>
where\n T: UnwindSafe,
",1,["timestamp::SetTimestamp"]],["impl<T> UnwindSafe for CleanUpTimestamp<T>
where\n T: UnwindSafe,
",1,["timestamp::CleanUpTimestamp"]]], -"tuxedo_core":[["impl UnwindSafe for Bogus",1,["tuxedo_core::dynamic_typing::testing::Bogus"]],["impl UnwindSafe for DynamicallyTypedData",1,["tuxedo_core::dynamic_typing::DynamicallyTypedData"]],["impl UnwindSafe for DynamicTypingError",1,["tuxedo_core::dynamic_typing::DynamicTypingError"]],["impl<B, V, C> UnwindSafe for Executive<B, V, C>
where\n B: UnwindSafe,\n C: UnwindSafe,\n V: UnwindSafe,
",1,["tuxedo_core::executive::Executive"]],["impl<Block> UnwindSafe for ParentBlockInherentDataProvider<Block>
where\n Block: UnwindSafe,
",1,["tuxedo_core::inherents::ParentBlockInherentDataProvider"]],["impl<T> UnwindSafe for TuxedoInherentAdapter<T>
where\n T: UnwindSafe,
",1,["tuxedo_core::inherents::TuxedoInherentAdapter"]],["impl UnwindSafe for OutputRef",1,["tuxedo_core::types::OutputRef"]],["impl<V, C> UnwindSafe for Transaction<V, C>
where\n C: UnwindSafe,\n V: UnwindSafe,
",1,["tuxedo_core::types::Transaction"]],["impl UnwindSafe for Input",1,["tuxedo_core::types::Input"]],["impl<ConstraintCheckerError> UnwindSafe for UtxoError<ConstraintCheckerError>
where\n ConstraintCheckerError: UnwindSafe,
",1,["tuxedo_core::types::UtxoError"]],["impl<V> UnwindSafe for Output<V>
where\n V: UnwindSafe,
",1,["tuxedo_core::types::Output"]],["impl<Verifier> UnwindSafe for TransparentUtxoSet<Verifier>
where\n Verifier: UnwindSafe,
",1,["tuxedo_core::utxo_set::TransparentUtxoSet"]],["impl UnwindSafe for Sr25519Signature",1,["tuxedo_core::verifier::Sr25519Signature"]],["impl UnwindSafe for UpForGrabs",1,["tuxedo_core::verifier::UpForGrabs"]],["impl UnwindSafe for ThresholdMultiSignature",1,["tuxedo_core::verifier::ThresholdMultiSignature"]],["impl UnwindSafe for SignatureAndIndex",1,["tuxedo_core::verifier::SignatureAndIndex"]],["impl UnwindSafe for TestVerifier",1,["tuxedo_core::verifier::TestVerifier"]],["impl<'a, Block, B, E> !UnwindSafe for TuxedoGenesisBlockBuilder<'a, Block, B, E>",1,["tuxedo_core::genesis::TuxedoGenesisBlockBuilder"]],["impl<V, C> UnwindSafe for TuxedoGenesisConfig<V, C>
where\n C: UnwindSafe,\n V: UnwindSafe,
",1,["tuxedo_core::genesis::TuxedoGenesisConfig"]]], -"tuxedo_parachain_core":[["impl UnwindSafe for RelayParentNumberStorage",1,["tuxedo_parachain_core::RelayParentNumberStorage"]],["impl UnwindSafe for MockRelayParentNumberStorage",1,["tuxedo_parachain_core::MockRelayParentNumberStorage"]],["impl UnwindSafe for ParachainInherentDataUtxo",1,["tuxedo_parachain_core::ParachainInherentDataUtxo"]]], -"tuxedo_template_runtime":[["impl UnwindSafe for SessionKeys",1,["tuxedo_template_runtime::opaque::SessionKeys"]],["impl UnwindSafe for AuraAppPublic",1,["tuxedo_template_runtime::opaque::AuraAppPublic"]],["impl UnwindSafe for GrandpaAppPublic",1,["tuxedo_template_runtime::opaque::GrandpaAppPublic"]],["impl UnwindSafe for OuterVerifier",1,["tuxedo_template_runtime::OuterVerifier"]],["impl UnwindSafe for OuterConstraintChecker",1,["tuxedo_template_runtime::OuterConstraintChecker"]],["impl UnwindSafe for OuterConstraintCheckerError",1,["tuxedo_template_runtime::OuterConstraintCheckerError"]],["impl UnwindSafe for OuterConstraintCheckerInherentHooks",1,["tuxedo_template_runtime::OuterConstraintCheckerInherentHooks"]],["impl UnwindSafe for DummyParachainInfo",1,["tuxedo_template_runtime::DummyParachainInfo"]],["impl UnwindSafe for Runtime",1,["tuxedo_template_runtime::Runtime"]],["impl UnwindSafe for RuntimeApi",1,["tuxedo_template_runtime::RuntimeApi"]],["impl<Block, C> !UnwindSafe for RuntimeApiImpl<Block, C>",1,["tuxedo_template_runtime::RuntimeApiImpl"]]], -"tuxedo_template_wallet":[["impl UnwindSafe for Cli",1,["tuxedo_template_wallet::cli::Cli"]],["impl UnwindSafe for Command",1,["tuxedo_template_wallet::cli::Command"]],["impl UnwindSafe for MintCoinArgs",1,["tuxedo_template_wallet::cli::MintCoinArgs"]],["impl UnwindSafe for SpendArgs",1,["tuxedo_template_wallet::cli::SpendArgs"]],["impl UnwindSafe for TestSr25519SignatureFilter",1,["tuxedo_template_wallet::output_filter::tests::TestSr25519SignatureFilter"]],["impl UnwindSafe for Sr25519SignatureFilter",1,["tuxedo_template_wallet::output_filter::Sr25519SignatureFilter"]]] +"timestamp":[["impl UnwindSafe for TimestampError",1,["timestamp::TimestampError"]],["impl UnwindSafe for Timestamp",1,["timestamp::Timestamp"]],["impl<T> UnwindSafe for CleanUpTimestamp<T>
where\n T: UnwindSafe,
",1,["timestamp::CleanUpTimestamp"]],["impl<T> UnwindSafe for SetTimestamp<T>
where\n T: UnwindSafe,
",1,["timestamp::SetTimestamp"]]], +"tuxedo_core":[["impl UnwindSafe for DynamicTypingError",1,["tuxedo_core::dynamic_typing::DynamicTypingError"]],["impl UnwindSafe for RedemptionStrategy",1,["tuxedo_core::types::RedemptionStrategy"]],["impl UnwindSafe for DynamicallyTypedData",1,["tuxedo_core::dynamic_typing::DynamicallyTypedData"]],["impl UnwindSafe for Bogus",1,["tuxedo_core::dynamic_typing::testing::Bogus"]],["impl UnwindSafe for Input",1,["tuxedo_core::types::Input"]],["impl UnwindSafe for OutputRef",1,["tuxedo_core::types::OutputRef"]],["impl UnwindSafe for BlakeTwoHashLock",1,["tuxedo_core::verifier::htlc::BlakeTwoHashLock"]],["impl UnwindSafe for P2PKH",1,["tuxedo_core::verifier::simple_signature::P2PKH"]],["impl UnwindSafe for Sr25519Signature",1,["tuxedo_core::verifier::simple_signature::Sr25519Signature"]],["impl UnwindSafe for TestVerifier",1,["tuxedo_core::verifier::TestVerifier"]],["impl UnwindSafe for ThresholdMultiSignature",1,["tuxedo_core::verifier::multi_signature::ThresholdMultiSignature"]],["impl UnwindSafe for TimeLock",1,["tuxedo_core::verifier::htlc::TimeLock"]],["impl UnwindSafe for Unspendable",1,["tuxedo_core::verifier::Unspendable"]],["impl UnwindSafe for UpForGrabs",1,["tuxedo_core::verifier::UpForGrabs"]],["impl<'a, Block, B, E> !UnwindSafe for TuxedoGenesisBlockBuilder<'a, Block, B, E>",1,["tuxedo_core::genesis::block_builder::TuxedoGenesisBlockBuilder"]],["impl<Block> UnwindSafe for ParentBlockInherentDataProvider<Block>
where\n Block: UnwindSafe,
",1,["tuxedo_core::inherents::ParentBlockInherentDataProvider"]],["impl<C> UnwindSafe for InherentAdapter<C>
where\n C: UnwindSafe,
",1,["tuxedo_core::inherents::InherentAdapter"]],["impl<ConstraintCheckerError> UnwindSafe for UtxoError<ConstraintCheckerError>
where\n ConstraintCheckerError: UnwindSafe,
",1,["tuxedo_core::types::UtxoError"]],["impl<V> UnwindSafe for Output<V>
where\n V: UnwindSafe,
",1,["tuxedo_core::types::Output"]],["impl<V, C> UnwindSafe for TuxedoGenesisConfigBuilder<V, C>
where\n V: UnwindSafe,\n C: UnwindSafe,
",1,["tuxedo_core::genesis::config_builder::TuxedoGenesisConfigBuilder"]],["impl<V, C> UnwindSafe for Executive<V, C>
where\n V: UnwindSafe,\n C: UnwindSafe,
",1,["tuxedo_core::executive::Executive"]],["impl<V, C> UnwindSafe for Transaction<V, C>
where\n C: UnwindSafe,\n V: UnwindSafe,
",1,["tuxedo_core::types::Transaction"]],["impl<Verifier> UnwindSafe for TransparentUtxoSet<Verifier>
where\n Verifier: UnwindSafe,
",1,["tuxedo_core::utxo_set::TransparentUtxoSet"]]], +"tuxedo_parachain_core":[["impl UnwindSafe for MockRelayParentNumberStorage",1,["tuxedo_parachain_core::MockRelayParentNumberStorage"]],["impl UnwindSafe for RelayParentNumberStorage",1,["tuxedo_parachain_core::RelayParentNumberStorage"]],["impl UnwindSafe for ParachainInherentDataUtxo",1,["tuxedo_parachain_core::ParachainInherentDataUtxo"]]], +"tuxedo_parachain_runtime":[["impl UnwindSafe for ParachainConstraintChecker",1,["tuxedo_parachain_runtime::ParachainConstraintChecker"]],["impl UnwindSafe for ParachainConstraintCheckerError",1,["tuxedo_parachain_runtime::ParachainConstraintCheckerError"]],["impl UnwindSafe for Runtime",1,["tuxedo_parachain_runtime::Runtime"]],["impl UnwindSafe for RuntimeApi",1,["tuxedo_parachain_runtime::RuntimeApi"]],["impl UnwindSafe for RuntimeParachainConfig",1,["tuxedo_parachain_runtime::RuntimeParachainConfig"]],["impl<Block, C> !UnwindSafe for RuntimeApiImpl<Block, C>",1,["tuxedo_parachain_runtime::RuntimeApiImpl"]]], +"tuxedo_template_runtime":[["impl UnwindSafe for OuterConstraintChecker",1,["tuxedo_template_runtime::OuterConstraintChecker"]],["impl UnwindSafe for OuterConstraintCheckerError",1,["tuxedo_template_runtime::OuterConstraintCheckerError"]],["impl UnwindSafe for OuterVerifier",1,["tuxedo_template_runtime::OuterVerifier"]],["impl UnwindSafe for OuterVerifierRedeemer",1,["tuxedo_template_runtime::OuterVerifierRedeemer"]],["impl UnwindSafe for AuraAppPublic",1,["tuxedo_template_runtime::opaque::AuraAppPublic"]],["impl UnwindSafe for GrandpaAppPublic",1,["tuxedo_template_runtime::opaque::GrandpaAppPublic"]],["impl UnwindSafe for SessionKeys",1,["tuxedo_template_runtime::opaque::SessionKeys"]],["impl UnwindSafe for Runtime",1,["tuxedo_template_runtime::Runtime"]],["impl UnwindSafe for RuntimeApi",1,["tuxedo_template_runtime::RuntimeApi"]],["impl<Block, C> !UnwindSafe for RuntimeApiImpl<Block, C>",1,["tuxedo_template_runtime::RuntimeApiImpl"]]], +"tuxedo_template_wallet":[["impl UnwindSafe for Command",1,["tuxedo_template_wallet::cli::Command"]],["impl UnwindSafe for ParachainConstraintChecker",1,["tuxedo_template_wallet::parachain::ParachainConstraintChecker"]],["impl UnwindSafe for Cli",1,["tuxedo_template_wallet::cli::Cli"]],["impl UnwindSafe for MintCoinArgs",1,["tuxedo_template_wallet::cli::MintCoinArgs"]],["impl UnwindSafe for SpendArgs",1,["tuxedo_template_wallet::cli::SpendArgs"]],["impl UnwindSafe for Sr25519SignatureFilter",1,["tuxedo_template_wallet::output_filter::Sr25519SignatureFilter"]],["impl UnwindSafe for TestSr25519SignatureFilter",1,["tuxedo_template_wallet::output_filter::tests::TestSr25519SignatureFilter"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/cumulus_primitives_core/runtime_decl_for_collect_collation_info/trait.CollectCollationInfoV2.js b/trait.impl/cumulus_primitives_core/runtime_decl_for_collect_collation_info/trait.CollectCollationInfoV2.js index 97e8ea617..f583b6dea 100644 --- a/trait.impl/cumulus_primitives_core/runtime_decl_for_collect_collation_info/trait.CollectCollationInfoV2.js +++ b/trait.impl/cumulus_primitives_core/runtime_decl_for_collect_collation_info/trait.CollectCollationInfoV2.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"tuxedo_template_runtime":[["impl CollectCollationInfoV2<Block<Header<u32, BlakeTwo256>, Transaction<OuterVerifier, OuterConstraintChecker>>> for Runtime"]] +"tuxedo_parachain_runtime":[["impl CollectCollationInfoV2<Block<Header<u32, BlakeTwo256>, Transaction<OuterVerifier, ParachainConstraintChecker>>> for Runtime"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/cumulus_primitives_core/trait.CollectCollationInfo.js b/trait.impl/cumulus_primitives_core/trait.CollectCollationInfo.js index f1fa25afa..782d0bed2 100644 --- a/trait.impl/cumulus_primitives_core/trait.CollectCollationInfo.js +++ b/trait.impl/cumulus_primitives_core/trait.CollectCollationInfo.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"tuxedo_template_runtime":[["impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> CollectCollationInfo<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
where\n RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>,\n &'static RuntimeApiImplCall: Send,\n <__SrApiBlock__ as BlockT>::Header: UnwindSafe + RefUnwindSafe,\n CollationInfo: UnwindSafe + RefUnwindSafe,\n __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,
"]] +"tuxedo_parachain_runtime":[["impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> CollectCollationInfo<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
where\n RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>,\n &'static RuntimeApiImplCall: Send,\n <__SrApiBlock__ as BlockT>::Header: UnwindSafe + RefUnwindSafe,\n CollationInfo: UnwindSafe + RefUnwindSafe,\n __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,
"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/parachain_piece/trait.ParachainPieceConfig.js b/trait.impl/parachain_piece/trait.ParachainPieceConfig.js index 38693414e..58dcbac04 100644 --- a/trait.impl/parachain_piece/trait.ParachainPieceConfig.js +++ b/trait.impl/parachain_piece/trait.ParachainPieceConfig.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"tuxedo_template_runtime":[["impl ParachainPieceConfig for Runtime"]] +"tuxedo_parachain_runtime":[["impl ParachainPieceConfig for RuntimeParachainConfig"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/parity_scale_codec/codec/trait.Decode.js b/trait.impl/parity_scale_codec/codec/trait.Decode.js index 02e237269..5fcd0fcc3 100644 --- a/trait.impl/parity_scale_codec/codec/trait.Decode.js +++ b/trait.impl/parity_scale_codec/codec/trait.Decode.js @@ -1,12 +1,14 @@ (function() {var implementors = { -"amoeba":[["impl Decode for AmoebaMitosis"],["impl Decode for AmoebaDeath"],["impl Decode for AmoebaCreation"],["impl Decode for AmoebaDetails"]], -"kitties":[["impl Decode for MomKittyStatus"],["impl Decode for ConstraintCheckerError"],["impl Decode for Parent"],["impl Decode for KittyDNA"],["impl Decode for DadKittyStatus"],["impl Decode for FreeKittyConstraintChecker"],["impl Decode for KittyData"]], -"money":[["impl<const ID: u8> Decode for MoneyConstraintChecker<ID>"],["impl Decode for ConstraintCheckerError"],["impl<const ID: u8> Decode for Coin<ID>"]], +"amoeba":[["impl Decode for AmoebaCreation"],["impl Decode for AmoebaDeath"],["impl Decode for AmoebaDetails"],["impl Decode for AmoebaMitosis"]], +"kitties":[["impl Decode for ConstraintCheckerError"],["impl Decode for DadKittyStatus"],["impl Decode for MomKittyStatus"],["impl Decode for Parent"],["impl Decode for FreeKittyConstraintChecker"],["impl Decode for KittyDNA"],["impl Decode for KittyData"]], +"money":[["impl Decode for ConstraintCheckerError"],["impl<const ID: u8> Decode for MoneyConstraintChecker<ID>"],["impl<const ID: u8> Decode for Coin<ID>"]], "parachain_piece":[["impl<T> Decode for SetParachainInfo<T>
where\n PhantomData<T>: Decode,
"]], -"poe":[["impl Decode for ConstraintCheckerError"],["impl Decode for PoeDispute"],["impl<T> Decode for PoeClaim<T>
where\n PhantomData<T>: Decode,
"],["impl Decode for PoeRevoke"]], +"poe":[["impl Decode for ConstraintCheckerError"],["impl Decode for PoeDispute"],["impl Decode for PoeRevoke"],["impl<T> Decode for PoeClaim<T>
where\n PhantomData<T>: Decode,
"]], "runtime_upgrade":[["impl Decode for RuntimeUpgrade"]], -"timestamp":[["impl<T> Decode for CleanUpTimestamp<T>
where\n PhantomData<T>: Decode,
"],["impl<T> Decode for SetTimestamp<T>
where\n PhantomData<T>: Decode,
"],["impl Decode for Timestamp"]], -"tuxedo_core":[["impl<V> Decode for Output<V>
where\n V: Decode,
"],["impl Decode for TestVerifier"],["impl Decode for Input"],["impl Decode for Sr25519Signature"],["impl Decode for DynamicallyTypedData"],["impl Decode for ThresholdMultiSignature"],["impl Decode for Bogus"],["impl<V: Decode, C: Decode> Decode for Transaction<V, C>"],["impl Decode for SignatureAndIndex"],["impl Decode for UpForGrabs"],["impl Decode for OutputRef"]], +"timestamp":[["impl Decode for Timestamp"],["impl<T> Decode for CleanUpTimestamp<T>
where\n PhantomData<T>: Decode,
"],["impl<T> Decode for SetTimestamp<T>
where\n PhantomData<T>: Decode,
"]], +"tuxedo_core":[["impl Decode for RedemptionStrategy"],["impl Decode for DynamicallyTypedData"],["impl Decode for Bogus"],["impl Decode for Input"],["impl Decode for OutputRef"],["impl Decode for BlakeTwoHashLock"],["impl Decode for P2PKH"],["impl Decode for Sr25519Signature"],["impl Decode for TestVerifier"],["impl Decode for ThresholdMultiSignature"],["impl Decode for TimeLock"],["impl Decode for Unspendable"],["impl Decode for UpForGrabs"],["impl<C> Decode for InherentAdapter<C>
where\n C: Decode,
"],["impl<V> Decode for Output<V>
where\n V: Decode,
"],["impl<V: Decode, C: Decode> Decode for Transaction<V, C>"]], "tuxedo_parachain_core":[["impl Decode for ParachainInherentDataUtxo"]], -"tuxedo_template_runtime":[["impl Decode for OuterVerifier"],["impl Decode for DummyParachainInfo"],["impl Decode for OuterConstraintChecker"],["impl Decode for SessionKeys"],["impl Decode for Runtime"]] +"tuxedo_parachain_runtime":[["impl Decode for ParachainConstraintChecker"],["impl Decode for Runtime"]], +"tuxedo_template_runtime":[["impl Decode for OuterConstraintChecker"],["impl Decode for OuterVerifier"],["impl Decode for OuterVerifierRedeemer"],["impl Decode for SessionKeys"],["impl Decode for Runtime"]], +"tuxedo_template_wallet":[["impl Decode for ParachainConstraintChecker"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/parity_scale_codec/codec/trait.Encode.js b/trait.impl/parity_scale_codec/codec/trait.Encode.js index 9f5ba6faa..ca37ba8bf 100644 --- a/trait.impl/parity_scale_codec/codec/trait.Encode.js +++ b/trait.impl/parity_scale_codec/codec/trait.Encode.js @@ -1,12 +1,14 @@ (function() {var implementors = { -"amoeba":[["impl Encode for AmoebaDeath"],["impl Encode for AmoebaCreation"],["impl Encode for AmoebaMitosis"],["impl Encode for AmoebaDetails"]], -"kitties":[["impl Encode for KittyData"],["impl Encode for ConstraintCheckerError"],["impl Encode for DadKittyStatus"],["impl Encode for Parent"],["impl Encode for MomKittyStatus"],["impl Encode for KittyDNA"],["impl Encode for FreeKittyConstraintChecker"]], -"money":[["impl<const ID: u8> Encode for MoneyConstraintChecker<ID>"],["impl Encode for ConstraintCheckerError"],["impl<const ID: u8> Encode for Coin<ID>"]], +"amoeba":[["impl Encode for AmoebaCreation"],["impl Encode for AmoebaDeath"],["impl Encode for AmoebaDetails"],["impl Encode for AmoebaMitosis"]], +"kitties":[["impl Encode for ConstraintCheckerError"],["impl Encode for DadKittyStatus"],["impl Encode for MomKittyStatus"],["impl Encode for Parent"],["impl Encode for FreeKittyConstraintChecker"],["impl Encode for KittyDNA"],["impl Encode for KittyData"]], +"money":[["impl Encode for ConstraintCheckerError"],["impl<const ID: u8> Encode for MoneyConstraintChecker<ID>"],["impl<const ID: u8> Encode for Coin<ID>"]], "parachain_piece":[["impl<T> Encode for SetParachainInfo<T>
where\n PhantomData<T>: Encode,
"]], -"poe":[["impl Encode for PoeRevoke"],["impl<T> Encode for PoeClaim<T>
where\n PhantomData<T>: Encode,
"],["impl Encode for ConstraintCheckerError"],["impl Encode for PoeDispute"]], +"poe":[["impl Encode for ConstraintCheckerError"],["impl Encode for PoeDispute"],["impl Encode for PoeRevoke"],["impl<T> Encode for PoeClaim<T>
where\n PhantomData<T>: Encode,
"]], "runtime_upgrade":[["impl Encode for RuntimeUpgrade"]], -"timestamp":[["impl Encode for Timestamp"],["impl<T> Encode for SetTimestamp<T>
where\n PhantomData<T>: Encode,
"],["impl<T> Encode for CleanUpTimestamp<T>
where\n PhantomData<T>: Encode,
"]], -"tuxedo_core":[["impl Encode for ThresholdMultiSignature"],["impl Encode for Sr25519Signature"],["impl Encode for UpForGrabs"],["impl Encode for OutputRef"],["impl Encode for Input"],["impl Encode for DynamicallyTypedData"],["impl<V> Encode for Output<V>
where\n V: Encode,
"],["impl Encode for SignatureAndIndex"],["impl Encode for TestVerifier"],["impl<V: Encode, C: Encode> Encode for Transaction<V, C>"],["impl Encode for Bogus"]], +"timestamp":[["impl Encode for Timestamp"],["impl<T> Encode for CleanUpTimestamp<T>
where\n PhantomData<T>: Encode,
"],["impl<T> Encode for SetTimestamp<T>
where\n PhantomData<T>: Encode,
"]], +"tuxedo_core":[["impl Encode for RedemptionStrategy"],["impl Encode for DynamicallyTypedData"],["impl Encode for Bogus"],["impl Encode for Input"],["impl Encode for OutputRef"],["impl Encode for BlakeTwoHashLock"],["impl Encode for P2PKH"],["impl Encode for Sr25519Signature"],["impl Encode for TestVerifier"],["impl Encode for ThresholdMultiSignature"],["impl Encode for TimeLock"],["impl Encode for Unspendable"],["impl Encode for UpForGrabs"],["impl<C> Encode for InherentAdapter<C>
where\n C: Encode,
"],["impl<V> Encode for Output<V>
where\n V: Encode,
"],["impl<V: Encode, C: Encode> Encode for Transaction<V, C>"]], "tuxedo_parachain_core":[["impl Encode for ParachainInherentDataUtxo"]], -"tuxedo_template_runtime":[["impl Encode for OuterVerifier"],["impl Encode for OuterConstraintChecker"],["impl Encode for SessionKeys"],["impl Encode for DummyParachainInfo"],["impl Encode for Runtime"]] +"tuxedo_parachain_runtime":[["impl Encode for ParachainConstraintChecker"],["impl Encode for Runtime"]], +"tuxedo_template_runtime":[["impl Encode for OuterConstraintChecker"],["impl Encode for OuterVerifier"],["impl Encode for OuterVerifierRedeemer"],["impl Encode for SessionKeys"],["impl Encode for Runtime"]], +"tuxedo_template_wallet":[["impl Encode for ParachainConstraintChecker"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/parity_scale_codec/encode_like/trait.EncodeLike.js b/trait.impl/parity_scale_codec/encode_like/trait.EncodeLike.js index 72daf20b9..3d820c11c 100644 --- a/trait.impl/parity_scale_codec/encode_like/trait.EncodeLike.js +++ b/trait.impl/parity_scale_codec/encode_like/trait.EncodeLike.js @@ -1,12 +1,14 @@ (function() {var implementors = { -"amoeba":[["impl EncodeLike for AmoebaDetails"],["impl EncodeLike for AmoebaCreation"],["impl EncodeLike for AmoebaMitosis"],["impl EncodeLike for AmoebaDeath"]], -"kitties":[["impl EncodeLike for DadKittyStatus"],["impl EncodeLike for Parent"],["impl EncodeLike for ConstraintCheckerError"],["impl EncodeLike for KittyData"],["impl EncodeLike for MomKittyStatus"],["impl EncodeLike for KittyDNA"],["impl EncodeLike for FreeKittyConstraintChecker"]], -"money":[["impl<const ID: u8> EncodeLike for MoneyConstraintChecker<ID>"],["impl<const ID: u8> EncodeLike for Coin<ID>"],["impl EncodeLike for ConstraintCheckerError"]], +"amoeba":[["impl EncodeLike for AmoebaCreation"],["impl EncodeLike for AmoebaDeath"],["impl EncodeLike for AmoebaDetails"],["impl EncodeLike for AmoebaMitosis"]], +"kitties":[["impl EncodeLike for ConstraintCheckerError"],["impl EncodeLike for DadKittyStatus"],["impl EncodeLike for MomKittyStatus"],["impl EncodeLike for Parent"],["impl EncodeLike for FreeKittyConstraintChecker"],["impl EncodeLike for KittyDNA"],["impl EncodeLike for KittyData"]], +"money":[["impl EncodeLike for ConstraintCheckerError"],["impl<const ID: u8> EncodeLike for MoneyConstraintChecker<ID>"],["impl<const ID: u8> EncodeLike for Coin<ID>"]], "parachain_piece":[["impl<T> EncodeLike for SetParachainInfo<T>
where\n PhantomData<T>: Encode,
"]], -"poe":[["impl EncodeLike for PoeDispute"],["impl EncodeLike for ConstraintCheckerError"],["impl EncodeLike for PoeRevoke"],["impl<T> EncodeLike for PoeClaim<T>
where\n PhantomData<T>: Encode,
"]], +"poe":[["impl EncodeLike for ConstraintCheckerError"],["impl EncodeLike for PoeDispute"],["impl EncodeLike for PoeRevoke"],["impl<T> EncodeLike for PoeClaim<T>
where\n PhantomData<T>: Encode,
"]], "runtime_upgrade":[["impl EncodeLike for RuntimeUpgrade"]], -"timestamp":[["impl<T> EncodeLike for CleanUpTimestamp<T>
where\n PhantomData<T>: Encode,
"],["impl EncodeLike for Timestamp"],["impl<T> EncodeLike for SetTimestamp<T>
where\n PhantomData<T>: Encode,
"]], -"tuxedo_core":[["impl EncodeLike for ThresholdMultiSignature"],["impl EncodeLike for Input"],["impl EncodeLike for OutputRef"],["impl EncodeLike for UpForGrabs"],["impl EncodeLike for SignatureAndIndex"],["impl EncodeLike for TestVerifier"],["impl EncodeLike for Sr25519Signature"],["impl EncodeLike for DynamicallyTypedData"],["impl<V> EncodeLike for Output<V>
where\n V: Encode,
"],["impl EncodeLike for Bogus"]], +"timestamp":[["impl EncodeLike for Timestamp"],["impl<T> EncodeLike for CleanUpTimestamp<T>
where\n PhantomData<T>: Encode,
"],["impl<T> EncodeLike for SetTimestamp<T>
where\n PhantomData<T>: Encode,
"]], +"tuxedo_core":[["impl EncodeLike for RedemptionStrategy"],["impl EncodeLike for DynamicallyTypedData"],["impl EncodeLike for Bogus"],["impl EncodeLike for Input"],["impl EncodeLike for OutputRef"],["impl EncodeLike for BlakeTwoHashLock"],["impl EncodeLike for P2PKH"],["impl EncodeLike for Sr25519Signature"],["impl EncodeLike for TestVerifier"],["impl EncodeLike for ThresholdMultiSignature"],["impl EncodeLike for TimeLock"],["impl EncodeLike for Unspendable"],["impl EncodeLike for UpForGrabs"],["impl<C> EncodeLike for InherentAdapter<C>
where\n C: Encode,
"],["impl<V> EncodeLike for Output<V>
where\n V: Encode,
"]], "tuxedo_parachain_core":[["impl EncodeLike for ParachainInherentDataUtxo"]], -"tuxedo_template_runtime":[["impl EncodeLike for SessionKeys"],["impl EncodeLike for Runtime"],["impl EncodeLike for OuterVerifier"],["impl EncodeLike for DummyParachainInfo"],["impl EncodeLike for OuterConstraintChecker"]] +"tuxedo_parachain_runtime":[["impl EncodeLike for ParachainConstraintChecker"],["impl EncodeLike for Runtime"]], +"tuxedo_template_runtime":[["impl EncodeLike for OuterConstraintChecker"],["impl EncodeLike for OuterVerifier"],["impl EncodeLike for OuterVerifierRedeemer"],["impl EncodeLike for SessionKeys"],["impl EncodeLike for Runtime"]], +"tuxedo_template_wallet":[["impl EncodeLike for ParachainConstraintChecker"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/sc_chain_spec/extension/trait.Extension.js b/trait.impl/sc_chain_spec/extension/trait.Extension.js index df269a132..4066ea71a 100644 --- a/trait.impl/sc_chain_spec/extension/trait.Extension.js +++ b/trait.impl/sc_chain_spec/extension/trait.Extension.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"parachain_template_node":[["impl Extension for ExtensionsFork"],["impl Extension for Extensions"]] +"parachain_template_node":[["impl Extension for Extensions"],["impl Extension for ExtensionsFork"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/sc_chain_spec/genesis/trait.BuildGenesisBlock.js b/trait.impl/sc_chain_spec/genesis_block/trait.BuildGenesisBlock.js similarity index 100% rename from trait.impl/sc_chain_spec/genesis/trait.BuildGenesisBlock.js rename to trait.impl/sc_chain_spec/genesis_block/trait.BuildGenesisBlock.js diff --git a/trait.impl/sc_cli/trait.SubstrateCli.js b/trait.impl/sc_cli/trait.SubstrateCli.js index b14a43be5..45189155a 100644 --- a/trait.impl/sc_cli/trait.SubstrateCli.js +++ b/trait.impl/sc_cli/trait.SubstrateCli.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"parachain_template_node":[["impl SubstrateCli for RelayChainCli"],["impl SubstrateCli for Cli"]] +"parachain_template_node":[["impl SubstrateCli for Cli"],["impl SubstrateCli for RelayChainCli"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/scale_info/trait.TypeInfo.js b/trait.impl/scale_info/trait.TypeInfo.js index fe680b1e4..49ccb1fef 100644 --- a/trait.impl/scale_info/trait.TypeInfo.js +++ b/trait.impl/scale_info/trait.TypeInfo.js @@ -1,12 +1,13 @@ (function() {var implementors = { -"amoeba":[["impl TypeInfo for AmoebaCreation"],["impl TypeInfo for AmoebaMitosis"],["impl TypeInfo for AmoebaDeath"]], -"kitties":[["impl TypeInfo for KittyDNA"],["impl TypeInfo for ConstraintCheckerError"],["impl TypeInfo for Parent"],["impl TypeInfo for MomKittyStatus"],["impl TypeInfo for KittyData"],["impl TypeInfo for FreeKittyConstraintChecker"],["impl TypeInfo for DadKittyStatus"]], -"money":[["impl TypeInfo for ConstraintCheckerError"],["impl<const ID: u8> TypeInfo for Coin<ID>"],["impl<const ID: u8> TypeInfo for MoneyConstraintChecker<ID>"]], +"amoeba":[["impl TypeInfo for AmoebaCreation"],["impl TypeInfo for AmoebaDeath"],["impl TypeInfo for AmoebaMitosis"]], +"kitties":[["impl TypeInfo for ConstraintCheckerError"],["impl TypeInfo for DadKittyStatus"],["impl TypeInfo for MomKittyStatus"],["impl TypeInfo for Parent"],["impl TypeInfo for FreeKittyConstraintChecker"],["impl TypeInfo for KittyDNA"],["impl TypeInfo for KittyData"]], +"money":[["impl TypeInfo for ConstraintCheckerError"],["impl<const ID: u8> TypeInfo for MoneyConstraintChecker<ID>"],["impl<const ID: u8> TypeInfo for Coin<ID>"]], "parachain_piece":[["impl<T> TypeInfo for SetParachainInfo<T>
where\n PhantomData<T>: TypeInfo + 'static,\n T: 'static,
"]], -"poe":[["impl TypeInfo for PoeDispute"],["impl<T> TypeInfo for PoeClaim<T>
where\n PhantomData<T>: TypeInfo + 'static,\n T: TypeInfo + 'static,
"],["impl TypeInfo for PoeRevoke"]], +"poe":[["impl TypeInfo for PoeDispute"],["impl TypeInfo for PoeRevoke"],["impl<T> TypeInfo for PoeClaim<T>
where\n PhantomData<T>: TypeInfo + 'static,\n T: TypeInfo + 'static,
"]], "runtime_upgrade":[["impl TypeInfo for RuntimeUpgrade"]], -"timestamp":[["impl<T> TypeInfo for SetTimestamp<T>
where\n PhantomData<T>: TypeInfo + 'static,\n T: 'static,
"],["impl<T> TypeInfo for CleanUpTimestamp<T>
where\n PhantomData<T>: TypeInfo + 'static,\n T: TypeInfo + 'static,
"]], -"tuxedo_core":[["impl TypeInfo for ThresholdMultiSignature"],["impl<T> TypeInfo for TuxedoInherentAdapter<T>
where\n T: TypeInfo + 'static,
"],["impl TypeInfo for UpForGrabs"],["impl<V, C> TypeInfo for Transaction<V, C>
where\n Vec<Output<V>>: TypeInfo + 'static,\n C: TypeInfo + 'static,\n V: TypeInfo + 'static,
"],["impl TypeInfo for DynamicallyTypedData"],["impl TypeInfo for Input"],["impl TypeInfo for TestVerifier"],["impl TypeInfo for OutputRef"],["impl TypeInfo for Sr25519Signature"],["impl<V> TypeInfo for Output<V>
where\n V: TypeInfo + 'static,
"]], +"timestamp":[["impl<T> TypeInfo for CleanUpTimestamp<T>
where\n PhantomData<T>: TypeInfo + 'static,\n T: TypeInfo + 'static,
"],["impl<T> TypeInfo for SetTimestamp<T>
where\n PhantomData<T>: TypeInfo + 'static,\n T: 'static,
"]], +"tuxedo_core":[["impl TypeInfo for RedemptionStrategy"],["impl TypeInfo for DynamicallyTypedData"],["impl TypeInfo for Input"],["impl TypeInfo for OutputRef"],["impl TypeInfo for BlakeTwoHashLock"],["impl TypeInfo for P2PKH"],["impl TypeInfo for Sr25519Signature"],["impl TypeInfo for TestVerifier"],["impl TypeInfo for ThresholdMultiSignature"],["impl TypeInfo for TimeLock"],["impl TypeInfo for Unspendable"],["impl TypeInfo for UpForGrabs"],["impl<C> TypeInfo for InherentAdapter<C>
where\n C: TypeInfo + 'static,
"],["impl<V> TypeInfo for Output<V>
where\n V: TypeInfo + 'static,
"],["impl<V, C> TypeInfo for Transaction<V, C>
where\n Vec<Output<V>>: TypeInfo + 'static,\n C: TypeInfo + 'static,\n V: TypeInfo + 'static,
"]], "tuxedo_parachain_core":[["impl TypeInfo for ParachainInherentDataUtxo"]], -"tuxedo_template_runtime":[["impl TypeInfo for OuterVerifier"],["impl TypeInfo for Runtime"],["impl TypeInfo for DummyParachainInfo"],["impl TypeInfo for SessionKeys"],["impl TypeInfo for OuterConstraintChecker"],["impl TypeInfo for OuterConstraintCheckerInherentHooks"]] +"tuxedo_parachain_runtime":[["impl TypeInfo for ParachainConstraintChecker"],["impl TypeInfo for Runtime"]], +"tuxedo_template_runtime":[["impl TypeInfo for OuterConstraintChecker"],["impl TypeInfo for OuterVerifier"],["impl TypeInfo for SessionKeys"],["impl TypeInfo for Runtime"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/serde/de/trait.Deserialize.js b/trait.impl/serde/de/trait.Deserialize.js index bf9c30b5c..1a38bbb1f 100644 --- a/trait.impl/serde/de/trait.Deserialize.js +++ b/trait.impl/serde/de/trait.Deserialize.js @@ -1,12 +1,13 @@ (function() {var implementors = { -"amoeba":[["impl<'de> Deserialize<'de> for AmoebaCreation"],["impl<'de> Deserialize<'de> for AmoebaMitosis"],["impl<'de> Deserialize<'de> for AmoebaDetails"],["impl<'de> Deserialize<'de> for AmoebaDeath"]], -"kitties":[["impl<'de> Deserialize<'de> for FreeKittyConstraintChecker"],["impl<'de> Deserialize<'de> for MomKittyStatus"],["impl<'de> Deserialize<'de> for Parent"],["impl<'de> Deserialize<'de> for ConstraintCheckerError"],["impl<'de> Deserialize<'de> for KittyDNA"],["impl<'de> Deserialize<'de> for DadKittyStatus"],["impl<'de> Deserialize<'de> for KittyData"]], -"money":[["impl<'de, const ID: u8> Deserialize<'de> for MoneyConstraintChecker<ID>"],["impl<'de> Deserialize<'de> for ConstraintCheckerError"],["impl<'de, const ID: u8> Deserialize<'de> for Coin<ID>"]], -"parachain_piece":[["impl<'de, T> Deserialize<'de> for SetParachainInfo<T>"]], -"parachain_template_node":[["impl<'de> Deserialize<'de> for ExtensionsFork"],["impl<'de> Deserialize<'de> for Extensions"]], -"poe":[["impl<'de> Deserialize<'de> for ConstraintCheckerError"],["impl<'de, T> Deserialize<'de> for PoeClaim<T>"],["impl<'de> Deserialize<'de> for PoeRevoke"],["impl<'de> Deserialize<'de> for PoeDispute"]], -"runtime_upgrade":[["impl<'de> Deserialize<'de> for RuntimeUpgrade"]], -"timestamp":[["impl<'de, T> Deserialize<'de> for CleanUpTimestamp<T>"],["impl<'de, T> Deserialize<'de> for SetTimestamp<T>"]], -"tuxedo_core":[["impl<'de> Deserialize<'de> for UpForGrabs"],["impl<'de, V, C> Deserialize<'de> for TuxedoGenesisConfig<V, C>
where\n V: Deserialize<'de>,\n C: Deserialize<'de>,
"],["impl<'de, V> Deserialize<'de> for Output<V>
where\n V: Deserialize<'de>,
"],["impl<'de> Deserialize<'de> for ThresholdMultiSignature"],["impl<'de> Deserialize<'de> for OutputRef"],["impl<'de> Deserialize<'de> for DynamicallyTypedData"],["impl<'de> Deserialize<'de> for TestVerifier"],["impl<'de> Deserialize<'de> for SignatureAndIndex"],["impl<'de> Deserialize<'de> for Sr25519Signature"],["impl<'de, V, C> Deserialize<'de> for Transaction<V, C>
where\n V: Deserialize<'de>,\n C: Deserialize<'de>,
"],["impl<'de> Deserialize<'de> for Input"]], -"tuxedo_template_runtime":[["impl<'de> Deserialize<'de> for SessionKeys"],["impl<'de> Deserialize<'de> for OuterVerifier"],["impl<'de> Deserialize<'de> for DummyParachainInfo"],["impl<'de> Deserialize<'de> for OuterConstraintChecker"]] +"amoeba":[["impl<'de> Deserialize<'de> for AmoebaCreation"],["impl<'de> Deserialize<'de> for AmoebaDeath"],["impl<'de> Deserialize<'de> for AmoebaDetails"],["impl<'de> Deserialize<'de> for AmoebaMitosis"]], +"kitties":[["impl<'de> Deserialize<'de> for ConstraintCheckerError"],["impl<'de> Deserialize<'de> for DadKittyStatus"],["impl<'de> Deserialize<'de> for MomKittyStatus"],["impl<'de> Deserialize<'de> for Parent"],["impl<'de> Deserialize<'de> for FreeKittyConstraintChecker"],["impl<'de> Deserialize<'de> for KittyDNA"],["impl<'de> Deserialize<'de> for KittyData"]], +"money":[["impl<'de> Deserialize<'de> for ConstraintCheckerError"],["impl<'de, const ID: u8> Deserialize<'de> for MoneyConstraintChecker<ID>"],["impl<'de, const ID: u8> Deserialize<'de> for Coin<ID>"]], +"parachain_piece":[["impl<'de, T> Deserialize<'de> for SetParachainInfo<T>"]], +"parachain_template_node":[["impl<'de> Deserialize<'de> for Extensions"],["impl<'de> Deserialize<'de> for ExtensionsFork"]], +"poe":[["impl<'de> Deserialize<'de> for ConstraintCheckerError"],["impl<'de> Deserialize<'de> for PoeDispute"],["impl<'de> Deserialize<'de> for PoeRevoke"],["impl<'de, T> Deserialize<'de> for PoeClaim<T>"]], +"runtime_upgrade":[["impl<'de> Deserialize<'de> for RuntimeUpgrade"]], +"timestamp":[["impl<'de, T> Deserialize<'de> for CleanUpTimestamp<T>"],["impl<'de, T> Deserialize<'de> for SetTimestamp<T>"]], +"tuxedo_core":[["impl<'de> Deserialize<'de> for RedemptionStrategy"],["impl<'de> Deserialize<'de> for DynamicallyTypedData"],["impl<'de> Deserialize<'de> for Input"],["impl<'de> Deserialize<'de> for OutputRef"],["impl<'de> Deserialize<'de> for BlakeTwoHashLock"],["impl<'de> Deserialize<'de> for P2PKH"],["impl<'de> Deserialize<'de> for Sr25519Signature"],["impl<'de> Deserialize<'de> for TestVerifier"],["impl<'de> Deserialize<'de> for ThresholdMultiSignature"],["impl<'de> Deserialize<'de> for TimeLock"],["impl<'de> Deserialize<'de> for Unspendable"],["impl<'de> Deserialize<'de> for UpForGrabs"],["impl<'de, C> Deserialize<'de> for InherentAdapter<C>
where\n C: Deserialize<'de>,
"],["impl<'de, V> Deserialize<'de> for Output<V>
where\n V: Deserialize<'de>,
"],["impl<'de, V, C> Deserialize<'de> for Transaction<V, C>
where\n V: Deserialize<'de>,\n C: Deserialize<'de>,
"]], +"tuxedo_parachain_runtime":[["impl<'de> Deserialize<'de> for ParachainConstraintChecker"]], +"tuxedo_template_runtime":[["impl<'de> Deserialize<'de> for OuterConstraintChecker"],["impl<'de> Deserialize<'de> for OuterVerifier"],["impl<'de> Deserialize<'de> for SessionKeys"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/serde/ser/trait.Serialize.js b/trait.impl/serde/ser/trait.Serialize.js index faac0076b..69dd09c52 100644 --- a/trait.impl/serde/ser/trait.Serialize.js +++ b/trait.impl/serde/ser/trait.Serialize.js @@ -1,12 +1,13 @@ (function() {var implementors = { -"amoeba":[["impl Serialize for AmoebaDetails"],["impl Serialize for AmoebaDeath"],["impl Serialize for AmoebaMitosis"],["impl Serialize for AmoebaCreation"]], -"kitties":[["impl Serialize for ConstraintCheckerError"],["impl Serialize for KittyDNA"],["impl Serialize for Parent"],["impl Serialize for DadKittyStatus"],["impl Serialize for MomKittyStatus"],["impl Serialize for KittyData"],["impl Serialize for FreeKittyConstraintChecker"]], -"money":[["impl Serialize for ConstraintCheckerError"],["impl<const ID: u8> Serialize for MoneyConstraintChecker<ID>"],["impl<const ID: u8> Serialize for Coin<ID>"]], -"parachain_piece":[["impl<T> Serialize for SetParachainInfo<T>"]], -"parachain_template_node":[["impl Serialize for Extensions"],["impl Serialize for ExtensionsFork"]], -"poe":[["impl Serialize for PoeRevoke"],["impl Serialize for ConstraintCheckerError"],["impl<T> Serialize for PoeClaim<T>"],["impl Serialize for PoeDispute"]], -"runtime_upgrade":[["impl Serialize for RuntimeUpgrade"]], -"timestamp":[["impl<T> Serialize for SetTimestamp<T>"],["impl<T> Serialize for CleanUpTimestamp<T>"]], -"tuxedo_core":[["impl<V, C> Serialize for Transaction<V, C>
where\n V: Serialize,\n C: Serialize,
"],["impl<V, C> Serialize for TuxedoGenesisConfig<V, C>
where\n V: Serialize,\n C: Serialize,
"],["impl<V> Serialize for Output<V>
where\n V: Serialize,
"],["impl Serialize for UpForGrabs"],["impl Serialize for Sr25519Signature"],["impl Serialize for OutputRef"],["impl Serialize for DynamicallyTypedData"],["impl Serialize for Input"],["impl Serialize for TestVerifier"],["impl Serialize for SignatureAndIndex"],["impl Serialize for ThresholdMultiSignature"]], -"tuxedo_template_runtime":[["impl Serialize for DummyParachainInfo"],["impl Serialize for OuterVerifier"],["impl Serialize for OuterConstraintChecker"],["impl Serialize for SessionKeys"]] +"amoeba":[["impl Serialize for AmoebaCreation"],["impl Serialize for AmoebaDeath"],["impl Serialize for AmoebaDetails"],["impl Serialize for AmoebaMitosis"]], +"kitties":[["impl Serialize for ConstraintCheckerError"],["impl Serialize for DadKittyStatus"],["impl Serialize for MomKittyStatus"],["impl Serialize for Parent"],["impl Serialize for FreeKittyConstraintChecker"],["impl Serialize for KittyDNA"],["impl Serialize for KittyData"]], +"money":[["impl Serialize for ConstraintCheckerError"],["impl<const ID: u8> Serialize for MoneyConstraintChecker<ID>"],["impl<const ID: u8> Serialize for Coin<ID>"]], +"parachain_piece":[["impl<T> Serialize for SetParachainInfo<T>"]], +"parachain_template_node":[["impl Serialize for Extensions"],["impl Serialize for ExtensionsFork"]], +"poe":[["impl Serialize for ConstraintCheckerError"],["impl Serialize for PoeDispute"],["impl Serialize for PoeRevoke"],["impl<T> Serialize for PoeClaim<T>"]], +"runtime_upgrade":[["impl Serialize for RuntimeUpgrade"]], +"timestamp":[["impl<T> Serialize for CleanUpTimestamp<T>"],["impl<T> Serialize for SetTimestamp<T>"]], +"tuxedo_core":[["impl Serialize for RedemptionStrategy"],["impl Serialize for DynamicallyTypedData"],["impl Serialize for Input"],["impl Serialize for OutputRef"],["impl Serialize for BlakeTwoHashLock"],["impl Serialize for P2PKH"],["impl Serialize for Sr25519Signature"],["impl Serialize for TestVerifier"],["impl Serialize for ThresholdMultiSignature"],["impl Serialize for TimeLock"],["impl Serialize for Unspendable"],["impl Serialize for UpForGrabs"],["impl<C> Serialize for InherentAdapter<C>
where\n C: Serialize,
"],["impl<V> Serialize for Output<V>
where\n V: Serialize,
"],["impl<V, C> Serialize for Transaction<V, C>
where\n V: Serialize,\n C: Serialize,
"]], +"tuxedo_parachain_runtime":[["impl Serialize for ParachainConstraintChecker"]], +"tuxedo_template_runtime":[["impl Serialize for OuterConstraintChecker"],["impl Serialize for OuterVerifier"],["impl Serialize for SessionKeys"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/sp_api/runtime_decl_for_core/trait.CoreV4.js b/trait.impl/sp_api/runtime_decl_for_core/trait.CoreV4.js index 279aaca26..0a24eeee1 100644 --- a/trait.impl/sp_api/runtime_decl_for_core/trait.CoreV4.js +++ b/trait.impl/sp_api/runtime_decl_for_core/trait.CoreV4.js @@ -1,3 +1,4 @@ (function() {var implementors = { +"tuxedo_parachain_runtime":[["impl CoreV4<Block<Header<u32, BlakeTwo256>, Transaction<OuterVerifier, ParachainConstraintChecker>>> for Runtime"]], "tuxedo_template_runtime":[["impl CoreV4<Block<Header<u32, BlakeTwo256>, Transaction<OuterVerifier, OuterConstraintChecker>>> for Runtime"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/sp_api/runtime_decl_for_metadata/trait.MetadataV2.js b/trait.impl/sp_api/runtime_decl_for_metadata/trait.MetadataV2.js index 54e0f6226..4f8243c7d 100644 --- a/trait.impl/sp_api/runtime_decl_for_metadata/trait.MetadataV2.js +++ b/trait.impl/sp_api/runtime_decl_for_metadata/trait.MetadataV2.js @@ -1,3 +1,4 @@ (function() {var implementors = { +"tuxedo_parachain_runtime":[["impl MetadataV2<Block<Header<u32, BlakeTwo256>, Transaction<OuterVerifier, ParachainConstraintChecker>>> for Runtime"]], "tuxedo_template_runtime":[["impl MetadataV2<Block<Header<u32, BlakeTwo256>, Transaction<OuterVerifier, OuterConstraintChecker>>> for Runtime"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/sp_api/trait.ApiExt.js b/trait.impl/sp_api/trait.ApiExt.js index 2621384d3..ece265736 100644 --- a/trait.impl/sp_api/trait.ApiExt.js +++ b/trait.impl/sp_api/trait.ApiExt.js @@ -1,3 +1,4 @@ (function() {var implementors = { +"tuxedo_parachain_runtime":[["impl<Block: BlockT, C: CallApiAt<Block>> ApiExt<Block> for RuntimeApiImpl<Block, C>"]], "tuxedo_template_runtime":[["impl<Block: BlockT, C: CallApiAt<Block>> ApiExt<Block> for RuntimeApiImpl<Block, C>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/sp_api/trait.ConstructRuntimeApi.js b/trait.impl/sp_api/trait.ConstructRuntimeApi.js index d3e87b66a..75674b313 100644 --- a/trait.impl/sp_api/trait.ConstructRuntimeApi.js +++ b/trait.impl/sp_api/trait.ConstructRuntimeApi.js @@ -1,3 +1,4 @@ (function() {var implementors = { +"tuxedo_parachain_runtime":[["impl<Block: BlockT, C> ConstructRuntimeApi<Block, C> for RuntimeApi
where\n C: CallApiAt<Block> + 'static,
"]], "tuxedo_template_runtime":[["impl<Block: BlockT, C> ConstructRuntimeApi<Block, C> for RuntimeApi
where\n C: CallApiAt<Block> + 'static,
"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/sp_api/trait.Core.js b/trait.impl/sp_api/trait.Core.js index 9d0b67a34..e10b3316e 100644 --- a/trait.impl/sp_api/trait.Core.js +++ b/trait.impl/sp_api/trait.Core.js @@ -1,3 +1,4 @@ (function() {var implementors = { +"tuxedo_parachain_runtime":[["impl<__SrApiBlock__, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> Core<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
where\n RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>,\n &'static RuntimeApiImplCall: Send,\n RuntimeVersion: UnwindSafe + RefUnwindSafe,\n __SrApiBlock__: UnwindSafe + RefUnwindSafe + BlockT,\n <__SrApiBlock__ as BlockT>::Header: UnwindSafe + RefUnwindSafe,\n __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,
"]], "tuxedo_template_runtime":[["impl<__SrApiBlock__, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> Core<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
where\n RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>,\n &'static RuntimeApiImplCall: Send,\n RuntimeVersion: UnwindSafe + RefUnwindSafe,\n __SrApiBlock__: UnwindSafe + RefUnwindSafe + BlockT,\n <__SrApiBlock__ as BlockT>::Header: UnwindSafe + RefUnwindSafe,\n __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,
"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/sp_api/trait.Metadata.js b/trait.impl/sp_api/trait.Metadata.js index d166c560f..218341215 100644 --- a/trait.impl/sp_api/trait.Metadata.js +++ b/trait.impl/sp_api/trait.Metadata.js @@ -1,3 +1,4 @@ (function() {var implementors = { +"tuxedo_parachain_runtime":[["impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> Metadata<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
where\n RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>,\n &'static RuntimeApiImplCall: Send,\n OpaqueMetadata: UnwindSafe + RefUnwindSafe,\n u32: UnwindSafe + RefUnwindSafe,\n Option<OpaqueMetadata>: UnwindSafe + RefUnwindSafe,\n Vec<u32>: UnwindSafe + RefUnwindSafe,\n __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,
"]], "tuxedo_template_runtime":[["impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> Metadata<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
where\n RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>,\n &'static RuntimeApiImplCall: Send,\n OpaqueMetadata: UnwindSafe + RefUnwindSafe,\n u32: UnwindSafe + RefUnwindSafe,\n Option<OpaqueMetadata>: UnwindSafe + RefUnwindSafe,\n Vec<u32>: UnwindSafe + RefUnwindSafe,\n __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,
"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/sp_block_builder/runtime_decl_for_block_builder/trait.BlockBuilderV6.js b/trait.impl/sp_block_builder/runtime_decl_for_block_builder/trait.BlockBuilderV6.js index ce9326532..dcc2bb3c8 100644 --- a/trait.impl/sp_block_builder/runtime_decl_for_block_builder/trait.BlockBuilderV6.js +++ b/trait.impl/sp_block_builder/runtime_decl_for_block_builder/trait.BlockBuilderV6.js @@ -1,3 +1,4 @@ (function() {var implementors = { +"tuxedo_parachain_runtime":[["impl BlockBuilderV6<Block<Header<u32, BlakeTwo256>, Transaction<OuterVerifier, ParachainConstraintChecker>>> for Runtime"]], "tuxedo_template_runtime":[["impl BlockBuilderV6<Block<Header<u32, BlakeTwo256>, Transaction<OuterVerifier, OuterConstraintChecker>>> for Runtime"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/sp_block_builder/trait.BlockBuilder.js b/trait.impl/sp_block_builder/trait.BlockBuilder.js index ee2b39074..e8ded73f2 100644 --- a/trait.impl/sp_block_builder/trait.BlockBuilder.js +++ b/trait.impl/sp_block_builder/trait.BlockBuilder.js @@ -1,3 +1,4 @@ (function() {var implementors = { +"tuxedo_parachain_runtime":[["impl<__SrApiBlock__, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> BlockBuilder<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
where\n RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>,\n &'static RuntimeApiImplCall: Send,\n <__SrApiBlock__ as BlockT>::Extrinsic: UnwindSafe + RefUnwindSafe,\n ApplyExtrinsicResult: UnwindSafe + RefUnwindSafe,\n <__SrApiBlock__ as BlockT>::Header: UnwindSafe + RefUnwindSafe,\n InherentData: UnwindSafe + RefUnwindSafe,\n Vec<<__SrApiBlock__ as BlockT>::Extrinsic>: UnwindSafe + RefUnwindSafe,\n __SrApiBlock__: UnwindSafe + RefUnwindSafe + BlockT,\n CheckInherentsResult: UnwindSafe + RefUnwindSafe,\n __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,
"]], "tuxedo_template_runtime":[["impl<__SrApiBlock__, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> BlockBuilder<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
where\n RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>,\n &'static RuntimeApiImplCall: Send,\n <__SrApiBlock__ as BlockT>::Extrinsic: UnwindSafe + RefUnwindSafe,\n ApplyExtrinsicResult: UnwindSafe + RefUnwindSafe,\n <__SrApiBlock__ as BlockT>::Header: UnwindSafe + RefUnwindSafe,\n InherentData: UnwindSafe + RefUnwindSafe,\n Vec<<__SrApiBlock__ as BlockT>::Extrinsic>: UnwindSafe + RefUnwindSafe,\n __SrApiBlock__: UnwindSafe + RefUnwindSafe + BlockT,\n CheckInherentsResult: UnwindSafe + RefUnwindSafe,\n __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,
"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/sp_consensus_aura/runtime_decl_for_aura_api/trait.AuraApiV1.js b/trait.impl/sp_consensus_aura/runtime_decl_for_aura_api/trait.AuraApiV1.js index c9b52a050..87a70745a 100644 --- a/trait.impl/sp_consensus_aura/runtime_decl_for_aura_api/trait.AuraApiV1.js +++ b/trait.impl/sp_consensus_aura/runtime_decl_for_aura_api/trait.AuraApiV1.js @@ -1,3 +1,4 @@ (function() {var implementors = { +"tuxedo_parachain_runtime":[["impl AuraApiV1<Block<Header<u32, BlakeTwo256>, Transaction<OuterVerifier, ParachainConstraintChecker>>, Public> for Runtime"]], "tuxedo_template_runtime":[["impl AuraApiV1<Block<Header<u32, BlakeTwo256>, Transaction<OuterVerifier, OuterConstraintChecker>>, Public> for Runtime"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/sp_consensus_aura/trait.AuraApi.js b/trait.impl/sp_consensus_aura/trait.AuraApi.js index 6df0da03b..311ce905a 100644 --- a/trait.impl/sp_consensus_aura/trait.AuraApi.js +++ b/trait.impl/sp_consensus_aura/trait.AuraApi.js @@ -1,3 +1,4 @@ (function() {var implementors = { +"tuxedo_parachain_runtime":[["impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> AuraApi<__SrApiBlock__, Public> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
where\n RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>,\n &'static RuntimeApiImplCall: Send,\n SlotDuration: UnwindSafe + RefUnwindSafe,\n Vec<AuthorityId>: UnwindSafe + RefUnwindSafe,\n __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,
"]], "tuxedo_template_runtime":[["impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> AuraApi<__SrApiBlock__, Public> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
where\n RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>,\n &'static RuntimeApiImplCall: Send,\n SlotDuration: UnwindSafe + RefUnwindSafe,\n Vec<AuthorityId>: UnwindSafe + RefUnwindSafe,\n __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,
"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/sp_genesis_builder/runtime_decl_for_genesis_builder/trait.GenesisBuilderV1.js b/trait.impl/sp_genesis_builder/runtime_decl_for_genesis_builder/trait.GenesisBuilderV1.js new file mode 100644 index 000000000..11a640bfe --- /dev/null +++ b/trait.impl/sp_genesis_builder/runtime_decl_for_genesis_builder/trait.GenesisBuilderV1.js @@ -0,0 +1,4 @@ +(function() {var implementors = { +"tuxedo_parachain_runtime":[["impl GenesisBuilderV1<Block<Header<u32, BlakeTwo256>, Transaction<OuterVerifier, ParachainConstraintChecker>>> for Runtime"]], +"tuxedo_template_runtime":[["impl GenesisBuilderV1<Block<Header<u32, BlakeTwo256>, Transaction<OuterVerifier, OuterConstraintChecker>>> for Runtime"]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/sp_genesis_builder/trait.GenesisBuilder.js b/trait.impl/sp_genesis_builder/trait.GenesisBuilder.js new file mode 100644 index 000000000..4f9b1320a --- /dev/null +++ b/trait.impl/sp_genesis_builder/trait.GenesisBuilder.js @@ -0,0 +1,4 @@ +(function() {var implementors = { +"tuxedo_parachain_runtime":[["impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> GenesisBuilder<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
where\n RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>,\n &'static RuntimeApiImplCall: Send,\n Vec<u8>: UnwindSafe + RefUnwindSafe,\n Result: UnwindSafe + RefUnwindSafe,\n __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,
"]], +"tuxedo_template_runtime":[["impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> GenesisBuilder<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
where\n RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>,\n &'static RuntimeApiImplCall: Send,\n Vec<u8>: UnwindSafe + RefUnwindSafe,\n Result: UnwindSafe + RefUnwindSafe,\n __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,
"]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/sp_runtime/trait.BuildStorage.js b/trait.impl/sp_runtime/trait.BuildStorage.js deleted file mode 100644 index c770caf99..000000000 --- a/trait.impl/sp_runtime/trait.BuildStorage.js +++ /dev/null @@ -1,3 +0,0 @@ -(function() {var implementors = { -"tuxedo_core":[["impl<V, C> BuildStorage for TuxedoGenesisConfig<V, C>
where\n V: Verifier,\n C: ConstraintChecker<V>,\n Transaction<V, C>: Encode,\n Output<V>: Encode,
"]] -};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/sp_runtime/traits/trait.Extrinsic.js b/trait.impl/sp_runtime/traits/trait.Extrinsic.js index b4a55bf06..4743d4e6c 100644 --- a/trait.impl/sp_runtime/traits/trait.Extrinsic.js +++ b/trait.impl/sp_runtime/traits/trait.Extrinsic.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"tuxedo_core":[["impl<V, C> Extrinsic for Transaction<V, C>
where\n C: TypeInfo + ConstraintChecker<V> + 'static,\n V: TypeInfo + Verifier + 'static,
"]] +"tuxedo_core":[["impl<V, C> Extrinsic for Transaction<V, C>
where\n C: TypeInfo + ConstraintChecker + 'static,\n V: TypeInfo + Verifier + 'static,
"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/sp_runtime/traits/trait.GetNodeBlockType.js b/trait.impl/sp_runtime/traits/trait.GetNodeBlockType.js deleted file mode 100644 index cb2bde88e..000000000 --- a/trait.impl/sp_runtime/traits/trait.GetNodeBlockType.js +++ /dev/null @@ -1,3 +0,0 @@ -(function() {var implementors = { -"tuxedo_template_runtime":[["impl GetNodeBlockType for Runtime"]] -};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/sp_runtime/traits/trait.GetRuntimeBlockType.js b/trait.impl/sp_runtime/traits/trait.GetRuntimeBlockType.js deleted file mode 100644 index bf6db2d94..000000000 --- a/trait.impl/sp_runtime/traits/trait.GetRuntimeBlockType.js +++ /dev/null @@ -1,3 +0,0 @@ -(function() {var implementors = { -"tuxedo_template_runtime":[["impl GetRuntimeBlockType for Runtime"]] -};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/sp_session/runtime_decl_for_session_keys/trait.SessionKeysV1.js b/trait.impl/sp_session/runtime_api/runtime_decl_for_session_keys/trait.SessionKeysV1.js similarity index 54% rename from trait.impl/sp_session/runtime_decl_for_session_keys/trait.SessionKeysV1.js rename to trait.impl/sp_session/runtime_api/runtime_decl_for_session_keys/trait.SessionKeysV1.js index 8381a1e29..0a7a2f84d 100644 --- a/trait.impl/sp_session/runtime_decl_for_session_keys/trait.SessionKeysV1.js +++ b/trait.impl/sp_session/runtime_api/runtime_decl_for_session_keys/trait.SessionKeysV1.js @@ -1,3 +1,4 @@ (function() {var implementors = { +"tuxedo_parachain_runtime":[["impl SessionKeysV1<Block<Header<u32, BlakeTwo256>, Transaction<OuterVerifier, ParachainConstraintChecker>>> for Runtime"]], "tuxedo_template_runtime":[["impl SessionKeysV1<Block<Header<u32, BlakeTwo256>, Transaction<OuterVerifier, OuterConstraintChecker>>> for Runtime"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/sp_session/trait.SessionKeys.js b/trait.impl/sp_session/runtime_api/trait.SessionKeys.js similarity index 51% rename from trait.impl/sp_session/trait.SessionKeys.js rename to trait.impl/sp_session/runtime_api/trait.SessionKeys.js index 858c0de2a..12df7e06c 100644 --- a/trait.impl/sp_session/trait.SessionKeys.js +++ b/trait.impl/sp_session/runtime_api/trait.SessionKeys.js @@ -1,3 +1,4 @@ (function() {var implementors = { +"tuxedo_parachain_runtime":[["impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> SessionKeys<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
where\n RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>,\n &'static RuntimeApiImplCall: Send,\n Option<Vec<u8>>: UnwindSafe + RefUnwindSafe,\n Vec<u8>: UnwindSafe + RefUnwindSafe,\n Option<Vec<(Vec<u8>, KeyTypeId)>>: UnwindSafe + RefUnwindSafe,\n __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,
"]], "tuxedo_template_runtime":[["impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> SessionKeys<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
where\n RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>,\n &'static RuntimeApiImplCall: Send,\n Option<Vec<u8>>: UnwindSafe + RefUnwindSafe,\n Vec<u8>: UnwindSafe + RefUnwindSafe,\n Option<Vec<(Vec<u8>, KeyTypeId)>>: UnwindSafe + RefUnwindSafe,\n __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,
"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/sp_transaction_pool/runtime_api/runtime_decl_for_tagged_transaction_queue/trait.TaggedTransactionQueueV3.js b/trait.impl/sp_transaction_pool/runtime_api/runtime_decl_for_tagged_transaction_queue/trait.TaggedTransactionQueueV3.js index e3af560d9..7acd590c2 100644 --- a/trait.impl/sp_transaction_pool/runtime_api/runtime_decl_for_tagged_transaction_queue/trait.TaggedTransactionQueueV3.js +++ b/trait.impl/sp_transaction_pool/runtime_api/runtime_decl_for_tagged_transaction_queue/trait.TaggedTransactionQueueV3.js @@ -1,3 +1,4 @@ (function() {var implementors = { +"tuxedo_parachain_runtime":[["impl TaggedTransactionQueueV3<Block<Header<u32, BlakeTwo256>, Transaction<OuterVerifier, ParachainConstraintChecker>>> for Runtime"]], "tuxedo_template_runtime":[["impl TaggedTransactionQueueV3<Block<Header<u32, BlakeTwo256>, Transaction<OuterVerifier, OuterConstraintChecker>>> for Runtime"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/sp_transaction_pool/runtime_api/trait.TaggedTransactionQueue.js b/trait.impl/sp_transaction_pool/runtime_api/trait.TaggedTransactionQueue.js index ec275b250..f8af5d13d 100644 --- a/trait.impl/sp_transaction_pool/runtime_api/trait.TaggedTransactionQueue.js +++ b/trait.impl/sp_transaction_pool/runtime_api/trait.TaggedTransactionQueue.js @@ -1,3 +1,4 @@ (function() {var implementors = { +"tuxedo_parachain_runtime":[["impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> TaggedTransactionQueue<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
where\n RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>,\n &'static RuntimeApiImplCall: Send,\n TransactionSource: UnwindSafe + RefUnwindSafe,\n <__SrApiBlock__ as BlockT>::Extrinsic: UnwindSafe + RefUnwindSafe,\n <__SrApiBlock__ as BlockT>::Hash: UnwindSafe + RefUnwindSafe,\n TransactionValidity: UnwindSafe + RefUnwindSafe,\n __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,
"]], "tuxedo_template_runtime":[["impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> TaggedTransactionQueue<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
where\n RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>,\n &'static RuntimeApiImplCall: Send,\n TransactionSource: UnwindSafe + RefUnwindSafe,\n <__SrApiBlock__ as BlockT>::Extrinsic: UnwindSafe + RefUnwindSafe,\n <__SrApiBlock__ as BlockT>::Hash: UnwindSafe + RefUnwindSafe,\n TransactionValidity: UnwindSafe + RefUnwindSafe,\n __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,
"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/tuxedo_core/constraint_checker/trait.ConstraintChecker.js b/trait.impl/tuxedo_core/constraint_checker/trait.ConstraintChecker.js index 108e2723d..f601eee82 100644 --- a/trait.impl/tuxedo_core/constraint_checker/trait.ConstraintChecker.js +++ b/trait.impl/tuxedo_core/constraint_checker/trait.ConstraintChecker.js @@ -1,6 +1,5 @@ (function() {var implementors = { -"parachain_piece":[["impl<T: ParachainPieceConfig + 'static, V: Verifier + From<UpForGrabs>> ConstraintChecker<V> for SetParachainInfo<T>"]], -"timestamp":[["impl<T: TimestampConfig + 'static, V: Verifier + From<UpForGrabs>> ConstraintChecker<V> for SetTimestamp<T>"]], "tuxedo_core":[], -"tuxedo_template_runtime":[["impl ConstraintChecker<OuterVerifier> for OuterConstraintChecker"]] +"tuxedo_parachain_runtime":[["impl ConstraintChecker for ParachainConstraintChecker"]], +"tuxedo_template_runtime":[["impl ConstraintChecker for OuterConstraintChecker"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/tuxedo_core/constraint_checker/trait.SimpleConstraintChecker.js b/trait.impl/tuxedo_core/constraint_checker/trait.SimpleConstraintChecker.js index d804d2b39..a08e98990 100644 --- a/trait.impl/tuxedo_core/constraint_checker/trait.SimpleConstraintChecker.js +++ b/trait.impl/tuxedo_core/constraint_checker/trait.SimpleConstraintChecker.js @@ -1,9 +1,10 @@ (function() {var implementors = { -"amoeba":[["impl SimpleConstraintChecker for AmoebaCreation"],["impl SimpleConstraintChecker for AmoebaMitosis"],["impl SimpleConstraintChecker for AmoebaDeath"]], +"amoeba":[["impl SimpleConstraintChecker for AmoebaCreation"],["impl SimpleConstraintChecker for AmoebaDeath"],["impl SimpleConstraintChecker for AmoebaMitosis"]], "kitties":[["impl SimpleConstraintChecker for FreeKittyConstraintChecker"]], "money":[["impl<const ID: u8> SimpleConstraintChecker for MoneyConstraintChecker<ID>"]], +"parachain_piece":[["impl<T: ParachainPieceConfig + 'static> SimpleConstraintChecker for SetParachainInfo<T>"]], "poe":[["impl SimpleConstraintChecker for PoeDispute"],["impl SimpleConstraintChecker for PoeRevoke"],["impl<T: PoeConfig> SimpleConstraintChecker for PoeClaim<T>"]], "runtime_upgrade":[["impl SimpleConstraintChecker for RuntimeUpgrade"]], -"timestamp":[["impl<T: TimestampConfig> SimpleConstraintChecker for CleanUpTimestamp<T>"]], -"tuxedo_template_runtime":[["impl SimpleConstraintChecker for DummyParachainInfo"]] +"timestamp":[["impl<T: TimestampConfig + 'static> SimpleConstraintChecker for SetTimestamp<T>"],["impl<T: TimestampConfig> SimpleConstraintChecker for CleanUpTimestamp<T>"]], +"tuxedo_template_wallet":[["impl SimpleConstraintChecker for ParachainConstraintChecker"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/tuxedo_core/inherents/trait.InherentHooks.js b/trait.impl/tuxedo_core/inherents/trait.InherentHooks.js new file mode 100644 index 000000000..ff12557b3 --- /dev/null +++ b/trait.impl/tuxedo_core/inherents/trait.InherentHooks.js @@ -0,0 +1,4 @@ +(function() {var implementors = { +"parachain_piece":[["impl<T: ParachainPieceConfig + 'static> InherentHooks for SetParachainInfo<T>"]], +"timestamp":[["impl<T: TimestampConfig + 'static> InherentHooks for SetTimestamp<T>"]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/tuxedo_core/inherents/trait.InherentInternal.js b/trait.impl/tuxedo_core/inherents/trait.InherentInternal.js deleted file mode 100644 index 6fedb061e..000000000 --- a/trait.impl/tuxedo_core/inherents/trait.InherentInternal.js +++ /dev/null @@ -1,4 +0,0 @@ -(function() {var implementors = { -"tuxedo_core":[], -"tuxedo_template_runtime":[["impl InherentInternal<OuterVerifier, OuterConstraintChecker> for OuterConstraintCheckerInherentHooks"]] -};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/tuxedo_core/inherents/trait.TuxedoInherent.js b/trait.impl/tuxedo_core/inherents/trait.TuxedoInherent.js deleted file mode 100644 index b2c1d04f3..000000000 --- a/trait.impl/tuxedo_core/inherents/trait.TuxedoInherent.js +++ /dev/null @@ -1,4 +0,0 @@ -(function() {var implementors = { -"parachain_piece":[["impl<V: Verifier + From<UpForGrabs>, T: ParachainPieceConfig + 'static> TuxedoInherent<V, SetParachainInfo<T>> for SetParachainInfo<T>"]], -"timestamp":[["impl<V: Verifier + From<UpForGrabs>, T: TimestampConfig + 'static> TuxedoInherent<V, SetTimestamp<T>> for SetTimestamp<T>"]] -};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/tuxedo_parachain_core/trait.ParachainConstraintChecker.js b/trait.impl/tuxedo_parachain_core/trait.ParachainConstraintChecker.js new file mode 100644 index 000000000..59844baab --- /dev/null +++ b/trait.impl/tuxedo_parachain_core/trait.ParachainConstraintChecker.js @@ -0,0 +1,3 @@ +(function() {var implementors = { +"tuxedo_parachain_runtime":[["impl ParachainConstraintChecker for ParachainConstraintChecker"]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/tuxedo_core/all.html b/tuxedo_core/all.html index 46321a74a..812f8e641 100644 --- a/tuxedo_core/all.html +++ b/tuxedo_core/all.html @@ -1,2 +1 @@ -List of all items in this crate -
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/tuxedo_core/attr.aggregate.html b/tuxedo_core/attr.aggregate.html index b864eefac..d8cfaab1b 100644 --- a/tuxedo_core/attr.aggregate.html +++ b/tuxedo_core/attr.aggregate.html @@ -1,5 +1,4 @@ -aggregate in tuxedo_core - Rust -

Attribute Macro tuxedo_core::aggregate

source ·
#[aggregate]
Expand description

Automatically implements From for each type in an aggregate type enum.

+aggregate in tuxedo_core - Rust

Attribute Macro tuxedo_core::aggregate

source ·
#[aggregate]
Expand description

Automatically implements From for each type in an aggregate type enum.

The supplied enum should have a single unnamed type parameter for each variant. And the type for each variant should be unique in the enum.

The macro generates all the From implementations automatically.

diff --git a/tuxedo_core/attr.tuxedo_constraint_checker.html b/tuxedo_core/attr.tuxedo_constraint_checker.html index 528974d38..5762c0219 100644 --- a/tuxedo_core/attr.tuxedo_constraint_checker.html +++ b/tuxedo_core/attr.tuxedo_constraint_checker.html @@ -1,5 +1,4 @@ -tuxedo_constraint_checker in tuxedo_core - Rust -
#[tuxedo_constraint_checker]
Expand description

This macro treats the supplied enum as an aggregate constraint checker. As such, it implements the From +tuxedo_constraint_checker in tuxedo_core - Rust

Attribute Macro tuxedo_core::tuxedo_constraint_checker

source ·
#[tuxedo_constraint_checker]
Expand description

This macro treats the supplied enum as an aggregate constraint checker. As such, it implements the From trait for eah of the inner types. Then it implements the ConstraintChecker trait for this type for this enum by delegating to an inner type.

It also declares an associated error type. The error type has a variant for each inner constraint checker, diff --git a/tuxedo_core/attr.tuxedo_verifier.html b/tuxedo_core/attr.tuxedo_verifier.html index 1a6d3ad48..7e4f4cd47 100644 --- a/tuxedo_core/attr.tuxedo_verifier.html +++ b/tuxedo_core/attr.tuxedo_verifier.html @@ -1,5 +1,4 @@ -tuxedo_verifier in tuxedo_core - Rust

-

Attribute Macro tuxedo_core::tuxedo_verifier

source ·
#[tuxedo_verifier]
Expand description

This macro treats the supplied enum as an aggregate verifier. As such, it implements the From +tuxedo_verifier in tuxedo_core - Rust

Attribute Macro tuxedo_core::tuxedo_verifier

source ·
#[tuxedo_verifier]
Expand description

This macro treats the supplied enum as an aggregate verifier. As such, it implements the From trait for eah of the inner types. Then it implements the Verifier trait for this type for this enum by delegating to an inner type.

\ No newline at end of file diff --git a/tuxedo_core/constraint_checker/index.html b/tuxedo_core/constraint_checker/index.html index 34911fae1..4b516e27f 100644 --- a/tuxedo_core/constraint_checker/index.html +++ b/tuxedo_core/constraint_checker/index.html @@ -1,8 +1,24 @@ -tuxedo_core::constraint_checker - Rust -
Expand description

A constraint checker is a piece of logic that determines whether a transaction as a whole is valid +tuxedo_core::constraint_checker - Rust

Module tuxedo_core::constraint_checker

source ·
Expand description

A constraint checker is a piece of logic that determines whether a transaction as a whole is valid and should be committed. Most tuxedo pieces will provide one or more constraint checkers. -Constraint Checkers do not typically calculate the correct final state, but rather determine whether the +Constraint Checkers do not calculate the correct final state, but rather determine whether the proposed final state (as specified by the output set) meets the necessary constraints.

-

Traits§

  • A single constraint checker that a transaction can choose to call. Checks whether the input -and output data from a transaction meets the codified constraints.
  • A simplified constraint checker that a transaction can choose to call. +

    Constraint Checkers can be used to codify the laws of a monetary system, a chemistry or physics simulation, +NFT kitties, public elections and much more.

    +

    The primary way for developers to write a constraint checker is with the SimpleConstraintChecker +trait. It provides a method called check which determines whether the relationship between the inputs +and outputs (and peeks) is valid. For example making sure no extra money was created, or making sure the chemical +reaction balances.

    +

    §Inherents

    +

    If you need to tap in to Substrate’s inherent system +you may choose to also implement the InherentHooks trait for the same type that implements SimpleConstraintChecker. +When installing a constraint checker in your runtime, make sure to wrap it with the InherentAdapter type. +See the inherents module for more details.

    +

    §Constraint Checker Internals

    +

    One of Tuxedo’s killer features is its ability to aggregating pieces recursively. +To achieve this we have to consider that many intermediate layers in the aggregation tree +will have multiple inherent types. For this reason, we provide a much more flexible interface +that the aggregation macro can use called ConstraintChecker. Do not implement ConstraintChecker +directly.

    +

Traits§

  • The raw and fully powerful ConstraintChecker interface used by the +Tuxedo Executive.
  • A particular constraint checker that a transaction can choose to be checked by. Checks whether the input and output data from a transaction meets the codified constraints.
\ No newline at end of file diff --git a/tuxedo_core/constraint_checker/trait.ConstraintChecker.html b/tuxedo_core/constraint_checker/trait.ConstraintChecker.html index ffd6ebf59..5944b6135 100644 --- a/tuxedo_core/constraint_checker/trait.ConstraintChecker.html +++ b/tuxedo_core/constraint_checker/trait.ConstraintChecker.html @@ -1,33 +1,62 @@ -ConstraintChecker in tuxedo_core::constraint_checker - Rust -
pub trait ConstraintChecker<V>: Debug + Encode + Decode + Clone {
+ConstraintChecker in tuxedo_core::constraint_checker - Rust
pub trait ConstraintChecker: Debug + Encode + Decode + Clone {
     type Error: Debug;
-    type InherentHooks: InherentInternal<V, Self>;
 
     // Required methods
     fn check(
         &self,
-        inputs: &[Output<V>],
-        peeks: &[Output<V>],
-        outputs: &[Output<V>]
+        input_data: &[DynamicallyTypedData],
+        evicted_input_data: &[DynamicallyTypedData],
+        peek_data: &[DynamicallyTypedData],
+        output_data: &[DynamicallyTypedData]
     ) -> Result<TransactionPriority, Self::Error>;
     fn is_inherent(&self) -> bool;
-}
Expand description

A single constraint checker that a transaction can choose to call. Checks whether the input -and output data from a transaction meets the codified constraints.

-

This full ConstraintChecker should only be implemented if the piece logic cannot be expressed with -the SimpleConstraintChecker. For example, if you need to enforce the verifier is a particular type -or contains a certain value. Another reason would be if you need to implement an inherent.

-

Additional transient information may be passed to the constraint checker by including it in the fields -of the constraint checker struct itself. Information passed in this way does not come from state, nor -is it stored in state.

-

Required Associated Types§

source

type Error: Debug

The error type that this constraint checker may return

-
source

type InherentHooks: InherentInternal<V, Self>

Optional Associated Inherent processing logic. If this transaction type is not an inherent, use (). -If it is an inherent, use Self, and implement the TuxedoInherent trait.

-

Required Methods§

source

fn check( + fn create_inherents<V: Verifier>( + authoring_inherent_data: &InherentData, + previous_inherents: Vec<(Transaction<V, Self>, H256)> + ) -> Vec<Transaction<V, Self>>; + fn check_inherents<V: Verifier>( + importing_inherent_data: &InherentData, + inherents: Vec<Transaction<V, Self>>, + results: &mut CheckInherentsResult + ); + fn genesis_transactions<V: Verifier>() -> Vec<Transaction<V, Self>>; +}

Expand description

The raw and fully powerful ConstraintChecker interface used by the +Tuxedo Executive.

+

You should never manually manually implement this trait. +If you are:

+
    +
  • Working on a simple non-inherent constraint checker -> Use the SimpleConstraintChecker trait instead +and rely on its blanket implementation.
  • +
  • Working on an inherent constraint checker -> Implement SimpleConstraintChecker and InherentHooks and use the +InherentAdapter wrapper type.
  • +
  • Considering an aggregate constraint checker that is part inherent, part not -> let the macro handle it for you.
  • +
+

If you are trying to implement some complex inherent logic that requires the interaction of +multiple inherents, or features a variable number of inherents in each block, you might be +able to express it by implementing this trait, but such designs are probably too complicated. +Think long and hard before implementing this trait directly.

+

Required Associated Types§

source

type Error: Debug

The error type that this constraint checker may return

+

Required Methods§

source

fn check( &self, - inputs: &[Output<V>], - peeks: &[Output<V>], - outputs: &[Output<V>] -) -> Result<TransactionPriority, Self::Error>

The actual check validation logic

-
source

fn is_inherent(&self) -> bool

Tells whether this extrinsic is an inherent or not. + input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], + peek_data: &[DynamicallyTypedData], + output_data: &[DynamicallyTypedData] +) -> Result<TransactionPriority, Self::Error>

The on chain logic that makes the final check for whether a transaction is valid.

+
source

fn is_inherent(&self) -> bool

Tells whether this extrinsic is an inherent or not. If you return true here, you must provide the correct inherent hooks above.

-

Object Safety§

This trait is not object safe.

Implementors§

\ No newline at end of file +
source

fn create_inherents<V: Verifier>( + authoring_inherent_data: &InherentData, + previous_inherents: Vec<(Transaction<V, Self>, H256)> +) -> Vec<Transaction<V, Self>>

Create the inherent extrinsics to insert into a block that is being authored locally. +The inherent data is supplied by the authoring node.

+
source

fn check_inherents<V: Verifier>( + importing_inherent_data: &InherentData, + inherents: Vec<Transaction<V, Self>>, + results: &mut CheckInherentsResult +)

Perform off-chain pre-execution checks on the inherents. +The inherent data is supplied by the importing node. +The inherent data available here is not necessarily the +same as what is available at authoring time.

+
source

fn genesis_transactions<V: Verifier>() -> Vec<Transaction<V, Self>>

Return the genesis transactions that are required for the inherents.

+

Object Safety§

This trait is not object safe.

Implementors§

\ No newline at end of file diff --git a/tuxedo_core/constraint_checker/trait.SimpleConstraintChecker.html b/tuxedo_core/constraint_checker/trait.SimpleConstraintChecker.html index f3b0f9442..c5ebd82c6 100644 --- a/tuxedo_core/constraint_checker/trait.SimpleConstraintChecker.html +++ b/tuxedo_core/constraint_checker/trait.SimpleConstraintChecker.html @@ -1,24 +1,25 @@ -SimpleConstraintChecker in tuxedo_core::constraint_checker - Rust -
pub trait SimpleConstraintChecker: Debug + Encode + Decode + Clone {
+SimpleConstraintChecker in tuxedo_core::constraint_checker - Rust
pub trait SimpleConstraintChecker: Debug + Encode + Decode + Clone {
     type Error: Debug;
 
     // Required method
     fn check(
         &self,
         input_data: &[DynamicallyTypedData],
+        evicted_input_data: &[DynamicallyTypedData],
         peek_data: &[DynamicallyTypedData],
         output_data: &[DynamicallyTypedData]
     ) -> Result<TransactionPriority, Self::Error>;
-}
Expand description

A simplified constraint checker that a transaction can choose to call. +}

Expand description

A particular constraint checker that a transaction can choose to be checked by. Checks whether the input and output data from a transaction meets the codified constraints.

Additional transient information may be passed to the constraint checker by including it in the fields of the constraint checker struct itself. Information passed in this way does not come from state, nor is it stored in state.

-

Required Associated Types§

source

type Error: Debug

The error type that this constraint checker may return

-

Required Methods§

Required Associated Types§

source

type Error: Debug

The error type that this constraint checker may return

+

Required Methods§

source

fn check( &self, input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], peek_data: &[DynamicallyTypedData], output_data: &[DynamicallyTypedData] -) -> Result<TransactionPriority, Self::Error>

The actual check validation logic

+) -> Result<TransactionPriority, Self::Error>

The on chain logic that makes the final check for whether a transaction is valid.

Object Safety§

This trait is not object safe.

Implementors§

\ No newline at end of file diff --git a/tuxedo_core/dynamic_typing/enum.DynamicTypingError.html b/tuxedo_core/dynamic_typing/enum.DynamicTypingError.html index 9787d9658..727b8a102 100644 --- a/tuxedo_core/dynamic_typing/enum.DynamicTypingError.html +++ b/tuxedo_core/dynamic_typing/enum.DynamicTypingError.html @@ -1,16 +1,13 @@ -DynamicTypingError in tuxedo_core::dynamic_typing - Rust -
pub enum DynamicTypingError {
+DynamicTypingError in tuxedo_core::dynamic_typing - Rust
pub enum DynamicTypingError {
     WrongType,
     DecodingFailed,
 }
Expand description

Errors that can occur when casting dynamically typed data into strongly typed data.

Variants§

§

WrongType

The data provided was not of the target decoding type.

§

DecodingFailed

Although the types matched, the data could not be decoded with the SCALE codec.

Trait Implementations§

source§

impl Debug for DynamicTypingError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for DynamicTypingError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for DynamicTypingError

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl PartialEq for DynamicTypingError

source§

fn eq(&self, other: &DynamicTypingError) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl Eq for DynamicTypingError

source§

impl StructuralPartialEq for DynamicTypingError

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where - T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where - T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where +by ==.

1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
source§

impl Eq for DynamicTypingError

source§

impl StructuralPartialEq for DynamicTypingError

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CheckedConversion for T

§

fn checked_from<T>(t: T) -> Option<Self>
where Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
§

fn checked_into<T>(self) -> Option<T>
where @@ -38,14 +35,21 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -113,11 +117,11 @@ builds.
§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release -builds.
source§

impl<T> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where +builds.

source§

impl<T> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where diff --git a/tuxedo_core/dynamic_typing/index.html b/tuxedo_core/dynamic_typing/index.html index bcecff778..70e4a3690 100644 --- a/tuxedo_core/dynamic_typing/index.html +++ b/tuxedo_core/dynamic_typing/index.html @@ -1,5 +1,4 @@ -tuxedo_core::dynamic_typing - Rust -
Expand description

Dynamic Typing utilities for Tuxedo runtimes

+tuxedo_core::dynamic_typing - Rust

Module tuxedo_core::dynamic_typing

source ·
Expand description

Dynamic Typing utilities for Tuxedo runtimes

§Motivation

In Tuxedo, UTXOs are like envelopes that store to later be opened and computed on. These data can be of many different types depending on which Tuxedo pieces may diff --git a/tuxedo_core/dynamic_typing/struct.DynamicallyTypedData.html b/tuxedo_core/dynamic_typing/struct.DynamicallyTypedData.html index ec3768566..c19a4b944 100644 --- a/tuxedo_core/dynamic_typing/struct.DynamicallyTypedData.html +++ b/tuxedo_core/dynamic_typing/struct.DynamicallyTypedData.html @@ -1,5 +1,4 @@ -DynamicallyTypedData in tuxedo_core::dynamic_typing - Rust

-
pub struct DynamicallyTypedData {
+DynamicallyTypedData in tuxedo_core::dynamic_typing - Rust

Struct tuxedo_core::dynamic_typing::DynamicallyTypedData

source ·
pub struct DynamicallyTypedData {
     pub data: Vec<u8>,
     pub type_id: [u8; 4],
 }
Expand description

A piece of encoded data with a type id associated @@ -13,18 +12,16 @@ dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>

where I: Input,

Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
§

fn skip<I>(input: &mut I) -> Result<(), Error>
where - I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl<'de> Deserialize<'de> for DynamicallyTypedData

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Encode for DynamicallyTypedData

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl<'de> Deserialize<'de> for DynamicallyTypedData

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Encode for DynamicallyTypedData

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )

Convert self to a slice and append it to the destination.
§

fn encode(&self) -> Vec<u8>

Convert self to an owned vector.
§

fn using_encoded<R, F>(&self, f: F) -> R
where - F: FnOnce(&[u8]) -> R,

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl<V: Default> From<DynamicallyTypedData> for Output<V>

source§

fn from(payload: DynamicallyTypedData) -> Self

Converts to this type from the input type.
source§

impl<T: UtxoData> From<T> for DynamicallyTypedData

source§

fn from(value: T) -> Self

Converts to this type from the input type.
source§

impl PartialEq for DynamicallyTypedData

source§

fn eq(&self, other: &DynamicallyTypedData) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl Serialize for DynamicallyTypedData

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl TypeInfo for DynamicallyTypedData

§

type Identity = DynamicallyTypedData

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl EncodeLike for DynamicallyTypedData

source§

impl Eq for DynamicallyTypedData

source§

impl StructuralPartialEq for DynamicallyTypedData

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where - T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where - T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where + F: FnOnce(&[u8]) -> R,

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl<V: Default> From<DynamicallyTypedData> for Output<V>

source§

fn from(payload: DynamicallyTypedData) -> Self

Converts to this type from the input type.
source§

impl<T: UtxoData> From<T> for DynamicallyTypedData

source§

fn from(value: T) -> Self

Converts to this type from the input type.
source§

impl PartialEq for DynamicallyTypedData

source§

fn eq(&self, other: &DynamicallyTypedData) -> bool

This method tests for self and other values to be equal, and is used +by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
source§

impl Serialize for DynamicallyTypedData

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl TypeInfo for DynamicallyTypedData

§

type Identity = DynamicallyTypedData

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl EncodeLike for DynamicallyTypedData

source§

impl Eq for DynamicallyTypedData

source§

impl StructuralPartialEq for DynamicallyTypedData

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CheckedConversion for T

§

fn checked_from<T>(t: T) -> Option<Self>
where Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
§

fn checked_into<T>(self) -> Option<T>
where @@ -36,8 +33,8 @@ input: &mut &[u8] ) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
where I: Input,

Decode Self with the given maximum recursion depth and advance input by the number of -bytes consumed. Read more
source§

impl<T> DynClone for T
where - T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where +bytes consumed. Read more

source§

impl<T> DynClone for T
where + T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, @@ -60,14 +57,21 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -138,9 +142,9 @@ T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where @@ -148,8 +152,8 @@ S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<S> Codec for S
where - S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where + S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where T: Encode,

§

impl<T> EncodeLike<&T> for T
where T: Encode,

§

impl<T> EncodeLike<&mut T> for T
where T: Encode,

§

impl<T> EncodeLike<Arc<T>> for T
where @@ -161,7 +165,7 @@ S: Encode + EncodeLike,

§

impl<T> JsonSchemaMaybe for T

§

impl<T> MaybeDebug for T
where T: Debug,

§

impl<T> MaybeRefUnwindSafe for T
where T: RefUnwindSafe,

§

impl<T> MaybeSerialize for T
where - T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where + T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

§

impl<T> StaticTypeInfo for T
where T: TypeInfo + 'static,

\ No newline at end of file diff --git a/tuxedo_core/dynamic_typing/testing/index.html b/tuxedo_core/dynamic_typing/testing/index.html index 837c96bd3..2331d5136 100644 --- a/tuxedo_core/dynamic_typing/testing/index.html +++ b/tuxedo_core/dynamic_typing/testing/index.html @@ -1,2 +1 @@ -tuxedo_core::dynamic_typing::testing - Rust -

Structs§

  • A bogus data type for use in tests.
\ No newline at end of file +tuxedo_core::dynamic_typing::testing - Rust

Module tuxedo_core::dynamic_typing::testing

source ·

Structs§

  • A bogus data type for use in tests.
\ No newline at end of file diff --git a/tuxedo_core/dynamic_typing/testing/struct.Bogus.html b/tuxedo_core/dynamic_typing/testing/struct.Bogus.html index 844f63692..51e3959cd 100644 --- a/tuxedo_core/dynamic_typing/testing/struct.Bogus.html +++ b/tuxedo_core/dynamic_typing/testing/struct.Bogus.html @@ -1,5 +1,4 @@ -Bogus in tuxedo_core::dynamic_typing::testing - Rust -
pub struct Bogus;
Expand description

A bogus data type for use in tests.

+Bogus in tuxedo_core::dynamic_typing::testing - Rust

Struct tuxedo_core::dynamic_typing::testing::Bogus

source ·
pub struct Bogus;
Expand description

A bogus data type for use in tests.

When writing tests for individual Tuxedo pieces, developers need to make sure that the piece properly sanitizes the dynamically typed data that is passed into its verifiers. @@ -16,12 +15,10 @@ __codec_dest_edqy: &mut __CodecOutputEdqy )

Convert self to a slice and append it to the destination.
§

fn encode(&self) -> Vec<u8>

Convert self to an owned vector.
§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl PartialEq for Bogus

source§

fn eq(&self, other: &Bogus) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always +by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl UtxoData for Bogus

source§

const TYPE_ID: [u8; 4] = _

A unique identifier for this type. For now choosing this value and making sure it -really is unique is the problem of the developer. Ideally this would be better.
source§

impl EncodeLike for Bogus

source§

impl Eq for Bogus

source§

impl StructuralPartialEq for Bogus

Auto Trait Implementations§

§

impl RefUnwindSafe for Bogus

§

impl Send for Bogus

§

impl Sync for Bogus

§

impl Unpin for Bogus

§

impl UnwindSafe for Bogus

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where - T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where - T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where +really is unique is the problem of the developer. Ideally this would be better.

source§

impl EncodeLike for Bogus

source§

impl Eq for Bogus

source§

impl StructuralPartialEq for Bogus

Auto Trait Implementations§

§

impl Freeze for Bogus

§

impl RefUnwindSafe for Bogus

§

impl Send for Bogus

§

impl Sync for Bogus

§

impl Unpin for Bogus

§

impl UnwindSafe for Bogus

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CheckedConversion for T

§

fn checked_from<T>(t: T) -> Option<Self>
where Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
§

fn checked_into<T>(self) -> Option<T>
where @@ -56,14 +53,21 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -133,9 +137,9 @@ Self: DerefMut<Target = T> + Deref, T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where diff --git a/tuxedo_core/dynamic_typing/trait.UtxoData.html b/tuxedo_core/dynamic_typing/trait.UtxoData.html index 48edb050b..dbd9a6d84 100644 --- a/tuxedo_core/dynamic_typing/trait.UtxoData.html +++ b/tuxedo_core/dynamic_typing/trait.UtxoData.html @@ -1,5 +1,4 @@ -UtxoData in tuxedo_core::dynamic_typing - Rust -
pub trait UtxoData: Encode + Decode {
+UtxoData in tuxedo_core::dynamic_typing - Rust

Trait tuxedo_core::dynamic_typing::UtxoData

source ·
pub trait UtxoData: Encode + Decode {
     const TYPE_ID: [u8; 4];
 }
Expand description

A trait that must be implemented for any data that can be contained in a UTXO. It is not recommended to implement this trait directly for primitive types, but rather to diff --git a/tuxedo_core/genesis/block_builder/struct.TuxedoGenesisBlockBuilder.html b/tuxedo_core/genesis/block_builder/struct.TuxedoGenesisBlockBuilder.html new file mode 100644 index 000000000..f5f57aa95 --- /dev/null +++ b/tuxedo_core/genesis/block_builder/struct.TuxedoGenesisBlockBuilder.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../../tuxedo_core/genesis/struct.TuxedoGenesisBlockBuilder.html...

+ + + \ No newline at end of file diff --git a/tuxedo_core/genesis/config_builder/struct.TuxedoGenesisConfigBuilder.html b/tuxedo_core/genesis/config_builder/struct.TuxedoGenesisConfigBuilder.html new file mode 100644 index 000000000..a8185d567 --- /dev/null +++ b/tuxedo_core/genesis/config_builder/struct.TuxedoGenesisConfigBuilder.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../../tuxedo_core/genesis/struct.TuxedoGenesisConfigBuilder.html...

+ + + \ No newline at end of file diff --git a/tuxedo_core/genesis/index.html b/tuxedo_core/genesis/index.html index a114b8d18..bffd0048b 100644 --- a/tuxedo_core/genesis/index.html +++ b/tuxedo_core/genesis/index.html @@ -1,6 +1,2 @@ -tuxedo_core::genesis - Rust -

Module tuxedo_core::genesis

source ·
Expand description

Custom GenesisBlockBuilder for Tuxedo, to allow extrinsics to be added to the genesis block.

-

Structs§

  • The TuxedoGenesisConfig struct is used to configure the genesis state of the runtime. -It expects the wasm binary and a list of transactions to be included in the genesis block, and stored along with their outputs. -They must not contain any inputs or peeks. These transactions will not be validated by the corresponding ConstraintChecker or Verifier. -Make sure to pass the inherents before the extrinsics.
\ No newline at end of file +tuxedo_core::genesis - Rust

Module tuxedo_core::genesis

source ·
Expand description

Utilities for blockchainchain genesis used by Tuxedo.

+

Structs§

\ No newline at end of file diff --git a/tuxedo_core/genesis/sidebar-items.js b/tuxedo_core/genesis/sidebar-items.js index 5e1320885..2f1841d29 100644 --- a/tuxedo_core/genesis/sidebar-items.js +++ b/tuxedo_core/genesis/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"struct":["TuxedoGenesisBlockBuilder","TuxedoGenesisConfig"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"struct":["TuxedoGenesisBlockBuilder","TuxedoGenesisConfigBuilder"]}; \ No newline at end of file diff --git a/tuxedo_core/genesis/struct.TuxedoGenesisBlockBuilder.html b/tuxedo_core/genesis/struct.TuxedoGenesisBlockBuilder.html index 893550000..6196c205b 100644 --- a/tuxedo_core/genesis/struct.TuxedoGenesisBlockBuilder.html +++ b/tuxedo_core/genesis/struct.TuxedoGenesisBlockBuilder.html @@ -1,17 +1,16 @@ -TuxedoGenesisBlockBuilder in tuxedo_core::genesis - Rust -
pub struct TuxedoGenesisBlockBuilder<'a, Block: BlockT, B: Backend<Block>, E: RuntimeVersionOf + CodeExecutor> { /* private fields */ }

Implementations§

source§

impl<'a, Block: BlockT, B: Backend<Block>, E: RuntimeVersionOf + CodeExecutor> TuxedoGenesisBlockBuilder<'a, Block, B, E>

source

pub fn new( +TuxedoGenesisBlockBuilder in tuxedo_core::genesis - Rust

Struct tuxedo_core::genesis::TuxedoGenesisBlockBuilder

source ·
pub struct TuxedoGenesisBlockBuilder<'a, Block: BlockT, B: Backend<Block>, E: RuntimeVersionOf + CodeExecutor> { /* private fields */ }

Implementations§

source§

impl<'a, Block: BlockT, B: Backend<Block>, E: RuntimeVersionOf + CodeExecutor> TuxedoGenesisBlockBuilder<'a, Block, B, E>

source

pub fn new( build_genesis_storage: &'a dyn BuildStorage, commit_genesis_state: bool, backend: Arc<B>, executor: E -) -> Result<Self>

Trait Implementations§

source§

impl<'a, Block: BlockT, B: Backend<Block>, E: RuntimeVersionOf + CodeExecutor> BuildGenesisBlock<Block> for TuxedoGenesisBlockBuilder<'a, Block, B, E>

source§

fn build_genesis_block(self) -> Result<(Block, Self::BlockImportOperation)>

Build the genesis block, including the extrinsics found in storage at EXTRINSIC_KEY. +) -> Result<Self>

Trait Implementations§

source§

impl<'a, Block: BlockT, B: Backend<Block>, E: RuntimeVersionOf + CodeExecutor> BuildGenesisBlock<Block> for TuxedoGenesisBlockBuilder<'a, Block, B, E>

source§

fn build_genesis_block(self) -> Result<(Block, Self::BlockImportOperation)>

Build the genesis block, including the extrinsics found in storage at EXTRINSIC_KEY. The extrinsics are not checked for validity, nor executed, so the values in storage must be placed manually. This can be done by using the assimilate_storage function.

-
§

type BlockImportOperation = <B as Backend<Block>>::BlockImportOperation

The import operation used to import the genesis block into the backend.

Auto Trait Implementations§

§

impl<'a, Block, B, E> !RefUnwindSafe for TuxedoGenesisBlockBuilder<'a, Block, B, E>

§

impl<'a, Block, B, E> !Send for TuxedoGenesisBlockBuilder<'a, Block, B, E>

§

impl<'a, Block, B, E> !Sync for TuxedoGenesisBlockBuilder<'a, Block, B, E>

§

impl<'a, Block, B, E> Unpin for TuxedoGenesisBlockBuilder<'a, Block, B, E>
where - Block: Unpin, - E: Unpin,

§

impl<'a, Block, B, E> !UnwindSafe for TuxedoGenesisBlockBuilder<'a, Block, B, E>

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where - T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

source§

impl<T> Borrow<T> for T
where +

§

type BlockImportOperation = <B as Backend<Block>>::BlockImportOperation

The import operation used to import the genesis block into the backend.

Auto Trait Implementations§

§

impl<'a, Block, B, E> Freeze for TuxedoGenesisBlockBuilder<'a, Block, B, E>
where + E: Freeze,

§

impl<'a, Block, B, E> !RefUnwindSafe for TuxedoGenesisBlockBuilder<'a, Block, B, E>

§

impl<'a, Block, B, E> !Send for TuxedoGenesisBlockBuilder<'a, Block, B, E>

§

impl<'a, Block, B, E> !Sync for TuxedoGenesisBlockBuilder<'a, Block, B, E>

§

impl<'a, Block, B, E> Unpin for TuxedoGenesisBlockBuilder<'a, Block, B, E>
where + E: Unpin, + Block: Unpin,

§

impl<'a, Block, B, E> !UnwindSafe for TuxedoGenesisBlockBuilder<'a, Block, B, E>

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CheckedConversion for T

§

fn checked_from<T>(t: T) -> Option<Self>
where Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
§

fn checked_into<T>(self) -> Option<T>
where @@ -31,14 +30,21 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -107,9 +113,9 @@ Self: DerefMut<Target = T> + Deref, T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where diff --git a/tuxedo_core/genesis/struct.TuxedoGenesisConfigBuilder.html b/tuxedo_core/genesis/struct.TuxedoGenesisConfigBuilder.html new file mode 100644 index 000000000..f6498214d --- /dev/null +++ b/tuxedo_core/genesis/struct.TuxedoGenesisConfigBuilder.html @@ -0,0 +1,132 @@ +TuxedoGenesisConfigBuilder in tuxedo_core::genesis - Rust

Struct tuxedo_core::genesis::TuxedoGenesisConfigBuilder

source ·
pub struct TuxedoGenesisConfigBuilder<V, C>(/* private fields */);

Implementations§

source§

impl<V, C> TuxedoGenesisConfigBuilder<V, C>
where + V: Verifier, + C: ConstraintChecker, + Transaction<V, C>: Encode,

source

pub fn build(genesis_transactions: Vec<Transaction<V, C>>) -> Result

This function expects a list of transactions to be included in the genesis block, +and stored along with their outputs. They must not contain any inputs or peeks. +The input transactions must be ordered: inherents first, then extrinsics. +The genesis transactions will not be validated by the corresponding ConstraintChecker or Verifier.

+

Auto Trait Implementations§

§

impl<V, C> Freeze for TuxedoGenesisConfigBuilder<V, C>

§

impl<V, C> RefUnwindSafe for TuxedoGenesisConfigBuilder<V, C>
where + V: RefUnwindSafe, + C: RefUnwindSafe,

§

impl<V, C> Send for TuxedoGenesisConfigBuilder<V, C>
where + V: Send, + C: Send,

§

impl<V, C> Sync for TuxedoGenesisConfigBuilder<V, C>
where + V: Sync, + C: Sync,

§

impl<V, C> Unpin for TuxedoGenesisConfigBuilder<V, C>
where + V: Unpin, + C: Unpin,

§

impl<V, C> UnwindSafe for TuxedoGenesisConfigBuilder<V, C>
where + V: UnwindSafe, + C: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CheckedConversion for T

§

fn checked_from<T>(t: T) -> Option<Self>
where + Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
§

fn checked_into<T>(self) -> Option<T>
where + Self: TryInto<T>,

Consume self to return Some equivalent value of Option<T>. Read more
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where + Self: Into<T>,

Converts self into T using Into<T>. Read more
§

impl<T> FmtForward for T

§

fn fmt_binary(self) -> FmtBinary<Self>
where + Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
§

fn fmt_display(self) -> FmtDisplay<Self>
where + Self: Display,

Causes self to use its Display implementation when +Debug-formatted.
§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where + Self: LowerExp,

Causes self to use its LowerExp implementation when +Debug-formatted.
§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>
where + Self: LowerHex,

Causes self to use its LowerHex implementation when +Debug-formatted.
§

fn fmt_octal(self) -> FmtOctal<Self>
where + Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
§

fn fmt_pointer(self) -> FmtPointer<Self>
where + Self: Pointer,

Causes self to use its Pointer implementation when +Debug-formatted.
§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>
where + Self: UpperExp,

Causes self to use its UpperExp implementation when +Debug-formatted.
§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where + Self: UpperHex,

Causes self to use its UpperHex implementation when +Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where + &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where + Outer: AsRef<T> + AsMut<T> + From<T>, + T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

+
§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

+
§

impl<T> Pipe for T
where + T: ?Sized,

§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where + Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where + R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where + R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where + Self: Borrow<B>, + B: 'a + ?Sized, + R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
§

fn pipe_borrow_mut<'a, B, R>( + &'a mut self, + func: impl FnOnce(&'a mut B) -> R +) -> R
where + Self: BorrowMut<B>, + B: 'a + ?Sized, + R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe +function. Read more
§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where + Self: AsRef<U>, + U: 'a + ?Sized, + R: 'a,

Borrows self, then passes self.as_ref() into the pipe function.
§

fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
where + Self: AsMut<U>, + U: 'a + ?Sized, + R: 'a,

Mutably borrows self, then passes self.as_mut() into the pipe +function.
§

fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
where + Self: Deref<Target = T>, + T: 'a + ?Sized, + R: 'a,

Borrows self, then passes self.deref() into the pipe function.
§

fn pipe_deref_mut<'a, T, R>( + &'a mut self, + func: impl FnOnce(&'a mut T) -> R +) -> R
where + Self: DerefMut<Target = T> + Deref, + T: 'a + ?Sized, + R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe +function.
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
§

impl<T> SaturatedConversion for T

§

fn saturated_from<T>(t: T) -> Self
where + Self: UniqueSaturatedFrom<T>,

Convert from a value of T into an equivalent instance of Self. Read more
§

fn saturated_into<T>(self) -> T
where + Self: UniqueSaturatedInto<T>,

Consume self to return an equivalent value of T. Read more
§

impl<T> Tap for T

§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where + Self: Borrow<B>, + B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where + Self: BorrowMut<B>, + B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where + Self: AsRef<R>, + R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where + Self: AsMut<R>, + R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where + Self: Deref<Target = T>, + T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where + Self: DerefMut<Target = T> + Deref, + T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release +builds.
§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where + Self: Borrow<B>, + B: ?Sized,

Calls .tap_borrow() only in debug builds, and is erased in release +builds.
§

fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
where + Self: BorrowMut<B>, + B: ?Sized,

Calls .tap_borrow_mut() only in debug builds, and is erased in release +builds.
§

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
where + Self: AsRef<R>, + R: ?Sized,

Calls .tap_ref() only in debug builds, and is erased in release +builds.
§

fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
where + Self: AsMut<R>, + R: ?Sized,

Calls .tap_ref_mut() only in debug builds, and is erased in release +builds.
§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
where + Self: Deref<Target = T>, + T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release +builds.
§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where + Self: DerefMut<Target = T> + Deref, + T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release +builds.
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where + T: Bounded, + S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
§

impl<T> JsonSchemaMaybe for T

§

impl<T> MaybeRefUnwindSafe for T
where + T: RefUnwindSafe,

\ No newline at end of file diff --git a/tuxedo_core/index.html b/tuxedo_core/index.html index 11dc0f5ad..124ebbd45 100644 --- a/tuxedo_core/index.html +++ b/tuxedo_core/index.html @@ -1,12 +1,10 @@ -tuxedo_core - Rust -

Crate tuxedo_core

source ·
Expand description

This crate is the core of the Tuxedo runtime framework.

+tuxedo_core - Rust

Crate tuxedo_core

source ·
Expand description

This crate is the core of the Tuxedo runtime framework.

All Tuxedo runtimes will use this machinery and plug in their specific Tuxedo piece(s)

-

Re-exports§

Modules§

  • A constraint checker is a piece of logic that determines whether a transaction as a whole is valid +

Re-exports§

Modules§

Provide inherent data that should be included in a block. Read more
source§

fn try_handle_error<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, identifier: &'life1 InherentIdentifier, error: &'life2 [u8] @@ -19,15 +18,14 @@ &'life0 self ) -> Pin<Box<dyn Future<Output = Result<InherentData, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, - Self: 'async_trait,

Convenience function for creating [InherentData]. Read more

Auto Trait Implementations§

§

impl<Block> RefUnwindSafe for ParentBlockInherentDataProvider<Block>
where + Self: 'async_trait,

Convenience function for creating [InherentData]. Read more

Auto Trait Implementations§

§

impl<Block> Freeze for ParentBlockInherentDataProvider<Block>
where + Block: Freeze,

§

impl<Block> RefUnwindSafe for ParentBlockInherentDataProvider<Block>
where Block: RefUnwindSafe,

§

impl<Block> Send for ParentBlockInherentDataProvider<Block>
where Block: Send,

§

impl<Block> Sync for ParentBlockInherentDataProvider<Block>
where Block: Sync,

§

impl<Block> Unpin for ParentBlockInherentDataProvider<Block>
where Block: Unpin,

§

impl<Block> UnwindSafe for ParentBlockInherentDataProvider<Block>
where Block: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where - T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where - T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CheckedConversion for T

§

fn checked_from<T>(t: T) -> Option<Self>
where Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
§

fn checked_into<T>(self) -> Option<T>
where @@ -47,14 +45,21 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -123,9 +128,9 @@ Self: DerefMut<Target = T> + Deref, T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where diff --git a/tuxedo_core/inherents/trait.InherentHooks.html b/tuxedo_core/inherents/trait.InherentHooks.html new file mode 100644 index 000000000..fa350347b --- /dev/null +++ b/tuxedo_core/inherents/trait.InherentHooks.html @@ -0,0 +1,41 @@ +InherentHooks in tuxedo_core::inherents - Rust

Trait tuxedo_core::inherents::InherentHooks

source ·
pub trait InherentHooks: SimpleConstraintChecker + Sized {
+    type Error: Encode + IsFatalError;
+
+    const INHERENT_IDENTIFIER: InherentIdentifier;
+
+    // Required methods
+    fn create_inherent<V: Verifier>(
+        authoring_inherent_data: &InherentData,
+        previous_inherent: (Transaction<V, Self>, H256)
+    ) -> Transaction<V, Self>;
+    fn check_inherent<V>(
+        importing_inherent_data: &InherentData,
+        inherent: Transaction<V, Self>,
+        results: &mut CheckInherentsResult
+    );
+
+    // Provided method
+    fn genesis_transactions<V: Verifier>() -> Vec<Transaction<V, Self>> { ... }
+}
Expand description

Tuxedo’s controlled interface around Substrate’s concept of inherents.

+

This interface assumes that each inherent will appear exactly once in each block. +This will be verified off-chain by nodes before block execution begins.

+

This interface is stricter and more structured, and therefore simpler than FRAME’s. +If you need to do something more powerful (which you probably don’t) and you +understand exactly how Substrate’s block authoring and Tuxedo’s piece aggregation works +(which you probably don’t) you can directly implement the InherentInternal trait +which is more powerful (and dangerous).

+

Required Associated Types§

source

type Error: Encode + IsFatalError

Required Associated Constants§

source

const INHERENT_IDENTIFIER: InherentIdentifier

Required Methods§

source

fn create_inherent<V: Verifier>( + authoring_inherent_data: &InherentData, + previous_inherent: (Transaction<V, Self>, H256) +) -> Transaction<V, Self>

Create the inherent extrinsic to insert into a block that is being authored locally. +The inherent data is supplied by the authoring node.

+
source

fn check_inherent<V>( + importing_inherent_data: &InherentData, + inherent: Transaction<V, Self>, + results: &mut CheckInherentsResult +)

Perform off-chain pre-execution checks on the inherent. +The inherent data is supplied by the importing node. +The inherent data available here is not guaranteed to be the +same as what is available at authoring time.

+

Provided Methods§

source

fn genesis_transactions<V: Verifier>() -> Vec<Transaction<V, Self>>

Return the genesis transactions that are required for this inherent.

+

Object Safety§

This trait is not object safe.

Implementors§

\ No newline at end of file diff --git a/tuxedo_core/inherents/trait.InherentInternal.html b/tuxedo_core/inherents/trait.InherentInternal.html deleted file mode 100644 index 919ed6dd9..000000000 --- a/tuxedo_core/inherents/trait.InherentInternal.html +++ /dev/null @@ -1,42 +0,0 @@ -InherentInternal in tuxedo_core::inherents - Rust -
pub trait InherentInternal<V, C: ConstraintChecker<V>>: Sized {
-    // Required methods
-    fn create_inherents(
-        authoring_inherent_data: &InherentData,
-        previous_inherents: Vec<(Transaction<V, C>, H256)>
-    ) -> Vec<Transaction<V, C>>;
-    fn check_inherents(
-        importing_inherent_data: &InherentData,
-        inherents: Vec<Transaction<V, C>>,
-        results: &mut CheckInherentsResult
-    );
-    fn genesis_transactions() -> Vec<Transaction<V, C>>;
-}
Expand description

Almost identical to TuxedoInherent, but allows returning multiple extrinsics -(as aggregate runtimes will need to) and removes the requirement that the generic -outer constraint checker be buildable from Self so we can implement it for ().

-

If you are trying to implement some complex inherent logic that requires the interaction of -multiple inherents, or features a variable number of inherents in each block, you might be -able to express it by implementing this trait, but such designs are probably too complicated. -Think long and hard before implementing this trait directly.

-

Required Methods§

source

fn create_inherents( - authoring_inherent_data: &InherentData, - previous_inherents: Vec<(Transaction<V, C>, H256)> -) -> Vec<Transaction<V, C>>

Create the inherent extrinsic to insert into a block that is being authored locally. -The inherent data is supplied by the authoring node.

-
source

fn check_inherents( - importing_inherent_data: &InherentData, - inherents: Vec<Transaction<V, C>>, - results: &mut CheckInherentsResult -)

Perform off-chain pre-execution checks on the inherents. -The inherent data is supplied by the importing node. -The inherent data available here is not guaranteed to be the -same as what is available at authoring time.

-
source

fn genesis_transactions() -> Vec<Transaction<V, C>>

Return the genesis transactions that are required for the inherents.

-

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<V, C: ConstraintChecker<V>> InherentInternal<V, C> for ()

source§

fn create_inherents( - _: &InherentData, - _: Vec<(Transaction<V, C>, H256)> -) -> Vec<Transaction<V, C>>

source§

fn check_inherents( - _: &InherentData, - inherents: Vec<Transaction<V, C>>, - _: &mut CheckInherentsResult -)

source§

fn genesis_transactions() -> Vec<Transaction<V, C>>

Implementors§

\ No newline at end of file diff --git a/tuxedo_core/inherents/trait.TuxedoInherent.html b/tuxedo_core/inherents/trait.TuxedoInherent.html deleted file mode 100644 index 03892459c..000000000 --- a/tuxedo_core/inherents/trait.TuxedoInherent.html +++ /dev/null @@ -1,42 +0,0 @@ -TuxedoInherent in tuxedo_core::inherents - Rust -
pub trait TuxedoInherent<V, C: ConstraintChecker<V>>: Sized {
-    type Error: Encode + IsFatalError;
-
-    const INHERENT_IDENTIFIER: InherentIdentifier;
-
-    // Required methods
-    fn create_inherent(
-        authoring_inherent_data: &InherentData,
-        previous_inherent: (Transaction<V, C>, H256)
-    ) -> Transaction<V, C>;
-    fn check_inherent(
-        importing_inherent_data: &InherentData,
-        inherent: Transaction<V, C>,
-        results: &mut CheckInherentsResult
-    );
-
-    // Provided method
-    fn genesis_transactions() -> Vec<Transaction<V, C>> { ... }
-}
Expand description

Tuxedo’s controlled interface around Substrate’s concept of inherents.

-

This interface assumes that each inherent will appear exactly once in each block. -This will be verified off-chain by nodes before block execution begins.

-

This interface is stricter and more structured, and therefore simpler than FRAME’s. -If you need to do something more powerful (which you probably don’t) and you -understand exactly how Substrate’s block authoring and Tuxedo’s piece aggregation works -(which you probably don’t) you can directly implement the InherentInternal trait -which is more powerful (and dangerous).

-

Required Associated Types§

source

type Error: Encode + IsFatalError

Required Associated Constants§

source

const INHERENT_IDENTIFIER: InherentIdentifier

Required Methods§

source

fn create_inherent( - authoring_inherent_data: &InherentData, - previous_inherent: (Transaction<V, C>, H256) -) -> Transaction<V, C>

Create the inherent extrinsic to insert into a block that is being authored locally. -The inherent data is supplied by the authoring node.

-
source

fn check_inherent( - importing_inherent_data: &InherentData, - inherent: Transaction<V, C>, - results: &mut CheckInherentsResult -)

Perform off-chain pre-execution checks on the inherent. -The inherent data is supplied by the importing node. -The inherent data available here is not guaranteed to be the -same as what is available at authoring time.

-

Provided Methods§

source

fn genesis_transactions() -> Vec<Transaction<V, C>>

Return the genesis transactions that are required for this inherent.

-

Object Safety§

This trait is not object safe.

Implementors§

\ No newline at end of file diff --git a/tuxedo_core/macro.ensure.html b/tuxedo_core/macro.ensure.html index 0f7a0e250..5429f449f 100644 --- a/tuxedo_core/macro.ensure.html +++ b/tuxedo_core/macro.ensure.html @@ -1,5 +1,4 @@ -ensure in tuxedo_core - Rust -

Macro tuxedo_core::ensure

source ·
macro_rules! ensure {
+ensure in tuxedo_core - Rust

Macro tuxedo_core::ensure

source ·
macro_rules! ensure {
     ( $x:expr, $y:expr $(,)? ) => { ... };
 }
Expand description

Evaluate $x:expr and if not true return Err($y:expr).

Used as ensure!(expression_to_ensure, expression_to_return_on_false).

diff --git a/tuxedo_core/macro.fail.html b/tuxedo_core/macro.fail.html index 92d5a2759..5a07b9542 100644 --- a/tuxedo_core/macro.fail.html +++ b/tuxedo_core/macro.fail.html @@ -1,5 +1,4 @@ -fail in tuxedo_core - Rust -

Macro tuxedo_core::fail

source ·
macro_rules! fail {
+fail in tuxedo_core - Rust

Macro tuxedo_core::fail

source ·
macro_rules! fail {
     ( $y:expr ) => { ... };
 }
Expand description

Return Err of the expression: return Err($expression);.

Used as fail!(expression).

diff --git a/tuxedo_core/struct.Executive.html b/tuxedo_core/struct.Executive.html index b00cf278b..2e0fab047 100644 --- a/tuxedo_core/struct.Executive.html +++ b/tuxedo_core/struct.Executive.html @@ -1,44 +1,40 @@ -Executive in tuxedo_core - Rust -

Struct tuxedo_core::Executive

source ·
pub struct Executive<B, V, C>(/* private fields */);
Expand description

The executive. Each runtime is encouraged to make a type alias called Executive that fills +Executive in tuxedo_core - Rust

Struct tuxedo_core::Executive

source ·
pub struct Executive<V, C>(/* private fields */);
Expand description

The executive. Each runtime is encouraged to make a type alias called Executive that fills in the proper generic types.

-

Implementations§

source§

impl<B: BlockT<Extrinsic = Transaction<V, C>>, V: Verifier, C: ConstraintChecker<V>> Executive<B, V, C>

Implementations§

source§

impl<V, C> Executive<V, C>
where + V: Verifier, + C: ConstraintChecker, + Block<V, C>: BlockT<Extrinsic = Transaction<V, C>, Hash = H256>, + Transaction<V, C>: Extrinsic,

source

pub fn validate_tuxedo_transaction( transaction: &Transaction<V, C> ) -> Result<ValidTransaction, UtxoError<C::Error>>

Does pool-style validation of a tuxedo transaction. Does not commit anything to storage. This returns Ok even if some inputs are still missing because the tagged transaction pool can handle that. We later check that there are no missing inputs in apply_tuxedo_transaction

-
source

pub fn apply_tuxedo_transaction( +

source

pub fn apply_tuxedo_transaction( transaction: Transaction<V, C> ) -> DispatchResult<C::Error>

Does full verification and application of tuxedo transactions. Most of the validation happens in the call to validate_tuxedo_transaction. Once those checks are done we make sure there are no missing inputs and then update storage.

-
source

pub fn block_height() -> <<B as BlockT>::Header as HeaderT>::Number
where - B::Header: HeaderT,

A helper function that allows tuxedo runtimes to read the current block height

-
source

pub fn open_block(header: &<B as BlockT>::Header)

source

pub fn apply_extrinsic( - extrinsic: <B as BlockT>::Extrinsic -) -> ApplyExtrinsicResult

source

pub fn close_block() -> <B as BlockT>::Header

source

pub fn execute_block(block: B)

source

pub fn validate_transaction( +

source

pub fn block_height() -> BlockNumber

A helper function that allows tuxedo runtimes to read the current block height

+
source

pub fn open_block(header: &Header)

source

pub fn apply_extrinsic(extrinsic: Transaction<V, C>) -> ApplyExtrinsicResult

source

pub fn close_block() -> Header

source

pub fn execute_block(block: Block<V, C>)

source

pub fn validate_transaction( source: TransactionSource, - tx: <B as BlockT>::Extrinsic, - block_hash: <B as BlockT>::Hash -) -> TransactionValidity

source

pub fn inherent_extrinsics(data: InherentData) -> Vec<<B as BlockT>::Extrinsic>

source

pub fn check_inherents(block: B, data: InherentData) -> CheckInherentsResult

Auto Trait Implementations§

§

impl<B, V, C> RefUnwindSafe for Executive<B, V, C>
where - B: RefUnwindSafe, - C: RefUnwindSafe, - V: RefUnwindSafe,

§

impl<B, V, C> Send for Executive<B, V, C>
where - B: Send, - C: Send, - V: Send,

§

impl<B, V, C> Sync for Executive<B, V, C>
where - B: Sync, - C: Sync, - V: Sync,

§

impl<B, V, C> Unpin for Executive<B, V, C>
where - B: Unpin, - C: Unpin, - V: Unpin,

§

impl<B, V, C> UnwindSafe for Executive<B, V, C>
where - B: UnwindSafe, - C: UnwindSafe, - V: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where - T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where - T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where + tx: Transaction<V, C>, + block_hash: <Block<V, C> as BlockT>::Hash +) -> TransactionValidity

source

pub fn inherent_extrinsics(data: InherentData) -> Vec<Transaction<V, C>>

source

pub fn check_inherents( + block: Block<V, C>, + data: InherentData +) -> CheckInherentsResult

Auto Trait Implementations§

§

impl<V, C> Freeze for Executive<V, C>

§

impl<V, C> RefUnwindSafe for Executive<V, C>
where + V: RefUnwindSafe, + C: RefUnwindSafe,

§

impl<V, C> Send for Executive<V, C>
where + V: Send, + C: Send,

§

impl<V, C> Sync for Executive<V, C>
where + V: Sync, + C: Sync,

§

impl<V, C> Unpin for Executive<V, C>
where + V: Unpin, + C: Unpin,

§

impl<V, C> UnwindSafe for Executive<V, C>
where + V: UnwindSafe, + C: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CheckedConversion for T

§

fn checked_from<T>(t: T) -> Option<Self>
where Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
§

fn checked_into<T>(self) -> Option<T>
where @@ -58,14 +54,21 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -134,9 +137,9 @@ Self: DerefMut<Target = T> + Deref, T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where diff --git a/tuxedo_core/support_macros/derive.CloneNoBound.html b/tuxedo_core/support_macros/derive.CloneNoBound.html index 1c313cbab..2c86073a5 100644 --- a/tuxedo_core/support_macros/derive.CloneNoBound.html +++ b/tuxedo_core/support_macros/derive.CloneNoBound.html @@ -1,3 +1,2 @@ -CloneNoBound in tuxedo_core::support_macros - Rust -
#[derive(CloneNoBound)]
Expand description

Derive [Clone] but do not bound any generic. Docs are at frame_support::CloneNoBound.

+CloneNoBound in tuxedo_core::support_macros - Rust

Derive Macro tuxedo_core::support_macros::CloneNoBound

source ·
#[derive(CloneNoBound)]
Expand description

Derive [Clone] but do not bound any generic. Docs are at frame_support::CloneNoBound.

\ No newline at end of file diff --git a/tuxedo_core/support_macros/derive.DebugNoBound.html b/tuxedo_core/support_macros/derive.DebugNoBound.html index 2c2c6208b..c97b9dd8e 100644 --- a/tuxedo_core/support_macros/derive.DebugNoBound.html +++ b/tuxedo_core/support_macros/derive.DebugNoBound.html @@ -1,3 +1,2 @@ -DebugNoBound in tuxedo_core::support_macros - Rust -
#[derive(DebugNoBound)]
Expand description

Derive [Debug] but do not bound any generics. Docs are at frame_support::DebugNoBound.

+DebugNoBound in tuxedo_core::support_macros - Rust

Derive Macro tuxedo_core::support_macros::DebugNoBound

source ·
#[derive(DebugNoBound)]
Expand description

Derive [Debug] but do not bound any generics. Docs are at frame_support::DebugNoBound.

\ No newline at end of file diff --git a/tuxedo_core/support_macros/derive.DefaultNoBound.html b/tuxedo_core/support_macros/derive.DefaultNoBound.html index b88af712b..e9a88944c 100644 --- a/tuxedo_core/support_macros/derive.DefaultNoBound.html +++ b/tuxedo_core/support_macros/derive.DefaultNoBound.html @@ -1,5 +1,4 @@ -DefaultNoBound in tuxedo_core::support_macros - Rust -
#[derive(DefaultNoBound)]
+DefaultNoBound in tuxedo_core::support_macros - Rust

Derive Macro tuxedo_core::support_macros::DefaultNoBound

source ·
#[derive(DefaultNoBound)]
 {
     // Attributes available to this derive:
     #[default]
diff --git a/tuxedo_core/support_macros/index.html b/tuxedo_core/support_macros/index.html
index ac1a2d2c6..210039d6b 100644
--- a/tuxedo_core/support_macros/index.html
+++ b/tuxedo_core/support_macros/index.html
@@ -1,4 +1,3 @@
-tuxedo_core::support_macros - Rust
-    
Expand description

These macros are copied from frame-support. Substrate maintainers are not open to putting them in +tuxedo_core::support_macros - Rust

Module tuxedo_core::support_macros

source ·
Expand description

These macros are copied from frame-support. Substrate maintainers are not open to putting them in a more sensible location. See https://github.com/paritytech/substrate/issues/13456

Derive Macros§

  • Derive [Clone] but do not bound any generic. Docs are at frame_support::CloneNoBound.
  • Derive [Debug] but do not bound any generics. Docs are at frame_support::DebugNoBound.
  • derive Default but do no bound any generic. Docs are at frame_support::DefaultNoBound.
\ No newline at end of file diff --git a/tuxedo_core/traits/index.html b/tuxedo_core/traits/index.html index a024cf1ac..672c21424 100644 --- a/tuxedo_core/traits/index.html +++ b/tuxedo_core/traits/index.html @@ -1,4 +1,3 @@ -tuxedo_core::traits - Rust -

Module tuxedo_core::traits

source ·
Expand description

General-purpose runtime traits for describing common types of on-chain logic. +tuxedo_core::traits - Rust

Module tuxedo_core::traits

source ·
Expand description

General-purpose runtime traits for describing common types of on-chain logic. Tuxedo piece implementations may loosely couple through these traits.

Traits§

  • A trait for UTXOs that can act like coins, or bank notes.
\ No newline at end of file diff --git a/tuxedo_core/traits/trait.Cash.html b/tuxedo_core/traits/trait.Cash.html index 26cbcbda0..c646350aa 100644 --- a/tuxedo_core/traits/trait.Cash.html +++ b/tuxedo_core/traits/trait.Cash.html @@ -1,5 +1,4 @@ -Cash in tuxedo_core::traits - Rust -

Trait tuxedo_core::traits::Cash

source ·
pub trait Cash {
+Cash in tuxedo_core::traits - Rust

Trait tuxedo_core::traits::Cash

source ·
pub trait Cash {
     const ID: u8;
 
     // Required method
diff --git a/tuxedo_core/verifier/struct.SignatureAndIndex.html b/tuxedo_core/types/enum.RedemptionStrategy.html
similarity index 69%
rename from tuxedo_core/verifier/struct.SignatureAndIndex.html
rename to tuxedo_core/types/enum.RedemptionStrategy.html
index 586694a51..dcc2d043f 100644
--- a/tuxedo_core/verifier/struct.SignatureAndIndex.html
+++ b/tuxedo_core/types/enum.RedemptionStrategy.html
@@ -1,34 +1,32 @@
-SignatureAndIndex in tuxedo_core::verifier - Rust
-    
pub struct SignatureAndIndex {
-    pub signature: Signature,
-    pub index: u8,
-}
Expand description

Combination of a signature plus and index so that the signer can specify which -index this signature pertains too of the available signatories for a ThresholdMultiSignature

-

Fields§

§signature: Signature

The signature of the signer

-
§index: u8

The index of this signer in the signatory vector

-

Trait Implementations§

source§

impl Clone for SignatureAndIndex

source§

fn clone(&self) -> SignatureAndIndex

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SignatureAndIndex

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Decode for SignatureAndIndex

source§

fn decode<__CodecInputEdqy: Input>( +RedemptionStrategy in tuxedo_core::types - Rust

Enum tuxedo_core::types::RedemptionStrategy

source ·
pub enum RedemptionStrategy {
+    Redemption(Vec<u8>),
+    Eviction,
+}
Expand description

An input can be consumed in two way. It can be redeemed normally (probably with some signature, or proof) or it +can be evicted. This enum is isomorphic to Option<Vec<u8>> but has more meaningful names.

+

Variants§

§

Redemption(Vec<u8>)

The input is being consumed in the normal way with a signature or other proof provided by the spender.

+
§

Eviction

The input is being forcefully evicted without satisfying its Verifier.

+

Trait Implementations§

source§

impl Clone for RedemptionStrategy

source§

fn clone(&self) -> RedemptionStrategy

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for RedemptionStrategy

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Decode for RedemptionStrategy

source§

fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Self, Error>

Attempt to deserialise the value from input.
§

fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>
where I: Input,

Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
§

fn skip<I>(input: &mut I) -> Result<(), Error>
where - I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl<'de> Deserialize<'de> for SignatureAndIndex

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Encode for SignatureAndIndex

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl Default for RedemptionStrategy

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for RedemptionStrategy

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Encode for RedemptionStrategy

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )

Convert self to a slice and append it to the destination.
§

fn encode(&self) -> Vec<u8>

Convert self to an owned vector.
§

fn using_encoded<R, F>(&self, f: F) -> R
where - F: FnOnce(&[u8]) -> R,

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl PartialEq for SignatureAndIndex

source§

fn eq(&self, other: &SignatureAndIndex) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl Serialize for SignatureAndIndex

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl EncodeLike for SignatureAndIndex

source§

impl Eq for SignatureAndIndex

source§

impl StructuralPartialEq for SignatureAndIndex

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where - T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where - T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where + F: FnOnce(&[u8]) -> R,

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl PartialEq for RedemptionStrategy

source§

fn eq(&self, other: &RedemptionStrategy) -> bool

This method tests for self and other values to be equal, and is used +by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
source§

impl Serialize for RedemptionStrategy

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl TypeInfo for RedemptionStrategy

§

type Identity = RedemptionStrategy

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl EncodeLike for RedemptionStrategy

source§

impl Eq for RedemptionStrategy

source§

impl StructuralPartialEq for RedemptionStrategy

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CheckedConversion for T

§

fn checked_from<T>(t: T) -> Option<Self>
where Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
§

fn checked_into<T>(self) -> Option<T>
where - Self: TryInto<T>,

Consume self to return Some equivalent value of Option<T>. Read more
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where + Self: TryInto<T>,

Consume self to return Some equivalent value of Option<T>. Read more
§

impl<T> Clear for T
where + T: Default + Eq + PartialEq,

§

fn is_clear(&self) -> bool

True iff no bits are set.
§

fn clear() -> T

Return the value of Self that is clear.
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
§

impl<T> DecodeAll for T
where T: Decode,

§

fn decode_all(input: &mut &[u8]) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

impl<T> DecodeLimit for T
where T: Decode,

§

fn decode_all_with_depth_limit( @@ -36,8 +34,8 @@ input: &mut &[u8] ) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
where I: Input,

Decode Self with the given maximum recursion depth and advance input by the number of -bytes consumed. Read more
source§

impl<T> DynClone for T
where - T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where +bytes consumed. Read more

source§

impl<T> DynClone for T
where + T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, @@ -60,14 +58,21 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -138,9 +143,9 @@ T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where @@ -148,8 +153,8 @@ S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<S> Codec for S
where - S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where + S: Decode + Encode,

source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

impl<T> EncodeLike<&&T> for T
where T: Encode,

§

impl<T> EncodeLike<&T> for T
where T: Encode,

§

impl<T> EncodeLike<&mut T> for T
where T: Encode,

§

impl<T> EncodeLike<Arc<T>> for T
where @@ -161,6 +166,7 @@ S: Encode + EncodeLike,

§

impl<T> JsonSchemaMaybe for T

§

impl<T> MaybeDebug for T
where T: Debug,

§

impl<T> MaybeRefUnwindSafe for T
where T: RefUnwindSafe,

§

impl<T> MaybeSerialize for T
where - T: Serialize,

§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where - T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

\ No newline at end of file + T: Serialize,
§

impl<T> MaybeSerializeDeserialize for T

§

impl<T> Member for T
where + T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

§

impl<T> StaticTypeInfo for T
where + T: TypeInfo + 'static,

\ No newline at end of file diff --git a/tuxedo_core/types/enum.UtxoError.html b/tuxedo_core/types/enum.UtxoError.html index c1cae2b1d..65d10aa5e 100644 --- a/tuxedo_core/types/enum.UtxoError.html +++ b/tuxedo_core/types/enum.UtxoError.html @@ -1,5 +1,4 @@ -UtxoError in tuxedo_core::types - Rust -
pub enum UtxoError<ConstraintCheckerError> {
+UtxoError in tuxedo_core::types - Rust

Enum tuxedo_core::types::UtxoError

source ·
pub enum UtxoError<ConstraintCheckerError> {
     DuplicateInput,
     PreExistingOutput,
     ConstraintCheckerError(ConstraintCheckerError),
@@ -12,17 +11,16 @@
 TODO determine whether it is useful to relay an inner error from the verifier.
 So far, I haven’t seen a case, although it seems reasonable to think there might be one.

§

MissingInput

One or more of the inputs required by this transaction is not present in the UTXO set

-

Trait Implementations§

source§

impl<ConstraintCheckerError: Debug> Debug for UtxoError<ConstraintCheckerError>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<ConstraintCheckerError: PartialEq> PartialEq for UtxoError<ConstraintCheckerError>

source§

fn eq(&self, other: &UtxoError<ConstraintCheckerError>) -> bool

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl<ConstraintCheckerError: Eq> Eq for UtxoError<ConstraintCheckerError>

source§

impl<ConstraintCheckerError> StructuralPartialEq for UtxoError<ConstraintCheckerError>

Auto Trait Implementations§

§

impl<ConstraintCheckerError> RefUnwindSafe for UtxoError<ConstraintCheckerError>
where +

Trait Implementations§

source§

impl<ConstraintCheckerError: Debug> Debug for UtxoError<ConstraintCheckerError>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<ConstraintCheckerError: PartialEq> PartialEq for UtxoError<ConstraintCheckerError>

source§

fn eq(&self, other: &UtxoError<ConstraintCheckerError>) -> bool

This method tests for self and other values to be equal, and is used +by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
source§

impl<ConstraintCheckerError: Eq> Eq for UtxoError<ConstraintCheckerError>

source§

impl<ConstraintCheckerError> StructuralPartialEq for UtxoError<ConstraintCheckerError>

Auto Trait Implementations§

§

impl<ConstraintCheckerError> Freeze for UtxoError<ConstraintCheckerError>
where + ConstraintCheckerError: Freeze,

§

impl<ConstraintCheckerError> RefUnwindSafe for UtxoError<ConstraintCheckerError>
where ConstraintCheckerError: RefUnwindSafe,

§

impl<ConstraintCheckerError> Send for UtxoError<ConstraintCheckerError>
where ConstraintCheckerError: Send,

§

impl<ConstraintCheckerError> Sync for UtxoError<ConstraintCheckerError>
where ConstraintCheckerError: Sync,

§

impl<ConstraintCheckerError> Unpin for UtxoError<ConstraintCheckerError>
where ConstraintCheckerError: Unpin,

§

impl<ConstraintCheckerError> UnwindSafe for UtxoError<ConstraintCheckerError>
where ConstraintCheckerError: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where - T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where - T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

source§

impl<T> Borrow<T> for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CheckedConversion for T

§

fn checked_from<T>(t: T) -> Option<Self>
where Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
§

fn checked_into<T>(self) -> Option<T>
where @@ -50,14 +48,21 @@ Debug-formatted.

§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where - &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T, Outer> IsWrappedBy<Outer> for T
where +

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

@@ -126,9 +131,9 @@ Self: DerefMut<Target = T> + Deref, T: ?Sized,
Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where - Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where + Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where diff --git a/tuxedo_core/types/index.html b/tuxedo_core/types/index.html index 6ea8613a6..f744dbfc4 100644 --- a/tuxedo_core/types/index.html +++ b/tuxedo_core/types/index.html @@ -1,6 +1,7 @@ -tuxedo_core::types - Rust -

Module tuxedo_core::types

source ·
Expand description

The common types that will be used across a Tuxedo runtime, and not specific to any one piece

+tuxedo_core::types - Rust

Module tuxedo_core::types

source ·
Expand description

The common types that will be used across a Tuxedo runtime, and not specific to any one piece

Structs§

  • A reference the a utxo that will be consumed along with proof that it may be consumed
  • An opaque piece of Transaction output data. This is how the data appears at the Runtime level. After the verifier is checked, strongly typed data will be extracted and passed to the constraint checker. In a cryptocurrency, the data represents a single coin. In Tuxedo, the type of -the contained data is generic.
  • A reference to a output that is expected to exist in the state.
  • A UTXO Transaction

Enums§

Type Aliases§

\ No newline at end of file +the contained data is generic.
  • A reference to a output that is expected to exist in the state.
  • A UTXO Transaction
  • Enums§

    • An input can be consumed in two way. It can be redeemed normally (probably with some signature, or proof) or it +can be evicted. This enum is isomorphic to Option<Vec<u8>> but has more meaningful names.

    Type Aliases§

    • An alias for a Tuxedo block with all the common parts filled in.
    • All Tuxedo chains use the same u32 BlockNumber.
    • The Result of dispatching a UTXO transaction.
    • Because all tuxedo chains use the same Blocknumber and Hash types, +they also use the same concrete header type.
    • Opaque block type. It has a Standard Tuxedo header, and opaque transactions.
    • Opaque block hash type.
    \ No newline at end of file diff --git a/tuxedo_core/types/sidebar-items.js b/tuxedo_core/types/sidebar-items.js index 8650f83be..c017f0357 100644 --- a/tuxedo_core/types/sidebar-items.js +++ b/tuxedo_core/types/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"enum":["UtxoError"],"struct":["Input","Output","OutputRef","Transaction"],"type":["DispatchResult"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":["RedemptionStrategy","UtxoError"],"struct":["Input","Output","OutputRef","Transaction"],"type":["Block","BlockNumber","DispatchResult","Hash","Header","OpaqueBlock","OpaqueHash"]}; \ No newline at end of file diff --git a/tuxedo_core/types/struct.Input.html b/tuxedo_core/types/struct.Input.html index 0da16a8ea..7165165d4 100644 --- a/tuxedo_core/types/struct.Input.html +++ b/tuxedo_core/types/struct.Input.html @@ -1,28 +1,27 @@ -Input in tuxedo_core::types - Rust -

    Struct tuxedo_core::types::Input

    source ·
    pub struct Input {
    +Input in tuxedo_core::types - Rust

    Struct tuxedo_core::types::Input

    source ·
    pub struct Input {
         pub output_ref: OutputRef,
    -    pub redeemer: Vec<u8>,
    +    pub redeemer: RedemptionStrategy,
     }
    Expand description

    A reference the a utxo that will be consumed along with proof that it may be consumed

    Fields§

    §output_ref: OutputRef

    a reference to the output being consumed

    -
    §redeemer: Vec<u8>

    Trait Implementations§

    source§

    impl Clone for Input

    source§

    fn clone(&self) -> Input

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Input

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Decode for Input

    source§

    fn decode<__CodecInputEdqy: Input>( +

    §redeemer: RedemptionStrategy

    A means of showing that this input data can be used. +It is most often a proof such as a signature, but could also be a forceful eviction.

    +

    Trait Implementations§

    source§

    impl Clone for Input

    source§

    fn clone(&self) -> Input

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Input

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Decode for Input

    source§

    fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Self, Error>

    Attempt to deserialise the value from input.
    §

    fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>
    where I: Input,

    Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
    §

    fn skip<I>(input: &mut I) -> Result<(), Error>
    where - I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    source§

    impl<'de> Deserialize<'de> for Input

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Encode for Input

    source§

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    source§

    fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    source§

    impl<'de> Deserialize<'de> for Input

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Encode for Input

    source§

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    source§

    fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )

    Convert self to a slice and append it to the destination.
    §

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    §

    fn using_encoded<R, F>(&self, f: F) -> R
    where - F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    source§

    impl PartialEq for Input

    source§

    fn eq(&self, other: &Input) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for Input

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl TypeInfo for Input

    §

    type Identity = Input

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    source§

    impl EncodeLike for Input

    source§

    impl Eq for Input

    source§

    impl StructuralPartialEq for Input

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Input

    §

    impl Send for Input

    §

    impl Sync for Input

    §

    impl Unpin for Input

    §

    impl UnwindSafe for Input

    Blanket Implementations§

    source§

    impl<T> Any for T
    where - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> Any for T
    where - T: Any,

    §

    fn into_any(self: Box<T>) -> Box<dyn Any>

    §

    fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

    §

    fn type_name(&self) -> &'static str

    §

    impl<T> AnySync for T
    where - T: Any + Send + Sync,

    §

    fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

    source§

    impl<T> Borrow<T> for T
    where + F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    source§

    impl PartialEq for Input

    source§

    fn eq(&self, other: &Input) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for Input

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl TypeInfo for Input

    §

    type Identity = Input

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    source§

    impl EncodeLike for Input

    source§

    impl Eq for Input

    source§

    impl StructuralPartialEq for Input

    Auto Trait Implementations§

    §

    impl Freeze for Input

    §

    impl RefUnwindSafe for Input

    §

    impl Send for Input

    §

    impl Sync for Input

    §

    impl Unpin for Input

    §

    impl UnwindSafe for Input

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CheckedConversion for T

    §

    fn checked_from<T>(t: T) -> Option<Self>
    where Self: TryFrom<T>,

    Convert from a value of T into an equivalent instance of Option<Self>. Read more
    §

    fn checked_into<T>(self) -> Option<T>
    where @@ -34,8 +33,8 @@ input: &mut &[u8] ) -> Result<T, Error>

    Decode Self and consume all of the given input data. Read more
    §

    fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
    where I: Input,

    Decode Self with the given maximum recursion depth and advance input by the number of -bytes consumed. Read more
    source§

    impl<T> DynClone for T
    where - T: Clone,

    source§

    fn __clone_box(&self, _: Private) -> *mut ()

    source§

    impl<Q, K> Equivalent<K> for Q
    where +bytes consumed. Read more

    source§

    impl<T> DynClone for T
    where + T: Clone,

    source§

    fn __clone_box(&self, _: Private) -> *mut ()

    source§

    impl<Q, K> Equivalent<K> for Q
    where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Q
    where Q: Eq + ?Sized, @@ -58,14 +57,21 @@ Debug-formatted.

    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where Self: UpperHex,

    Causes self to use its UpperHex implementation when Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where - &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + &'a Self: for<'a> IntoIterator,
    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where +

    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    @@ -136,9 +142,9 @@ T: ?Sized,
    Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
    source§

    impl<T> ToOwned for T
    where T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where - Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where T: Bounded, S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where @@ -146,8 +152,8 @@ S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    impl<S> Codec for S
    where - S: Decode + Encode,

    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> EncodeLike<&&T> for T
    where + S: Decode + Encode,

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> EncodeLike<&&T> for T
    where T: Encode,

    §

    impl<T> EncodeLike<&T> for T
    where T: Encode,

    §

    impl<T> EncodeLike<&mut T> for T
    where T: Encode,

    §

    impl<T> EncodeLike<Arc<T>> for T
    where @@ -159,7 +165,7 @@ S: Encode + EncodeLike,

    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeDebug for T
    where T: Debug,

    §

    impl<T> MaybeRefUnwindSafe for T
    where T: RefUnwindSafe,

    §

    impl<T> MaybeSerialize for T
    where - T: Serialize,

    §

    impl<T> MaybeSerializeDeserialize for T

    §

    impl<T> Member for T
    where + T: Serialize,

    §

    impl<T> MaybeSerializeDeserialize for T

    §

    impl<T> Member for T
    where T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

    §

    impl<T> StaticTypeInfo for T
    where T: TypeInfo + 'static,

    \ No newline at end of file diff --git a/tuxedo_core/types/struct.Output.html b/tuxedo_core/types/struct.Output.html index f1004db51..f0257c49a 100644 --- a/tuxedo_core/types/struct.Output.html +++ b/tuxedo_core/types/struct.Output.html @@ -1,41 +1,39 @@ -Output in tuxedo_core::types - Rust -

    Struct tuxedo_core::types::Output

    source ·
    pub struct Output<V> {
    +Output in tuxedo_core::types - Rust

    Struct tuxedo_core::types::Output

    source ·
    pub struct Output<V> {
         pub payload: DynamicallyTypedData,
         pub verifier: V,
     }
    Expand description

    An opaque piece of Transaction output data. This is how the data appears at the Runtime level. After the verifier is checked, strongly typed data will be extracted and passed to the constraint checker. In a cryptocurrency, the data represents a single coin. In Tuxedo, the type of the contained data is generic.

    -

    Fields§

    §payload: DynamicallyTypedData§verifier: V

    Trait Implementations§

    source§

    impl<V: Clone> Clone for Output<V>

    source§

    fn clone(&self) -> Output<V>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<V: Debug> Debug for Output<V>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<V> Decode for Output<V>
    where - V: Decode,

    source§

    fn decode<__CodecInputEdqy: Input>( +

    Fields§

    §payload: DynamicallyTypedData§verifier: V

    Trait Implementations§

    source§

    impl<V: Clone> Clone for Output<V>

    source§

    fn clone(&self) -> Output<V>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<V: Debug> Debug for Output<V>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<V> Decode for Output<V>
    where + V: Decode,

    source§

    fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Self, Error>

    Attempt to deserialise the value from input.
    §

    fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>
    where I: Input,

    Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
    §

    fn skip<I>(input: &mut I) -> Result<(), Error>
    where - I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    source§

    impl<'de, V> Deserialize<'de> for Output<V>
    where - V: Deserialize<'de>,

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<V> Encode for Output<V>
    where - V: Encode,

    source§

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    source§

    fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    source§

    impl<'de, V> Deserialize<'de> for Output<V>
    where + V: Deserialize<'de>,

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<V> Encode for Output<V>
    where + V: Encode,

    source§

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    source§

    fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )

    Convert self to a slice and append it to the destination.
    §

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    §

    fn using_encoded<R, F>(&self, f: F) -> R
    where - F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    source§

    impl<V, V1: Into<V>, P: Into<DynamicallyTypedData>> From<(P, V1)> for Output<V>

    source§

    fn from(values: (P, V1)) -> Self

    Converts to this type from the input type.
    source§

    impl<V: Default> From<DynamicallyTypedData> for Output<V>

    source§

    fn from(payload: DynamicallyTypedData) -> Self

    Converts to this type from the input type.
    source§

    impl<V: PartialEq> PartialEq for Output<V>

    source§

    fn eq(&self, other: &Output<V>) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl<V> Serialize for Output<V>
    where - V: Serialize,

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<V> TypeInfo for Output<V>
    where - V: TypeInfo + 'static,

    §

    type Identity = Output<V>

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    source§

    impl<V> EncodeLike for Output<V>
    where - V: Encode,

    source§

    impl<V: Eq> Eq for Output<V>

    source§

    impl<V> StructuralPartialEq for Output<V>

    Auto Trait Implementations§

    §

    impl<V> RefUnwindSafe for Output<V>
    where + F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    source§

    impl<V, V1: Into<V>, P: Into<DynamicallyTypedData>> From<(P, V1)> for Output<V>

    source§

    fn from(values: (P, V1)) -> Self

    Converts to this type from the input type.
    source§

    impl<V: Default> From<DynamicallyTypedData> for Output<V>

    source§

    fn from(payload: DynamicallyTypedData) -> Self

    Converts to this type from the input type.
    source§

    impl<V: PartialEq> PartialEq for Output<V>

    source§

    fn eq(&self, other: &Output<V>) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl<V> Serialize for Output<V>
    where + V: Serialize,

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<V> TypeInfo for Output<V>
    where + V: TypeInfo + 'static,

    §

    type Identity = Output<V>

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    source§

    impl<V> EncodeLike for Output<V>
    where + V: Encode,

    source§

    impl<V: Eq> Eq for Output<V>

    source§

    impl<V> StructuralPartialEq for Output<V>

    Auto Trait Implementations§

    §

    impl<V> Freeze for Output<V>
    where + V: Freeze,

    §

    impl<V> RefUnwindSafe for Output<V>
    where V: RefUnwindSafe,

    §

    impl<V> Send for Output<V>
    where V: Send,

    §

    impl<V> Sync for Output<V>
    where V: Sync,

    §

    impl<V> Unpin for Output<V>
    where V: Unpin,

    §

    impl<V> UnwindSafe for Output<V>
    where V: UnwindSafe,

    Blanket Implementations§

    source§

    impl<T> Any for T
    where - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> Any for T
    where - T: Any,

    §

    fn into_any(self: Box<T>) -> Box<dyn Any>

    §

    fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

    §

    fn type_name(&self) -> &'static str

    §

    impl<T> AnySync for T
    where - T: Any + Send + Sync,

    §

    fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

    source§

    impl<T> Borrow<T> for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CheckedConversion for T

    §

    fn checked_from<T>(t: T) -> Option<Self>
    where Self: TryFrom<T>,

    Convert from a value of T into an equivalent instance of Option<Self>. Read more
    §

    fn checked_into<T>(self) -> Option<T>
    where @@ -47,8 +45,8 @@ input: &mut &[u8] ) -> Result<T, Error>

    Decode Self and consume all of the given input data. Read more
    §

    fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
    where I: Input,

    Decode Self with the given maximum recursion depth and advance input by the number of -bytes consumed. Read more
    source§

    impl<T> DynClone for T
    where - T: Clone,

    source§

    fn __clone_box(&self, _: Private) -> *mut ()

    source§

    impl<Q, K> Equivalent<K> for Q
    where +bytes consumed. Read more

    source§

    impl<T> DynClone for T
    where + T: Clone,

    source§

    fn __clone_box(&self, _: Private) -> *mut ()

    source§

    impl<Q, K> Equivalent<K> for Q
    where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Q
    where Q: Eq + ?Sized, @@ -71,14 +69,21 @@ Debug-formatted.

    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where Self: UpperHex,

    Causes self to use its UpperHex implementation when Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where - &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + &'a Self: for<'a> IntoIterator,
    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where +

    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    @@ -149,9 +154,9 @@ T: ?Sized,
    Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
    source§

    impl<T> ToOwned for T
    where T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where - Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where T: Bounded, S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where @@ -159,8 +164,8 @@ S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    impl<S> Codec for S
    where - S: Decode + Encode,

    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> EncodeLike<&&T> for T
    where + S: Decode + Encode,

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> EncodeLike<&&T> for T
    where T: Encode,

    §

    impl<T> EncodeLike<&T> for T
    where T: Encode,

    §

    impl<T> EncodeLike<&mut T> for T
    where T: Encode,

    §

    impl<T> EncodeLike<Arc<T>> for T
    where @@ -172,7 +177,7 @@ S: Encode + EncodeLike,

    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeDebug for T
    where T: Debug,

    §

    impl<T> MaybeRefUnwindSafe for T
    where T: RefUnwindSafe,

    §

    impl<T> MaybeSerialize for T
    where - T: Serialize,

    §

    impl<T> MaybeSerializeDeserialize for T

    §

    impl<T> Member for T
    where + T: Serialize,

    §

    impl<T> MaybeSerializeDeserialize for T

    §

    impl<T> Member for T
    where T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

    §

    impl<T> StaticTypeInfo for T
    where T: TypeInfo + 'static,

    \ No newline at end of file diff --git a/tuxedo_core/types/struct.OutputRef.html b/tuxedo_core/types/struct.OutputRef.html index 16a758666..b1827f5d1 100644 --- a/tuxedo_core/types/struct.OutputRef.html +++ b/tuxedo_core/types/struct.OutputRef.html @@ -1,29 +1,26 @@ -OutputRef in tuxedo_core::types - Rust -
    pub struct OutputRef {
    +OutputRef in tuxedo_core::types - Rust

    Struct tuxedo_core::types::OutputRef

    source ·
    pub struct OutputRef {
         pub tx_hash: H256,
         pub index: u32,
     }
    Expand description

    A reference to a output that is expected to exist in the state.

    Fields§

    §tx_hash: H256

    A hash of the transaction that created this output

    §index: u32

    The index of this output among all outputs created by the same transaction

    -

    Trait Implementations§

    source§

    impl Clone for OutputRef

    source§

    fn clone(&self) -> OutputRef

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for OutputRef

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Decode for OutputRef

    source§

    fn decode<__CodecInputEdqy: Input>( +

    Trait Implementations§

    source§

    impl Clone for OutputRef

    source§

    fn clone(&self) -> OutputRef

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for OutputRef

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Decode for OutputRef

    source§

    fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Self, Error>

    Attempt to deserialise the value from input.
    §

    fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>
    where I: Input,

    Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
    §

    fn skip<I>(input: &mut I) -> Result<(), Error>
    where - I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    source§

    impl<'de> Deserialize<'de> for OutputRef

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Encode for OutputRef

    source§

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    source§

    fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    source§

    impl<'de> Deserialize<'de> for OutputRef

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Encode for OutputRef

    source§

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    source§

    fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )

    Convert self to a slice and append it to the destination.
    §

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    §

    fn using_encoded<R, F>(&self, f: F) -> R
    where - F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    source§

    impl PartialEq for OutputRef

    source§

    fn eq(&self, other: &OutputRef) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for OutputRef

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl TypeInfo for OutputRef

    §

    type Identity = OutputRef

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    source§

    impl EncodeLike for OutputRef

    source§

    impl Eq for OutputRef

    source§

    impl StructuralPartialEq for OutputRef

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> Any for T
    where - T: Any,

    §

    fn into_any(self: Box<T>) -> Box<dyn Any>

    §

    fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

    §

    fn type_name(&self) -> &'static str

    §

    impl<T> AnySync for T
    where - T: Any + Send + Sync,

    §

    fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

    source§

    impl<T> Borrow<T> for T
    where + F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    source§

    impl PartialEq for OutputRef

    source§

    fn eq(&self, other: &OutputRef) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for OutputRef

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl TypeInfo for OutputRef

    §

    type Identity = OutputRef

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    source§

    impl EncodeLike for OutputRef

    source§

    impl Eq for OutputRef

    source§

    impl StructuralPartialEq for OutputRef

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CheckedConversion for T

    §

    fn checked_from<T>(t: T) -> Option<Self>
    where Self: TryFrom<T>,

    Convert from a value of T into an equivalent instance of Option<Self>. Read more
    §

    fn checked_into<T>(self) -> Option<T>
    where @@ -35,8 +32,8 @@ input: &mut &[u8] ) -> Result<T, Error>

    Decode Self and consume all of the given input data. Read more
    §

    fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
    where I: Input,

    Decode Self with the given maximum recursion depth and advance input by the number of -bytes consumed. Read more
    source§

    impl<T> DynClone for T
    where - T: Clone,

    source§

    fn __clone_box(&self, _: Private) -> *mut ()

    source§

    impl<Q, K> Equivalent<K> for Q
    where +bytes consumed. Read more

    source§

    impl<T> DynClone for T
    where + T: Clone,

    source§

    fn __clone_box(&self, _: Private) -> *mut ()

    source§

    impl<Q, K> Equivalent<K> for Q
    where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Q
    where Q: Eq + ?Sized, @@ -59,14 +56,21 @@ Debug-formatted.

    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where Self: UpperHex,

    Causes self to use its UpperHex implementation when Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where - &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + &'a Self: for<'a> IntoIterator,
    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where +

    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    @@ -137,9 +141,9 @@ T: ?Sized,
    Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
    source§

    impl<T> ToOwned for T
    where T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where - Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where T: Bounded, S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where @@ -147,8 +151,8 @@ S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    impl<S> Codec for S
    where - S: Decode + Encode,

    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> EncodeLike<&&T> for T
    where + S: Decode + Encode,

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> EncodeLike<&&T> for T
    where T: Encode,

    §

    impl<T> EncodeLike<&T> for T
    where T: Encode,

    §

    impl<T> EncodeLike<&mut T> for T
    where T: Encode,

    §

    impl<T> EncodeLike<Arc<T>> for T
    where @@ -160,7 +164,7 @@ S: Encode + EncodeLike,

    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeDebug for T
    where T: Debug,

    §

    impl<T> MaybeRefUnwindSafe for T
    where T: RefUnwindSafe,

    §

    impl<T> MaybeSerialize for T
    where - T: Serialize,

    §

    impl<T> MaybeSerializeDeserialize for T

    §

    impl<T> Member for T
    where + T: Serialize,

    §

    impl<T> MaybeSerializeDeserialize for T

    §

    impl<T> Member for T
    where T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

    §

    impl<T> StaticTypeInfo for T
    where T: TypeInfo + 'static,

    \ No newline at end of file diff --git a/tuxedo_core/types/struct.Transaction.html b/tuxedo_core/types/struct.Transaction.html index 6fe1a95bf..b986ba92b 100644 --- a/tuxedo_core/types/struct.Transaction.html +++ b/tuxedo_core/types/struct.Transaction.html @@ -1,5 +1,4 @@ -Transaction in tuxedo_core::types - Rust -
    pub struct Transaction<V, C> {
    +Transaction in tuxedo_core::types - Rust

    Struct tuxedo_core::types::Transaction

    source ·
    pub struct Transaction<V, C> {
         pub inputs: Vec<Input>,
         pub peeks: Vec<OutputRef>,
         pub outputs: Vec<Output<V>>,
    @@ -22,30 +21,31 @@
     
    §peeks: Vec<OutputRef>

    Existing state to be read, but not consumed, from storage

    §outputs: Vec<Output<V>>

    New state to be placed into storage

    §checker: C

    Which piece of constraint checking logic is used to determine whether this transaction is valid

    -

    Implementations§

    source§

    impl<V: Clone, C: Clone> Transaction<V, C>

    source

    pub fn transform<D: From<C>>(&self) -> Transaction<V, D>

    A helper function for transforming a transaction generic over one +

    Implementations§

    source§

    impl<V: Clone, C: Clone> Transaction<V, C>

    source

    pub fn transform<D: From<C>>(&self) -> Transaction<V, D>

    A helper function for transforming a transaction generic over one kind of constraint checker into a transaction generic over another type of constraint checker. This is useful when moving up and down the aggregation tree.

    -

    Trait Implementations§

    source§

    impl<V: Clone, C: Clone> Clone for Transaction<V, C>

    source§

    fn clone(&self) -> Transaction<V, C>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<V: Debug, C: Debug> Debug for Transaction<V, C>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<V: Decode, C: Decode> Decode for Transaction<V, C>

    source§

    fn decode<I: Input>(input: &mut I) -> Result<Self, Error>

    Attempt to deserialise the value from input.
    §

    fn decode_into<I>( +

    Trait Implementations§

    source§

    impl<V: Clone, C: Clone> Clone for Transaction<V, C>

    source§

    fn clone(&self) -> Transaction<V, C>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<V: Debug, C: Debug> Debug for Transaction<V, C>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<V: Decode, C: Decode> Decode for Transaction<V, C>

    source§

    fn decode<I: Input>(input: &mut I) -> Result<Self, Error>

    Attempt to deserialise the value from input.
    §

    fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>
    where I: Input,

    Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
    §

    fn skip<I>(input: &mut I) -> Result<(), Error>
    where - I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    source§

    impl<V: Default, C: Default> Default for Transaction<V, C>

    source§

    fn default() -> Transaction<V, C>

    Returns the “default value” for a type. Read more
    source§

    impl<'de, V, C> Deserialize<'de> for Transaction<V, C>
    where - V: Deserialize<'de>, - C: Deserialize<'de>,

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<V: Encode, C: Encode> Encode for Transaction<V, C>

    source§

    fn encode_to<T: Output + ?Sized>(&self, dest: &mut T)

    Convert self to a slice and append it to the destination.
    §

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    §

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    §

    fn using_encoded<R, F>(&self, f: F) -> R
    where - F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    source§

    impl<V, C> Extrinsic for Transaction<V, C>
    where - C: TypeInfo + ConstraintChecker<V> + 'static, - V: TypeInfo + Verifier + 'static,

    §

    type Call = Transaction<V, C>

    The function call.
    §

    type SignaturePayload = ()

    The payload we carry for signed extrinsics. Read more
    source§

    fn new(data: Self, _: Option<Self::SignaturePayload>) -> Option<Self>

    Create new instance of the extrinsic. Read more
    source§

    fn is_signed(&self) -> Option<bool>

    Is this Extrinsic signed? -If no information are available about signed/unsigned, None should be returned.
    source§

    impl<V: PartialEq, C: PartialEq> PartialEq for Transaction<V, C>

    source§

    fn eq(&self, other: &Transaction<V, C>) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl<V, C> Serialize for Transaction<V, C>
    where - V: Serialize, - C: Serialize,

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<V, C> TypeInfo for Transaction<V, C>
    where + I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    source§

    impl<V: Default, C: Default> Default for Transaction<V, C>

    source§

    fn default() -> Transaction<V, C>

    Returns the “default value” for a type. Read more
    source§

    impl<'de, V, C> Deserialize<'de> for Transaction<V, C>
    where + V: Deserialize<'de>, + C: Deserialize<'de>,

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<V: Encode, C: Encode> Encode for Transaction<V, C>

    source§

    fn encode_to<T: Output + ?Sized>(&self, dest: &mut T)

    Convert self to a slice and append it to the destination.
    §

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    §

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    §

    fn using_encoded<R, F>(&self, f: F) -> R
    where + F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    source§

    impl<V, C> Extrinsic for Transaction<V, C>
    where + C: TypeInfo + ConstraintChecker + 'static, + V: TypeInfo + Verifier + 'static,

    §

    type Call = Transaction<V, C>

    The function call.
    §

    type SignaturePayload = ()

    The payload we carry for signed extrinsics. Read more
    source§

    fn new(data: Self, _: Option<Self::SignaturePayload>) -> Option<Self>

    Create new instance of the extrinsic. Read more
    source§

    fn is_signed(&self) -> Option<bool>

    Is this Extrinsic signed? +If no information are available about signed/unsigned, None should be returned.
    source§

    impl<V: PartialEq, C: PartialEq> PartialEq for Transaction<V, C>

    source§

    fn eq(&self, other: &Transaction<V, C>) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl<V, C> Serialize for Transaction<V, C>
    where + V: Serialize, + C: Serialize,

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<V, C> TypeInfo for Transaction<V, C>
    where Vec<Output<V>>: TypeInfo + 'static, C: TypeInfo + 'static, - V: TypeInfo + 'static,

    §

    type Identity = Transaction<V, C>

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    source§

    impl<V: Eq, C: Eq> Eq for Transaction<V, C>

    source§

    impl<V, C> StructuralPartialEq for Transaction<V, C>

    Auto Trait Implementations§

    §

    impl<V, C> RefUnwindSafe for Transaction<V, C>
    where + V: TypeInfo + 'static,

    §

    type Identity = Transaction<V, C>

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    source§

    impl<V: Eq, C: Eq> Eq for Transaction<V, C>

    source§

    impl<V, C> StructuralPartialEq for Transaction<V, C>

    Auto Trait Implementations§

    §

    impl<V, C> Freeze for Transaction<V, C>
    where + C: Freeze,

    §

    impl<V, C> RefUnwindSafe for Transaction<V, C>

    §

    impl<V, C> Send for Transaction<V, C>
    where C: Send, @@ -56,9 +56,7 @@ V: Unpin,

    §

    impl<V, C> UnwindSafe for Transaction<V, C>
    where C: UnwindSafe, V: UnwindSafe,

    Blanket Implementations§

    source§

    impl<T> Any for T
    where - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> Any for T
    where - T: Any,

    §

    fn into_any(self: Box<T>) -> Box<dyn Any>

    §

    fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

    §

    fn type_name(&self) -> &'static str

    §

    impl<T> AnySync for T
    where - T: Any + Send + Sync,

    §

    fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

    source§

    impl<T> Borrow<T> for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CheckedConversion for T

    §

    fn checked_from<T>(t: T) -> Option<Self>
    where Self: TryFrom<T>,

    Convert from a value of T into an equivalent instance of Option<Self>. Read more
    §

    fn checked_into<T>(self) -> Option<T>
    where @@ -71,8 +69,8 @@ input: &mut &[u8] ) -> Result<T, Error>

    Decode Self and consume all of the given input data. Read more
    §

    fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
    where I: Input,

    Decode Self with the given maximum recursion depth and advance input by the number of -bytes consumed. Read more
    source§

    impl<T> DynClone for T
    where - T: Clone,

    source§

    fn __clone_box(&self, _: Private) -> *mut ()

    source§

    impl<Q, K> Equivalent<K> for Q
    where +bytes consumed. Read more

    source§

    impl<T> DynClone for T
    where + T: Clone,

    source§

    fn __clone_box(&self, _: Private) -> *mut ()

    source§

    impl<Q, K> Equivalent<K> for Q
    where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Q
    where Q: Eq + ?Sized, @@ -95,14 +93,21 @@ Debug-formatted.

    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where Self: UpperHex,

    Causes self to use its UpperHex implementation when Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where - &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + &'a Self: for<'a> IntoIterator,
    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where +

    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    @@ -173,9 +178,9 @@ T: ?Sized,
    Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
    source§

    impl<T> ToOwned for T
    where T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where - Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where T: Bounded, S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where @@ -183,8 +188,8 @@ S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    impl<S> Codec for S
    where - S: Decode + Encode,

    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> EncodeLike<&&T> for T
    where + S: Decode + Encode,

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> EncodeLike<&&T> for T
    where T: Encode,

    §

    impl<T> EncodeLike<&T> for T
    where T: Encode,

    §

    impl<T> EncodeLike<&mut T> for T
    where T: Encode,

    §

    impl<T> EncodeLike<Arc<T>> for T
    where @@ -194,7 +199,7 @@ T: Encode,

    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeDebug for T
    where T: Debug,

    §

    impl<T> MaybeRefUnwindSafe for T
    where T: RefUnwindSafe,

    §

    impl<T> MaybeSerialize for T
    where - T: Serialize,

    §

    impl<T> MaybeSerializeDeserialize for T

    §

    impl<T> Member for T
    where + T: Serialize,

    §

    impl<T> MaybeSerializeDeserialize for T

    §

    impl<T> Member for T
    where T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

    §

    impl<T> StaticTypeInfo for T
    where T: TypeInfo + 'static,

    \ No newline at end of file diff --git a/tuxedo_core/types/type.Block.html b/tuxedo_core/types/type.Block.html new file mode 100644 index 000000000..85f714096 --- /dev/null +++ b/tuxedo_core/types/type.Block.html @@ -0,0 +1,7 @@ +Block in tuxedo_core::types - Rust

    Type Alias tuxedo_core::types::Block

    source ·
    pub type Block<V, C> = Block<Header, Transaction<V, C>>;
    Expand description

    An alias for a Tuxedo block with all the common parts filled in.

    +

    Aliased Type§

    struct Block<V, C> {
    +    pub header: Header<u32, BlakeTwo256>,
    +    pub extrinsics: Vec<Transaction<V, C>>,
    +}

    Fields§

    §header: Header<u32, BlakeTwo256>

    The block header.

    +
    §extrinsics: Vec<Transaction<V, C>>

    The accompanying extrinsics.

    +
    \ No newline at end of file diff --git a/tuxedo_core/types/type.BlockNumber.html b/tuxedo_core/types/type.BlockNumber.html new file mode 100644 index 000000000..b618dd500 --- /dev/null +++ b/tuxedo_core/types/type.BlockNumber.html @@ -0,0 +1,2 @@ +BlockNumber in tuxedo_core::types - Rust

    Type Alias tuxedo_core::types::BlockNumber

    source ·
    pub type BlockNumber = u32;
    Expand description

    All Tuxedo chains use the same u32 BlockNumber.

    +
    \ No newline at end of file diff --git a/tuxedo_core/types/type.DispatchResult.html b/tuxedo_core/types/type.DispatchResult.html index 60f5328b7..a42b4876c 100644 --- a/tuxedo_core/types/type.DispatchResult.html +++ b/tuxedo_core/types/type.DispatchResult.html @@ -1,8 +1,7 @@ -DispatchResult in tuxedo_core::types - Rust -

    Type Alias tuxedo_core::types::DispatchResult

    source ·
    pub type DispatchResult<VerifierError> = Result<(), UtxoError<VerifierError>>;
    Expand description

    The Result of dispatching a UTXO transaction.

    -

    Aliased Type§

    enum DispatchResult<VerifierError> {
    +DispatchResult in tuxedo_core::types - Rust

    Type Alias tuxedo_core::types::DispatchResult

    source ·
    pub type DispatchResult<ConstraintCheckerError> = Result<(), UtxoError<ConstraintCheckerError>>;
    Expand description

    The Result of dispatching a UTXO transaction.

    +

    Aliased Type§

    enum DispatchResult<ConstraintCheckerError> {
         Ok(()),
    -    Err(UtxoError<VerifierError>),
    +    Err(UtxoError<ConstraintCheckerError>),
     }

    Variants§

    §1.0.0

    Ok(())

    Contains the success value

    -
    §1.0.0

    Err(UtxoError<VerifierError>)

    Contains the error value

    +
    §1.0.0

    Err(UtxoError<ConstraintCheckerError>)

    Contains the error value

    \ No newline at end of file diff --git a/tuxedo_core/types/type.Hash.html b/tuxedo_core/types/type.Hash.html new file mode 100644 index 000000000..3cf7f830f --- /dev/null +++ b/tuxedo_core/types/type.Hash.html @@ -0,0 +1 @@ +Hash in tuxedo_core::types - Rust

    Type Alias tuxedo_core::types::Hash

    source ·
    pub type Hash = BlakeTwo256;

    Aliased Type§

    struct Hash;
    \ No newline at end of file diff --git a/tuxedo_core/types/type.Header.html b/tuxedo_core/types/type.Header.html new file mode 100644 index 000000000..42a54d892 --- /dev/null +++ b/tuxedo_core/types/type.Header.html @@ -0,0 +1,14 @@ +Header in tuxedo_core::types - Rust

    Type Alias tuxedo_core::types::Header

    source ·
    pub type Header = Header<BlockNumber, Hash>;
    Expand description

    Because all tuxedo chains use the same Blocknumber and Hash types, +they also use the same concrete header type.

    +

    Aliased Type§

    struct Header {
    +    pub parent_hash: H256,
    +    pub number: u32,
    +    pub state_root: H256,
    +    pub extrinsics_root: H256,
    +    pub digest: Digest,
    +}

    Fields§

    §parent_hash: H256

    The parent hash.

    +
    §number: u32

    The block number.

    +
    §state_root: H256

    The state trie merkle root

    +
    §extrinsics_root: H256

    The merkle root of the extrinsics.

    +
    §digest: Digest

    A chain-specific digest of data useful for light clients or referencing auxiliary data.

    +
    \ No newline at end of file diff --git a/tuxedo_core/types/type.OpaqueBlock.html b/tuxedo_core/types/type.OpaqueBlock.html new file mode 100644 index 000000000..b2ca5230e --- /dev/null +++ b/tuxedo_core/types/type.OpaqueBlock.html @@ -0,0 +1,7 @@ +OpaqueBlock in tuxedo_core::types - Rust

    Type Alias tuxedo_core::types::OpaqueBlock

    source ·
    pub type OpaqueBlock = Block<Header, OpaqueExtrinsic>;
    Expand description

    Opaque block type. It has a Standard Tuxedo header, and opaque transactions.

    +

    Aliased Type§

    struct OpaqueBlock {
    +    pub header: Header<u32, BlakeTwo256>,
    +    pub extrinsics: Vec<OpaqueExtrinsic>,
    +}

    Fields§

    §header: Header<u32, BlakeTwo256>

    The block header.

    +
    §extrinsics: Vec<OpaqueExtrinsic>

    The accompanying extrinsics.

    +
    \ No newline at end of file diff --git a/tuxedo_core/types/type.OpaqueHash.html b/tuxedo_core/types/type.OpaqueHash.html new file mode 100644 index 000000000..c9b052f7f --- /dev/null +++ b/tuxedo_core/types/type.OpaqueHash.html @@ -0,0 +1,2 @@ +OpaqueHash in tuxedo_core::types - Rust

    Type Alias tuxedo_core::types::OpaqueHash

    source ·
    pub type OpaqueHash = <Hash as HashT>::Output;
    Expand description

    Opaque block hash type.

    +
    \ No newline at end of file diff --git a/tuxedo_core/utxo_set/index.html b/tuxedo_core/utxo_set/index.html index e7a93a9f7..97d921a56 100644 --- a/tuxedo_core/utxo_set/index.html +++ b/tuxedo_core/utxo_set/index.html @@ -1,5 +1,4 @@ -tuxedo_core::utxo_set - Rust -

    Module tuxedo_core::utxo_set

    source ·
    Expand description

    For now this is a higher level description of the default UTXO set features which Tuxedo +tuxedo_core::utxo_set - Rust

    Module tuxedo_core::utxo_set

    source ·
    Expand description

    For now this is a higher level description of the default UTXO set features which Tuxedo chooses to use. Future UTXO sets could take a different form especially if being used for Zero-Knowledge. In the future it may likely be abstracted into a trait to support various UTXO set types.

    diff --git a/tuxedo_core/utxo_set/struct.TransparentUtxoSet.html b/tuxedo_core/utxo_set/struct.TransparentUtxoSet.html index 5a4f9a1de..ce692cd00 100644 --- a/tuxedo_core/utxo_set/struct.TransparentUtxoSet.html +++ b/tuxedo_core/utxo_set/struct.TransparentUtxoSet.html @@ -1,18 +1,15 @@ -TransparentUtxoSet in tuxedo_core::utxo_set - Rust -
    pub struct TransparentUtxoSet<Verifier>(/* private fields */);

    Implementations§

    source§

    impl<V: Verifier> TransparentUtxoSet<V>

    source

    pub fn peek_utxo(output_ref: &OutputRef) -> Option<Output<V>>

    Fetch a utxo from the set.

    +TransparentUtxoSet in tuxedo_core::utxo_set - Rust

    Struct tuxedo_core::utxo_set::TransparentUtxoSet

    source ·
    pub struct TransparentUtxoSet<Verifier>(/* private fields */);

    Implementations§

    source§

    impl<V: Verifier> TransparentUtxoSet<V>

    source

    pub fn peek_utxo(output_ref: &OutputRef) -> Option<Output<V>>

    Fetch a utxo from the set.

    source

    pub fn consume_utxo(output_ref: &OutputRef) -> Option<Output<V>>

    Consume a Utxo from the set.

    source

    pub fn store_utxo(output_ref: OutputRef, output: &Output<V>)

    Add a utxo into the set. This will overwrite any utxo that already exists at this OutputRef. It should never be the case that there are collisions though. Right??

    -

    Auto Trait Implementations§

    §

    impl<Verifier> RefUnwindSafe for TransparentUtxoSet<Verifier>
    where +

    Auto Trait Implementations§

    §

    impl<Verifier> Freeze for TransparentUtxoSet<Verifier>

    §

    impl<Verifier> RefUnwindSafe for TransparentUtxoSet<Verifier>
    where Verifier: RefUnwindSafe,

    §

    impl<Verifier> Send for TransparentUtxoSet<Verifier>
    where Verifier: Send,

    §

    impl<Verifier> Sync for TransparentUtxoSet<Verifier>
    where Verifier: Sync,

    §

    impl<Verifier> Unpin for TransparentUtxoSet<Verifier>
    where Verifier: Unpin,

    §

    impl<Verifier> UnwindSafe for TransparentUtxoSet<Verifier>
    where Verifier: UnwindSafe,

    Blanket Implementations§

    source§

    impl<T> Any for T
    where - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> Any for T
    where - T: Any,

    §

    fn into_any(self: Box<T>) -> Box<dyn Any>

    §

    fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

    §

    fn type_name(&self) -> &'static str

    §

    impl<T> AnySync for T
    where - T: Any + Send + Sync,

    §

    fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

    source§

    impl<T> Borrow<T> for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CheckedConversion for T

    §

    fn checked_from<T>(t: T) -> Option<Self>
    where Self: TryFrom<T>,

    Convert from a value of T into an equivalent instance of Option<Self>. Read more
    §

    fn checked_into<T>(self) -> Option<T>
    where @@ -32,14 +29,21 @@ Debug-formatted.

    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where Self: UpperHex,

    Causes self to use its UpperHex implementation when Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where - &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + &'a Self: for<'a> IntoIterator,
    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where +

    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    @@ -108,9 +112,9 @@ Self: DerefMut<Target = T> + Deref, T: ?Sized,
    Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where - Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where T: Bounded, S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where diff --git a/tuxedo_core/verifier/htlc/struct.BlakeTwoHashLock.html b/tuxedo_core/verifier/htlc/struct.BlakeTwoHashLock.html new file mode 100644 index 000000000..1d044c2dd --- /dev/null +++ b/tuxedo_core/verifier/htlc/struct.BlakeTwoHashLock.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

    Redirecting to ../../../tuxedo_core/verifier/struct.BlakeTwoHashLock.html...

    + + + \ No newline at end of file diff --git a/tuxedo_core/verifier/htlc/struct.TimeLock.html b/tuxedo_core/verifier/htlc/struct.TimeLock.html new file mode 100644 index 000000000..a003a9340 --- /dev/null +++ b/tuxedo_core/verifier/htlc/struct.TimeLock.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

    Redirecting to ../../../tuxedo_core/verifier/struct.TimeLock.html...

    + + + \ No newline at end of file diff --git a/tuxedo_core/verifier/index.html b/tuxedo_core/verifier/index.html index 0421102e9..5b7cbf1eb 100644 --- a/tuxedo_core/verifier/index.html +++ b/tuxedo_core/verifier/index.html @@ -1,15 +1,16 @@ -tuxedo_core::verifier - Rust -

    Module tuxedo_core::verifier

    source ·
    Expand description

    A verifier is a piece of logic that determines whether an input can be consumed in a given context. +tuxedo_core::verifier - Rust

    Module tuxedo_core::verifier

    source ·
    Expand description

    A verifier is a piece of logic that determines whether an input can be consumed in a given context. Because there are multiple reasonable ways to make this decision, we expose a trait to encapsulate the various options. Each runtime will choose to make one or more verifiers available to its users and they will be aggregated into an enum. The most common and useful verifiers are included here with Tuxedo core, but downstream developers are expected to create their own as well.

    -

    Structs§

    • Combination of a signature plus and index so that the signer can specify which -index this signature pertains too of the available signatories for a ThresholdMultiSignature
    • A typical verifier that checks an sr25519 signature
    • A testing verifier that passes or depending on the enclosed -boolean value.
    • A Threshold multisignature. Some number of member signatories collectively own inputs -guarded by this verifier. A valid redeemer must supply valid signatures by at least -threshold of the signatories. If the threshold is greater than the number of signatories -the input can never be consumed.
    • A simple verifier that allows anyone to consume an output at any time

    Traits§

    • A means of checking that an output can be verified (aka spent). This check is made on a +

    Structs§

    • Allows UTXOs to be spent when a preimage to a recorded hash is provided. +This could be used as a puzzle (although a partial preimage search would be better) +or a means of sharing a password, or as part of a simple atomic swapping protocol.
    • Pay To Public Key Hash (P2PKH)
    • Require a signature from the private key corresponding to the given public key. +This is the simplest way to require a signature. If you prefer not to expose the +public key until spend time, use P2PKH instead.
    • A testing verifier that passes or depending on the enclosed +boolean value.
    • Allows UTXOs to be spent after a certain block height has been reached. +This is useful for locking up tokens as a future investment. Timelocking +also form the basis of timeout paths in swapping protocols.
    • A simple verifier that allows no one to consume an output ever.
    • A simple verifier that allows anyone to consume an output at any time

    Traits§

    • A means of checking that an output can be spent. This check is made on a per-output basis and neither knows nor cares anything about the validation logic that will be applied to the transaction as a whole. Nonetheless, in order to avoid malleability, we we take the entire stripped and serialized transaction as a parameter.
    \ No newline at end of file diff --git a/tuxedo_core/verifier/multi_signature/struct.ThresholdMultiSignature.html b/tuxedo_core/verifier/multi_signature/struct.ThresholdMultiSignature.html new file mode 100644 index 000000000..f632caf9d --- /dev/null +++ b/tuxedo_core/verifier/multi_signature/struct.ThresholdMultiSignature.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

    Redirecting to ../../../tuxedo_core/verifier/struct.ThresholdMultiSignature.html...

    + + + \ No newline at end of file diff --git a/tuxedo_core/verifier/sidebar-items.js b/tuxedo_core/verifier/sidebar-items.js index 1cf7a633d..d426a2346 100644 --- a/tuxedo_core/verifier/sidebar-items.js +++ b/tuxedo_core/verifier/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"struct":["SignatureAndIndex","Sr25519Signature","TestVerifier","ThresholdMultiSignature","UpForGrabs"],"trait":["Verifier"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"struct":["BlakeTwoHashLock","P2PKH","Sr25519Signature","TestVerifier","ThresholdMultiSignature","TimeLock","Unspendable","UpForGrabs"],"trait":["Verifier"]}; \ No newline at end of file diff --git a/tuxedo_core/verifier/simple_signature/struct.P2PKH.html b/tuxedo_core/verifier/simple_signature/struct.P2PKH.html new file mode 100644 index 000000000..6a919111e --- /dev/null +++ b/tuxedo_core/verifier/simple_signature/struct.P2PKH.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

    Redirecting to ../../../tuxedo_core/verifier/struct.P2PKH.html...

    + + + \ No newline at end of file diff --git a/tuxedo_core/verifier/simple_signature/struct.Sr25519Signature.html b/tuxedo_core/verifier/simple_signature/struct.Sr25519Signature.html new file mode 100644 index 000000000..7fdd502c8 --- /dev/null +++ b/tuxedo_core/verifier/simple_signature/struct.Sr25519Signature.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

    Redirecting to ../../../tuxedo_core/verifier/struct.Sr25519Signature.html...

    + + + \ No newline at end of file diff --git a/tuxedo_core/verifier/struct.BlakeTwoHashLock.html b/tuxedo_core/verifier/struct.BlakeTwoHashLock.html new file mode 100644 index 000000000..6dcca03e0 --- /dev/null +++ b/tuxedo_core/verifier/struct.BlakeTwoHashLock.html @@ -0,0 +1,173 @@ +BlakeTwoHashLock in tuxedo_core::verifier - Rust

    Struct tuxedo_core::verifier::BlakeTwoHashLock

    source ·
    pub struct BlakeTwoHashLock {
    +    pub hash_lock: H256,
    +}
    Expand description

    Allows UTXOs to be spent when a preimage to a recorded hash is provided. +This could be used as a puzzle (although a partial preimage search would be better) +or a means of sharing a password, or as part of a simple atomic swapping protocol.

    +

    Fields§

    §hash_lock: H256

    Implementations§

    Trait Implementations§

    source§

    impl Clone for BlakeTwoHashLock

    source§

    fn clone(&self) -> BlakeTwoHashLock

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for BlakeTwoHashLock

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Decode for BlakeTwoHashLock

    source§

    fn decode<__CodecInputEdqy: Input>( + __codec_input_edqy: &mut __CodecInputEdqy +) -> Result<Self, Error>

    Attempt to deserialise the value from input.
    §

    fn decode_into<I>( + input: &mut I, + dst: &mut MaybeUninit<Self> +) -> Result<DecodeFinished, Error>
    where + I: Input,

    Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
    §

    fn skip<I>(input: &mut I) -> Result<(), Error>
    where + I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    source§

    impl<'de> Deserialize<'de> for BlakeTwoHashLock

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Encode for BlakeTwoHashLock

    source§

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    source§

    fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + &self, + __codec_dest_edqy: &mut __CodecOutputEdqy +)

    Convert self to a slice and append it to the destination.
    source§

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    source§

    fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback: FnOnce(&[u8]) -> __CodecOutputReturn>( + &self, + f: __CodecUsingEncodedCallback +) -> __CodecOutputReturn

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    source§

    impl PartialEq for BlakeTwoHashLock

    source§

    fn eq(&self, other: &BlakeTwoHashLock) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for BlakeTwoHashLock

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl TypeInfo for BlakeTwoHashLock

    §

    type Identity = BlakeTwoHashLock

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    source§

    impl Verifier for BlakeTwoHashLock

    §

    type Redeemer = Vec<u8>

    The type that will be supplied to satisfy the verifier and redeem the UTXO.
    source§

    fn verify(&self, _: &[u8], _: u32, secret: &Self::Redeemer) -> bool

    Main function in the trait. Does the checks to make sure an output can be spent.
    source§

    fn new_unspendable() -> Option<Self>

    A way to create a new instance of the verifier whose semantics cannot be spent. +This may be a signature check with a pubkey of 0 or a hashlock with a hash o 0 +or a bitcoin script that directly returns false, etc. Read more
    source§

    impl EncodeLike for BlakeTwoHashLock

    source§

    impl Eq for BlakeTwoHashLock

    source§

    impl StructuralPartialEq for BlakeTwoHashLock

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CheckedConversion for T

    §

    fn checked_from<T>(t: T) -> Option<Self>
    where + Self: TryFrom<T>,

    Convert from a value of T into an equivalent instance of Option<Self>. Read more
    §

    fn checked_into<T>(self) -> Option<T>
    where + Self: TryInto<T>,

    Consume self to return Some equivalent value of Option<T>. Read more
    §

    impl<T> Conv for T

    §

    fn conv<T>(self) -> T
    where + Self: Into<T>,

    Converts self into T using Into<T>. Read more
    §

    impl<T> DecodeAll for T
    where + T: Decode,

    §

    fn decode_all(input: &mut &[u8]) -> Result<T, Error>

    Decode Self and consume all of the given input data. Read more
    §

    impl<T> DecodeLimit for T
    where + T: Decode,

    §

    fn decode_all_with_depth_limit( + limit: u32, + input: &mut &[u8] +) -> Result<T, Error>

    Decode Self and consume all of the given input data. Read more
    §

    fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
    where + I: Input,

    Decode Self with the given maximum recursion depth and advance input by the number of +bytes consumed. Read more
    source§

    impl<T> DynClone for T
    where + T: Clone,

    source§

    fn __clone_box(&self, _: Private) -> *mut ()

    source§

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<T> FmtForward for T

    §

    fn fmt_binary(self) -> FmtBinary<Self>
    where + Self: Binary,

    Causes self to use its Binary implementation when Debug-formatted.
    §

    fn fmt_display(self) -> FmtDisplay<Self>
    where + Self: Display,

    Causes self to use its Display implementation when +Debug-formatted.
    §

    fn fmt_lower_exp(self) -> FmtLowerExp<Self>
    where + Self: LowerExp,

    Causes self to use its LowerExp implementation when +Debug-formatted.
    §

    fn fmt_lower_hex(self) -> FmtLowerHex<Self>
    where + Self: LowerHex,

    Causes self to use its LowerHex implementation when +Debug-formatted.
    §

    fn fmt_octal(self) -> FmtOctal<Self>
    where + Self: Octal,

    Causes self to use its Octal implementation when Debug-formatted.
    §

    fn fmt_pointer(self) -> FmtPointer<Self>
    where + Self: Pointer,

    Causes self to use its Pointer implementation when +Debug-formatted.
    §

    fn fmt_upper_exp(self) -> FmtUpperExp<Self>
    where + Self: UpperExp,

    Causes self to use its UpperExp implementation when +Debug-formatted.
    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where + Self: UpperHex,

    Causes self to use its UpperHex implementation when +Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where + &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

    That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

    +
    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where + Outer: AsRef<T> + AsMut<T> + From<T>, + T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    +
    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    +
    §

    impl<T> KeyedVec for T
    where + T: Codec,

    §

    fn to_keyed_vec(&self, prepend_key: &[u8]) -> Vec<u8>

    Return an encoding of Self prepended by given slice.
    §

    impl<T> Pipe for T
    where + T: ?Sized,

    §

    fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
    where + Self: Sized,

    Pipes by value. This is generally the method you want to use. Read more
    §

    fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
    where + R: 'a,

    Borrows self and passes that borrow into the pipe function. Read more
    §

    fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
    where + R: 'a,

    Mutably borrows self and passes that borrow into the pipe function. Read more
    §

    fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
    where + Self: Borrow<B>, + B: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.borrow() into the pipe function. Read more
    §

    fn pipe_borrow_mut<'a, B, R>( + &'a mut self, + func: impl FnOnce(&'a mut B) -> R +) -> R
    where + Self: BorrowMut<B>, + B: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.borrow_mut() into the pipe +function. Read more
    §

    fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
    where + Self: AsRef<U>, + U: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.as_ref() into the pipe function.
    §

    fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
    where + Self: AsMut<U>, + U: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.as_mut() into the pipe +function.
    §

    fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
    where + Self: Deref<Target = T>, + T: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.deref() into the pipe function.
    §

    fn pipe_deref_mut<'a, T, R>( + &'a mut self, + func: impl FnOnce(&'a mut T) -> R +) -> R
    where + Self: DerefMut<Target = T> + Deref, + T: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.deref_mut() into the pipe +function.
    §

    impl<T> Pointable for T

    §

    const ALIGN: usize = _

    The alignment of pointer.
    §

    type Init = T

    The type for initializers.
    §

    unsafe fn init(init: <T as Pointable>::Init) -> usize

    Initializes a with the given initializer. Read more
    §

    unsafe fn deref<'a>(ptr: usize) -> &'a T

    Dereferences the given pointer. Read more
    §

    unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

    Mutably dereferences the given pointer. Read more
    §

    unsafe fn drop(ptr: usize)

    Drops the object pointed to by the given pointer. Read more
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    §

    impl<T> SaturatedConversion for T

    §

    fn saturated_from<T>(t: T) -> Self
    where + Self: UniqueSaturatedFrom<T>,

    Convert from a value of T into an equivalent instance of Self. Read more
    §

    fn saturated_into<T>(self) -> T
    where + Self: UniqueSaturatedInto<T>,

    Consume self to return an equivalent value of T. Read more
    §

    impl<T> Tap for T

    §

    fn tap(self, func: impl FnOnce(&Self)) -> Self

    Immutable access to a value. Read more
    §

    fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

    Mutable access to a value. Read more
    §

    fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
    where + Self: Borrow<B>, + B: ?Sized,

    Immutable access to the Borrow<B> of a value. Read more
    §

    fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
    where + Self: BorrowMut<B>, + B: ?Sized,

    Mutable access to the BorrowMut<B> of a value. Read more
    §

    fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
    where + Self: AsRef<R>, + R: ?Sized,

    Immutable access to the AsRef<R> view of a value. Read more
    §

    fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
    where + Self: AsMut<R>, + R: ?Sized,

    Mutable access to the AsMut<R> view of a value. Read more
    §

    fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
    where + Self: Deref<Target = T>, + T: ?Sized,

    Immutable access to the Deref::Target of a value. Read more
    §

    fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
    where + Self: DerefMut<Target = T> + Deref, + T: ?Sized,

    Mutable access to the Deref::Target of a value. Read more
    §

    fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

    Calls .tap() only in debug builds, and is erased in release builds.
    §

    fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

    Calls .tap_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
    where + Self: Borrow<B>, + B: ?Sized,

    Calls .tap_borrow() only in debug builds, and is erased in release +builds.
    §

    fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
    where + Self: BorrowMut<B>, + B: ?Sized,

    Calls .tap_borrow_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
    where + Self: AsRef<R>, + R: ?Sized,

    Calls .tap_ref() only in debug builds, and is erased in release +builds.
    §

    fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
    where + Self: AsMut<R>, + R: ?Sized,

    Calls .tap_ref_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
    where + Self: Deref<Target = T>, + T: ?Sized,

    Calls .tap_deref() only in debug builds, and is erased in release +builds.
    §

    fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
    where + Self: DerefMut<Target = T> + Deref, + T: ?Sized,

    Calls .tap_deref_mut() only in debug builds, and is erased in release +builds.
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where + T: Bounded, + S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
    §

    impl<S> Codec for S
    where + S: Decode + Encode,

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> EncodeLike<&&T> for T
    where + T: Encode,

    §

    impl<T> EncodeLike<&T> for T
    where + T: Encode,

    §

    impl<T> EncodeLike<&mut T> for T
    where + T: Encode,

    §

    impl<T> EncodeLike<Arc<T>> for T
    where + T: Encode,

    §

    impl<T> EncodeLike<Box<T>> for T
    where + T: Encode,

    §

    impl<'a, T> EncodeLike<Cow<'a, T>> for T
    where + T: ToOwned + Encode,

    §

    impl<T> EncodeLike<Rc<T>> for T
    where + T: Encode,

    §

    impl<S> FullCodec for S
    where + S: Decode + FullEncode,

    §

    impl<S> FullEncode for S
    where + S: Encode + EncodeLike,

    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeDebug for T
    where + T: Debug,

    §

    impl<T> MaybeRefUnwindSafe for T
    where + T: RefUnwindSafe,

    §

    impl<T> MaybeSerialize for T
    where + T: Serialize,

    §

    impl<T> MaybeSerializeDeserialize for T

    §

    impl<T> Member for T
    where + T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

    §

    impl<T> StaticTypeInfo for T
    where + T: TypeInfo + 'static,

    \ No newline at end of file diff --git a/tuxedo_core/verifier/struct.P2PKH.html b/tuxedo_core/verifier/struct.P2PKH.html new file mode 100644 index 000000000..d5984d27a --- /dev/null +++ b/tuxedo_core/verifier/struct.P2PKH.html @@ -0,0 +1,180 @@ +P2PKH in tuxedo_core::verifier - Rust

    Struct tuxedo_core::verifier::P2PKH

    source ·
    pub struct P2PKH {
    +    pub owner_pubkey_hash: H256,
    +}
    Expand description

    Pay To Public Key Hash (P2PKH)

    +

    Require a signature from the private key corresponding to the public key whose hash is given. +This is the most common way to represent private ownership in UTXO networks like Bitcoin. +It is more complex than providing the public key directly but does not reveal the public key until spend time.

    +

    Uses the Sr25519 signature scheme and BlakeTwo256 hashing algorithm via Substrate’s host functions.

    +

    Fields§

    §owner_pubkey_hash: H256

    Trait Implementations§

    source§

    impl Clone for P2PKH

    source§

    fn clone(&self) -> P2PKH

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for P2PKH

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Decode for P2PKH

    source§

    fn decode<__CodecInputEdqy: Input>( + __codec_input_edqy: &mut __CodecInputEdqy +) -> Result<Self, Error>

    Attempt to deserialise the value from input.
    §

    fn decode_into<I>( + input: &mut I, + dst: &mut MaybeUninit<Self> +) -> Result<DecodeFinished, Error>
    where + I: Input,

    Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
    §

    fn skip<I>(input: &mut I) -> Result<(), Error>
    where + I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    source§

    impl<'de> Deserialize<'de> for P2PKH

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Encode for P2PKH

    source§

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    source§

    fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + &self, + __codec_dest_edqy: &mut __CodecOutputEdqy +)

    Convert self to a slice and append it to the destination.
    source§

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    source§

    fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback: FnOnce(&[u8]) -> __CodecOutputReturn>( + &self, + f: __CodecUsingEncodedCallback +) -> __CodecOutputReturn

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    source§

    impl PartialEq for P2PKH

    source§

    fn eq(&self, other: &P2PKH) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for P2PKH

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl TypeInfo for P2PKH

    §

    type Identity = P2PKH

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    source§

    impl Verifier for P2PKH

    §

    type Redeemer = (Public, Signature)

    The type that will be supplied to satisfy the verifier and redeem the UTXO.
    source§

    fn verify( + &self, + simplified_tx: &[u8], + _: u32, + (pubkey, signature): &Self::Redeemer +) -> bool

    Main function in the trait. Does the checks to make sure an output can be spent.
    source§

    fn new_unspendable() -> Option<Self>

    A way to create a new instance of the verifier whose semantics cannot be spent. +This may be a signature check with a pubkey of 0 or a hashlock with a hash o 0 +or a bitcoin script that directly returns false, etc. Read more
    source§

    impl EncodeLike for P2PKH

    source§

    impl Eq for P2PKH

    source§

    impl StructuralPartialEq for P2PKH

    Auto Trait Implementations§

    §

    impl Freeze for P2PKH

    §

    impl RefUnwindSafe for P2PKH

    §

    impl Send for P2PKH

    §

    impl Sync for P2PKH

    §

    impl Unpin for P2PKH

    §

    impl UnwindSafe for P2PKH

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CheckedConversion for T

    §

    fn checked_from<T>(t: T) -> Option<Self>
    where + Self: TryFrom<T>,

    Convert from a value of T into an equivalent instance of Option<Self>. Read more
    §

    fn checked_into<T>(self) -> Option<T>
    where + Self: TryInto<T>,

    Consume self to return Some equivalent value of Option<T>. Read more
    §

    impl<T> Conv for T

    §

    fn conv<T>(self) -> T
    where + Self: Into<T>,

    Converts self into T using Into<T>. Read more
    §

    impl<T> DecodeAll for T
    where + T: Decode,

    §

    fn decode_all(input: &mut &[u8]) -> Result<T, Error>

    Decode Self and consume all of the given input data. Read more
    §

    impl<T> DecodeLimit for T
    where + T: Decode,

    §

    fn decode_all_with_depth_limit( + limit: u32, + input: &mut &[u8] +) -> Result<T, Error>

    Decode Self and consume all of the given input data. Read more
    §

    fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
    where + I: Input,

    Decode Self with the given maximum recursion depth and advance input by the number of +bytes consumed. Read more
    source§

    impl<T> DynClone for T
    where + T: Clone,

    source§

    fn __clone_box(&self, _: Private) -> *mut ()

    source§

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<T> FmtForward for T

    §

    fn fmt_binary(self) -> FmtBinary<Self>
    where + Self: Binary,

    Causes self to use its Binary implementation when Debug-formatted.
    §

    fn fmt_display(self) -> FmtDisplay<Self>
    where + Self: Display,

    Causes self to use its Display implementation when +Debug-formatted.
    §

    fn fmt_lower_exp(self) -> FmtLowerExp<Self>
    where + Self: LowerExp,

    Causes self to use its LowerExp implementation when +Debug-formatted.
    §

    fn fmt_lower_hex(self) -> FmtLowerHex<Self>
    where + Self: LowerHex,

    Causes self to use its LowerHex implementation when +Debug-formatted.
    §

    fn fmt_octal(self) -> FmtOctal<Self>
    where + Self: Octal,

    Causes self to use its Octal implementation when Debug-formatted.
    §

    fn fmt_pointer(self) -> FmtPointer<Self>
    where + Self: Pointer,

    Causes self to use its Pointer implementation when +Debug-formatted.
    §

    fn fmt_upper_exp(self) -> FmtUpperExp<Self>
    where + Self: UpperExp,

    Causes self to use its UpperExp implementation when +Debug-formatted.
    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where + Self: UpperHex,

    Causes self to use its UpperHex implementation when +Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where + &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

    That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

    +
    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where + Outer: AsRef<T> + AsMut<T> + From<T>, + T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    +
    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    +
    §

    impl<T> KeyedVec for T
    where + T: Codec,

    §

    fn to_keyed_vec(&self, prepend_key: &[u8]) -> Vec<u8>

    Return an encoding of Self prepended by given slice.
    §

    impl<T> Pipe for T
    where + T: ?Sized,

    §

    fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
    where + Self: Sized,

    Pipes by value. This is generally the method you want to use. Read more
    §

    fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
    where + R: 'a,

    Borrows self and passes that borrow into the pipe function. Read more
    §

    fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
    where + R: 'a,

    Mutably borrows self and passes that borrow into the pipe function. Read more
    §

    fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
    where + Self: Borrow<B>, + B: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.borrow() into the pipe function. Read more
    §

    fn pipe_borrow_mut<'a, B, R>( + &'a mut self, + func: impl FnOnce(&'a mut B) -> R +) -> R
    where + Self: BorrowMut<B>, + B: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.borrow_mut() into the pipe +function. Read more
    §

    fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
    where + Self: AsRef<U>, + U: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.as_ref() into the pipe function.
    §

    fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
    where + Self: AsMut<U>, + U: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.as_mut() into the pipe +function.
    §

    fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
    where + Self: Deref<Target = T>, + T: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.deref() into the pipe function.
    §

    fn pipe_deref_mut<'a, T, R>( + &'a mut self, + func: impl FnOnce(&'a mut T) -> R +) -> R
    where + Self: DerefMut<Target = T> + Deref, + T: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.deref_mut() into the pipe +function.
    §

    impl<T> Pointable for T

    §

    const ALIGN: usize = _

    The alignment of pointer.
    §

    type Init = T

    The type for initializers.
    §

    unsafe fn init(init: <T as Pointable>::Init) -> usize

    Initializes a with the given initializer. Read more
    §

    unsafe fn deref<'a>(ptr: usize) -> &'a T

    Dereferences the given pointer. Read more
    §

    unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

    Mutably dereferences the given pointer. Read more
    §

    unsafe fn drop(ptr: usize)

    Drops the object pointed to by the given pointer. Read more
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    §

    impl<T> SaturatedConversion for T

    §

    fn saturated_from<T>(t: T) -> Self
    where + Self: UniqueSaturatedFrom<T>,

    Convert from a value of T into an equivalent instance of Self. Read more
    §

    fn saturated_into<T>(self) -> T
    where + Self: UniqueSaturatedInto<T>,

    Consume self to return an equivalent value of T. Read more
    §

    impl<T> Tap for T

    §

    fn tap(self, func: impl FnOnce(&Self)) -> Self

    Immutable access to a value. Read more
    §

    fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

    Mutable access to a value. Read more
    §

    fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
    where + Self: Borrow<B>, + B: ?Sized,

    Immutable access to the Borrow<B> of a value. Read more
    §

    fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
    where + Self: BorrowMut<B>, + B: ?Sized,

    Mutable access to the BorrowMut<B> of a value. Read more
    §

    fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
    where + Self: AsRef<R>, + R: ?Sized,

    Immutable access to the AsRef<R> view of a value. Read more
    §

    fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
    where + Self: AsMut<R>, + R: ?Sized,

    Mutable access to the AsMut<R> view of a value. Read more
    §

    fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
    where + Self: Deref<Target = T>, + T: ?Sized,

    Immutable access to the Deref::Target of a value. Read more
    §

    fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
    where + Self: DerefMut<Target = T> + Deref, + T: ?Sized,

    Mutable access to the Deref::Target of a value. Read more
    §

    fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

    Calls .tap() only in debug builds, and is erased in release builds.
    §

    fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

    Calls .tap_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
    where + Self: Borrow<B>, + B: ?Sized,

    Calls .tap_borrow() only in debug builds, and is erased in release +builds.
    §

    fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
    where + Self: BorrowMut<B>, + B: ?Sized,

    Calls .tap_borrow_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
    where + Self: AsRef<R>, + R: ?Sized,

    Calls .tap_ref() only in debug builds, and is erased in release +builds.
    §

    fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
    where + Self: AsMut<R>, + R: ?Sized,

    Calls .tap_ref_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
    where + Self: Deref<Target = T>, + T: ?Sized,

    Calls .tap_deref() only in debug builds, and is erased in release +builds.
    §

    fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
    where + Self: DerefMut<Target = T> + Deref, + T: ?Sized,

    Calls .tap_deref_mut() only in debug builds, and is erased in release +builds.
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where + T: Bounded, + S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
    §

    impl<S> Codec for S
    where + S: Decode + Encode,

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> EncodeLike<&&T> for T
    where + T: Encode,

    §

    impl<T> EncodeLike<&T> for T
    where + T: Encode,

    §

    impl<T> EncodeLike<&mut T> for T
    where + T: Encode,

    §

    impl<T> EncodeLike<Arc<T>> for T
    where + T: Encode,

    §

    impl<T> EncodeLike<Box<T>> for T
    where + T: Encode,

    §

    impl<'a, T> EncodeLike<Cow<'a, T>> for T
    where + T: ToOwned + Encode,

    §

    impl<T> EncodeLike<Rc<T>> for T
    where + T: Encode,

    §

    impl<S> FullCodec for S
    where + S: Decode + FullEncode,

    §

    impl<S> FullEncode for S
    where + S: Encode + EncodeLike,

    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeDebug for T
    where + T: Debug,

    §

    impl<T> MaybeRefUnwindSafe for T
    where + T: RefUnwindSafe,

    §

    impl<T> MaybeSerialize for T
    where + T: Serialize,

    §

    impl<T> MaybeSerializeDeserialize for T

    §

    impl<T> Member for T
    where + T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

    §

    impl<T> StaticTypeInfo for T
    where + T: TypeInfo + 'static,

    \ No newline at end of file diff --git a/tuxedo_core/verifier/struct.Sr25519Signature.html b/tuxedo_core/verifier/struct.Sr25519Signature.html index 78e9a0791..0e9499307 100644 --- a/tuxedo_core/verifier/struct.Sr25519Signature.html +++ b/tuxedo_core/verifier/struct.Sr25519Signature.html @@ -1,28 +1,31 @@ -Sr25519Signature in tuxedo_core::verifier - Rust -
    pub struct Sr25519Signature {
    +Sr25519Signature in tuxedo_core::verifier - Rust

    Struct tuxedo_core::verifier::Sr25519Signature

    source ·
    pub struct Sr25519Signature {
         pub owner_pubkey: H256,
    -}
    Expand description

    A typical verifier that checks an sr25519 signature

    -

    Fields§

    §owner_pubkey: H256

    Implementations§

    source§

    impl Sr25519Signature

    source

    pub fn new<T: Into<H256>>(value: T) -> Self

    Trait Implementations§

    source§

    impl Clone for Sr25519Signature

    source§

    fn clone(&self) -> Sr25519Signature

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Sr25519Signature

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Decode for Sr25519Signature

    source§

    fn decode<__CodecInputEdqy: Input>( +}

    Expand description

    Require a signature from the private key corresponding to the given public key. +This is the simplest way to require a signature. If you prefer not to expose the +public key until spend time, use P2PKH instead.

    +

    Uses the Sr25519 signature scheme and Substrate’s host functions.

    +

    Fields§

    §owner_pubkey: H256

    Implementations§

    source§

    impl Sr25519Signature

    source

    pub fn new<T: Into<H256>>(owner_pubkey: T) -> Self

    Create a new instance that requires a signature from the given public key

    +

    Trait Implementations§

    source§

    impl Clone for Sr25519Signature

    source§

    fn clone(&self) -> Sr25519Signature

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Sr25519Signature

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Decode for Sr25519Signature

    source§

    fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Self, Error>

    Attempt to deserialise the value from input.
    §

    fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>
    where I: Input,

    Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
    §

    fn skip<I>(input: &mut I) -> Result<(), Error>
    where - I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    source§

    impl<'de> Deserialize<'de> for Sr25519Signature

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Encode for Sr25519Signature

    source§

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    source§

    fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    source§

    impl<'de> Deserialize<'de> for Sr25519Signature

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Encode for Sr25519Signature

    source§

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    source§

    fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy -)

    Convert self to a slice and append it to the destination.
    source§

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    source§

    fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback: FnOnce(&[u8]) -> __CodecOutputReturn>( +)

    Convert self to a slice and append it to the destination.
    source§

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    source§

    fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback: FnOnce(&[u8]) -> __CodecOutputReturn>( &self, f: __CodecUsingEncodedCallback -) -> __CodecOutputReturn

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    source§

    impl PartialEq for Sr25519Signature

    source§

    fn eq(&self, other: &Sr25519Signature) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for Sr25519Signature

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl TypeInfo for Sr25519Signature

    §

    type Identity = Sr25519Signature

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    source§

    impl Verifier for Sr25519Signature

    source§

    fn verify(&self, simplified_tx: &[u8], redeemer: &[u8]) -> bool

    source§

    impl EncodeLike for Sr25519Signature

    source§

    impl Eq for Sr25519Signature

    source§

    impl StructuralPartialEq for Sr25519Signature

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> Any for T
    where - T: Any,

    §

    fn into_any(self: Box<T>) -> Box<dyn Any>

    §

    fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

    §

    fn type_name(&self) -> &'static str

    §

    impl<T> AnySync for T
    where - T: Any + Send + Sync,

    §

    fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

    source§

    impl<T> Borrow<T> for T
    where +) -> __CodecOutputReturn

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    source§

    impl PartialEq for Sr25519Signature

    source§

    fn eq(&self, other: &Sr25519Signature) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for Sr25519Signature

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl TypeInfo for Sr25519Signature

    §

    type Identity = Sr25519Signature

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    source§

    impl Verifier for Sr25519Signature

    §

    type Redeemer = Signature

    The type that will be supplied to satisfy the verifier and redeem the UTXO.
    source§

    fn verify(&self, simplified_tx: &[u8], _: u32, sig: &Signature) -> bool

    Main function in the trait. Does the checks to make sure an output can be spent.
    source§

    fn new_unspendable() -> Option<Self>

    A way to create a new instance of the verifier whose semantics cannot be spent. +This may be a signature check with a pubkey of 0 or a hashlock with a hash o 0 +or a bitcoin script that directly returns false, etc. Read more
    source§

    impl EncodeLike for Sr25519Signature

    source§

    impl Eq for Sr25519Signature

    source§

    impl StructuralPartialEq for Sr25519Signature

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CheckedConversion for T

    §

    fn checked_from<T>(t: T) -> Option<Self>
    where Self: TryFrom<T>,

    Convert from a value of T into an equivalent instance of Option<Self>. Read more
    §

    fn checked_into<T>(self) -> Option<T>
    where @@ -34,8 +37,8 @@ input: &mut &[u8] ) -> Result<T, Error>

    Decode Self and consume all of the given input data. Read more
    §

    fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
    where I: Input,

    Decode Self with the given maximum recursion depth and advance input by the number of -bytes consumed. Read more
    source§

    impl<T> DynClone for T
    where - T: Clone,

    source§

    fn __clone_box(&self, _: Private) -> *mut ()

    source§

    impl<Q, K> Equivalent<K> for Q
    where +bytes consumed. Read more

    source§

    impl<T> DynClone for T
    where + T: Clone,

    source§

    fn __clone_box(&self, _: Private) -> *mut ()

    source§

    impl<Q, K> Equivalent<K> for Q
    where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Q
    where Q: Eq + ?Sized, @@ -58,14 +61,21 @@ Debug-formatted.

    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where Self: UpperHex,

    Causes self to use its UpperHex implementation when Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where - &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + &'a Self: for<'a> IntoIterator,
    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where +

    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    @@ -136,9 +146,9 @@ T: ?Sized,
    Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
    source§

    impl<T> ToOwned for T
    where T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where - Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where T: Bounded, S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where @@ -146,8 +156,8 @@ S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    impl<S> Codec for S
    where - S: Decode + Encode,

    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> EncodeLike<&&T> for T
    where + S: Decode + Encode,

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> EncodeLike<&&T> for T
    where T: Encode,

    §

    impl<T> EncodeLike<&T> for T
    where T: Encode,

    §

    impl<T> EncodeLike<&mut T> for T
    where T: Encode,

    §

    impl<T> EncodeLike<Arc<T>> for T
    where @@ -159,7 +169,7 @@ S: Encode + EncodeLike,

    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeDebug for T
    where T: Debug,

    §

    impl<T> MaybeRefUnwindSafe for T
    where T: RefUnwindSafe,

    §

    impl<T> MaybeSerialize for T
    where - T: Serialize,

    §

    impl<T> MaybeSerializeDeserialize for T

    §

    impl<T> Member for T
    where + T: Serialize,

    §

    impl<T> MaybeSerializeDeserialize for T

    §

    impl<T> Member for T
    where T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

    §

    impl<T> StaticTypeInfo for T
    where T: TypeInfo + 'static,

    \ No newline at end of file diff --git a/tuxedo_core/verifier/struct.TestVerifier.html b/tuxedo_core/verifier/struct.TestVerifier.html index 1956d6688..4ca8d4647 100644 --- a/tuxedo_core/verifier/struct.TestVerifier.html +++ b/tuxedo_core/verifier/struct.TestVerifier.html @@ -1,30 +1,29 @@ -TestVerifier in tuxedo_core::verifier - Rust -
    pub struct TestVerifier {
    +TestVerifier in tuxedo_core::verifier - Rust

    Struct tuxedo_core::verifier::TestVerifier

    source ·
    pub struct TestVerifier {
         pub verifies: bool,
     }
    Expand description

    A testing verifier that passes or depending on the enclosed boolean value.

    Fields§

    §verifies: bool

    Whether the verifier should pass

    -

    Trait Implementations§

    source§

    impl Clone for TestVerifier

    source§

    fn clone(&self) -> TestVerifier

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for TestVerifier

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Decode for TestVerifier

    source§

    fn decode<__CodecInputEdqy: Input>( +

    Trait Implementations§

    source§

    impl Clone for TestVerifier

    source§

    fn clone(&self) -> TestVerifier

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for TestVerifier

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Decode for TestVerifier

    source§

    fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Self, Error>

    Attempt to deserialise the value from input.
    §

    fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>
    where I: Input,

    Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
    §

    fn skip<I>(input: &mut I) -> Result<(), Error>
    where - I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    source§

    impl<'de> Deserialize<'de> for TestVerifier

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Encode for TestVerifier

    source§

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    source§

    fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    source§

    impl<'de> Deserialize<'de> for TestVerifier

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Encode for TestVerifier

    source§

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    source§

    fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy -)

    Convert self to a slice and append it to the destination.
    source§

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    source§

    fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback: FnOnce(&[u8]) -> __CodecOutputReturn>( +)

    Convert self to a slice and append it to the destination.
    source§

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    source§

    fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback: FnOnce(&[u8]) -> __CodecOutputReturn>( &self, f: __CodecUsingEncodedCallback -) -> __CodecOutputReturn

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    source§

    impl PartialEq for TestVerifier

    source§

    fn eq(&self, other: &TestVerifier) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for TestVerifier

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl TypeInfo for TestVerifier

    §

    type Identity = TestVerifier

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    source§

    impl Verifier for TestVerifier

    source§

    fn verify(&self, _simplified_tx: &[u8], _redeemer: &[u8]) -> bool

    source§

    impl EncodeLike for TestVerifier

    source§

    impl Eq for TestVerifier

    source§

    impl StructuralPartialEq for TestVerifier

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> Any for T
    where - T: Any,

    §

    fn into_any(self: Box<T>) -> Box<dyn Any>

    §

    fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

    §

    fn type_name(&self) -> &'static str

    §

    impl<T> AnySync for T
    where - T: Any + Send + Sync,

    §

    fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

    source§

    impl<T> Borrow<T> for T
    where +) -> __CodecOutputReturn

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    source§

    impl PartialEq for TestVerifier

    source§

    fn eq(&self, other: &TestVerifier) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for TestVerifier

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl TypeInfo for TestVerifier

    §

    type Identity = TestVerifier

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    source§

    impl Verifier for TestVerifier

    §

    type Redeemer = ()

    The type that will be supplied to satisfy the verifier and redeem the UTXO.
    source§

    fn verify(&self, _simplified_tx: &[u8], _: u32, _: &()) -> bool

    Main function in the trait. Does the checks to make sure an output can be spent.
    source§

    fn new_unspendable() -> Option<Self>

    A way to create a new instance of the verifier whose semantics cannot be spent. +This may be a signature check with a pubkey of 0 or a hashlock with a hash o 0 +or a bitcoin script that directly returns false, etc. Read more
    source§

    impl EncodeLike for TestVerifier

    source§

    impl Eq for TestVerifier

    source§

    impl StructuralPartialEq for TestVerifier

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CheckedConversion for T

    §

    fn checked_from<T>(t: T) -> Option<Self>
    where Self: TryFrom<T>,

    Convert from a value of T into an equivalent instance of Option<Self>. Read more
    §

    fn checked_into<T>(self) -> Option<T>
    where @@ -36,8 +35,8 @@ input: &mut &[u8] ) -> Result<T, Error>

    Decode Self and consume all of the given input data. Read more
    §

    fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
    where I: Input,

    Decode Self with the given maximum recursion depth and advance input by the number of -bytes consumed. Read more
    source§

    impl<T> DynClone for T
    where - T: Clone,

    source§

    fn __clone_box(&self, _: Private) -> *mut ()

    source§

    impl<Q, K> Equivalent<K> for Q
    where +bytes consumed. Read more

    source§

    impl<T> DynClone for T
    where + T: Clone,

    source§

    fn __clone_box(&self, _: Private) -> *mut ()

    source§

    impl<Q, K> Equivalent<K> for Q
    where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Q
    where Q: Eq + ?Sized, @@ -60,14 +59,21 @@ Debug-formatted.

    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where Self: UpperHex,

    Causes self to use its UpperHex implementation when Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where - &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + &'a Self: for<'a> IntoIterator,
    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where +

    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    @@ -138,9 +144,9 @@ T: ?Sized,
    Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
    source§

    impl<T> ToOwned for T
    where T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where - Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where T: Bounded, S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where @@ -148,8 +154,8 @@ S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    impl<S> Codec for S
    where - S: Decode + Encode,

    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> EncodeLike<&&T> for T
    where + S: Decode + Encode,

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> EncodeLike<&&T> for T
    where T: Encode,

    §

    impl<T> EncodeLike<&T> for T
    where T: Encode,

    §

    impl<T> EncodeLike<&mut T> for T
    where T: Encode,

    §

    impl<T> EncodeLike<Arc<T>> for T
    where @@ -161,7 +167,7 @@ S: Encode + EncodeLike,

    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeDebug for T
    where T: Debug,

    §

    impl<T> MaybeRefUnwindSafe for T
    where T: RefUnwindSafe,

    §

    impl<T> MaybeSerialize for T
    where - T: Serialize,

    §

    impl<T> MaybeSerializeDeserialize for T

    §

    impl<T> Member for T
    where + T: Serialize,

    §

    impl<T> MaybeSerializeDeserialize for T

    §

    impl<T> Member for T
    where T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

    §

    impl<T> StaticTypeInfo for T
    where T: TypeInfo + 'static,

    \ No newline at end of file diff --git a/tuxedo_core/verifier/struct.ThresholdMultiSignature.html b/tuxedo_core/verifier/struct.ThresholdMultiSignature.html index 9d1f5e3b1..e46d981d5 100644 --- a/tuxedo_core/verifier/struct.ThresholdMultiSignature.html +++ b/tuxedo_core/verifier/struct.ThresholdMultiSignature.html @@ -1,34 +1,34 @@ -ThresholdMultiSignature in tuxedo_core::verifier - Rust -
    pub struct ThresholdMultiSignature {
    +ThresholdMultiSignature in tuxedo_core::verifier - Rust

    Struct tuxedo_core::verifier::ThresholdMultiSignature

    source ·
    pub struct ThresholdMultiSignature {
         pub threshold: u8,
         pub signatories: Vec<H256>,
    -}
    Expand description

    A Threshold multisignature. Some number of member signatories collectively own inputs -guarded by this verifier. A valid redeemer must supply valid signatures by at least -threshold of the signatories. If the threshold is greater than the number of signatories -the input can never be consumed.

    -

    Fields§

    §threshold: u8

    The minimum number of valid signatures needed to consume this input

    +}

    Fields§

    §threshold: u8

    The minimum number of valid signatures needed to consume this input

    §signatories: Vec<H256>

    All the member signatories, some (or all depending on the threshold) of whom must produce signatures over the transaction that will consume this input. This should include no duplicates

    -

    Implementations§

    source§

    impl ThresholdMultiSignature

    source

    pub fn new(threshold: u8, signatories: Vec<H256>) -> Self

    source

    pub fn has_duplicate_signatories(&self) -> bool

    Trait Implementations§

    source§

    impl Clone for ThresholdMultiSignature

    source§

    fn clone(&self) -> ThresholdMultiSignature

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for ThresholdMultiSignature

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Decode for ThresholdMultiSignature

    source§

    fn decode<__CodecInputEdqy: Input>( +

    Implementations§

    source§

    impl ThresholdMultiSignature

    source

    pub fn new(threshold: u8, signatories: Vec<H256>) -> Self

    source

    pub fn has_duplicate_signatories(&self) -> bool

    Trait Implementations§

    source§

    impl Clone for ThresholdMultiSignature

    source§

    fn clone(&self) -> ThresholdMultiSignature

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for ThresholdMultiSignature

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Decode for ThresholdMultiSignature

    source§

    fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Self, Error>

    Attempt to deserialise the value from input.
    §

    fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>
    where I: Input,

    Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
    §

    fn skip<I>(input: &mut I) -> Result<(), Error>
    where - I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    source§

    impl<'de> Deserialize<'de> for ThresholdMultiSignature

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Encode for ThresholdMultiSignature

    source§

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    source§

    fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    source§

    impl<'de> Deserialize<'de> for ThresholdMultiSignature

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Encode for ThresholdMultiSignature

    source§

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    source§

    fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )

    Convert self to a slice and append it to the destination.
    §

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    §

    fn using_encoded<R, F>(&self, f: F) -> R
    where - F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    source§

    impl PartialEq for ThresholdMultiSignature

    source§

    fn eq(&self, other: &ThresholdMultiSignature) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for ThresholdMultiSignature

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl TypeInfo for ThresholdMultiSignature

    §

    type Identity = ThresholdMultiSignature

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    source§

    impl Verifier for ThresholdMultiSignature

    source§

    fn verify(&self, simplified_tx: &[u8], redeemer: &[u8]) -> bool

    source§

    impl EncodeLike for ThresholdMultiSignature

    source§

    impl Eq for ThresholdMultiSignature

    source§

    impl StructuralPartialEq for ThresholdMultiSignature

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> Any for T
    where - T: Any,

    §

    fn into_any(self: Box<T>) -> Box<dyn Any>

    §

    fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

    §

    fn type_name(&self) -> &'static str

    §

    impl<T> AnySync for T
    where - T: Any + Send + Sync,

    §

    fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

    source§

    impl<T> Borrow<T> for T
    where + F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    source§

    impl PartialEq for ThresholdMultiSignature

    source§

    fn eq(&self, other: &ThresholdMultiSignature) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for ThresholdMultiSignature

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl TypeInfo for ThresholdMultiSignature

    §

    type Identity = ThresholdMultiSignature

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    source§

    impl Verifier for ThresholdMultiSignature

    §

    type Redeemer = Vec<SignatureAndIndex>

    The type that will be supplied to satisfy the verifier and redeem the UTXO.
    source§

    fn verify( + &self, + simplified_tx: &[u8], + _: u32, + sigs: &Vec<SignatureAndIndex> +) -> bool

    Main function in the trait. Does the checks to make sure an output can be spent.
    source§

    fn new_unspendable() -> Option<Self>

    A way to create a new instance of the verifier whose semantics cannot be spent. +This may be a signature check with a pubkey of 0 or a hashlock with a hash o 0 +or a bitcoin script that directly returns false, etc. Read more
    source§

    impl EncodeLike for ThresholdMultiSignature

    source§

    impl Eq for ThresholdMultiSignature

    source§

    impl StructuralPartialEq for ThresholdMultiSignature

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CheckedConversion for T

    §

    fn checked_from<T>(t: T) -> Option<Self>
    where Self: TryFrom<T>,

    Convert from a value of T into an equivalent instance of Option<Self>. Read more
    §

    fn checked_into<T>(self) -> Option<T>
    where @@ -40,8 +40,8 @@ input: &mut &[u8] ) -> Result<T, Error>

    Decode Self and consume all of the given input data. Read more
    §

    fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
    where I: Input,

    Decode Self with the given maximum recursion depth and advance input by the number of -bytes consumed. Read more
    source§

    impl<T> DynClone for T
    where - T: Clone,

    source§

    fn __clone_box(&self, _: Private) -> *mut ()

    source§

    impl<Q, K> Equivalent<K> for Q
    where +bytes consumed. Read more

    source§

    impl<T> DynClone for T
    where + T: Clone,

    source§

    fn __clone_box(&self, _: Private) -> *mut ()

    source§

    impl<Q, K> Equivalent<K> for Q
    where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Q
    where Q: Eq + ?Sized, @@ -64,14 +64,21 @@ Debug-formatted.

    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where Self: UpperHex,

    Causes self to use its UpperHex implementation when Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where - &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + &'a Self: for<'a> IntoIterator,
    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where +

    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    @@ -142,9 +149,9 @@ T: ?Sized,
    Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
    source§

    impl<T> ToOwned for T
    where T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where - Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where T: Bounded, S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where @@ -152,8 +159,8 @@ S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    impl<S> Codec for S
    where - S: Decode + Encode,

    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> EncodeLike<&&T> for T
    where + S: Decode + Encode,

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> EncodeLike<&&T> for T
    where T: Encode,

    §

    impl<T> EncodeLike<&T> for T
    where T: Encode,

    §

    impl<T> EncodeLike<&mut T> for T
    where T: Encode,

    §

    impl<T> EncodeLike<Arc<T>> for T
    where @@ -165,7 +172,7 @@ S: Encode + EncodeLike,

    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeDebug for T
    where T: Debug,

    §

    impl<T> MaybeRefUnwindSafe for T
    where T: RefUnwindSafe,

    §

    impl<T> MaybeSerialize for T
    where - T: Serialize,

    §

    impl<T> MaybeSerializeDeserialize for T

    §

    impl<T> Member for T
    where + T: Serialize,

    §

    impl<T> MaybeSerializeDeserialize for T

    §

    impl<T> Member for T
    where T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

    §

    impl<T> StaticTypeInfo for T
    where T: TypeInfo + 'static,

    \ No newline at end of file diff --git a/tuxedo_core/verifier/struct.TimeLock.html b/tuxedo_core/verifier/struct.TimeLock.html new file mode 100644 index 000000000..4c3c15940 --- /dev/null +++ b/tuxedo_core/verifier/struct.TimeLock.html @@ -0,0 +1,189 @@ +TimeLock in tuxedo_core::verifier - Rust

    Struct tuxedo_core::verifier::TimeLock

    source ·
    pub struct TimeLock {
    +    pub unlock_block_height: u32,
    +}
    Expand description

    Allows UTXOs to be spent after a certain block height has been reached. +This is useful for locking up tokens as a future investment. Timelocking +also form the basis of timeout paths in swapping protocols.

    +

    This verifier is unlike many others because it requires some environmental information, +namely the current block number. So there is a decision to be made:

    +
      +
    • Allow the verifier to take come config and grab that info by calling a function given in the config. +This is what we do with constraint checker.
    • +
    • Modify the Verifier trait to pass along the block number.
    • +
    +

    On the one hand the block number seems like a pretty fundamental and basic thing to add. On the other +hand there could be many more things to pass. For example, the timestamp. +However any more complex information would require coupling with Constraint Checkers and it is not +easy to red state like in accounts.

    +

    Decision: I will add block number to the signature. And remain open to adding more blockchain-level +fundamental things. Especially if they are available in bitcoin script.

    +

    Regarding the verifier constraint checker separation, perhaps the right line to be drawn is +that verifiers are useful in a lot of places, but perhaps not expressive enough in others. +When they are not expressive enough, just use UpForGrabs and rely on the constraint checker,

    +

    Fields§

    §unlock_block_height: u32

    Trait Implementations§

    source§

    impl Clone for TimeLock

    source§

    fn clone(&self) -> TimeLock

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for TimeLock

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Decode for TimeLock

    source§

    fn decode<__CodecInputEdqy: Input>( + __codec_input_edqy: &mut __CodecInputEdqy +) -> Result<Self, Error>

    Attempt to deserialise the value from input.
    §

    fn decode_into<I>( + input: &mut I, + dst: &mut MaybeUninit<Self> +) -> Result<DecodeFinished, Error>
    where + I: Input,

    Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
    §

    fn skip<I>(input: &mut I) -> Result<(), Error>
    where + I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    source§

    impl<'de> Deserialize<'de> for TimeLock

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Encode for TimeLock

    source§

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    source§

    fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + &self, + __codec_dest_edqy: &mut __CodecOutputEdqy +)

    Convert self to a slice and append it to the destination.
    source§

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    source§

    fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback: FnOnce(&[u8]) -> __CodecOutputReturn>( + &self, + f: __CodecUsingEncodedCallback +) -> __CodecOutputReturn

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    source§

    impl PartialEq for TimeLock

    source§

    fn eq(&self, other: &TimeLock) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for TimeLock

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl TypeInfo for TimeLock

    §

    type Identity = TimeLock

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    source§

    impl Verifier for TimeLock

    §

    type Redeemer = ()

    The type that will be supplied to satisfy the verifier and redeem the UTXO.
    source§

    fn verify(&self, _: &[u8], block_height: u32, _: &()) -> bool

    Main function in the trait. Does the checks to make sure an output can be spent.
    source§

    fn new_unspendable() -> Option<Self>

    A way to create a new instance of the verifier whose semantics cannot be spent. +This may be a signature check with a pubkey of 0 or a hashlock with a hash o 0 +or a bitcoin script that directly returns false, etc. Read more
    source§

    impl EncodeLike for TimeLock

    source§

    impl Eq for TimeLock

    source§

    impl StructuralPartialEq for TimeLock

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CheckedConversion for T

    §

    fn checked_from<T>(t: T) -> Option<Self>
    where + Self: TryFrom<T>,

    Convert from a value of T into an equivalent instance of Option<Self>. Read more
    §

    fn checked_into<T>(self) -> Option<T>
    where + Self: TryInto<T>,

    Consume self to return Some equivalent value of Option<T>. Read more
    §

    impl<T> Conv for T

    §

    fn conv<T>(self) -> T
    where + Self: Into<T>,

    Converts self into T using Into<T>. Read more
    §

    impl<T> DecodeAll for T
    where + T: Decode,

    §

    fn decode_all(input: &mut &[u8]) -> Result<T, Error>

    Decode Self and consume all of the given input data. Read more
    §

    impl<T> DecodeLimit for T
    where + T: Decode,

    §

    fn decode_all_with_depth_limit( + limit: u32, + input: &mut &[u8] +) -> Result<T, Error>

    Decode Self and consume all of the given input data. Read more
    §

    fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
    where + I: Input,

    Decode Self with the given maximum recursion depth and advance input by the number of +bytes consumed. Read more
    source§

    impl<T> DynClone for T
    where + T: Clone,

    source§

    fn __clone_box(&self, _: Private) -> *mut ()

    source§

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<T> FmtForward for T

    §

    fn fmt_binary(self) -> FmtBinary<Self>
    where + Self: Binary,

    Causes self to use its Binary implementation when Debug-formatted.
    §

    fn fmt_display(self) -> FmtDisplay<Self>
    where + Self: Display,

    Causes self to use its Display implementation when +Debug-formatted.
    §

    fn fmt_lower_exp(self) -> FmtLowerExp<Self>
    where + Self: LowerExp,

    Causes self to use its LowerExp implementation when +Debug-formatted.
    §

    fn fmt_lower_hex(self) -> FmtLowerHex<Self>
    where + Self: LowerHex,

    Causes self to use its LowerHex implementation when +Debug-formatted.
    §

    fn fmt_octal(self) -> FmtOctal<Self>
    where + Self: Octal,

    Causes self to use its Octal implementation when Debug-formatted.
    §

    fn fmt_pointer(self) -> FmtPointer<Self>
    where + Self: Pointer,

    Causes self to use its Pointer implementation when +Debug-formatted.
    §

    fn fmt_upper_exp(self) -> FmtUpperExp<Self>
    where + Self: UpperExp,

    Causes self to use its UpperExp implementation when +Debug-formatted.
    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where + Self: UpperHex,

    Causes self to use its UpperHex implementation when +Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where + &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

    That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

    +
    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where + Outer: AsRef<T> + AsMut<T> + From<T>, + T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    +
    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    +
    §

    impl<T> KeyedVec for T
    where + T: Codec,

    §

    fn to_keyed_vec(&self, prepend_key: &[u8]) -> Vec<u8>

    Return an encoding of Self prepended by given slice.
    §

    impl<T> Pipe for T
    where + T: ?Sized,

    §

    fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
    where + Self: Sized,

    Pipes by value. This is generally the method you want to use. Read more
    §

    fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
    where + R: 'a,

    Borrows self and passes that borrow into the pipe function. Read more
    §

    fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
    where + R: 'a,

    Mutably borrows self and passes that borrow into the pipe function. Read more
    §

    fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
    where + Self: Borrow<B>, + B: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.borrow() into the pipe function. Read more
    §

    fn pipe_borrow_mut<'a, B, R>( + &'a mut self, + func: impl FnOnce(&'a mut B) -> R +) -> R
    where + Self: BorrowMut<B>, + B: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.borrow_mut() into the pipe +function. Read more
    §

    fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
    where + Self: AsRef<U>, + U: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.as_ref() into the pipe function.
    §

    fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
    where + Self: AsMut<U>, + U: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.as_mut() into the pipe +function.
    §

    fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
    where + Self: Deref<Target = T>, + T: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.deref() into the pipe function.
    §

    fn pipe_deref_mut<'a, T, R>( + &'a mut self, + func: impl FnOnce(&'a mut T) -> R +) -> R
    where + Self: DerefMut<Target = T> + Deref, + T: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.deref_mut() into the pipe +function.
    §

    impl<T> Pointable for T

    §

    const ALIGN: usize = _

    The alignment of pointer.
    §

    type Init = T

    The type for initializers.
    §

    unsafe fn init(init: <T as Pointable>::Init) -> usize

    Initializes a with the given initializer. Read more
    §

    unsafe fn deref<'a>(ptr: usize) -> &'a T

    Dereferences the given pointer. Read more
    §

    unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

    Mutably dereferences the given pointer. Read more
    §

    unsafe fn drop(ptr: usize)

    Drops the object pointed to by the given pointer. Read more
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    §

    impl<T> SaturatedConversion for T

    §

    fn saturated_from<T>(t: T) -> Self
    where + Self: UniqueSaturatedFrom<T>,

    Convert from a value of T into an equivalent instance of Self. Read more
    §

    fn saturated_into<T>(self) -> T
    where + Self: UniqueSaturatedInto<T>,

    Consume self to return an equivalent value of T. Read more
    §

    impl<T> Tap for T

    §

    fn tap(self, func: impl FnOnce(&Self)) -> Self

    Immutable access to a value. Read more
    §

    fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

    Mutable access to a value. Read more
    §

    fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
    where + Self: Borrow<B>, + B: ?Sized,

    Immutable access to the Borrow<B> of a value. Read more
    §

    fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
    where + Self: BorrowMut<B>, + B: ?Sized,

    Mutable access to the BorrowMut<B> of a value. Read more
    §

    fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
    where + Self: AsRef<R>, + R: ?Sized,

    Immutable access to the AsRef<R> view of a value. Read more
    §

    fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
    where + Self: AsMut<R>, + R: ?Sized,

    Mutable access to the AsMut<R> view of a value. Read more
    §

    fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
    where + Self: Deref<Target = T>, + T: ?Sized,

    Immutable access to the Deref::Target of a value. Read more
    §

    fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
    where + Self: DerefMut<Target = T> + Deref, + T: ?Sized,

    Mutable access to the Deref::Target of a value. Read more
    §

    fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

    Calls .tap() only in debug builds, and is erased in release builds.
    §

    fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

    Calls .tap_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
    where + Self: Borrow<B>, + B: ?Sized,

    Calls .tap_borrow() only in debug builds, and is erased in release +builds.
    §

    fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
    where + Self: BorrowMut<B>, + B: ?Sized,

    Calls .tap_borrow_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
    where + Self: AsRef<R>, + R: ?Sized,

    Calls .tap_ref() only in debug builds, and is erased in release +builds.
    §

    fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
    where + Self: AsMut<R>, + R: ?Sized,

    Calls .tap_ref_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
    where + Self: Deref<Target = T>, + T: ?Sized,

    Calls .tap_deref() only in debug builds, and is erased in release +builds.
    §

    fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
    where + Self: DerefMut<Target = T> + Deref, + T: ?Sized,

    Calls .tap_deref_mut() only in debug builds, and is erased in release +builds.
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where + T: Bounded, + S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
    §

    impl<S> Codec for S
    where + S: Decode + Encode,

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> EncodeLike<&&T> for T
    where + T: Encode,

    §

    impl<T> EncodeLike<&T> for T
    where + T: Encode,

    §

    impl<T> EncodeLike<&mut T> for T
    where + T: Encode,

    §

    impl<T> EncodeLike<Arc<T>> for T
    where + T: Encode,

    §

    impl<T> EncodeLike<Box<T>> for T
    where + T: Encode,

    §

    impl<'a, T> EncodeLike<Cow<'a, T>> for T
    where + T: ToOwned + Encode,

    §

    impl<T> EncodeLike<Rc<T>> for T
    where + T: Encode,

    §

    impl<S> FullCodec for S
    where + S: Decode + FullEncode,

    §

    impl<S> FullEncode for S
    where + S: Encode + EncodeLike,

    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeDebug for T
    where + T: Debug,

    §

    impl<T> MaybeRefUnwindSafe for T
    where + T: RefUnwindSafe,

    §

    impl<T> MaybeSerialize for T
    where + T: Serialize,

    §

    impl<T> MaybeSerializeDeserialize for T

    §

    impl<T> Member for T
    where + T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

    §

    impl<T> StaticTypeInfo for T
    where + T: TypeInfo + 'static,

    \ No newline at end of file diff --git a/tuxedo_core/verifier/struct.Unspendable.html b/tuxedo_core/verifier/struct.Unspendable.html new file mode 100644 index 000000000..00f2772ab --- /dev/null +++ b/tuxedo_core/verifier/struct.Unspendable.html @@ -0,0 +1,170 @@ +Unspendable in tuxedo_core::verifier - Rust

    Struct tuxedo_core::verifier::Unspendable

    source ·
    pub struct Unspendable;
    Expand description

    A simple verifier that allows no one to consume an output ever.

    +

    This is useful for UTXOs that are expected to only ever be consumed by evictions, +such as inherents for example.

    +

    Trait Implementations§

    source§

    impl Clone for Unspendable

    source§

    fn clone(&self) -> Unspendable

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Unspendable

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Decode for Unspendable

    source§

    fn decode<__CodecInputEdqy: Input>( + __codec_input_edqy: &mut __CodecInputEdqy +) -> Result<Self, Error>

    Attempt to deserialise the value from input.
    §

    fn decode_into<I>( + input: &mut I, + dst: &mut MaybeUninit<Self> +) -> Result<DecodeFinished, Error>
    where + I: Input,

    Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
    §

    fn skip<I>(input: &mut I) -> Result<(), Error>
    where + I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    source§

    impl Default for Unspendable

    source§

    fn default() -> Unspendable

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Unspendable

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Encode for Unspendable

    source§

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    source§

    fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + &self, + __codec_dest_edqy: &mut __CodecOutputEdqy +)

    Convert self to a slice and append it to the destination.
    §

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    §

    fn using_encoded<R, F>(&self, f: F) -> R
    where + F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    source§

    impl PartialEq for Unspendable

    source§

    fn eq(&self, other: &Unspendable) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for Unspendable

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl TypeInfo for Unspendable

    §

    type Identity = Unspendable

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    source§

    impl Verifier for Unspendable

    §

    type Redeemer = ()

    The type that will be supplied to satisfy the verifier and redeem the UTXO.
    source§

    fn verify(&self, _simplified_tx: &[u8], _: u32, _: &()) -> bool

    Main function in the trait. Does the checks to make sure an output can be spent.
    source§

    fn new_unspendable() -> Option<Self>

    A way to create a new instance of the verifier whose semantics cannot be spent. +This may be a signature check with a pubkey of 0 or a hashlock with a hash o 0 +or a bitcoin script that directly returns false, etc. Read more
    source§

    impl EncodeLike for Unspendable

    source§

    impl Eq for Unspendable

    source§

    impl StructuralPartialEq for Unspendable

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CheckedConversion for T

    §

    fn checked_from<T>(t: T) -> Option<Self>
    where + Self: TryFrom<T>,

    Convert from a value of T into an equivalent instance of Option<Self>. Read more
    §

    fn checked_into<T>(self) -> Option<T>
    where + Self: TryInto<T>,

    Consume self to return Some equivalent value of Option<T>. Read more
    §

    impl<T> Clear for T
    where + T: Default + Eq + PartialEq,

    §

    fn is_clear(&self) -> bool

    True iff no bits are set.
    §

    fn clear() -> T

    Return the value of Self that is clear.
    §

    impl<T> Conv for T

    §

    fn conv<T>(self) -> T
    where + Self: Into<T>,

    Converts self into T using Into<T>. Read more
    §

    impl<T> DecodeAll for T
    where + T: Decode,

    §

    fn decode_all(input: &mut &[u8]) -> Result<T, Error>

    Decode Self and consume all of the given input data. Read more
    §

    impl<T> DecodeLimit for T
    where + T: Decode,

    §

    fn decode_all_with_depth_limit( + limit: u32, + input: &mut &[u8] +) -> Result<T, Error>

    Decode Self and consume all of the given input data. Read more
    §

    fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
    where + I: Input,

    Decode Self with the given maximum recursion depth and advance input by the number of +bytes consumed. Read more
    source§

    impl<T> DynClone for T
    where + T: Clone,

    source§

    fn __clone_box(&self, _: Private) -> *mut ()

    source§

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<T> FmtForward for T

    §

    fn fmt_binary(self) -> FmtBinary<Self>
    where + Self: Binary,

    Causes self to use its Binary implementation when Debug-formatted.
    §

    fn fmt_display(self) -> FmtDisplay<Self>
    where + Self: Display,

    Causes self to use its Display implementation when +Debug-formatted.
    §

    fn fmt_lower_exp(self) -> FmtLowerExp<Self>
    where + Self: LowerExp,

    Causes self to use its LowerExp implementation when +Debug-formatted.
    §

    fn fmt_lower_hex(self) -> FmtLowerHex<Self>
    where + Self: LowerHex,

    Causes self to use its LowerHex implementation when +Debug-formatted.
    §

    fn fmt_octal(self) -> FmtOctal<Self>
    where + Self: Octal,

    Causes self to use its Octal implementation when Debug-formatted.
    §

    fn fmt_pointer(self) -> FmtPointer<Self>
    where + Self: Pointer,

    Causes self to use its Pointer implementation when +Debug-formatted.
    §

    fn fmt_upper_exp(self) -> FmtUpperExp<Self>
    where + Self: UpperExp,

    Causes self to use its UpperExp implementation when +Debug-formatted.
    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where + Self: UpperHex,

    Causes self to use its UpperHex implementation when +Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where + &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

    That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

    +
    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where + Outer: AsRef<T> + AsMut<T> + From<T>, + T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    +
    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    +
    §

    impl<T> KeyedVec for T
    where + T: Codec,

    §

    fn to_keyed_vec(&self, prepend_key: &[u8]) -> Vec<u8>

    Return an encoding of Self prepended by given slice.
    §

    impl<T> Pipe for T
    where + T: ?Sized,

    §

    fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
    where + Self: Sized,

    Pipes by value. This is generally the method you want to use. Read more
    §

    fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
    where + R: 'a,

    Borrows self and passes that borrow into the pipe function. Read more
    §

    fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
    where + R: 'a,

    Mutably borrows self and passes that borrow into the pipe function. Read more
    §

    fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
    where + Self: Borrow<B>, + B: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.borrow() into the pipe function. Read more
    §

    fn pipe_borrow_mut<'a, B, R>( + &'a mut self, + func: impl FnOnce(&'a mut B) -> R +) -> R
    where + Self: BorrowMut<B>, + B: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.borrow_mut() into the pipe +function. Read more
    §

    fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
    where + Self: AsRef<U>, + U: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.as_ref() into the pipe function.
    §

    fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
    where + Self: AsMut<U>, + U: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.as_mut() into the pipe +function.
    §

    fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
    where + Self: Deref<Target = T>, + T: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.deref() into the pipe function.
    §

    fn pipe_deref_mut<'a, T, R>( + &'a mut self, + func: impl FnOnce(&'a mut T) -> R +) -> R
    where + Self: DerefMut<Target = T> + Deref, + T: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.deref_mut() into the pipe +function.
    §

    impl<T> Pointable for T

    §

    const ALIGN: usize = _

    The alignment of pointer.
    §

    type Init = T

    The type for initializers.
    §

    unsafe fn init(init: <T as Pointable>::Init) -> usize

    Initializes a with the given initializer. Read more
    §

    unsafe fn deref<'a>(ptr: usize) -> &'a T

    Dereferences the given pointer. Read more
    §

    unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

    Mutably dereferences the given pointer. Read more
    §

    unsafe fn drop(ptr: usize)

    Drops the object pointed to by the given pointer. Read more
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    §

    impl<T> SaturatedConversion for T

    §

    fn saturated_from<T>(t: T) -> Self
    where + Self: UniqueSaturatedFrom<T>,

    Convert from a value of T into an equivalent instance of Self. Read more
    §

    fn saturated_into<T>(self) -> T
    where + Self: UniqueSaturatedInto<T>,

    Consume self to return an equivalent value of T. Read more
    §

    impl<T> Tap for T

    §

    fn tap(self, func: impl FnOnce(&Self)) -> Self

    Immutable access to a value. Read more
    §

    fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

    Mutable access to a value. Read more
    §

    fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
    where + Self: Borrow<B>, + B: ?Sized,

    Immutable access to the Borrow<B> of a value. Read more
    §

    fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
    where + Self: BorrowMut<B>, + B: ?Sized,

    Mutable access to the BorrowMut<B> of a value. Read more
    §

    fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
    where + Self: AsRef<R>, + R: ?Sized,

    Immutable access to the AsRef<R> view of a value. Read more
    §

    fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
    where + Self: AsMut<R>, + R: ?Sized,

    Mutable access to the AsMut<R> view of a value. Read more
    §

    fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
    where + Self: Deref<Target = T>, + T: ?Sized,

    Immutable access to the Deref::Target of a value. Read more
    §

    fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
    where + Self: DerefMut<Target = T> + Deref, + T: ?Sized,

    Mutable access to the Deref::Target of a value. Read more
    §

    fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

    Calls .tap() only in debug builds, and is erased in release builds.
    §

    fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

    Calls .tap_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
    where + Self: Borrow<B>, + B: ?Sized,

    Calls .tap_borrow() only in debug builds, and is erased in release +builds.
    §

    fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
    where + Self: BorrowMut<B>, + B: ?Sized,

    Calls .tap_borrow_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
    where + Self: AsRef<R>, + R: ?Sized,

    Calls .tap_ref() only in debug builds, and is erased in release +builds.
    §

    fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
    where + Self: AsMut<R>, + R: ?Sized,

    Calls .tap_ref_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
    where + Self: Deref<Target = T>, + T: ?Sized,

    Calls .tap_deref() only in debug builds, and is erased in release +builds.
    §

    fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
    where + Self: DerefMut<Target = T> + Deref, + T: ?Sized,

    Calls .tap_deref_mut() only in debug builds, and is erased in release +builds.
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where + T: Bounded, + S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
    §

    impl<S> Codec for S
    where + S: Decode + Encode,

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> EncodeLike<&&T> for T
    where + T: Encode,

    §

    impl<T> EncodeLike<&T> for T
    where + T: Encode,

    §

    impl<T> EncodeLike<&mut T> for T
    where + T: Encode,

    §

    impl<T> EncodeLike<Arc<T>> for T
    where + T: Encode,

    §

    impl<T> EncodeLike<Box<T>> for T
    where + T: Encode,

    §

    impl<'a, T> EncodeLike<Cow<'a, T>> for T
    where + T: ToOwned + Encode,

    §

    impl<T> EncodeLike<Rc<T>> for T
    where + T: Encode,

    §

    impl<S> FullCodec for S
    where + S: Decode + FullEncode,

    §

    impl<S> FullEncode for S
    where + S: Encode + EncodeLike,

    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeDebug for T
    where + T: Debug,

    §

    impl<T> MaybeRefUnwindSafe for T
    where + T: RefUnwindSafe,

    §

    impl<T> MaybeSerialize for T
    where + T: Serialize,

    §

    impl<T> MaybeSerializeDeserialize for T

    §

    impl<T> Member for T
    where + T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

    §

    impl<T> StaticTypeInfo for T
    where + T: TypeInfo + 'static,

    \ No newline at end of file diff --git a/tuxedo_core/verifier/struct.UpForGrabs.html b/tuxedo_core/verifier/struct.UpForGrabs.html index ca70cca71..abf7bbd14 100644 --- a/tuxedo_core/verifier/struct.UpForGrabs.html +++ b/tuxedo_core/verifier/struct.UpForGrabs.html @@ -1,24 +1,23 @@ -UpForGrabs in tuxedo_core::verifier - Rust -
    pub struct UpForGrabs;
    Expand description

    A simple verifier that allows anyone to consume an output at any time

    -

    Trait Implementations§

    source§

    impl Clone for UpForGrabs

    source§

    fn clone(&self) -> UpForGrabs

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for UpForGrabs

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Decode for UpForGrabs

    source§

    fn decode<__CodecInputEdqy: Input>( +UpForGrabs in tuxedo_core::verifier - Rust

    Struct tuxedo_core::verifier::UpForGrabs

    source ·
    pub struct UpForGrabs;
    Expand description

    A simple verifier that allows anyone to consume an output at any time

    +

    Trait Implementations§

    source§

    impl Clone for UpForGrabs

    source§

    fn clone(&self) -> UpForGrabs

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for UpForGrabs

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Decode for UpForGrabs

    source§

    fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Self, Error>

    Attempt to deserialise the value from input.
    §

    fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>
    where I: Input,

    Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
    §

    fn skip<I>(input: &mut I) -> Result<(), Error>
    where - I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    source§

    impl Default for UpForGrabs

    source§

    fn default() -> UpForGrabs

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for UpForGrabs

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Encode for UpForGrabs

    source§

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    source§

    fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    source§

    impl Default for UpForGrabs

    source§

    fn default() -> UpForGrabs

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for UpForGrabs

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Encode for UpForGrabs

    source§

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    source§

    fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )

    Convert self to a slice and append it to the destination.
    §

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    §

    fn using_encoded<R, F>(&self, f: F) -> R
    where - F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    source§

    impl PartialEq for UpForGrabs

    source§

    fn eq(&self, other: &UpForGrabs) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for UpForGrabs

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl TypeInfo for UpForGrabs

    §

    type Identity = UpForGrabs

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    source§

    impl Verifier for UpForGrabs

    source§

    fn verify(&self, _simplified_tx: &[u8], _redeemer: &[u8]) -> bool

    source§

    impl EncodeLike for UpForGrabs

    source§

    impl Eq for UpForGrabs

    source§

    impl StructuralPartialEq for UpForGrabs

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> Any for T
    where - T: Any,

    §

    fn into_any(self: Box<T>) -> Box<dyn Any>

    §

    fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

    §

    fn type_name(&self) -> &'static str

    §

    impl<T> AnySync for T
    where - T: Any + Send + Sync,

    §

    fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

    source§

    impl<T> Borrow<T> for T
    where + F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    source§

    impl PartialEq for UpForGrabs

    source§

    fn eq(&self, other: &UpForGrabs) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for UpForGrabs

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl TypeInfo for UpForGrabs

    §

    type Identity = UpForGrabs

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    source§

    impl Verifier for UpForGrabs

    §

    type Redeemer = ()

    The type that will be supplied to satisfy the verifier and redeem the UTXO.
    source§

    fn verify(&self, _simplified_tx: &[u8], _: u32, _: &()) -> bool

    Main function in the trait. Does the checks to make sure an output can be spent.
    source§

    fn new_unspendable() -> Option<Self>

    A way to create a new instance of the verifier whose semantics cannot be spent. +This may be a signature check with a pubkey of 0 or a hashlock with a hash o 0 +or a bitcoin script that directly returns false, etc. Read more
    source§

    impl EncodeLike for UpForGrabs

    source§

    impl Eq for UpForGrabs

    source§

    impl StructuralPartialEq for UpForGrabs

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CheckedConversion for T

    §

    fn checked_from<T>(t: T) -> Option<Self>
    where Self: TryFrom<T>,

    Convert from a value of T into an equivalent instance of Option<Self>. Read more
    §

    fn checked_into<T>(self) -> Option<T>
    where @@ -31,8 +30,8 @@ input: &mut &[u8] ) -> Result<T, Error>

    Decode Self and consume all of the given input data. Read more
    §

    fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
    where I: Input,

    Decode Self with the given maximum recursion depth and advance input by the number of -bytes consumed. Read more
    source§

    impl<T> DynClone for T
    where - T: Clone,

    source§

    fn __clone_box(&self, _: Private) -> *mut ()

    source§

    impl<Q, K> Equivalent<K> for Q
    where +bytes consumed. Read more

    source§

    impl<T> DynClone for T
    where + T: Clone,

    source§

    fn __clone_box(&self, _: Private) -> *mut ()

    source§

    impl<Q, K> Equivalent<K> for Q
    where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Q
    where Q: Eq + ?Sized, @@ -55,14 +54,21 @@ Debug-formatted.

    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where Self: UpperHex,

    Causes self to use its UpperHex implementation when Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where - &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + &'a Self: for<'a> IntoIterator,
    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where +

    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    @@ -133,9 +139,9 @@ T: ?Sized,
    Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
    source§

    impl<T> ToOwned for T
    where T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where - Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where T: Bounded, S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where @@ -143,8 +149,8 @@ S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    impl<S> Codec for S
    where - S: Decode + Encode,

    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> EncodeLike<&&T> for T
    where + S: Decode + Encode,

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> EncodeLike<&&T> for T
    where T: Encode,

    §

    impl<T> EncodeLike<&T> for T
    where T: Encode,

    §

    impl<T> EncodeLike<&mut T> for T
    where T: Encode,

    §

    impl<T> EncodeLike<Arc<T>> for T
    where @@ -156,7 +162,7 @@ S: Encode + EncodeLike,

    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeDebug for T
    where T: Debug,

    §

    impl<T> MaybeRefUnwindSafe for T
    where T: RefUnwindSafe,

    §

    impl<T> MaybeSerialize for T
    where - T: Serialize,

    §

    impl<T> MaybeSerializeDeserialize for T

    §

    impl<T> Member for T
    where + T: Serialize,

    §

    impl<T> MaybeSerializeDeserialize for T

    §

    impl<T> Member for T
    where T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

    §

    impl<T> StaticTypeInfo for T
    where T: TypeInfo + 'static,

    \ No newline at end of file diff --git a/tuxedo_core/verifier/trait.Verifier.html b/tuxedo_core/verifier/trait.Verifier.html index f169c52aa..51463b1b2 100644 --- a/tuxedo_core/verifier/trait.Verifier.html +++ b/tuxedo_core/verifier/trait.Verifier.html @@ -1,9 +1,36 @@ -Verifier in tuxedo_core::verifier - Rust -
    pub trait Verifier: Debug + Encode + Decode + Clone {
    +Verifier in tuxedo_core::verifier - Rust

    Trait tuxedo_core::verifier::Verifier

    source ·
    pub trait Verifier: Debug + Encode + Decode + Clone {
    +    type Redeemer: Debug + Encode + Decode;
    +
         // Required method
    -    fn verify(&self, simplified_tx: &[u8], redeemer: &[u8]) -> bool;
    -}
    Expand description

    A means of checking that an output can be verified (aka spent). This check is made on a + fn verify( + &self, + simplified_tx: &[u8], + block_height: u32, + redeemer: &Self::Redeemer + ) -> bool; + + // Provided method + fn new_unspendable() -> Option<Self> { ... } +}

    Expand description

    A means of checking that an output can be spent. This check is made on a per-output basis and neither knows nor cares anything about the validation logic that will be applied to the transaction as a whole. Nonetheless, in order to avoid malleability, we we take the entire stripped and serialized transaction as a parameter.

    -

    Required Methods§

    source

    fn verify(&self, simplified_tx: &[u8], redeemer: &[u8]) -> bool

    Object Safety§

    This trait is not object safe.

    Implementors§

    \ No newline at end of file +

    Information available when verifying an input includes:

    +
      +
    • The simplified transaction - a stripped encoded version of the transaction
    • +
    • Some environmental information such as the block current block number
    • +
    • An redeemer supplied by the user attempting to spend the input.
    • +
    +

    Required Associated Types§

    source

    type Redeemer: Debug + Encode + Decode

    The type that will be supplied to satisfy the verifier and redeem the UTXO.

    +

    Required Methods§

    source

    fn verify( + &self, + simplified_tx: &[u8], + block_height: u32, + redeemer: &Self::Redeemer +) -> bool

    Main function in the trait. Does the checks to make sure an output can be spent.

    +

    Provided Methods§

    source

    fn new_unspendable() -> Option<Self>

    A way to create a new instance of the verifier whose semantics cannot be spent. +This may be a signature check with a pubkey of 0 or a hashlock with a hash o 0 +or a bitcoin script that directly returns false, etc.

    +

    This is only required in chains that use inherents, and thus a default implementation +is provided.

    +

    Object Safety§

    This trait is not object safe.

    Implementors§

    \ No newline at end of file diff --git a/tuxedo_parachain_core/all.html b/tuxedo_parachain_core/all.html index 6f1d94203..d766d2bdb 100644 --- a/tuxedo_parachain_core/all.html +++ b/tuxedo_parachain_core/all.html @@ -1,2 +1 @@ -List of all items in this crate -
    \ No newline at end of file +List of all items in this crate
    \ No newline at end of file diff --git a/tuxedo_parachain_core/enum.MockRelayParentNumberStorage.html b/tuxedo_parachain_core/enum.MockRelayParentNumberStorage.html index abf290988..9ed601cab 100644 --- a/tuxedo_parachain_core/enum.MockRelayParentNumberStorage.html +++ b/tuxedo_parachain_core/enum.MockRelayParentNumberStorage.html @@ -1,6 +1,5 @@ -MockRelayParentNumberStorage in tuxedo_parachain_core - Rust -
    pub enum MockRelayParentNumberStorage {}
    Expand description

    A mock version of the RelayParentNumberStorage that can be used in tests without externalities.

    -

    Trait Implementations§

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +MockRelayParentNumberStorage in tuxedo_parachain_core - Rust
    pub enum MockRelayParentNumberStorage {}
    Expand description

    A mock version of the RelayParentNumberStorage that can be used in tests without externalities.

    +

    Trait Implementations§

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> Any for T
    where T: Any,

    §

    fn into_any(self: Box<T>) -> Box<dyn Any>

    §

    fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

    §

    fn type_name(&self) -> &'static str

    §

    impl<T> AnySync for T
    where T: Any + Send + Sync,

    §

    fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

    source§

    impl<T> Borrow<T> for T
    where @@ -23,16 +22,23 @@ Debug-formatted.

    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where Self: UpperHex,

    Causes self to use its UpperHex implementation when Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where - &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more

    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + &'a Self: for<'a> IntoIterator,
    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where +

    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    @@ -101,9 +107,9 @@ Self: DerefMut<Target = T> + Deref, T: ?Sized,
    Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where - Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where T: Bounded, S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where diff --git a/tuxedo_parachain_core/enum.RelayParentNumberStorage.html b/tuxedo_parachain_core/enum.RelayParentNumberStorage.html index 318c098bc..dd6d5ff01 100644 --- a/tuxedo_parachain_core/enum.RelayParentNumberStorage.html +++ b/tuxedo_parachain_core/enum.RelayParentNumberStorage.html @@ -1,7 +1,6 @@ -RelayParentNumberStorage in tuxedo_parachain_core - Rust -
    pub enum RelayParentNumberStorage {}
    Expand description

    A public interface for accessing and mutating the relay parent number. This is +RelayParentNumberStorage in tuxedo_parachain_core - Rust

    pub enum RelayParentNumberStorage {}
    Expand description

    A public interface for accessing and mutating the relay parent number. This is expected to be called from the parachain piece

    -

    Trait Implementations§

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> Any for T
    where T: Any,

    §

    fn into_any(self: Box<T>) -> Box<dyn Any>

    §

    fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

    §

    fn type_name(&self) -> &'static str

    §

    impl<T> AnySync for T
    where T: Any + Send + Sync,

    §

    fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

    source§

    impl<T> Borrow<T> for T
    where @@ -24,16 +23,23 @@ Debug-formatted.

    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where Self: UpperHex,

    Causes self to use its UpperHex implementation when Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where - &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where +

    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    @@ -102,9 +108,9 @@ Self: DerefMut<Target = T> + Deref, T: ?Sized,
    Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where - Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where T: Bounded, S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where diff --git a/tuxedo_parachain_core/index.html b/tuxedo_parachain_core/index.html index c11e3647b..7e603c776 100644 --- a/tuxedo_parachain_core/index.html +++ b/tuxedo_parachain_core/index.html @@ -1,6 +1,4 @@ -tuxedo_parachain_core - Rust -
    Expand description

    This module is the core of Tuxedo’s parachain support.

    +tuxedo_parachain_core - Rust

    Crate tuxedo_parachain_core

    source ·
    Expand description

    This module is the core of Tuxedo’s parachain support.

    The types and methods defined in this crate are of equal importance to those in the tuxedo-core crate, and this crate should be considered a simple extension to that one and equally “core“y. The reason Tuxedo @@ -8,19 +6,20 @@ are quite heavy to compile, and sovereign chains are able to completely avoid it.

    It’s primary jobs are to

      -
    • Manage transiet storage details for the parachain inherent, specifically the relay +
    • Manage transient storage details for the parachain inherent, specifically the relay parent block number.
    • Provide collation information to the client side collator service.
    • -
    • Implement the validate_block funtion required by relay chain validators. +
    • Implement the validate_block function required by relay chain validators. This task is achieved through the register_validate_block! macro.

    This code is inspired by, cumulus pallet parachain system https://paritytech.github.io/polkadot-sdk/master/cumulus_pallet_parachain_system/index.html

    -

    Re-exports§

    Macros§

    • Register the validate_block function that is used by parachains to validate blocks on a -validator.

    Structs§

    Re-exports§

    Macros§

    • Prepares a Tuxedo runtime to be parachain compatible by doing two main tasks.

    Structs§

    • A wrapper type around Cumulus’s ParachainInherentData type that can be stored. A wrapper type around Cumulus’s ParachainInherentData type. -This type is convertable Into and From the inner type. +This type is convertible Into and From the inner type. This is necessary so that we can implement the UtxoData trait.

    Enums§

    • A mock version of the RelayParentNumberStorage that can be used in tests without externalities.
    • A public interface for accessing and mutating the relay parent number. This is expected to be called from the parachain piece

    Traits§

    • An abstraction over reading the ambiently available relay parent block number. -This allows it to be mocked during tests and not require actual externalities.
    • An extension trait that allows us to implement more methods on tuxedo-core’s executive.
    • An abstraction over setting the ambiently available relay parent block number. +This allows it to be mocked during tests and not require actual externalities.
    • A way for the relay chain validators to determine whether a particular parachain +extrinsic is the parachain inherent and whether the parachain inherent data can +be extracted from it.
    • An extension trait that allows us to implement more methods on tuxedo-core’s executive.
    • An abstraction over setting the ambiently available relay parent block number. This allows it to be mocked during tests and require actual externalities.
    \ No newline at end of file diff --git a/tuxedo_parachain_core/macro.parachainify!.html b/tuxedo_parachain_core/macro.parachainify!.html new file mode 100644 index 000000000..000c73892 --- /dev/null +++ b/tuxedo_parachain_core/macro.parachainify!.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

    Redirecting to macro.parachainify.html...

    + + + \ No newline at end of file diff --git a/tuxedo_parachain_core/macro.parachainify.html b/tuxedo_parachain_core/macro.parachainify.html new file mode 100644 index 000000000..d11417957 --- /dev/null +++ b/tuxedo_parachain_core/macro.parachainify.html @@ -0,0 +1,9 @@ +parachainify in tuxedo_parachain_core - Rust

    Macro tuxedo_parachain_core::parachainify

    source ·
    parachainify!() { /* proc-macro */ }
    Expand description

    Prepares a Tuxedo runtime to be parachain compatible by doing two main tasks.

    +
      +
    1. Wraps the provided constraint checker in another layer of aggregation including the parachain +inherent piece
    2. +
    3. Registers the validate_block function that is used by parachains to validate blocks on a +validator when building to wasm. This is skipped when building to std.
    4. +
    +

    Expects as parameters a Verifier, a non-yet-parachain-ready ConstraintChecker, and a ParaId.

    +
    \ No newline at end of file diff --git a/tuxedo_parachain_core/macro.register_validate_block!.html b/tuxedo_parachain_core/macro.register_validate_block!.html deleted file mode 100644 index 3f7a4f3e5..000000000 --- a/tuxedo_parachain_core/macro.register_validate_block!.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - - Redirection - - -

    Redirecting to macro.register_validate_block.html...

    - - - \ No newline at end of file diff --git a/tuxedo_parachain_core/macro.register_validate_block.html b/tuxedo_parachain_core/macro.register_validate_block.html deleted file mode 100644 index 63790bd16..000000000 --- a/tuxedo_parachain_core/macro.register_validate_block.html +++ /dev/null @@ -1,6 +0,0 @@ -register_validate_block in tuxedo_parachain_core - Rust -
    register_validate_block!() { /* proc-macro */ }
    Expand description

    Register the validate_block function that is used by parachains to validate blocks on a -validator.

    -

    Does nothing when std feature is enabled.

    -

    Expects as parameters the Block type, the OuterVerifier, and the OuterConstraintChecker.

    -
    \ No newline at end of file diff --git a/tuxedo_parachain_core/sidebar-items.js b/tuxedo_parachain_core/sidebar-items.js index 3cd8afd82..89e0b4495 100644 --- a/tuxedo_parachain_core/sidebar-items.js +++ b/tuxedo_parachain_core/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"enum":["MockRelayParentNumberStorage","RelayParentNumberStorage"],"macro":["register_validate_block"],"struct":["ParachainInherentDataUtxo"],"trait":["GetRelayParentNumberStorage","ParachainExecutiveExtension","SetRelayParentNumberStorage"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":["MockRelayParentNumberStorage","RelayParentNumberStorage"],"macro":["parachainify"],"struct":["ParachainInherentDataUtxo"],"trait":["GetRelayParentNumberStorage","ParachainConstraintChecker","ParachainExecutiveExtension","SetRelayParentNumberStorage"]}; \ No newline at end of file diff --git a/tuxedo_parachain_core/struct.ParachainInherentDataUtxo.html b/tuxedo_parachain_core/struct.ParachainInherentDataUtxo.html index bb20a94ff..11de75f86 100644 --- a/tuxedo_parachain_core/struct.ParachainInherentDataUtxo.html +++ b/tuxedo_parachain_core/struct.ParachainInherentDataUtxo.html @@ -1,23 +1,22 @@ -ParachainInherentDataUtxo in tuxedo_parachain_core - Rust -
    pub struct ParachainInherentDataUtxo(/* private fields */);
    Expand description

    A wrapper type around Cumulus’s ParachainInherentData type that can be stored. +ParachainInherentDataUtxo in tuxedo_parachain_core - Rust

    pub struct ParachainInherentDataUtxo(/* private fields */);
    Expand description

    A wrapper type around Cumulus’s ParachainInherentData type that can be stored. A wrapper type around Cumulus’s ParachainInherentData type. -This type is convertable Into and From the inner type. +This type is convertible Into and From the inner type. This is necessary so that we can implement the UtxoData trait.

    -

    Trait Implementations§

    source§

    impl Clone for ParachainInherentDataUtxo

    source§

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for ParachainInherentDataUtxo

    source§

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Decode for ParachainInherentDataUtxo

    source§

    fn decode<__CodecInputEdqy: Input>( +

    Trait Implementations§

    source§

    impl Clone for ParachainInherentDataUtxo

    source§

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for ParachainInherentDataUtxo

    source§

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Decode for ParachainInherentDataUtxo

    source§

    fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Self, Error>

    Attempt to deserialise the value from input.
    §

    fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>
    where I: Input,

    Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
    §

    fn skip<I>(input: &mut I) -> Result<(), Error>
    where - I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    source§

    impl Encode for ParachainInherentDataUtxo

    source§

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    source§

    fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    source§

    impl Encode for ParachainInherentDataUtxo

    source§

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    source§

    fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy -)

    Convert self to a slice and append it to the destination.
    source§

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    source§

    fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback: FnOnce(&[u8]) -> __CodecOutputReturn>( +)

    Convert self to a slice and append it to the destination.
    source§

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    source§

    fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback: FnOnce(&[u8]) -> __CodecOutputReturn>( &self, f: __CodecUsingEncodedCallback -) -> __CodecOutputReturn

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    source§

    impl From<ParachainInherentData> for ParachainInherentDataUtxo

    source§

    fn from(value: ParachainInherentData) -> Self

    Converts to this type from the input type.
    source§

    impl From<ParachainInherentDataUtxo> for ParachainInherentData

    source§

    fn from(val: ParachainInherentDataUtxo) -> Self

    Converts to this type from the input type.
    source§

    impl TypeInfo for ParachainInherentDataUtxo

    §

    type Identity = ParachainInherentDataUtxo

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    source§

    impl UtxoData for ParachainInherentDataUtxo

    source§

    const TYPE_ID: [u8; 4] = _

    A unique identifier for this type. For now choosing this value and making sure it -really is unique is the problem of the developer. Ideally this would be better.
    source§

    impl EncodeLike for ParachainInherentDataUtxo

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> __CodecOutputReturn

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    source§

    impl From<ParachainInherentData> for ParachainInherentDataUtxo

    source§

    fn from(value: ParachainInherentData) -> Self

    Converts to this type from the input type.
    source§

    impl From<ParachainInherentDataUtxo> for ParachainInherentData

    source§

    fn from(val: ParachainInherentDataUtxo) -> Self

    Converts to this type from the input type.
    source§

    impl TypeInfo for ParachainInherentDataUtxo

    §

    type Identity = ParachainInherentDataUtxo

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    source§

    impl UtxoData for ParachainInherentDataUtxo

    source§

    const TYPE_ID: [u8; 4] = _

    A unique identifier for this type. For now choosing this value and making sure it +really is unique is the problem of the developer. Ideally this would be better.
    source§

    impl EncodeLike for ParachainInherentDataUtxo

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> Any for T
    where T: Any,

    §

    fn into_any(self: Box<T>) -> Box<dyn Any>

    §

    fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

    §

    fn type_name(&self) -> &'static str

    §

    impl<T> AnySync for T
    where T: Any + Send + Sync,

    §

    fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

    source§

    impl<T> Borrow<T> for T
    where @@ -32,8 +31,8 @@ input: &mut &[u8] ) -> Result<T, Error>

    Decode Self and consume all of the given input data. Read more
    §

    fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
    where I: Input,

    Decode Self with the given maximum recursion depth and advance input by the number of -bytes consumed. Read more
    source§

    impl<T> DynClone for T
    where - T: Clone,

    source§

    fn __clone_box(&self, _: Private) -> *mut ()

    §

    impl<T> EncodeAs<T> for T
    where +bytes consumed. Read more

    source§

    impl<T> DynClone for T
    where + T: Clone,

    source§

    fn __clone_box(&self, _: Private) -> *mut ()

    §

    impl<T> EncodeAs<T> for T
    where T: Encode,

    §

    fn encode_as(&self) -> Vec<u8>

    Convert Self into T, then encode T. Read more
    §

    impl<T> FmtForward for T

    §

    fn fmt_binary(self) -> FmtBinary<Self>
    where Self: Binary,

    Causes self to use its Binary implementation when Debug-formatted.
    §

    fn fmt_display(self) -> FmtDisplay<Self>
    where Self: Display,

    Causes self to use its Display implementation when @@ -49,16 +48,23 @@ Debug-formatted.
    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where Self: UpperHex,

    Causes self to use its UpperHex implementation when Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where - &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + &'a Self: for<'a> IntoIterator,
    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where +

    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    @@ -129,9 +135,9 @@ T: ?Sized,
    Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
    source§

    impl<T> ToOwned for T
    where T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where - Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where T: Bounded, S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where diff --git a/tuxedo_parachain_core/trait.GetRelayParentNumberStorage.html b/tuxedo_parachain_core/trait.GetRelayParentNumberStorage.html index 51772fb0f..04ace19db 100644 --- a/tuxedo_parachain_core/trait.GetRelayParentNumberStorage.html +++ b/tuxedo_parachain_core/trait.GetRelayParentNumberStorage.html @@ -1,7 +1,6 @@ -GetRelayParentNumberStorage in tuxedo_parachain_core - Rust -
    pub trait GetRelayParentNumberStorage {
    +GetRelayParentNumberStorage in tuxedo_parachain_core - Rust
    pub trait GetRelayParentNumberStorage {
         // Required method
         fn get() -> u32;
     }
    Expand description

    An abstraction over reading the ambiently available relay parent block number. This allows it to be mocked during tests and not require actual externalities.

    -

    Required Methods§

    source

    fn get() -> u32

    Object Safety§

    This trait is not object safe.

    Implementors§

    \ No newline at end of file +

    Required Methods§

    source

    fn get() -> u32

    Object Safety§

    This trait is not object safe.

    Implementors§

    \ No newline at end of file diff --git a/tuxedo_parachain_core/trait.ParachainConstraintChecker.html b/tuxedo_parachain_core/trait.ParachainConstraintChecker.html new file mode 100644 index 000000000..4fafba868 --- /dev/null +++ b/tuxedo_parachain_core/trait.ParachainConstraintChecker.html @@ -0,0 +1,7 @@ +ParachainConstraintChecker in tuxedo_parachain_core - Rust
    pub trait ParachainConstraintChecker: ConstraintChecker {
    +    // Required method
    +    fn is_parachain(&self) -> bool;
    +}
    Expand description

    A way for the relay chain validators to determine whether a particular parachain +extrinsic is the parachain inherent and whether the parachain inherent data can +be extracted from it.

    +

    Required Methods§

    Object Safety§

    This trait is not object safe.

    Implementors§

    \ No newline at end of file diff --git a/tuxedo_parachain_core/trait.ParachainExecutiveExtension.html b/tuxedo_parachain_core/trait.ParachainExecutiveExtension.html index 226fb5bf6..96aa83609 100644 --- a/tuxedo_parachain_core/trait.ParachainExecutiveExtension.html +++ b/tuxedo_parachain_core/trait.ParachainExecutiveExtension.html @@ -1,6 +1,5 @@ -ParachainExecutiveExtension in tuxedo_parachain_core - Rust -
    pub trait ParachainExecutiveExtension<Header> {
    +ParachainExecutiveExtension in tuxedo_parachain_core - Rust
    pub trait ParachainExecutiveExtension {
         // Required method
    -    fn collect_collation_info(header: &Header) -> CollationInfo;
    +    fn collect_collation_info(header: &Header) -> CollationInfo;
     }
    Expand description

    An extension trait that allows us to implement more methods on tuxedo-core’s executive.

    -

    Required Methods§

    source

    fn collect_collation_info(header: &Header) -> CollationInfo

    Object Safety§

    This trait is not object safe.

    Implementations on Foreign Types§

    source§

    impl<B: BlockT, V, C> ParachainExecutiveExtension<<B as Block>::Header> for Executive<B, V, C>

    source§

    fn collect_collation_info(header: &B::Header) -> CollationInfo

    Implementors§

    \ No newline at end of file +

    Required Methods§

    source

    fn collect_collation_info(header: &Header) -> CollationInfo

    Object Safety§

    This trait is not object safe.

    Implementations on Foreign Types§

    source§

    impl<V, C> ParachainExecutiveExtension for Executive<V, C>

    source§

    fn collect_collation_info(header: &Header) -> CollationInfo

    Implementors§

    \ No newline at end of file diff --git a/tuxedo_parachain_core/trait.SetRelayParentNumberStorage.html b/tuxedo_parachain_core/trait.SetRelayParentNumberStorage.html index 7112ecc9c..aba3b92fe 100644 --- a/tuxedo_parachain_core/trait.SetRelayParentNumberStorage.html +++ b/tuxedo_parachain_core/trait.SetRelayParentNumberStorage.html @@ -1,7 +1,6 @@ -SetRelayParentNumberStorage in tuxedo_parachain_core - Rust -
    pub trait SetRelayParentNumberStorage {
    +SetRelayParentNumberStorage in tuxedo_parachain_core - Rust
    pub trait SetRelayParentNumberStorage {
         // Required method
         fn set(new_parent_number: u32);
     }
    Expand description

    An abstraction over setting the ambiently available relay parent block number. This allows it to be mocked during tests and require actual externalities.

    -

    Required Methods§

    source

    fn set(new_parent_number: u32)

    Object Safety§

    This trait is not object safe.

    Implementors§

    \ No newline at end of file +

    Required Methods§

    source

    fn set(new_parent_number: u32)

    Object Safety§

    This trait is not object safe.

    Implementors§

    \ No newline at end of file diff --git a/tuxedo_parachain_runtime/all.html b/tuxedo_parachain_runtime/all.html new file mode 100644 index 000000000..c9fccd5f1 --- /dev/null +++ b/tuxedo_parachain_runtime/all.html @@ -0,0 +1 @@ +List of all items in this crate
    \ No newline at end of file diff --git a/tuxedo_parachain_runtime/api/fn.dispatch.html b/tuxedo_parachain_runtime/api/fn.dispatch.html new file mode 100644 index 000000000..d4928d4ee --- /dev/null +++ b/tuxedo_parachain_runtime/api/fn.dispatch.html @@ -0,0 +1 @@ +dispatch in tuxedo_parachain_runtime::api - Rust

    Function tuxedo_parachain_runtime::api::dispatch

    source ·
    pub fn dispatch(method: &str, _sp_api_input_data_: &[u8]) -> Option<Vec<u8>>
    \ No newline at end of file diff --git a/tuxedo_parachain_runtime/api/index.html b/tuxedo_parachain_runtime/api/index.html new file mode 100644 index 000000000..e90dfeb82 --- /dev/null +++ b/tuxedo_parachain_runtime/api/index.html @@ -0,0 +1 @@ +tuxedo_parachain_runtime::api - Rust

    Module tuxedo_parachain_runtime::api

    source ·

    Functions§

    \ No newline at end of file diff --git a/tuxedo_parachain_runtime/api/sidebar-items.js b/tuxedo_parachain_runtime/api/sidebar-items.js new file mode 100644 index 000000000..3c157fc04 --- /dev/null +++ b/tuxedo_parachain_runtime/api/sidebar-items.js @@ -0,0 +1 @@ +window.SIDEBAR_ITEMS = {"fn":["dispatch"]}; \ No newline at end of file diff --git a/tuxedo_parachain_runtime/constant.VERSION.html b/tuxedo_parachain_runtime/constant.VERSION.html new file mode 100644 index 000000000..3f5b2b560 --- /dev/null +++ b/tuxedo_parachain_runtime/constant.VERSION.html @@ -0,0 +1,2 @@ +VERSION in tuxedo_parachain_runtime - Rust

    Constant tuxedo_parachain_runtime::VERSION

    source ·
    pub const VERSION: RuntimeVersion;
    Expand description

    This runtime version.

    +
    \ No newline at end of file diff --git a/tuxedo_parachain_runtime/constant.WASM_BINARY.html b/tuxedo_parachain_runtime/constant.WASM_BINARY.html new file mode 100644 index 000000000..1d7562514 --- /dev/null +++ b/tuxedo_parachain_runtime/constant.WASM_BINARY.html @@ -0,0 +1 @@ +WASM_BINARY in tuxedo_parachain_runtime - Rust

    Constant tuxedo_parachain_runtime::WASM_BINARY

    source ·
    pub const WASM_BINARY: Option<&[u8]>;
    \ No newline at end of file diff --git a/tuxedo_parachain_runtime/constant.WASM_BINARY_BLOATY.html b/tuxedo_parachain_runtime/constant.WASM_BINARY_BLOATY.html new file mode 100644 index 000000000..43ee4b532 --- /dev/null +++ b/tuxedo_parachain_runtime/constant.WASM_BINARY_BLOATY.html @@ -0,0 +1 @@ +WASM_BINARY_BLOATY in tuxedo_parachain_runtime - Rust

    Constant tuxedo_parachain_runtime::WASM_BINARY_BLOATY

    source ·
    pub const WASM_BINARY_BLOATY: Option<&[u8]>;
    \ No newline at end of file diff --git a/tuxedo_parachain_runtime/enum.InnerConstraintChecker.html b/tuxedo_parachain_runtime/enum.InnerConstraintChecker.html new file mode 100644 index 000000000..0952bc202 --- /dev/null +++ b/tuxedo_parachain_runtime/enum.InnerConstraintChecker.html @@ -0,0 +1,226 @@ +InnerConstraintChecker in tuxedo_parachain_runtime - Rust
    pub enum InnerConstraintChecker {
    +    Money(MoneyConstraintChecker<0>),
    +    FreeKittyConstraintChecker(FreeKittyConstraintChecker),
    +    AmoebaMitosis(AmoebaMitosis),
    +    AmoebaDeath(AmoebaDeath),
    +    AmoebaCreation(AmoebaCreation),
    +    PoeClaim(PoeClaim<Runtime>),
    +    PoeRevoke(PoeRevoke),
    +    PoeDispute(PoeDispute),
    +    SetTimestamp(InherentAdapter<SetTimestamp<Runtime>>),
    +    RuntimeUpgrade(RuntimeUpgrade),
    +}
    Expand description

    A constraint checker is a piece of logic that can be used to check a transaction. +For any given Tuxedo runtime there is a finite set of such constraint checkers. +For example, this may check that input token values exceed output token values.

    +

    Variants§

    §

    Money(MoneyConstraintChecker<0>)

    Checks monetary transactions in a basic fungible cryptocurrency

    +
    §

    FreeKittyConstraintChecker(FreeKittyConstraintChecker)

    Checks Free Kitty transactions

    +
    §

    AmoebaMitosis(AmoebaMitosis)

    Checks that an amoeba can split into two new amoebas

    +
    §

    AmoebaDeath(AmoebaDeath)

    Checks that a single amoeba is simply removed from the state

    +
    §

    AmoebaCreation(AmoebaCreation)

    Checks that a single amoeba is simply created from the void… and it is good

    +
    §

    PoeClaim(PoeClaim<Runtime>)

    Checks that new valid proofs of existence are claimed

    +
    §

    PoeRevoke(PoeRevoke)

    Checks that proofs of existence are revoked.

    +
    §

    PoeDispute(PoeDispute)

    Checks that one winning claim came earlier than all the other claims, and thus +the losing claims can be removed from storage.

    +
    §

    SetTimestamp(InherentAdapter<SetTimestamp<Runtime>>)

    Set the block’s timestamp via an inherent extrinsic.

    +
    §

    RuntimeUpgrade(RuntimeUpgrade)

    Upgrade the Wasm Runtime

    +

    Trait Implementations§

    source§

    impl Clone for OuterConstraintChecker

    source§

    fn clone(&self) -> OuterConstraintChecker

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl ConstraintChecker for OuterConstraintChecker

    §

    type Error = OuterConstraintCheckerError

    The error type that this constraint checker may return
    source§

    fn check( + &self, + inputs: &[DynamicallyTypedData], + evicted_inputs: &[DynamicallyTypedData], + peeks: &[DynamicallyTypedData], + outputs: &[DynamicallyTypedData] +) -> Result<u64, <OuterConstraintChecker as ConstraintChecker>::Error>

    The on chain logic that makes the final check for whether a transaction is valid.
    source§

    fn is_inherent(&self) -> bool

    Tells whether this extrinsic is an inherent or not. +If you return true here, you must provide the correct inherent hooks above.
    source§

    fn create_inherents<V>( + authoring_inherent_data: &InherentData, + previous_inherents: Vec<(Transaction<V, OuterConstraintChecker>, H256)> +) -> Vec<Transaction<V, OuterConstraintChecker>>
    where + V: Verifier,

    Create the inherent extrinsics to insert into a block that is being authored locally. +The inherent data is supplied by the authoring node.
    source§

    fn check_inherents<V>( + importing_inherent_data: &InherentData, + inherents: Vec<Transaction<V, OuterConstraintChecker>>, + result: &mut CheckInherentsResult +)
    where + V: Verifier,

    Perform off-chain pre-execution checks on the inherents. +The inherent data is supplied by the importing node. +The inherent data available here is not necessarily the +same as what is available at authoring time.
    source§

    fn genesis_transactions<V>() -> Vec<Transaction<V, OuterConstraintChecker>>
    where + V: Verifier,

    Return the genesis transactions that are required for the inherents.
    source§

    impl Debug for OuterConstraintChecker

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Decode for OuterConstraintChecker

    source§

    fn decode<__CodecInputEdqy>( + __codec_input_edqy: &mut __CodecInputEdqy +) -> Result<OuterConstraintChecker, Error>
    where + __CodecInputEdqy: Input,

    Attempt to deserialise the value from input.
    §

    fn decode_into<I>( + input: &mut I, + dst: &mut MaybeUninit<Self> +) -> Result<DecodeFinished, Error>
    where + I: Input,

    Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
    §

    fn skip<I>(input: &mut I) -> Result<(), Error>
    where + I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    source§

    impl<'de> Deserialize<'de> for OuterConstraintChecker

    source§

    fn deserialize<__D>( + __deserializer: __D +) -> Result<OuterConstraintChecker, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Encode for OuterConstraintChecker

    source§

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    source§

    fn encode_to<__CodecOutputEdqy>( + &self, + __codec_dest_edqy: &mut __CodecOutputEdqy +)
    where + __CodecOutputEdqy: Output + ?Sized,

    Convert self to a slice and append it to the destination.
    §

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    §

    fn using_encoded<R, F>(&self, f: F) -> R
    where + F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    source§

    impl From<AmoebaCreation> for OuterConstraintChecker

    source§

    fn from(b: AmoebaCreation) -> OuterConstraintChecker

    Converts to this type from the input type.
    source§

    impl From<AmoebaDeath> for OuterConstraintChecker

    source§

    fn from(b: AmoebaDeath) -> OuterConstraintChecker

    Converts to this type from the input type.
    source§

    impl From<AmoebaMitosis> for OuterConstraintChecker

    source§

    fn from(b: AmoebaMitosis) -> OuterConstraintChecker

    Converts to this type from the input type.
    source§

    impl From<FreeKittyConstraintChecker> for OuterConstraintChecker

    source§

    fn from(b: FreeKittyConstraintChecker) -> OuterConstraintChecker

    Converts to this type from the input type.
    source§

    impl From<InherentAdapter<SetTimestamp<Runtime>>> for OuterConstraintChecker

    source§

    fn from(b: InherentAdapter<SetTimestamp<Runtime>>) -> OuterConstraintChecker

    Converts to this type from the input type.
    source§

    impl From<MoneyConstraintChecker<0>> for OuterConstraintChecker

    source§

    fn from(b: MoneyConstraintChecker<0>) -> OuterConstraintChecker

    Converts to this type from the input type.
    source§

    impl From<OuterConstraintChecker> for ParachainConstraintChecker

    source§

    fn from(b: InnerConstraintChecker) -> Self

    Converts to this type from the input type.
    source§

    impl From<ParachainConstraintChecker> for InnerConstraintChecker

    source§

    fn from(a: ParachainConstraintChecker) -> Self

    Converts to this type from the input type.
    source§

    impl From<PoeClaim<Runtime>> for OuterConstraintChecker

    source§

    fn from(b: PoeClaim<Runtime>) -> OuterConstraintChecker

    Converts to this type from the input type.
    source§

    impl From<PoeDispute> for OuterConstraintChecker

    source§

    fn from(b: PoeDispute) -> OuterConstraintChecker

    Converts to this type from the input type.
    source§

    impl From<PoeRevoke> for OuterConstraintChecker

    source§

    fn from(b: PoeRevoke) -> OuterConstraintChecker

    Converts to this type from the input type.
    source§

    impl From<RuntimeUpgrade> for OuterConstraintChecker

    source§

    fn from(b: RuntimeUpgrade) -> OuterConstraintChecker

    Converts to this type from the input type.
    source§

    impl PartialEq for OuterConstraintChecker

    source§

    fn eq(&self, other: &OuterConstraintChecker) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for OuterConstraintChecker

    source§

    fn serialize<__S>( + &self, + __serializer: __S +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl TypeInfo for OuterConstraintChecker

    §

    type Identity = OuterConstraintChecker

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    source§

    impl EncodeLike for OuterConstraintChecker

    source§

    impl Eq for OuterConstraintChecker

    source§

    impl StructuralPartialEq for OuterConstraintChecker

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> Any for T
    where + T: Any,

    §

    fn into_any(self: Box<T>) -> Box<dyn Any>

    §

    fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

    §

    fn type_name(&self) -> &'static str

    §

    impl<T> AnySync for T
    where + T: Any + Send + Sync,

    §

    fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CheckedConversion for T

    §

    fn checked_from<T>(t: T) -> Option<Self>
    where + Self: TryFrom<T>,

    Convert from a value of T into an equivalent instance of Option<Self>. Read more
    §

    fn checked_into<T>(self) -> Option<T>
    where + Self: TryInto<T>,

    Consume self to return Some equivalent value of Option<T>. Read more
    §

    impl<T> Conv for T

    §

    fn conv<T>(self) -> T
    where + Self: Into<T>,

    Converts self into T using Into<T>. Read more
    §

    impl<T> DecodeAll for T
    where + T: Decode,

    §

    fn decode_all(input: &mut &[u8]) -> Result<T, Error>

    Decode Self and consume all of the given input data. Read more
    §

    impl<T> DecodeLimit for T
    where + T: Decode,

    §

    fn decode_all_with_depth_limit( + limit: u32, + input: &mut &[u8] +) -> Result<T, Error>

    Decode Self and consume all of the given input data. Read more
    §

    fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
    where + I: Input,

    Decode Self with the given maximum recursion depth and advance input by the number of +bytes consumed. Read more
    source§

    impl<T> DynClone for T
    where + T: Clone,

    source§

    fn __clone_box(&self, _: Private) -> *mut ()

    §

    impl<T> EncodeAs<T> for T
    where + T: Encode,

    §

    fn encode_as(&self) -> Vec<u8>

    Convert Self into T, then encode T. Read more
    source§

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<T> FmtForward for T

    §

    fn fmt_binary(self) -> FmtBinary<Self>
    where + Self: Binary,

    Causes self to use its Binary implementation when Debug-formatted.
    §

    fn fmt_display(self) -> FmtDisplay<Self>
    where + Self: Display,

    Causes self to use its Display implementation when +Debug-formatted.
    §

    fn fmt_lower_exp(self) -> FmtLowerExp<Self>
    where + Self: LowerExp,

    Causes self to use its LowerExp implementation when +Debug-formatted.
    §

    fn fmt_lower_hex(self) -> FmtLowerHex<Self>
    where + Self: LowerHex,

    Causes self to use its LowerHex implementation when +Debug-formatted.
    §

    fn fmt_octal(self) -> FmtOctal<Self>
    where + Self: Octal,

    Causes self to use its Octal implementation when Debug-formatted.
    §

    fn fmt_pointer(self) -> FmtPointer<Self>
    where + Self: Pointer,

    Causes self to use its Pointer implementation when +Debug-formatted.
    §

    fn fmt_upper_exp(self) -> FmtUpperExp<Self>
    where + Self: UpperExp,

    Causes self to use its UpperExp implementation when +Debug-formatted.
    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where + Self: UpperHex,

    Causes self to use its UpperHex implementation when +Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where + &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

    That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

    +
    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where + Outer: AsRef<T> + AsMut<T> + From<T>, + T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    +
    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    +
    §

    impl<T> KeyedVec for T
    where + T: Codec,

    §

    fn to_keyed_vec(&self, prepend_key: &[u8]) -> Vec<u8>

    Return an encoding of Self prepended by given slice.
    §

    impl<T> Pipe for T
    where + T: ?Sized,

    §

    fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
    where + Self: Sized,

    Pipes by value. This is generally the method you want to use. Read more
    §

    fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
    where + R: 'a,

    Borrows self and passes that borrow into the pipe function. Read more
    §

    fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
    where + R: 'a,

    Mutably borrows self and passes that borrow into the pipe function. Read more
    §

    fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
    where + Self: Borrow<B>, + B: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.borrow() into the pipe function. Read more
    §

    fn pipe_borrow_mut<'a, B, R>( + &'a mut self, + func: impl FnOnce(&'a mut B) -> R +) -> R
    where + Self: BorrowMut<B>, + B: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.borrow_mut() into the pipe +function. Read more
    §

    fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
    where + Self: AsRef<U>, + U: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.as_ref() into the pipe function.
    §

    fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
    where + Self: AsMut<U>, + U: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.as_mut() into the pipe +function.
    §

    fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
    where + Self: Deref<Target = T>, + T: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.deref() into the pipe function.
    §

    fn pipe_deref_mut<'a, T, R>( + &'a mut self, + func: impl FnOnce(&'a mut T) -> R +) -> R
    where + Self: DerefMut<Target = T> + Deref, + T: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.deref_mut() into the pipe +function.
    §

    impl<T> Pointable for T

    §

    const ALIGN: usize = _

    The alignment of pointer.
    §

    type Init = T

    The type for initializers.
    §

    unsafe fn init(init: <T as Pointable>::Init) -> usize

    Initializes a with the given initializer. Read more
    §

    unsafe fn deref<'a>(ptr: usize) -> &'a T

    Dereferences the given pointer. Read more
    §

    unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

    Mutably dereferences the given pointer. Read more
    §

    unsafe fn drop(ptr: usize)

    Drops the object pointed to by the given pointer. Read more
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    §

    impl<T> SaturatedConversion for T

    §

    fn saturated_from<T>(t: T) -> Self
    where + Self: UniqueSaturatedFrom<T>,

    Convert from a value of T into an equivalent instance of Self. Read more
    §

    fn saturated_into<T>(self) -> T
    where + Self: UniqueSaturatedInto<T>,

    Consume self to return an equivalent value of T. Read more
    §

    impl<T> Tap for T

    §

    fn tap(self, func: impl FnOnce(&Self)) -> Self

    Immutable access to a value. Read more
    §

    fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

    Mutable access to a value. Read more
    §

    fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
    where + Self: Borrow<B>, + B: ?Sized,

    Immutable access to the Borrow<B> of a value. Read more
    §

    fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
    where + Self: BorrowMut<B>, + B: ?Sized,

    Mutable access to the BorrowMut<B> of a value. Read more
    §

    fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
    where + Self: AsRef<R>, + R: ?Sized,

    Immutable access to the AsRef<R> view of a value. Read more
    §

    fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
    where + Self: AsMut<R>, + R: ?Sized,

    Mutable access to the AsMut<R> view of a value. Read more
    §

    fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
    where + Self: Deref<Target = T>, + T: ?Sized,

    Immutable access to the Deref::Target of a value. Read more
    §

    fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
    where + Self: DerefMut<Target = T> + Deref, + T: ?Sized,

    Mutable access to the Deref::Target of a value. Read more
    §

    fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

    Calls .tap() only in debug builds, and is erased in release builds.
    §

    fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

    Calls .tap_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
    where + Self: Borrow<B>, + B: ?Sized,

    Calls .tap_borrow() only in debug builds, and is erased in release +builds.
    §

    fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
    where + Self: BorrowMut<B>, + B: ?Sized,

    Calls .tap_borrow_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
    where + Self: AsRef<R>, + R: ?Sized,

    Calls .tap_ref() only in debug builds, and is erased in release +builds.
    §

    fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
    where + Self: AsMut<R>, + R: ?Sized,

    Calls .tap_ref_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
    where + Self: Deref<Target = T>, + T: ?Sized,

    Calls .tap_deref() only in debug builds, and is erased in release +builds.
    §

    fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
    where + Self: DerefMut<Target = T> + Deref, + T: ?Sized,

    Calls .tap_deref_mut() only in debug builds, and is erased in release +builds.
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where + T: Bounded, + S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    §

    impl<S> Codec for S
    where + S: Decode + Encode,

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> EncodeLike<&&T> for T
    where + T: Encode,

    §

    impl<T> EncodeLike<&T> for T
    where + T: Encode,

    §

    impl<T> EncodeLike<&mut T> for T
    where + T: Encode,

    §

    impl<T> EncodeLike<Arc<T>> for T
    where + T: Encode,

    §

    impl<T> EncodeLike<Box<T>> for T
    where + T: Encode,

    §

    impl<'a, T> EncodeLike<Cow<'a, T>> for T
    where + T: ToOwned + Encode,

    §

    impl<T> EncodeLike<Rc<T>> for T
    where + T: Encode,

    §

    impl<S> FullCodec for S
    where + S: Decode + FullEncode,

    §

    impl<S> FullEncode for S
    where + S: Encode + EncodeLike,

    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeDebug for T
    where + T: Debug,

    §

    impl<T> MaybeRefUnwindSafe for T
    where + T: RefUnwindSafe,

    §

    impl<T> MaybeSend for T
    where + T: Send,

    §

    impl<T> MaybeSerialize for T
    where + T: Serialize,

    §

    impl<T> MaybeSerializeDeserialize for T

    §

    impl<T> Member for T
    where + T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

    §

    impl<T> StaticTypeInfo for T
    where + T: TypeInfo + 'static,

    \ No newline at end of file diff --git a/tuxedo_parachain_runtime/enum.OuterVerifier.html b/tuxedo_parachain_runtime/enum.OuterVerifier.html new file mode 100644 index 000000000..ca2cce585 --- /dev/null +++ b/tuxedo_parachain_runtime/enum.OuterVerifier.html @@ -0,0 +1,193 @@ +OuterVerifier in tuxedo_parachain_runtime - Rust

    Enum tuxedo_parachain_runtime::OuterVerifier

    source ·
    pub enum OuterVerifier {
    +    Sr25519Signature(Sr25519Signature),
    +    UpForGrabs(UpForGrabs),
    +    ThresholdMultiSignature(ThresholdMultiSignature),
    +}
    Expand description

    A verifier checks that an individual input can be consumed. For example that it is signed properly +To begin playing, we will have two kinds. A simple signature check, and an anyone-can-consume check.

    +

    Variants§

    §

    Sr25519Signature(Sr25519Signature)

    §

    UpForGrabs(UpForGrabs)

    §

    ThresholdMultiSignature(ThresholdMultiSignature)

    Trait Implementations§

    source§

    impl Clone for OuterVerifier

    source§

    fn clone(&self) -> OuterVerifier

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for OuterVerifier

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Decode for OuterVerifier

    source§

    fn decode<__CodecInputEdqy>( + __codec_input_edqy: &mut __CodecInputEdqy +) -> Result<OuterVerifier, Error>
    where + __CodecInputEdqy: Input,

    Attempt to deserialise the value from input.
    §

    fn decode_into<I>( + input: &mut I, + dst: &mut MaybeUninit<Self> +) -> Result<DecodeFinished, Error>
    where + I: Input,

    Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
    §

    fn skip<I>(input: &mut I) -> Result<(), Error>
    where + I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    source§

    impl<'de> Deserialize<'de> for OuterVerifier

    source§

    fn deserialize<__D>( + __deserializer: __D +) -> Result<OuterVerifier, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Encode for OuterVerifier

    source§

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    source§

    fn encode_to<__CodecOutputEdqy>( + &self, + __codec_dest_edqy: &mut __CodecOutputEdqy +)
    where + __CodecOutputEdqy: Output + ?Sized,

    Convert self to a slice and append it to the destination.
    §

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    §

    fn using_encoded<R, F>(&self, f: F) -> R
    where + F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    source§

    impl From<Sr25519Signature> for OuterVerifier

    source§

    fn from(b: Sr25519Signature) -> OuterVerifier

    Converts to this type from the input type.
    source§

    impl From<ThresholdMultiSignature> for OuterVerifier

    source§

    fn from(b: ThresholdMultiSignature) -> OuterVerifier

    Converts to this type from the input type.
    source§

    impl From<UpForGrabs> for OuterVerifier

    source§

    fn from(b: UpForGrabs) -> OuterVerifier

    Converts to this type from the input type.
    source§

    impl PartialEq for OuterVerifier

    source§

    fn eq(&self, other: &OuterVerifier) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for OuterVerifier

    source§

    fn serialize<__S>( + &self, + __serializer: __S +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl TypeInfo for OuterVerifier

    §

    type Identity = OuterVerifier

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    source§

    impl Verifier for OuterVerifier

    §

    type Redeemer = OuterVerifierRedeemer

    The type that will be supplied to satisfy the verifier and redeem the UTXO.
    source§

    fn verify( + &self, + simplified_tx: &[u8], + block_number: u32, + redeemer: &<OuterVerifier as Verifier>::Redeemer +) -> bool

    Main function in the trait. Does the checks to make sure an output can be spent.
    source§

    fn new_unspendable() -> Option<OuterVerifier>

    A way to create a new instance of the verifier whose semantics cannot be spent. +This may be a signature check with a pubkey of 0 or a hashlock with a hash o 0 +or a bitcoin script that directly returns false, etc. Read more
    source§

    impl EncodeLike for OuterVerifier

    source§

    impl Eq for OuterVerifier

    source§

    impl StructuralPartialEq for OuterVerifier

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> Any for T
    where + T: Any,

    §

    fn into_any(self: Box<T>) -> Box<dyn Any>

    §

    fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

    §

    fn type_name(&self) -> &'static str

    §

    impl<T> AnySync for T
    where + T: Any + Send + Sync,

    §

    fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CheckedConversion for T

    §

    fn checked_from<T>(t: T) -> Option<Self>
    where + Self: TryFrom<T>,

    Convert from a value of T into an equivalent instance of Option<Self>. Read more
    §

    fn checked_into<T>(self) -> Option<T>
    where + Self: TryInto<T>,

    Consume self to return Some equivalent value of Option<T>. Read more
    §

    impl<T> Conv for T

    §

    fn conv<T>(self) -> T
    where + Self: Into<T>,

    Converts self into T using Into<T>. Read more
    §

    impl<T> DecodeAll for T
    where + T: Decode,

    §

    fn decode_all(input: &mut &[u8]) -> Result<T, Error>

    Decode Self and consume all of the given input data. Read more
    §

    impl<T> DecodeLimit for T
    where + T: Decode,

    §

    fn decode_all_with_depth_limit( + limit: u32, + input: &mut &[u8] +) -> Result<T, Error>

    Decode Self and consume all of the given input data. Read more
    §

    fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
    where + I: Input,

    Decode Self with the given maximum recursion depth and advance input by the number of +bytes consumed. Read more
    source§

    impl<T> DynClone for T
    where + T: Clone,

    source§

    fn __clone_box(&self, _: Private) -> *mut ()

    §

    impl<T> EncodeAs<T> for T
    where + T: Encode,

    §

    fn encode_as(&self) -> Vec<u8>

    Convert Self into T, then encode T. Read more
    source§

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<T> FmtForward for T

    §

    fn fmt_binary(self) -> FmtBinary<Self>
    where + Self: Binary,

    Causes self to use its Binary implementation when Debug-formatted.
    §

    fn fmt_display(self) -> FmtDisplay<Self>
    where + Self: Display,

    Causes self to use its Display implementation when +Debug-formatted.
    §

    fn fmt_lower_exp(self) -> FmtLowerExp<Self>
    where + Self: LowerExp,

    Causes self to use its LowerExp implementation when +Debug-formatted.
    §

    fn fmt_lower_hex(self) -> FmtLowerHex<Self>
    where + Self: LowerHex,

    Causes self to use its LowerHex implementation when +Debug-formatted.
    §

    fn fmt_octal(self) -> FmtOctal<Self>
    where + Self: Octal,

    Causes self to use its Octal implementation when Debug-formatted.
    §

    fn fmt_pointer(self) -> FmtPointer<Self>
    where + Self: Pointer,

    Causes self to use its Pointer implementation when +Debug-formatted.
    §

    fn fmt_upper_exp(self) -> FmtUpperExp<Self>
    where + Self: UpperExp,

    Causes self to use its UpperExp implementation when +Debug-formatted.
    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where + Self: UpperHex,

    Causes self to use its UpperHex implementation when +Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where + &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

    That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

    +
    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where + Outer: AsRef<T> + AsMut<T> + From<T>, + T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    +
    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    +
    §

    impl<T> KeyedVec for T
    where + T: Codec,

    §

    fn to_keyed_vec(&self, prepend_key: &[u8]) -> Vec<u8>

    Return an encoding of Self prepended by given slice.
    §

    impl<T> Pipe for T
    where + T: ?Sized,

    §

    fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
    where + Self: Sized,

    Pipes by value. This is generally the method you want to use. Read more
    §

    fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
    where + R: 'a,

    Borrows self and passes that borrow into the pipe function. Read more
    §

    fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
    where + R: 'a,

    Mutably borrows self and passes that borrow into the pipe function. Read more
    §

    fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
    where + Self: Borrow<B>, + B: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.borrow() into the pipe function. Read more
    §

    fn pipe_borrow_mut<'a, B, R>( + &'a mut self, + func: impl FnOnce(&'a mut B) -> R +) -> R
    where + Self: BorrowMut<B>, + B: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.borrow_mut() into the pipe +function. Read more
    §

    fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
    where + Self: AsRef<U>, + U: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.as_ref() into the pipe function.
    §

    fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
    where + Self: AsMut<U>, + U: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.as_mut() into the pipe +function.
    §

    fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
    where + Self: Deref<Target = T>, + T: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.deref() into the pipe function.
    §

    fn pipe_deref_mut<'a, T, R>( + &'a mut self, + func: impl FnOnce(&'a mut T) -> R +) -> R
    where + Self: DerefMut<Target = T> + Deref, + T: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.deref_mut() into the pipe +function.
    §

    impl<T> Pointable for T

    §

    const ALIGN: usize = _

    The alignment of pointer.
    §

    type Init = T

    The type for initializers.
    §

    unsafe fn init(init: <T as Pointable>::Init) -> usize

    Initializes a with the given initializer. Read more
    §

    unsafe fn deref<'a>(ptr: usize) -> &'a T

    Dereferences the given pointer. Read more
    §

    unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

    Mutably dereferences the given pointer. Read more
    §

    unsafe fn drop(ptr: usize)

    Drops the object pointed to by the given pointer. Read more
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    §

    impl<T> SaturatedConversion for T

    §

    fn saturated_from<T>(t: T) -> Self
    where + Self: UniqueSaturatedFrom<T>,

    Convert from a value of T into an equivalent instance of Self. Read more
    §

    fn saturated_into<T>(self) -> T
    where + Self: UniqueSaturatedInto<T>,

    Consume self to return an equivalent value of T. Read more
    §

    impl<T> Tap for T

    §

    fn tap(self, func: impl FnOnce(&Self)) -> Self

    Immutable access to a value. Read more
    §

    fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

    Mutable access to a value. Read more
    §

    fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
    where + Self: Borrow<B>, + B: ?Sized,

    Immutable access to the Borrow<B> of a value. Read more
    §

    fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
    where + Self: BorrowMut<B>, + B: ?Sized,

    Mutable access to the BorrowMut<B> of a value. Read more
    §

    fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
    where + Self: AsRef<R>, + R: ?Sized,

    Immutable access to the AsRef<R> view of a value. Read more
    §

    fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
    where + Self: AsMut<R>, + R: ?Sized,

    Mutable access to the AsMut<R> view of a value. Read more
    §

    fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
    where + Self: Deref<Target = T>, + T: ?Sized,

    Immutable access to the Deref::Target of a value. Read more
    §

    fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
    where + Self: DerefMut<Target = T> + Deref, + T: ?Sized,

    Mutable access to the Deref::Target of a value. Read more
    §

    fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

    Calls .tap() only in debug builds, and is erased in release builds.
    §

    fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

    Calls .tap_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
    where + Self: Borrow<B>, + B: ?Sized,

    Calls .tap_borrow() only in debug builds, and is erased in release +builds.
    §

    fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
    where + Self: BorrowMut<B>, + B: ?Sized,

    Calls .tap_borrow_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
    where + Self: AsRef<R>, + R: ?Sized,

    Calls .tap_ref() only in debug builds, and is erased in release +builds.
    §

    fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
    where + Self: AsMut<R>, + R: ?Sized,

    Calls .tap_ref_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
    where + Self: Deref<Target = T>, + T: ?Sized,

    Calls .tap_deref() only in debug builds, and is erased in release +builds.
    §

    fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
    where + Self: DerefMut<Target = T> + Deref, + T: ?Sized,

    Calls .tap_deref_mut() only in debug builds, and is erased in release +builds.
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where + T: Bounded, + S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    §

    impl<S> Codec for S
    where + S: Decode + Encode,

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> EncodeLike<&&T> for T
    where + T: Encode,

    §

    impl<T> EncodeLike<&T> for T
    where + T: Encode,

    §

    impl<T> EncodeLike<&mut T> for T
    where + T: Encode,

    §

    impl<T> EncodeLike<Arc<T>> for T
    where + T: Encode,

    §

    impl<T> EncodeLike<Box<T>> for T
    where + T: Encode,

    §

    impl<'a, T> EncodeLike<Cow<'a, T>> for T
    where + T: ToOwned + Encode,

    §

    impl<T> EncodeLike<Rc<T>> for T
    where + T: Encode,

    §

    impl<S> FullCodec for S
    where + S: Decode + FullEncode,

    §

    impl<S> FullEncode for S
    where + S: Encode + EncodeLike,

    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeDebug for T
    where + T: Debug,

    §

    impl<T> MaybeRefUnwindSafe for T
    where + T: RefUnwindSafe,

    §

    impl<T> MaybeSend for T
    where + T: Send,

    §

    impl<T> MaybeSerialize for T
    where + T: Serialize,

    §

    impl<T> MaybeSerializeDeserialize for T

    §

    impl<T> Member for T
    where + T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

    §

    impl<T> StaticTypeInfo for T
    where + T: TypeInfo + 'static,

    \ No newline at end of file diff --git a/tuxedo_parachain_runtime/enum.ParachainConstraintChecker.html b/tuxedo_parachain_runtime/enum.ParachainConstraintChecker.html new file mode 100644 index 000000000..64f919ca4 --- /dev/null +++ b/tuxedo_parachain_runtime/enum.ParachainConstraintChecker.html @@ -0,0 +1,203 @@ +ParachainConstraintChecker in tuxedo_parachain_runtime - Rust
    pub enum ParachainConstraintChecker {
    +    Inner(InnerConstraintChecker),
    +    ParachainInfo(InherentAdapter<SetParachainInfo<RuntimeParachainConfig>>),
    +}
    Expand description

    The Outer / Aggregate Constraint Checker for the Parachain runtime.

    +

    It is comprized of two individual checkers: +First, the constraint checker from the normal Tuxedo Template Runtime. +Second, the parachain inherent piece

    +

    That first constituent checker, the normal tuxedo template runtime, is itself an aggregate +constraint checker aggregated from individual pieces such as money, amoeba, and others.

    +

    Variants§

    §

    Inner(InnerConstraintChecker)

    All other calls are delegated to the normal Tuxedo Template Runtime.

    +
    §

    ParachainInfo(InherentAdapter<SetParachainInfo<RuntimeParachainConfig>>)

    Set some parachain related information via an inherent extrinsic.

    +

    Trait Implementations§

    source§

    impl Clone for ParachainConstraintChecker

    source§

    fn clone(&self) -> ParachainConstraintChecker

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl ConstraintChecker for ParachainConstraintChecker

    §

    type Error = ParachainConstraintCheckerError

    The error type that this constraint checker may return
    source§

    fn check( + &self, + inputs: &[DynamicallyTypedData], + evicted_inputs: &[DynamicallyTypedData], + peeks: &[DynamicallyTypedData], + outputs: &[DynamicallyTypedData] +) -> Result<TransactionPriority, Self::Error>

    The on chain logic that makes the final check for whether a transaction is valid.
    source§

    fn is_inherent(&self) -> bool

    Tells whether this extrinsic is an inherent or not. +If you return true here, you must provide the correct inherent hooks above.
    source§

    fn create_inherents<V: Verifier>( + authoring_inherent_data: &InherentData, + previous_inherents: Vec<(Transaction<V, ParachainConstraintChecker>, H256)> +) -> Vec<Transaction<V, ParachainConstraintChecker>>

    Create the inherent extrinsics to insert into a block that is being authored locally. +The inherent data is supplied by the authoring node.
    source§

    fn check_inherents<V: Verifier>( + importing_inherent_data: &InherentData, + inherents: Vec<Transaction<V, ParachainConstraintChecker>>, + result: &mut CheckInherentsResult +)

    Perform off-chain pre-execution checks on the inherents. +The inherent data is supplied by the importing node. +The inherent data available here is not necessarily the +same as what is available at authoring time.
    source§

    fn genesis_transactions<V: Verifier>( +) -> Vec<Transaction<V, ParachainConstraintChecker>>

    Return the genesis transactions that are required for the inherents.
    source§

    impl Debug for ParachainConstraintChecker

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Decode for ParachainConstraintChecker

    source§

    fn decode<__CodecInputEdqy: Input>( + __codec_input_edqy: &mut __CodecInputEdqy +) -> Result<Self, Error>

    Attempt to deserialise the value from input.
    §

    fn decode_into<I>( + input: &mut I, + dst: &mut MaybeUninit<Self> +) -> Result<DecodeFinished, Error>
    where + I: Input,

    Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
    §

    fn skip<I>(input: &mut I) -> Result<(), Error>
    where + I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    source§

    impl<'de> Deserialize<'de> for ParachainConstraintChecker

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Encode for ParachainConstraintChecker

    source§

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    source§

    fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + &self, + __codec_dest_edqy: &mut __CodecOutputEdqy +)

    Convert self to a slice and append it to the destination.
    §

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    §

    fn using_encoded<R, F>(&self, f: F) -> R
    where + F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    source§

    impl From<InherentAdapter<SetParachainInfo<RuntimeParachainConfig>>> for ParachainConstraintChecker

    source§

    fn from(b: InherentAdapter<SetParachainInfo<RuntimeParachainConfig>>) -> Self

    Converts to this type from the input type.
    source§

    impl From<OuterConstraintChecker> for ParachainConstraintChecker

    source§

    fn from(b: InnerConstraintChecker) -> Self

    Converts to this type from the input type.
    source§

    impl From<ParachainConstraintChecker> for InherentAdapter<SetParachainInfo<RuntimeParachainConfig>>

    source§

    fn from(a: ParachainConstraintChecker) -> Self

    Converts to this type from the input type.
    source§

    impl From<ParachainConstraintChecker> for InnerConstraintChecker

    source§

    fn from(a: ParachainConstraintChecker) -> Self

    Converts to this type from the input type.
    source§

    impl ParachainConstraintChecker for ParachainConstraintChecker

    source§

    impl PartialEq for ParachainConstraintChecker

    source§

    fn eq(&self, other: &ParachainConstraintChecker) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for ParachainConstraintChecker

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl TypeInfo for ParachainConstraintChecker

    §

    type Identity = ParachainConstraintChecker

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    source§

    impl EncodeLike for ParachainConstraintChecker

    source§

    impl Eq for ParachainConstraintChecker

    source§

    impl StructuralPartialEq for ParachainConstraintChecker

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> Any for T
    where + T: Any,

    §

    fn into_any(self: Box<T>) -> Box<dyn Any>

    §

    fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

    §

    fn type_name(&self) -> &'static str

    §

    impl<T> AnySync for T
    where + T: Any + Send + Sync,

    §

    fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CheckedConversion for T

    §

    fn checked_from<T>(t: T) -> Option<Self>
    where + Self: TryFrom<T>,

    Convert from a value of T into an equivalent instance of Option<Self>. Read more
    §

    fn checked_into<T>(self) -> Option<T>
    where + Self: TryInto<T>,

    Consume self to return Some equivalent value of Option<T>. Read more
    §

    impl<T> Conv for T

    §

    fn conv<T>(self) -> T
    where + Self: Into<T>,

    Converts self into T using Into<T>. Read more
    §

    impl<T> DecodeAll for T
    where + T: Decode,

    §

    fn decode_all(input: &mut &[u8]) -> Result<T, Error>

    Decode Self and consume all of the given input data. Read more
    §

    impl<T> DecodeLimit for T
    where + T: Decode,

    §

    fn decode_all_with_depth_limit( + limit: u32, + input: &mut &[u8] +) -> Result<T, Error>

    Decode Self and consume all of the given input data. Read more
    §

    fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
    where + I: Input,

    Decode Self with the given maximum recursion depth and advance input by the number of +bytes consumed. Read more
    source§

    impl<T> DynClone for T
    where + T: Clone,

    source§

    fn __clone_box(&self, _: Private) -> *mut ()

    §

    impl<T> EncodeAs<T> for T
    where + T: Encode,

    §

    fn encode_as(&self) -> Vec<u8>

    Convert Self into T, then encode T. Read more
    source§

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<T> FmtForward for T

    §

    fn fmt_binary(self) -> FmtBinary<Self>
    where + Self: Binary,

    Causes self to use its Binary implementation when Debug-formatted.
    §

    fn fmt_display(self) -> FmtDisplay<Self>
    where + Self: Display,

    Causes self to use its Display implementation when +Debug-formatted.
    §

    fn fmt_lower_exp(self) -> FmtLowerExp<Self>
    where + Self: LowerExp,

    Causes self to use its LowerExp implementation when +Debug-formatted.
    §

    fn fmt_lower_hex(self) -> FmtLowerHex<Self>
    where + Self: LowerHex,

    Causes self to use its LowerHex implementation when +Debug-formatted.
    §

    fn fmt_octal(self) -> FmtOctal<Self>
    where + Self: Octal,

    Causes self to use its Octal implementation when Debug-formatted.
    §

    fn fmt_pointer(self) -> FmtPointer<Self>
    where + Self: Pointer,

    Causes self to use its Pointer implementation when +Debug-formatted.
    §

    fn fmt_upper_exp(self) -> FmtUpperExp<Self>
    where + Self: UpperExp,

    Causes self to use its UpperExp implementation when +Debug-formatted.
    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where + Self: UpperHex,

    Causes self to use its UpperHex implementation when +Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where + &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

    That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

    +
    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where + Outer: AsRef<T> + AsMut<T> + From<T>, + T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    +
    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    +
    §

    impl<T> KeyedVec for T
    where + T: Codec,

    §

    fn to_keyed_vec(&self, prepend_key: &[u8]) -> Vec<u8>

    Return an encoding of Self prepended by given slice.
    §

    impl<T> Pipe for T
    where + T: ?Sized,

    §

    fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
    where + Self: Sized,

    Pipes by value. This is generally the method you want to use. Read more
    §

    fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
    where + R: 'a,

    Borrows self and passes that borrow into the pipe function. Read more
    §

    fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
    where + R: 'a,

    Mutably borrows self and passes that borrow into the pipe function. Read more
    §

    fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
    where + Self: Borrow<B>, + B: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.borrow() into the pipe function. Read more
    §

    fn pipe_borrow_mut<'a, B, R>( + &'a mut self, + func: impl FnOnce(&'a mut B) -> R +) -> R
    where + Self: BorrowMut<B>, + B: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.borrow_mut() into the pipe +function. Read more
    §

    fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
    where + Self: AsRef<U>, + U: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.as_ref() into the pipe function.
    §

    fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
    where + Self: AsMut<U>, + U: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.as_mut() into the pipe +function.
    §

    fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
    where + Self: Deref<Target = T>, + T: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.deref() into the pipe function.
    §

    fn pipe_deref_mut<'a, T, R>( + &'a mut self, + func: impl FnOnce(&'a mut T) -> R +) -> R
    where + Self: DerefMut<Target = T> + Deref, + T: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.deref_mut() into the pipe +function.
    §

    impl<T> Pointable for T

    §

    const ALIGN: usize = _

    The alignment of pointer.
    §

    type Init = T

    The type for initializers.
    §

    unsafe fn init(init: <T as Pointable>::Init) -> usize

    Initializes a with the given initializer. Read more
    §

    unsafe fn deref<'a>(ptr: usize) -> &'a T

    Dereferences the given pointer. Read more
    §

    unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

    Mutably dereferences the given pointer. Read more
    §

    unsafe fn drop(ptr: usize)

    Drops the object pointed to by the given pointer. Read more
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    §

    impl<T> SaturatedConversion for T

    §

    fn saturated_from<T>(t: T) -> Self
    where + Self: UniqueSaturatedFrom<T>,

    Convert from a value of T into an equivalent instance of Self. Read more
    §

    fn saturated_into<T>(self) -> T
    where + Self: UniqueSaturatedInto<T>,

    Consume self to return an equivalent value of T. Read more
    §

    impl<T> Tap for T

    §

    fn tap(self, func: impl FnOnce(&Self)) -> Self

    Immutable access to a value. Read more
    §

    fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

    Mutable access to a value. Read more
    §

    fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
    where + Self: Borrow<B>, + B: ?Sized,

    Immutable access to the Borrow<B> of a value. Read more
    §

    fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
    where + Self: BorrowMut<B>, + B: ?Sized,

    Mutable access to the BorrowMut<B> of a value. Read more
    §

    fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
    where + Self: AsRef<R>, + R: ?Sized,

    Immutable access to the AsRef<R> view of a value. Read more
    §

    fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
    where + Self: AsMut<R>, + R: ?Sized,

    Mutable access to the AsMut<R> view of a value. Read more
    §

    fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
    where + Self: Deref<Target = T>, + T: ?Sized,

    Immutable access to the Deref::Target of a value. Read more
    §

    fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
    where + Self: DerefMut<Target = T> + Deref, + T: ?Sized,

    Mutable access to the Deref::Target of a value. Read more
    §

    fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

    Calls .tap() only in debug builds, and is erased in release builds.
    §

    fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

    Calls .tap_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
    where + Self: Borrow<B>, + B: ?Sized,

    Calls .tap_borrow() only in debug builds, and is erased in release +builds.
    §

    fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
    where + Self: BorrowMut<B>, + B: ?Sized,

    Calls .tap_borrow_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
    where + Self: AsRef<R>, + R: ?Sized,

    Calls .tap_ref() only in debug builds, and is erased in release +builds.
    §

    fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
    where + Self: AsMut<R>, + R: ?Sized,

    Calls .tap_ref_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
    where + Self: Deref<Target = T>, + T: ?Sized,

    Calls .tap_deref() only in debug builds, and is erased in release +builds.
    §

    fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
    where + Self: DerefMut<Target = T> + Deref, + T: ?Sized,

    Calls .tap_deref_mut() only in debug builds, and is erased in release +builds.
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where + T: Bounded, + S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    §

    impl<S> Codec for S
    where + S: Decode + Encode,

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> EncodeLike<&&T> for T
    where + T: Encode,

    §

    impl<T> EncodeLike<&T> for T
    where + T: Encode,

    §

    impl<T> EncodeLike<&mut T> for T
    where + T: Encode,

    §

    impl<T> EncodeLike<Arc<T>> for T
    where + T: Encode,

    §

    impl<T> EncodeLike<Box<T>> for T
    where + T: Encode,

    §

    impl<'a, T> EncodeLike<Cow<'a, T>> for T
    where + T: ToOwned + Encode,

    §

    impl<T> EncodeLike<Rc<T>> for T
    where + T: Encode,

    §

    impl<S> FullCodec for S
    where + S: Decode + FullEncode,

    §

    impl<S> FullEncode for S
    where + S: Encode + EncodeLike,

    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeDebug for T
    where + T: Debug,

    §

    impl<T> MaybeRefUnwindSafe for T
    where + T: RefUnwindSafe,

    §

    impl<T> MaybeSend for T
    where + T: Send,

    §

    impl<T> MaybeSerialize for T
    where + T: Serialize,

    §

    impl<T> MaybeSerializeDeserialize for T

    §

    impl<T> Member for T
    where + T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

    §

    impl<T> StaticTypeInfo for T
    where + T: TypeInfo + 'static,

    \ No newline at end of file diff --git a/tuxedo_core/inherents/struct.TuxedoInherentAdapter.html b/tuxedo_parachain_runtime/enum.ParachainConstraintCheckerError.html similarity index 65% rename from tuxedo_core/inherents/struct.TuxedoInherentAdapter.html rename to tuxedo_parachain_runtime/enum.ParachainConstraintCheckerError.html index 020d000e2..697bc0911 100644 --- a/tuxedo_core/inherents/struct.TuxedoInherentAdapter.html +++ b/tuxedo_parachain_runtime/enum.ParachainConstraintCheckerError.html @@ -1,24 +1,10 @@ -TuxedoInherentAdapter in tuxedo_core::inherents - Rust -
    pub struct TuxedoInherentAdapter<T>(/* private fields */);
    Expand description

    An adapter to transform structured Tuxedo inherents into the more general and powerful -InherentInternal trait.

    -

    Trait Implementations§

    source§

    impl<T: Clone> Clone for TuxedoInherentAdapter<T>

    source§

    fn clone(&self) -> TuxedoInherentAdapter<T>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<T: Debug> Debug for TuxedoInherentAdapter<T>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<T: Default> Default for TuxedoInherentAdapter<T>

    source§

    fn default() -> TuxedoInherentAdapter<T>

    Returns the “default value” for a type. Read more
    source§

    impl<V: Verifier, C: ConstraintChecker<V>, T: TuxedoInherent<V, C> + 'static> InherentInternal<V, C> for TuxedoInherentAdapter<T>

    source§

    fn create_inherents( - authoring_inherent_data: &InherentData, - previous_inherents: Vec<(Transaction<V, C>, H256)> -) -> Vec<Transaction<V, C>>

    Create the inherent extrinsic to insert into a block that is being authored locally. -The inherent data is supplied by the authoring node.
    source§

    fn check_inherents( - importing_inherent_data: &InherentData, - inherents: Vec<Transaction<V, C>>, - results: &mut CheckInherentsResult -)

    Perform off-chain pre-execution checks on the inherents. -The inherent data is supplied by the importing node. -The inherent data available here is not guaranteed to be the -same as what is available at authoring time.
    source§

    fn genesis_transactions() -> Vec<Transaction<V, C>>

    Return the genesis transactions that are required for the inherents.
    source§

    impl<T> TypeInfo for TuxedoInherentAdapter<T>
    where - T: TypeInfo + 'static,

    §

    type Identity = TuxedoInherentAdapter<T>

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    source§

    impl<T: Copy> Copy for TuxedoInherentAdapter<T>

    Auto Trait Implementations§

    §

    impl<T> RefUnwindSafe for TuxedoInherentAdapter<T>
    where - T: RefUnwindSafe,

    §

    impl<T> Send for TuxedoInherentAdapter<T>
    where - T: Send,

    §

    impl<T> Sync for TuxedoInherentAdapter<T>
    where - T: Sync,

    §

    impl<T> Unpin for TuxedoInherentAdapter<T>
    where - T: Unpin,

    §

    impl<T> UnwindSafe for TuxedoInherentAdapter<T>
    where - T: UnwindSafe,

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +ParachainConstraintCheckerError in tuxedo_parachain_runtime - Rust
    pub enum ParachainConstraintCheckerError {
    +    Inner(<InnerConstraintChecker as ConstraintChecker>::Error),
    +    ParachainInfo(<InherentAdapter<SetParachainInfo<RuntimeParachainConfig>> as ConstraintChecker>::Error),
    +}
    Expand description

    This type is generated by the #[tuxedo_constraint_checker] macro. +It is a combined error type for the errors of each individual checker.

    +

    This type is accessible downstream as <OuterConstraintChecker as ConstraintChecker>::Error

    +

    Variants§

    Trait Implementations§

    source§

    impl Debug for ParachainConstraintCheckerError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> Any for T
    where T: Any,

    §

    fn into_any(self: Box<T>) -> Box<dyn Any>

    §

    fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

    §

    fn type_name(&self) -> &'static str

    §

    impl<T> AnySync for T
    where T: Any + Send + Sync,

    §

    fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

    source§

    impl<T> Borrow<T> for T
    where @@ -26,8 +12,7 @@ T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CheckedConversion for T

    §

    fn checked_from<T>(t: T) -> Option<Self>
    where Self: TryFrom<T>,

    Convert from a value of T into an equivalent instance of Option<Self>. Read more
    §

    fn checked_into<T>(self) -> Option<T>
    where Self: TryInto<T>,

    Consume self to return Some equivalent value of Option<T>. Read more
    §

    impl<T> Conv for T

    §

    fn conv<T>(self) -> T
    where - Self: Into<T>,

    Converts self into T using Into<T>. Read more
    source§

    impl<T> DynClone for T
    where - T: Clone,

    source§

    fn __clone_box(&self, _: Private) -> *mut ()

    §

    impl<T> FmtForward for T

    §

    fn fmt_binary(self) -> FmtBinary<Self>
    where + Self: Into<T>,

    Converts self into T using Into<T>. Read more
    §

    impl<T> FmtForward for T

    §

    fn fmt_binary(self) -> FmtBinary<Self>
    where Self: Binary,

    Causes self to use its Binary implementation when Debug-formatted.
    §

    fn fmt_display(self) -> FmtDisplay<Self>
    where Self: Display,

    Causes self to use its Display implementation when Debug-formatted.
    §

    fn fmt_lower_exp(self) -> FmtLowerExp<Self>
    where @@ -42,14 +27,23 @@ Debug-formatted.

    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where Self: UpperHex,

    Causes self to use its UpperHex implementation when Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where - &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where +

    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    @@ -117,18 +111,20 @@ builds.
    §

    fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
    where Self: DerefMut<Target = T> + Deref, T: ?Sized,

    Calls .tap_deref_mut() only in debug builds, and is erased in release -builds.
    source§

    impl<T> ToOwned for T
    where - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where - Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where +builds.

    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where T: Bounded, S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeDebug for T
    where +[WithDispatch] wrapper. Read more
    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeDebug for T
    where T: Debug,

    §

    impl<T> MaybeRefUnwindSafe for T
    where - T: RefUnwindSafe,

    §

    impl<T> StaticTypeInfo for T
    where - T: TypeInfo + 'static,

    \ No newline at end of file + T: RefUnwindSafe,
    §

    impl<T> MaybeSend for T
    where + T: Send,

    \ No newline at end of file diff --git a/tuxedo_parachain_runtime/fn.native_version.html b/tuxedo_parachain_runtime/fn.native_version.html new file mode 100644 index 000000000..8229e8100 --- /dev/null +++ b/tuxedo_parachain_runtime/fn.native_version.html @@ -0,0 +1,2 @@ +native_version in tuxedo_parachain_runtime - Rust

    Function tuxedo_parachain_runtime::native_version

    source ·
    pub fn native_version() -> NativeVersion
    Expand description

    The version information used to identify this runtime when compiled natively.

    +
    \ No newline at end of file diff --git a/tuxedo_parachain_runtime/genesis/fn.development_genesis_config.html b/tuxedo_parachain_runtime/genesis/fn.development_genesis_config.html new file mode 100644 index 000000000..cb7f42a2f --- /dev/null +++ b/tuxedo_parachain_runtime/genesis/fn.development_genesis_config.html @@ -0,0 +1 @@ +development_genesis_config in tuxedo_parachain_runtime::genesis - Rust
    pub fn development_genesis_config() -> Value
    \ No newline at end of file diff --git a/tuxedo_parachain_runtime/genesis/fn.development_genesis_transactions.html b/tuxedo_parachain_runtime/genesis/fn.development_genesis_transactions.html new file mode 100644 index 000000000..e092d1926 --- /dev/null +++ b/tuxedo_parachain_runtime/genesis/fn.development_genesis_transactions.html @@ -0,0 +1 @@ +development_genesis_transactions in tuxedo_parachain_runtime::genesis - Rust
    pub fn development_genesis_transactions() -> Vec<Transaction>
    \ No newline at end of file diff --git a/tuxedo_parachain_runtime/genesis/index.html b/tuxedo_parachain_runtime/genesis/index.html new file mode 100644 index 000000000..2bc4fa762 --- /dev/null +++ b/tuxedo_parachain_runtime/genesis/index.html @@ -0,0 +1,2 @@ +tuxedo_parachain_runtime::genesis - Rust

    Module tuxedo_parachain_runtime::genesis

    source ·
    Expand description

    Helper module to build a genesis configuration for the template runtime.

    +

    Re-exports§

    Functions§

    \ No newline at end of file diff --git a/tuxedo_parachain_runtime/genesis/sidebar-items.js b/tuxedo_parachain_runtime/genesis/sidebar-items.js new file mode 100644 index 000000000..e8262b5fd --- /dev/null +++ b/tuxedo_parachain_runtime/genesis/sidebar-items.js @@ -0,0 +1 @@ +window.SIDEBAR_ITEMS = {"fn":["development_genesis_config","development_genesis_transactions"]}; \ No newline at end of file diff --git a/tuxedo_parachain_runtime/index.html b/tuxedo_parachain_runtime/index.html new file mode 100644 index 000000000..e37b4a749 --- /dev/null +++ b/tuxedo_parachain_runtime/index.html @@ -0,0 +1,10 @@ +tuxedo_parachain_runtime - Rust

    Crate tuxedo_parachain_runtime

    source ·
    Expand description

    The Tuxedo Template Runtime is an example runtime that uses +most of the pieces provided in the wardrobe.

    +

    Modules§

    • Helper module to build a genesis configuration for the template runtime.
    • Opaque types. These are used by the CLI to instantiate machinery that don’t need to know +the specifics of the runtime. They can then be made to be agnostic over specific formats +of data like extrinsics, allowing for them to continue syncing the network through upgrades +to even the core data structures.

    Structs§

    Enums§

    • A constraint checker is a piece of logic that can be used to check a transaction. +For any given Tuxedo runtime there is a finite set of such constraint checkers. +For example, this may check that input token values exceed output token values.
    • A verifier checks that an individual input can be consumed. For example that it is signed properly +To begin playing, we will have two kinds. A simple signature check, and an anyone-can-consume check.
    • The Outer / Aggregate Constraint Checker for the Parachain runtime.
    • This type is generated by the #[tuxedo_constraint_checker] macro. +It is a combined error type for the errors of each individual checker.

    Constants§

    Functions§

    • The version information used to identify this runtime when compiled natively.

    Type Aliases§

    \ No newline at end of file diff --git a/tuxedo_parachain_runtime/opaque/index.html b/tuxedo_parachain_runtime/opaque/index.html new file mode 100644 index 000000000..6b151b70d --- /dev/null +++ b/tuxedo_parachain_runtime/opaque/index.html @@ -0,0 +1,5 @@ +tuxedo_parachain_runtime::opaque - Rust

    Module tuxedo_parachain_runtime::opaque

    source ·
    Expand description

    Opaque types. These are used by the CLI to instantiate machinery that don’t need to know +the specifics of the runtime. They can then be made to be agnostic over specific formats +of data like extrinsics, allowing for them to continue syncing the network through upgrades +to even the core data structures.

    +

    Structs§

    \ No newline at end of file diff --git a/tuxedo_parachain_runtime/opaque/sidebar-items.js b/tuxedo_parachain_runtime/opaque/sidebar-items.js new file mode 100644 index 000000000..4c500cc17 --- /dev/null +++ b/tuxedo_parachain_runtime/opaque/sidebar-items.js @@ -0,0 +1 @@ +window.SIDEBAR_ITEMS = {"struct":["AuraAppPublic","GrandpaAppPublic","SessionKeys"]}; \ No newline at end of file diff --git a/tuxedo_template_runtime/enum.OuterConstraintCheckerInherentHooks.html b/tuxedo_parachain_runtime/opaque/struct.AuraAppPublic.html similarity index 62% rename from tuxedo_template_runtime/enum.OuterConstraintCheckerInherentHooks.html rename to tuxedo_parachain_runtime/opaque/struct.AuraAppPublic.html index e70b88a3b..2118b807f 100644 --- a/tuxedo_template_runtime/enum.OuterConstraintCheckerInherentHooks.html +++ b/tuxedo_parachain_runtime/opaque/struct.AuraAppPublic.html @@ -1,32 +1,4 @@ -OuterConstraintCheckerInherentHooks in tuxedo_template_runtime - Rust -
    pub enum OuterConstraintCheckerInherentHooks {
    -    Money(<MoneyConstraintChecker<0> as ConstraintChecker<OuterVerifier>>::InherentHooks),
    -    FreeKittyConstraintChecker(<FreeKittyConstraintChecker as ConstraintChecker<OuterVerifier>>::InherentHooks),
    -    AmoebaMitosis(<AmoebaMitosis as ConstraintChecker<OuterVerifier>>::InherentHooks),
    -    AmoebaDeath(<AmoebaDeath as ConstraintChecker<OuterVerifier>>::InherentHooks),
    -    AmoebaCreation(<AmoebaCreation as ConstraintChecker<OuterVerifier>>::InherentHooks),
    -    PoeClaim(<PoeClaim<Runtime> as ConstraintChecker<OuterVerifier>>::InherentHooks),
    -    PoeRevoke(<PoeRevoke as ConstraintChecker<OuterVerifier>>::InherentHooks),
    -    PoeDispute(<PoeDispute as ConstraintChecker<OuterVerifier>>::InherentHooks),
    -    SetTimestamp(<SetTimestamp<Runtime> as ConstraintChecker<OuterVerifier>>::InherentHooks),
    -    RuntimeUpgrade(<RuntimeUpgrade as ConstraintChecker<OuterVerifier>>::InherentHooks),
    -    ParachainInfo(<SetParachainInfo<Runtime> as ConstraintChecker<OuterVerifier>>::InherentHooks),
    -}
    Expand description

    This type is generated by the #[tuxedo_constraint_checker] macro. -It is a combined set of inherent hooks for the inherent hooks of each individual checker.

    -

    This type is accessible downstream as <OuterConstraintChecker as ConstraintChecker>::InherentHooks

    -

    Variants§

    Trait Implementations§

    source§

    impl Debug for OuterConstraintCheckerInherentHooks

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl InherentInternal<OuterVerifier, OuterConstraintChecker> for OuterConstraintCheckerInherentHooks

    source§

    fn create_inherents( - authoring_inherent_data: &InherentData, - previous_inherents: Vec<(Transaction<OuterVerifier, OuterConstraintChecker>, H256)> -) -> Vec<Transaction<OuterVerifier, OuterConstraintChecker>>

    Create the inherent extrinsic to insert into a block that is being authored locally. -The inherent data is supplied by the authoring node.
    source§

    fn check_inherents( - importing_inherent_data: &InherentData, - inherents: Vec<Transaction<OuterVerifier, OuterConstraintChecker>>, - result: &mut CheckInherentsResult -)

    Perform off-chain pre-execution checks on the inherents. -The inherent data is supplied by the importing node. -The inherent data available here is not guaranteed to be the -same as what is available at authoring time.
    source§

    fn genesis_transactions( -) -> Vec<Transaction<OuterVerifier, OuterConstraintChecker>>

    Return the genesis transactions that are required for the inherents.
    source§

    impl TypeInfo for OuterConstraintCheckerInherentHooks

    §

    type Identity = OuterConstraintCheckerInherentHooks

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +AuraAppPublic in tuxedo_parachain_runtime::opaque - Rust

    Struct tuxedo_parachain_runtime::opaque::AuraAppPublic

    source ·
    pub struct AuraAppPublic;

    Trait Implementations§

    source§

    impl BoundToRuntimeAppPublic for AuraAppPublic

    §

    type Public = Public

    The [RuntimeAppPublic] this type is bound to.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> Any for T
    where T: Any,

    §

    fn into_any(self: Box<T>) -> Box<dyn Any>

    §

    fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

    §

    fn type_name(&self) -> &'static str

    §

    impl<T> AnySync for T
    where T: Any + Send + Sync,

    §

    fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

    source§

    impl<T> Borrow<T> for T
    where @@ -49,16 +21,23 @@ Debug-formatted.

    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where Self: UpperHex,

    Causes self to use its UpperHex implementation when Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where - &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more

    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + &'a Self: for<'a> IntoIterator,
    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where +

    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    @@ -127,9 +106,9 @@ Self: DerefMut<Target = T> + Deref, T: ?Sized,
    Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where - Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where T: Bounded, S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where @@ -139,8 +118,6 @@ [WithDispatch] wrapper. Read more

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeDebug for T
    where - T: Debug,

    §

    impl<T> MaybeRefUnwindSafe for T
    where +WithDispatch wrapper. Read more
    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeRefUnwindSafe for T
    where T: RefUnwindSafe,

    §

    impl<T> MaybeSend for T
    where - T: Send,

    §

    impl<T> StaticTypeInfo for T
    where - T: TypeInfo + 'static,

    \ No newline at end of file + T: Send, \ No newline at end of file diff --git a/tuxedo_core/genesis/struct.TuxedoGenesisConfig.html b/tuxedo_parachain_runtime/opaque/struct.GrandpaAppPublic.html similarity index 69% rename from tuxedo_core/genesis/struct.TuxedoGenesisConfig.html rename to tuxedo_parachain_runtime/opaque/struct.GrandpaAppPublic.html index a2b129973..63ff9dfc4 100644 --- a/tuxedo_core/genesis/struct.TuxedoGenesisConfig.html +++ b/tuxedo_parachain_runtime/opaque/struct.GrandpaAppPublic.html @@ -1,36 +1,4 @@ -TuxedoGenesisConfig in tuxedo_core::genesis - Rust -
    pub struct TuxedoGenesisConfig<V, C> { /* private fields */ }
    Expand description

    The TuxedoGenesisConfig struct is used to configure the genesis state of the runtime. -It expects the wasm binary and a list of transactions to be included in the genesis block, and stored along with their outputs. -They must not contain any inputs or peeks. These transactions will not be validated by the corresponding ConstraintChecker or Verifier. -Make sure to pass the inherents before the extrinsics.

    -

    Implementations§

    source§

    impl<V, C> TuxedoGenesisConfig<V, C>

    source

    pub fn new( - wasm_binary: Vec<u8>, - genesis_transactions: Vec<Transaction<V, C>> -) -> Self

    Create a new TuxedoGenesisConfig from a WASM binary and a list of transactions. -Make sure to pass the transactions in order: the inherents should be first, then the extrinsics.

    -
    source

    pub fn get_transaction(&self, i: usize) -> Option<&Transaction<V, C>>

    Trait Implementations§

    source§

    impl<V, C> BuildStorage for TuxedoGenesisConfig<V, C>
    where - V: Verifier, - C: ConstraintChecker<V>, - Transaction<V, C>: Encode, - Output<V>: Encode,

    source§

    fn assimilate_storage(&self, storage: &mut Storage) -> Result<(), String>

    Assimilate the storage into the genesis block. -This is done by inserting the genesis extrinsics into the genesis block, along with their outputs.

    -
    §

    fn build_storage(&self) -> Result<Storage, String>

    Build the storage out of this builder.
    source§

    impl<'de, V, C> Deserialize<'de> for TuxedoGenesisConfig<V, C>
    where - V: Deserialize<'de>, - C: Deserialize<'de>,

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<V, C> Serialize for TuxedoGenesisConfig<V, C>
    where - V: Serialize, - C: Serialize,

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    §

    impl<V, C> RefUnwindSafe for TuxedoGenesisConfig<V, C>
    where - C: RefUnwindSafe, - V: RefUnwindSafe,

    §

    impl<V, C> Send for TuxedoGenesisConfig<V, C>
    where - C: Send, - V: Send,

    §

    impl<V, C> Sync for TuxedoGenesisConfig<V, C>
    where - C: Sync, - V: Sync,

    §

    impl<V, C> Unpin for TuxedoGenesisConfig<V, C>
    where - C: Unpin, - V: Unpin,

    §

    impl<V, C> UnwindSafe for TuxedoGenesisConfig<V, C>
    where - C: UnwindSafe, - V: UnwindSafe,

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +GrandpaAppPublic in tuxedo_parachain_runtime::opaque - Rust
    pub struct GrandpaAppPublic;

    Trait Implementations§

    source§

    impl BoundToRuntimeAppPublic for GrandpaAppPublic

    §

    type Public = Public

    The [RuntimeAppPublic] this type is bound to.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> Any for T
    where T: Any,

    §

    fn into_any(self: Box<T>) -> Box<dyn Any>

    §

    fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

    §

    fn type_name(&self) -> &'static str

    §

    impl<T> AnySync for T
    where T: Any + Send + Sync,

    §

    fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

    source§

    impl<T> Borrow<T> for T
    where @@ -53,14 +21,23 @@ Debug-formatted.

    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where Self: UpperHex,

    Causes self to use its UpperHex implementation when Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where - &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more

    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + &'a Self: for<'a> IntoIterator,
    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where +

    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    @@ -129,18 +106,18 @@ Self: DerefMut<Target = T> + Deref, T: ?Sized,
    Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where - Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where T: Bounded, S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeRefUnwindSafe for T
    where - T: RefUnwindSafe,

    §

    impl<T> MaybeSerialize for T
    where - T: Serialize,

    §

    impl<T> MaybeSerializeDeserialize for T

    §

    impl<T> RuntimeGenesis for T
    where - T: Serialize + DeserializeOwned + BuildStorage,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeRefUnwindSafe for T
    where + T: RefUnwindSafe,

    §

    impl<T> MaybeSend for T
    where + T: Send,

    \ No newline at end of file diff --git a/tuxedo_template_runtime/struct.DummyParachainInfo.html b/tuxedo_parachain_runtime/opaque/struct.SessionKeys.html similarity index 66% rename from tuxedo_template_runtime/struct.DummyParachainInfo.html rename to tuxedo_parachain_runtime/opaque/struct.SessionKeys.html index aef22c6eb..48198b9ef 100644 --- a/tuxedo_template_runtime/struct.DummyParachainInfo.html +++ b/tuxedo_parachain_runtime/opaque/struct.SessionKeys.html @@ -1,43 +1,46 @@ -DummyParachainInfo in tuxedo_template_runtime - Rust -
    pub struct DummyParachainInfo;
    Expand description

    A Dummy constraint checker that does nothing. It is only present to make the -Parachain and non-parahcain OuterConstraintCheckers scale compatible

    -

    Trait Implementations§

    source§

    impl Clone for DummyParachainInfo

    source§

    fn clone(&self) -> DummyParachainInfo

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for DummyParachainInfo

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Decode for DummyParachainInfo

    source§

    fn decode<__CodecInputEdqy: Input>( +SessionKeys in tuxedo_parachain_runtime::opaque - Rust

    Struct tuxedo_parachain_runtime::opaque::SessionKeys

    source ·
    pub struct SessionKeys {
    +    pub aura: <AuraAppPublic as BoundToRuntimeAppPublic>::Public,
    +    pub grandpa: <GrandpaAppPublic as BoundToRuntimeAppPublic>::Public,
    +}

    Fields§

    §aura: <AuraAppPublic as BoundToRuntimeAppPublic>::Public§grandpa: <GrandpaAppPublic as BoundToRuntimeAppPublic>::Public

    Implementations§

    source§

    impl SessionKeys

    source

    pub fn generate(seed: Option<Vec<u8>>) -> Vec<u8>

    Generate a set of keys with optionally using the given seed.

    +

    The generated key pairs are stored in the keystore.

    +

    Returns the concatenated SCALE encoded public keys.

    +
    source

    pub fn into_raw_public_keys(self) -> Vec<(Vec<u8>, KeyTypeId)>

    Converts Self into a Vec of (raw public key, KeyTypeId).

    +
    source

    pub fn decode_into_raw_public_keys( + encoded: &[u8] +) -> Option<Vec<(Vec<u8>, KeyTypeId)>>

    Decode Self from the given encoded slice and convert Self into the raw public +keys (see Self::into_raw_public_keys).

    +

    Returns None when the decoding failed, otherwise Some(_).

    +

    Trait Implementations§

    source§

    impl Clone for SessionKeys

    source§

    fn clone(&self) -> SessionKeys

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for SessionKeys

    source§

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Decode for SessionKeys

    source§

    fn decode<__CodecInputEdqy>( __codec_input_edqy: &mut __CodecInputEdqy -) -> Result<Self, Error>

    Attempt to deserialise the value from input.
    §

    fn decode_into<I>( +) -> Result<SessionKeys, Error>
    where + __CodecInputEdqy: Input,

    Attempt to deserialise the value from input.
    §

    fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>
    where I: Input,

    Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
    §

    fn skip<I>(input: &mut I) -> Result<(), Error>
    where - I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    source§

    impl Default for DummyParachainInfo

    source§

    fn default() -> DummyParachainInfo

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for DummyParachainInfo

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Encode for DummyParachainInfo

    source§

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    source§

    fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    source§

    impl<'de> Deserialize<'de> for SessionKeys

    source§

    fn deserialize<__D>( + __deserializer: __D +) -> Result<SessionKeys, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Encode for SessionKeys

    source§

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    source§

    fn encode_to<__CodecOutputEdqy>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy -)

    Convert self to a slice and append it to the destination.
    §

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    §

    fn using_encoded<R, F>(&self, f: F) -> R
    where - F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    source§

    impl PartialEq for DummyParachainInfo

    source§

    fn eq(&self, other: &DummyParachainInfo) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for DummyParachainInfo

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl SimpleConstraintChecker for DummyParachainInfo

    §

    type Error = ()

    The error type that this constraint checker may return
    source§

    fn check( +)
    where + __CodecOutputEdqy: Output + ?Sized,

    Convert self to a slice and append it to the destination.
    §

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    §

    fn using_encoded<R, F>(&self, f: F) -> R
    where + F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    source§

    impl OpaqueKeys for SessionKeys

    §

    type KeyTypeIdProviders = (AuraAppPublic, GrandpaAppPublic)

    Types bound to this opaque keys that provide the key type ids returned.
    source§

    fn key_ids() -> &'static [KeyTypeId]

    Return the key-type IDs supported by this set.
    source§

    fn get_raw(&self, i: KeyTypeId) -> &[u8]

    Get the raw bytes of key with key-type ID i.
    §

    fn get<T>(&self, i: KeyTypeId) -> Option<T>
    where + T: Decode,

    Get the decoded key with key-type ID i.
    §

    fn ownership_proof_is_valid(&self, _proof: &[u8]) -> bool

    Verify a proof of ownership for the keys.
    source§

    impl PartialEq for SessionKeys

    source§

    fn eq(&self, other: &SessionKeys) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for SessionKeys

    source§

    fn serialize<__S>( &self, - _input_data: &[DynamicallyTypedData], - _peeks: &[DynamicallyTypedData], - _output_data: &[DynamicallyTypedData] -) -> Result<TransactionPriority, ()>

    The actual check validation logic
    source§

    impl TypeInfo for DummyParachainInfo

    §

    type Identity = DummyParachainInfo

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    source§

    impl EncodeLike for DummyParachainInfo

    source§

    impl Eq for DummyParachainInfo

    source§

    impl StructuralPartialEq for DummyParachainInfo

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + __serializer: __S +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl TypeInfo for SessionKeys

    §

    type Identity = SessionKeys

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    source§

    impl EncodeLike for SessionKeys

    source§

    impl Eq for SessionKeys

    source§

    impl StructuralPartialEq for SessionKeys

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> Any for T
    where T: Any,

    §

    fn into_any(self: Box<T>) -> Box<dyn Any>

    §

    fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

    §

    fn type_name(&self) -> &'static str

    §

    impl<T> AnySync for T
    where T: Any + Send + Sync,

    §

    fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CheckedConversion for T

    §

    fn checked_from<T>(t: T) -> Option<Self>
    where Self: TryFrom<T>,

    Convert from a value of T into an equivalent instance of Option<Self>. Read more
    §

    fn checked_into<T>(self) -> Option<T>
    where - Self: TryInto<T>,

    Consume self to return Some equivalent value of Option<T>. Read more
    §

    impl<T> Clear for T
    where - T: Default + Eq + PartialEq,

    §

    fn is_clear(&self) -> bool

    True iff no bits are set.
    §

    fn clear() -> T

    Return the value of Self that is clear.
    source§

    impl<T, V> ConstraintChecker<V> for T

    §

    type Error = <T as SimpleConstraintChecker>::Error

    The error type that this constraint checker may return
    §

    type InherentHooks = ()

    Optional Associated Inherent processing logic. If this transaction type is not an inherent, use (). -If it is an inherent, use Self, and implement the TuxedoInherent trait.
    source§

    fn check( - &self, - inputs: &[Output<V>], - peeks: &[Output<V>], - outputs: &[Output<V>] -) -> Result<u64, <T as ConstraintChecker<V>>::Error>

    The actual check validation logic
    source§

    fn is_inherent(&self) -> bool

    Tells whether this extrinsic is an inherent or not. -If you return true here, you must provide the correct inherent hooks above.
    §

    impl<T> Conv for T

    §

    fn conv<T>(self) -> T
    where + Self: TryInto<T>,

    Consume self to return Some equivalent value of Option<T>. Read more
    §

    impl<T> Conv for T

    §

    fn conv<T>(self) -> T
    where Self: Into<T>,

    Converts self into T using Into<T>. Read more
    §

    impl<T> DecodeAll for T
    where T: Decode,

    §

    fn decode_all(input: &mut &[u8]) -> Result<T, Error>

    Decode Self and consume all of the given input data. Read more
    §

    impl<T> DecodeLimit for T
    where T: Decode,

    §

    fn decode_all_with_depth_limit( @@ -45,8 +48,8 @@ input: &mut &[u8] ) -> Result<T, Error>

    Decode Self and consume all of the given input data. Read more
    §

    fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
    where I: Input,

    Decode Self with the given maximum recursion depth and advance input by the number of -bytes consumed. Read more
    source§

    impl<T> DynClone for T
    where - T: Clone,

    source§

    fn __clone_box(&self, _: Private) -> *mut ()

    §

    impl<T> EncodeAs<T> for T
    where +bytes consumed. Read more

    source§

    impl<T> DynClone for T
    where + T: Clone,

    source§

    fn __clone_box(&self, _: Private) -> *mut ()

    §

    impl<T> EncodeAs<T> for T
    where T: Encode,

    §

    fn encode_as(&self) -> Vec<u8>

    Convert Self into T, then encode T. Read more
    source§

    impl<Q, K> Equivalent<K> for Q
    where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Q
    where @@ -70,16 +73,23 @@ Debug-formatted.

    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where Self: UpperHex,

    Causes self to use its UpperHex implementation when Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where - &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + &'a Self: for<'a> IntoIterator,
    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where +

    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    @@ -150,9 +160,9 @@ T: ?Sized,
    Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
    source§

    impl<T> ToOwned for T
    where T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where - Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where T: Bounded, S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where @@ -163,8 +173,8 @@ S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
    §

    impl<S> Codec for S
    where - S: Decode + Encode,

    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> EncodeLike<&&T> for T
    where + S: Decode + Encode,

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> EncodeLike<&&T> for T
    where T: Encode,

    §

    impl<T> EncodeLike<&T> for T
    where T: Encode,

    §

    impl<T> EncodeLike<&mut T> for T
    where T: Encode,

    §

    impl<T> EncodeLike<Arc<T>> for T
    where @@ -177,7 +187,7 @@ T: Debug,

    §

    impl<T> MaybeRefUnwindSafe for T
    where T: RefUnwindSafe,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSerialize for T
    where - T: Serialize,

    §

    impl<T> MaybeSerializeDeserialize for T

    §

    impl<T> Member for T
    where + T: Serialize,

    §

    impl<T> MaybeSerializeDeserialize for T

    §

    impl<T> Member for T
    where T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

    §

    impl<T> StaticTypeInfo for T
    where - T: TypeInfo + 'static,

    \ No newline at end of file + T: TypeInfo + 'static, \ No newline at end of file diff --git a/tuxedo_parachain_runtime/sidebar-items.js b/tuxedo_parachain_runtime/sidebar-items.js new file mode 100644 index 000000000..95c6b489c --- /dev/null +++ b/tuxedo_parachain_runtime/sidebar-items.js @@ -0,0 +1 @@ +window.SIDEBAR_ITEMS = {"constant":["VERSION","WASM_BINARY","WASM_BINARY_BLOATY"],"enum":["InnerConstraintChecker","OuterVerifier","ParachainConstraintChecker","ParachainConstraintCheckerError"],"fn":["native_version"],"mod":["api","genesis","opaque"],"struct":["Runtime","RuntimeApi","RuntimeApiImpl","RuntimeParachainConfig"],"type":["Block","Executive","Transaction"]}; \ No newline at end of file diff --git a/tuxedo_parachain_runtime/struct.Runtime.html b/tuxedo_parachain_runtime/struct.Runtime.html new file mode 100644 index 000000000..66ab2894e --- /dev/null +++ b/tuxedo_parachain_runtime/struct.Runtime.html @@ -0,0 +1,175 @@ +Runtime in tuxedo_parachain_runtime - Rust

    Struct tuxedo_parachain_runtime::Runtime

    source ·
    pub struct Runtime;
    Expand description

    The main struct in this module.

    +

    Trait Implementations§

    source§

    impl AuraApiV1<Block<Header<u32, BlakeTwo256>, Transaction<OuterVerifier, ParachainConstraintChecker>>, Public> for Runtime

    source§

    fn slot_duration() -> SlotDuration

    Returns the slot duration for Aura. Read more
    source§

    fn authorities() -> Vec<AuraId>

    Return the current set of authorities.
    source§

    impl BlockBuilderV6<Block<Header<u32, BlakeTwo256>, Transaction<OuterVerifier, ParachainConstraintChecker>>> for Runtime

    source§

    fn apply_extrinsic( + extrinsic: <Block as BlockT>::Extrinsic +) -> ApplyExtrinsicResult

    Apply the given extrinsic. Read more
    source§

    fn finalize_block() -> <Block as BlockT>::Header

    Finish the current block.
    source§

    fn inherent_extrinsics(data: InherentData) -> Vec<<Block as BlockT>::Extrinsic>

    Generate inherent extrinsics. The inherent data will vary from chain to chain.
    source§

    fn check_inherents(block: Block, data: InherentData) -> CheckInherentsResult

    Check that the inherents are valid. The inherent data will vary from chain to chain.
    source§

    impl Clone for Runtime

    source§

    fn clone(&self) -> Runtime

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl CollectCollationInfoV2<Block<Header<u32, BlakeTwo256>, Transaction<OuterVerifier, ParachainConstraintChecker>>> for Runtime

    source§

    fn collect_collation_info(header: &<Block as BlockT>::Header) -> CollationInfo

    Collect information about a collation. Read more
    source§

    impl CoreV4<Block<Header<u32, BlakeTwo256>, Transaction<OuterVerifier, ParachainConstraintChecker>>> for Runtime

    source§

    fn version() -> RuntimeVersion

    Returns the version of the runtime.
    source§

    fn execute_block(block: Block)

    Execute the given block.
    source§

    fn initialize_block(header: &<Block as BlockT>::Header)

    Initialize a block with the given header.
    source§

    impl Decode for Runtime

    source§

    fn decode<__CodecInputEdqy: Input>( + __codec_input_edqy: &mut __CodecInputEdqy +) -> Result<Self, Error>

    Attempt to deserialise the value from input.
    §

    fn decode_into<I>( + input: &mut I, + dst: &mut MaybeUninit<Self> +) -> Result<DecodeFinished, Error>
    where + I: Input,

    Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
    §

    fn skip<I>(input: &mut I) -> Result<(), Error>
    where + I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    source§

    impl Encode for Runtime

    source§

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    source§

    fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + &self, + __codec_dest_edqy: &mut __CodecOutputEdqy +)

    Convert self to a slice and append it to the destination.
    §

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    §

    fn using_encoded<R, F>(&self, f: F) -> R
    where + F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    source§

    impl GenesisBuilderV1<Block<Header<u32, BlakeTwo256>, Transaction<OuterVerifier, ParachainConstraintChecker>>> for Runtime

    source§

    fn create_default_config() -> Vec<u8>

    Creates the default GenesisConfig and returns it as a JSON blob. Read more
    source§

    fn build_config(config: Vec<u8>) -> Result

    Build GenesisConfig from a JSON blob not using any defaults and store it in the storage. Read more
    source§

    impl MetadataV2<Block<Header<u32, BlakeTwo256>, Transaction<OuterVerifier, ParachainConstraintChecker>>> for Runtime

    source§

    fn metadata() -> OpaqueMetadata

    Returns the metadata of a runtime.
    source§

    fn metadata_at_version(_version: u32) -> Option<OpaqueMetadata>

    Returns the metadata at a given version. Read more
    source§

    fn metadata_versions() -> Vec<u32>

    Returns the supported metadata versions. Read more
    source§

    impl PartialEq for Runtime

    source§

    fn eq(&self, other: &Runtime) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl SessionKeysV1<Block<Header<u32, BlakeTwo256>, Transaction<OuterVerifier, ParachainConstraintChecker>>> for Runtime

    source§

    fn generate_session_keys(seed: Option<Vec<u8>>) -> Vec<u8>

    Generate a set of session keys with optionally using the given seed. +The keys should be stored within the keystore exposed via runtime +externalities. Read more
    source§

    fn decode_session_keys(encoded: Vec<u8>) -> Option<Vec<(Vec<u8>, KeyTypeId)>>

    Decode the given public session keys. Read more
    source§

    impl TaggedTransactionQueueV3<Block<Header<u32, BlakeTwo256>, Transaction<OuterVerifier, ParachainConstraintChecker>>> for Runtime

    source§

    fn validate_transaction( + source: TransactionSource, + tx: <Block as BlockT>::Extrinsic, + block_hash: <Block as BlockT>::Hash +) -> TransactionValidity

    Validate the transaction. Read more
    source§

    impl TypeInfo for Runtime

    §

    type Identity = Runtime

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    source§

    impl EncodeLike for Runtime

    source§

    impl Eq for Runtime

    source§

    impl StructuralPartialEq for Runtime

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> Any for T
    where + T: Any,

    §

    fn into_any(self: Box<T>) -> Box<dyn Any>

    §

    fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

    §

    fn type_name(&self) -> &'static str

    §

    impl<T> AnySync for T
    where + T: Any + Send + Sync,

    §

    fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CheckedConversion for T

    §

    fn checked_from<T>(t: T) -> Option<Self>
    where + Self: TryFrom<T>,

    Convert from a value of T into an equivalent instance of Option<Self>. Read more
    §

    fn checked_into<T>(self) -> Option<T>
    where + Self: TryInto<T>,

    Consume self to return Some equivalent value of Option<T>. Read more
    §

    impl<T> Conv for T

    §

    fn conv<T>(self) -> T
    where + Self: Into<T>,

    Converts self into T using Into<T>. Read more
    §

    impl<T> DecodeAll for T
    where + T: Decode,

    §

    fn decode_all(input: &mut &[u8]) -> Result<T, Error>

    Decode Self and consume all of the given input data. Read more
    §

    impl<T> DecodeLimit for T
    where + T: Decode,

    §

    fn decode_all_with_depth_limit( + limit: u32, + input: &mut &[u8] +) -> Result<T, Error>

    Decode Self and consume all of the given input data. Read more
    §

    fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
    where + I: Input,

    Decode Self with the given maximum recursion depth and advance input by the number of +bytes consumed. Read more
    source§

    impl<T> DynClone for T
    where + T: Clone,

    source§

    fn __clone_box(&self, _: Private) -> *mut ()

    §

    impl<T> EncodeAs<T> for T
    where + T: Encode,

    §

    fn encode_as(&self) -> Vec<u8>

    Convert Self into T, then encode T. Read more
    source§

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<T> FmtForward for T

    §

    fn fmt_binary(self) -> FmtBinary<Self>
    where + Self: Binary,

    Causes self to use its Binary implementation when Debug-formatted.
    §

    fn fmt_display(self) -> FmtDisplay<Self>
    where + Self: Display,

    Causes self to use its Display implementation when +Debug-formatted.
    §

    fn fmt_lower_exp(self) -> FmtLowerExp<Self>
    where + Self: LowerExp,

    Causes self to use its LowerExp implementation when +Debug-formatted.
    §

    fn fmt_lower_hex(self) -> FmtLowerHex<Self>
    where + Self: LowerHex,

    Causes self to use its LowerHex implementation when +Debug-formatted.
    §

    fn fmt_octal(self) -> FmtOctal<Self>
    where + Self: Octal,

    Causes self to use its Octal implementation when Debug-formatted.
    §

    fn fmt_pointer(self) -> FmtPointer<Self>
    where + Self: Pointer,

    Causes self to use its Pointer implementation when +Debug-formatted.
    §

    fn fmt_upper_exp(self) -> FmtUpperExp<Self>
    where + Self: UpperExp,

    Causes self to use its UpperExp implementation when +Debug-formatted.
    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where + Self: UpperHex,

    Causes self to use its UpperHex implementation when +Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where + &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

    That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

    +
    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where + Outer: AsRef<T> + AsMut<T> + From<T>, + T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    +
    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    +
    §

    impl<T> KeyedVec for T
    where + T: Codec,

    §

    fn to_keyed_vec(&self, prepend_key: &[u8]) -> Vec<u8>

    Return an encoding of Self prepended by given slice.
    §

    impl<T> Pipe for T
    where + T: ?Sized,

    §

    fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
    where + Self: Sized,

    Pipes by value. This is generally the method you want to use. Read more
    §

    fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
    where + R: 'a,

    Borrows self and passes that borrow into the pipe function. Read more
    §

    fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
    where + R: 'a,

    Mutably borrows self and passes that borrow into the pipe function. Read more
    §

    fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
    where + Self: Borrow<B>, + B: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.borrow() into the pipe function. Read more
    §

    fn pipe_borrow_mut<'a, B, R>( + &'a mut self, + func: impl FnOnce(&'a mut B) -> R +) -> R
    where + Self: BorrowMut<B>, + B: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.borrow_mut() into the pipe +function. Read more
    §

    fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
    where + Self: AsRef<U>, + U: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.as_ref() into the pipe function.
    §

    fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
    where + Self: AsMut<U>, + U: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.as_mut() into the pipe +function.
    §

    fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
    where + Self: Deref<Target = T>, + T: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.deref() into the pipe function.
    §

    fn pipe_deref_mut<'a, T, R>( + &'a mut self, + func: impl FnOnce(&'a mut T) -> R +) -> R
    where + Self: DerefMut<Target = T> + Deref, + T: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.deref_mut() into the pipe +function.
    §

    impl<T> Pointable for T

    §

    const ALIGN: usize = _

    The alignment of pointer.
    §

    type Init = T

    The type for initializers.
    §

    unsafe fn init(init: <T as Pointable>::Init) -> usize

    Initializes a with the given initializer. Read more
    §

    unsafe fn deref<'a>(ptr: usize) -> &'a T

    Dereferences the given pointer. Read more
    §

    unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

    Mutably dereferences the given pointer. Read more
    §

    unsafe fn drop(ptr: usize)

    Drops the object pointed to by the given pointer. Read more
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    §

    impl<T> SaturatedConversion for T

    §

    fn saturated_from<T>(t: T) -> Self
    where + Self: UniqueSaturatedFrom<T>,

    Convert from a value of T into an equivalent instance of Self. Read more
    §

    fn saturated_into<T>(self) -> T
    where + Self: UniqueSaturatedInto<T>,

    Consume self to return an equivalent value of T. Read more
    §

    impl<T> Tap for T

    §

    fn tap(self, func: impl FnOnce(&Self)) -> Self

    Immutable access to a value. Read more
    §

    fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

    Mutable access to a value. Read more
    §

    fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
    where + Self: Borrow<B>, + B: ?Sized,

    Immutable access to the Borrow<B> of a value. Read more
    §

    fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
    where + Self: BorrowMut<B>, + B: ?Sized,

    Mutable access to the BorrowMut<B> of a value. Read more
    §

    fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
    where + Self: AsRef<R>, + R: ?Sized,

    Immutable access to the AsRef<R> view of a value. Read more
    §

    fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
    where + Self: AsMut<R>, + R: ?Sized,

    Mutable access to the AsMut<R> view of a value. Read more
    §

    fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
    where + Self: Deref<Target = T>, + T: ?Sized,

    Immutable access to the Deref::Target of a value. Read more
    §

    fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
    where + Self: DerefMut<Target = T> + Deref, + T: ?Sized,

    Mutable access to the Deref::Target of a value. Read more
    §

    fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

    Calls .tap() only in debug builds, and is erased in release builds.
    §

    fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

    Calls .tap_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
    where + Self: Borrow<B>, + B: ?Sized,

    Calls .tap_borrow() only in debug builds, and is erased in release +builds.
    §

    fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
    where + Self: BorrowMut<B>, + B: ?Sized,

    Calls .tap_borrow_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
    where + Self: AsRef<R>, + R: ?Sized,

    Calls .tap_ref() only in debug builds, and is erased in release +builds.
    §

    fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
    where + Self: AsMut<R>, + R: ?Sized,

    Calls .tap_ref_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
    where + Self: Deref<Target = T>, + T: ?Sized,

    Calls .tap_deref() only in debug builds, and is erased in release +builds.
    §

    fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
    where + Self: DerefMut<Target = T> + Deref, + T: ?Sized,

    Calls .tap_deref_mut() only in debug builds, and is erased in release +builds.
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where + T: Bounded, + S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    §

    impl<S> Codec for S
    where + S: Decode + Encode,

    §

    impl<T> EncodeLike<&&T> for T
    where + T: Encode,

    §

    impl<T> EncodeLike<&T> for T
    where + T: Encode,

    §

    impl<T> EncodeLike<&mut T> for T
    where + T: Encode,

    §

    impl<T> EncodeLike<Arc<T>> for T
    where + T: Encode,

    §

    impl<T> EncodeLike<Box<T>> for T
    where + T: Encode,

    §

    impl<'a, T> EncodeLike<Cow<'a, T>> for T
    where + T: ToOwned + Encode,

    §

    impl<T> EncodeLike<Rc<T>> for T
    where + T: Encode,

    §

    impl<S> FullCodec for S
    where + S: Decode + FullEncode,

    §

    impl<S> FullEncode for S
    where + S: Encode + EncodeLike,

    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeRefUnwindSafe for T
    where + T: RefUnwindSafe,

    §

    impl<T> MaybeSend for T
    where + T: Send,

    §

    impl<T> StaticTypeInfo for T
    where + T: TypeInfo + 'static,

    \ No newline at end of file diff --git a/tuxedo_parachain_runtime/struct.RuntimeApi.html b/tuxedo_parachain_runtime/struct.RuntimeApi.html new file mode 100644 index 000000000..272285b35 --- /dev/null +++ b/tuxedo_parachain_runtime/struct.RuntimeApi.html @@ -0,0 +1,124 @@ +RuntimeApi in tuxedo_parachain_runtime - Rust

    Struct tuxedo_parachain_runtime::RuntimeApi

    source ·
    pub struct RuntimeApi {}

    Trait Implementations§

    source§

    impl<Block: BlockT, C> ConstructRuntimeApi<Block, C> for RuntimeApi
    where + C: CallApiAt<Block> + 'static,

    §

    type RuntimeApi = RuntimeApiImpl<Block, C>

    The actual runtime api that will be constructed.
    source§

    fn construct_runtime_api<'a>(call: &'a C) -> ApiRef<'a, Self::RuntimeApi>

    Construct an instance of the runtime api.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> Any for T
    where + T: Any,

    §

    fn into_any(self: Box<T>) -> Box<dyn Any>

    §

    fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

    §

    fn type_name(&self) -> &'static str

    §

    impl<T> AnySync for T
    where + T: Any + Send + Sync,

    §

    fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CheckedConversion for T

    §

    fn checked_from<T>(t: T) -> Option<Self>
    where + Self: TryFrom<T>,

    Convert from a value of T into an equivalent instance of Option<Self>. Read more
    §

    fn checked_into<T>(self) -> Option<T>
    where + Self: TryInto<T>,

    Consume self to return Some equivalent value of Option<T>. Read more
    §

    impl<T> Conv for T

    §

    fn conv<T>(self) -> T
    where + Self: Into<T>,

    Converts self into T using Into<T>. Read more
    §

    impl<T> FmtForward for T

    §

    fn fmt_binary(self) -> FmtBinary<Self>
    where + Self: Binary,

    Causes self to use its Binary implementation when Debug-formatted.
    §

    fn fmt_display(self) -> FmtDisplay<Self>
    where + Self: Display,

    Causes self to use its Display implementation when +Debug-formatted.
    §

    fn fmt_lower_exp(self) -> FmtLowerExp<Self>
    where + Self: LowerExp,

    Causes self to use its LowerExp implementation when +Debug-formatted.
    §

    fn fmt_lower_hex(self) -> FmtLowerHex<Self>
    where + Self: LowerHex,

    Causes self to use its LowerHex implementation when +Debug-formatted.
    §

    fn fmt_octal(self) -> FmtOctal<Self>
    where + Self: Octal,

    Causes self to use its Octal implementation when Debug-formatted.
    §

    fn fmt_pointer(self) -> FmtPointer<Self>
    where + Self: Pointer,

    Causes self to use its Pointer implementation when +Debug-formatted.
    §

    fn fmt_upper_exp(self) -> FmtUpperExp<Self>
    where + Self: UpperExp,

    Causes self to use its UpperExp implementation when +Debug-formatted.
    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where + Self: UpperHex,

    Causes self to use its UpperHex implementation when +Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where + &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

    That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

    +
    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where + Outer: AsRef<T> + AsMut<T> + From<T>, + T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    +
    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    +
    §

    impl<T> Pipe for T
    where + T: ?Sized,

    §

    fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
    where + Self: Sized,

    Pipes by value. This is generally the method you want to use. Read more
    §

    fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
    where + R: 'a,

    Borrows self and passes that borrow into the pipe function. Read more
    §

    fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
    where + R: 'a,

    Mutably borrows self and passes that borrow into the pipe function. Read more
    §

    fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
    where + Self: Borrow<B>, + B: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.borrow() into the pipe function. Read more
    §

    fn pipe_borrow_mut<'a, B, R>( + &'a mut self, + func: impl FnOnce(&'a mut B) -> R +) -> R
    where + Self: BorrowMut<B>, + B: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.borrow_mut() into the pipe +function. Read more
    §

    fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
    where + Self: AsRef<U>, + U: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.as_ref() into the pipe function.
    §

    fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
    where + Self: AsMut<U>, + U: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.as_mut() into the pipe +function.
    §

    fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
    where + Self: Deref<Target = T>, + T: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.deref() into the pipe function.
    §

    fn pipe_deref_mut<'a, T, R>( + &'a mut self, + func: impl FnOnce(&'a mut T) -> R +) -> R
    where + Self: DerefMut<Target = T> + Deref, + T: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.deref_mut() into the pipe +function.
    §

    impl<T> Pointable for T

    §

    const ALIGN: usize = _

    The alignment of pointer.
    §

    type Init = T

    The type for initializers.
    §

    unsafe fn init(init: <T as Pointable>::Init) -> usize

    Initializes a with the given initializer. Read more
    §

    unsafe fn deref<'a>(ptr: usize) -> &'a T

    Dereferences the given pointer. Read more
    §

    unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

    Mutably dereferences the given pointer. Read more
    §

    unsafe fn drop(ptr: usize)

    Drops the object pointed to by the given pointer. Read more
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    §

    impl<T> SaturatedConversion for T

    §

    fn saturated_from<T>(t: T) -> Self
    where + Self: UniqueSaturatedFrom<T>,

    Convert from a value of T into an equivalent instance of Self. Read more
    §

    fn saturated_into<T>(self) -> T
    where + Self: UniqueSaturatedInto<T>,

    Consume self to return an equivalent value of T. Read more
    §

    impl<T> Tap for T

    §

    fn tap(self, func: impl FnOnce(&Self)) -> Self

    Immutable access to a value. Read more
    §

    fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

    Mutable access to a value. Read more
    §

    fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
    where + Self: Borrow<B>, + B: ?Sized,

    Immutable access to the Borrow<B> of a value. Read more
    §

    fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
    where + Self: BorrowMut<B>, + B: ?Sized,

    Mutable access to the BorrowMut<B> of a value. Read more
    §

    fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
    where + Self: AsRef<R>, + R: ?Sized,

    Immutable access to the AsRef<R> view of a value. Read more
    §

    fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
    where + Self: AsMut<R>, + R: ?Sized,

    Mutable access to the AsMut<R> view of a value. Read more
    §

    fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
    where + Self: Deref<Target = T>, + T: ?Sized,

    Immutable access to the Deref::Target of a value. Read more
    §

    fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
    where + Self: DerefMut<Target = T> + Deref, + T: ?Sized,

    Mutable access to the Deref::Target of a value. Read more
    §

    fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

    Calls .tap() only in debug builds, and is erased in release builds.
    §

    fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

    Calls .tap_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
    where + Self: Borrow<B>, + B: ?Sized,

    Calls .tap_borrow() only in debug builds, and is erased in release +builds.
    §

    fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
    where + Self: BorrowMut<B>, + B: ?Sized,

    Calls .tap_borrow_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
    where + Self: AsRef<R>, + R: ?Sized,

    Calls .tap_ref() only in debug builds, and is erased in release +builds.
    §

    fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
    where + Self: AsMut<R>, + R: ?Sized,

    Calls .tap_ref_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
    where + Self: Deref<Target = T>, + T: ?Sized,

    Calls .tap_deref() only in debug builds, and is erased in release +builds.
    §

    fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
    where + Self: DerefMut<Target = T> + Deref, + T: ?Sized,

    Calls .tap_deref_mut() only in debug builds, and is erased in release +builds.
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where + T: Bounded, + S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeRefUnwindSafe for T
    where + T: RefUnwindSafe,

    §

    impl<T> MaybeSend for T
    where + T: Send,

    \ No newline at end of file diff --git a/tuxedo_parachain_runtime/struct.RuntimeApiImpl.html b/tuxedo_parachain_runtime/struct.RuntimeApiImpl.html new file mode 100644 index 000000000..43fbc33bd --- /dev/null +++ b/tuxedo_parachain_runtime/struct.RuntimeApiImpl.html @@ -0,0 +1,285 @@ +RuntimeApiImpl in tuxedo_parachain_runtime - Rust

    Struct tuxedo_parachain_runtime::RuntimeApiImpl

    source ·
    pub struct RuntimeApiImpl<Block: BlockT, C: CallApiAt<Block> + 'static> { /* private fields */ }
    Expand description

    Implements all runtime apis for the client side.

    +

    Trait Implementations§

    source§

    impl<Block: BlockT, C: CallApiAt<Block>> ApiExt<Block> for RuntimeApiImpl<Block, C>

    source§

    fn execute_in_transaction<F: FnOnce(&Self) -> TransactionOutcome<R>, R>( + &self, + call: F +) -> R
    where + Self: Sized,

    Execute the given closure inside a new transaction. Read more
    source§

    fn has_api<A: RuntimeApiInfo + ?Sized>( + &self, + at: <Block as BlockT>::Hash +) -> Result<bool, ApiError>
    where + Self: Sized,

    Checks if the given api is implemented and versions match.
    source§

    fn has_api_with<A: RuntimeApiInfo + ?Sized, P: Fn(u32) -> bool>( + &self, + at: <Block as BlockT>::Hash, + pred: P +) -> Result<bool, ApiError>
    where + Self: Sized,

    Check if the given api is implemented and the version passes a predicate.
    source§

    fn api_version<A: RuntimeApiInfo + ?Sized>( + &self, + at: <Block as BlockT>::Hash +) -> Result<Option<u32>, ApiError>
    where + Self: Sized,

    Returns the version of the given api.
    source§

    fn record_proof(&mut self)

    Start recording all accessed trie nodes for generating proofs.
    source§

    fn proof_recorder(&self) -> Option<ProofRecorder<Block>>

    Returns the current active proof recorder.
    source§

    fn extract_proof(&mut self) -> Option<StorageProof>

    Extract the recorded proof. Read more
    source§

    fn into_storage_changes<B: StateBackend<HashingFor<Block>>>( + &self, + backend: &B, + parent_hash: Block::Hash +) -> Result<StorageChanges<Block>, String>
    where + Self: Sized,

    Convert the api object into the storage changes that were done while executing runtime +api functions. Read more
    source§

    fn set_call_context(&mut self, call_context: CallContext)

    Set the [CallContext] to be used by the runtime api calls done by this instance.
    source§

    fn register_extension<E: Extension>(&mut self, extension: E)

    Register an [Extension] that will be accessible while executing a runtime api call.
    source§

    impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> AuraApi<__SrApiBlock__, Public> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
    where + RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>, + &'static RuntimeApiImplCall: Send, + SlotDuration: UnwindSafe + RefUnwindSafe, + Vec<AuthorityId>: UnwindSafe + RefUnwindSafe, + __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,

    §

    fn slot_duration( + &self, + __runtime_api_at_param__: <Block as Block>::Hash +) -> Result<SlotDuration, ApiError>

    Returns the slot duration for Aura. Read more
    §

    fn authorities( + &self, + __runtime_api_at_param__: <Block as Block>::Hash +) -> Result<Vec<AuthorityId>, ApiError>

    Return the current set of authorities.
    source§

    impl<__SrApiBlock__, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> BlockBuilder<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
    where + RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>, + &'static RuntimeApiImplCall: Send, + <__SrApiBlock__ as BlockT>::Extrinsic: UnwindSafe + RefUnwindSafe, + ApplyExtrinsicResult: UnwindSafe + RefUnwindSafe, + <__SrApiBlock__ as BlockT>::Header: UnwindSafe + RefUnwindSafe, + InherentData: UnwindSafe + RefUnwindSafe, + Vec<<__SrApiBlock__ as BlockT>::Extrinsic>: UnwindSafe + RefUnwindSafe, + __SrApiBlock__: UnwindSafe + RefUnwindSafe + BlockT, + CheckInherentsResult: UnwindSafe + RefUnwindSafe, + __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,

    §

    fn apply_extrinsic( + &self, + __runtime_api_at_param__: <Block as Block>::Hash, + extrinsic: <Block as Block>::Extrinsic +) -> Result<Result<Result<(), DispatchError>, TransactionValidityError>, ApiError>

    Apply the given extrinsic. Read more
    §

    fn apply_extrinsic_before_version_6( + &self, + __runtime_api_at_param__: <Block as Block>::Hash, + extrinsic: <Block as Block>::Extrinsic +) -> Result<Result<Result<(), DispatchError>, TransactionValidityError>, ApiError>

    👎Deprecated
    §

    fn finalize_block( + &self, + __runtime_api_at_param__: <Block as Block>::Hash +) -> Result<<Block as Block>::Header, ApiError>

    Finish the current block.
    §

    fn inherent_extrinsics( + &self, + __runtime_api_at_param__: <Block as Block>::Hash, + inherent: InherentData +) -> Result<Vec<<Block as Block>::Extrinsic>, ApiError>

    Generate inherent extrinsics. The inherent data will vary from chain to chain.
    §

    fn check_inherents( + &self, + __runtime_api_at_param__: <Block as Block>::Hash, + block: Block, + data: InherentData +) -> Result<CheckInherentsResult, ApiError>

    Check that the inherents are valid. The inherent data will vary from chain to chain.
    source§

    impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> CollectCollationInfo<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
    where + RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>, + &'static RuntimeApiImplCall: Send, + <__SrApiBlock__ as BlockT>::Header: UnwindSafe + RefUnwindSafe, + CollationInfo: UnwindSafe + RefUnwindSafe, + __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,

    §

    fn collect_collation_info_before_version_2( + &self, + __runtime_api_at_param__: <Block as Block>::Hash +) -> Result<CollationInfoV1, ApiError>

    👎Deprecated
    Collect information about a collation.
    §

    fn collect_collation_info( + &self, + __runtime_api_at_param__: <Block as Block>::Hash, + header: &<Block as Block>::Header +) -> Result<CollationInfo, ApiError>

    Collect information about a collation. Read more
    source§

    impl<__SrApiBlock__, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> Core<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
    where + RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>, + &'static RuntimeApiImplCall: Send, + RuntimeVersion: UnwindSafe + RefUnwindSafe, + __SrApiBlock__: UnwindSafe + RefUnwindSafe + BlockT, + <__SrApiBlock__ as BlockT>::Header: UnwindSafe + RefUnwindSafe, + __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,

    §

    fn version( + &self, + __runtime_api_at_param__: <Block as Block>::Hash +) -> Result<RuntimeVersion, ApiError>

    Returns the version of the runtime.
    §

    fn execute_block( + &self, + __runtime_api_at_param__: <Block as Block>::Hash, + block: Block +) -> Result<(), ApiError>

    Execute the given block.
    §

    fn initialize_block( + &self, + __runtime_api_at_param__: <Block as Block>::Hash, + header: &<Block as Block>::Header +) -> Result<(), ApiError>

    Initialize a block with the given header.
    source§

    impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> GenesisBuilder<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
    where + RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>, + &'static RuntimeApiImplCall: Send, + Vec<u8>: UnwindSafe + RefUnwindSafe, + Result: UnwindSafe + RefUnwindSafe, + __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,

    §

    fn create_default_config( + &self, + __runtime_api_at_param__: <Block as Block>::Hash +) -> Result<Vec<u8>, ApiError>

    Creates the default GenesisConfig and returns it as a JSON blob. Read more
    §

    fn build_config( + &self, + __runtime_api_at_param__: <Block as Block>::Hash, + json: Vec<u8> +) -> Result<Result<(), RuntimeString>, ApiError>

    Build GenesisConfig from a JSON blob not using any defaults and store it in the storage. Read more
    source§

    impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> Metadata<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
    where + RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>, + &'static RuntimeApiImplCall: Send, + OpaqueMetadata: UnwindSafe + RefUnwindSafe, + u32: UnwindSafe + RefUnwindSafe, + Option<OpaqueMetadata>: UnwindSafe + RefUnwindSafe, + Vec<u32>: UnwindSafe + RefUnwindSafe, + __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,

    §

    fn metadata( + &self, + __runtime_api_at_param__: <Block as Block>::Hash +) -> Result<OpaqueMetadata, ApiError>

    Returns the metadata of a runtime.
    §

    fn metadata_at_version( + &self, + __runtime_api_at_param__: <Block as Block>::Hash, + version: u32 +) -> Result<Option<OpaqueMetadata>, ApiError>

    Returns the metadata at a given version. Read more
    §

    fn metadata_versions( + &self, + __runtime_api_at_param__: <Block as Block>::Hash +) -> Result<Vec<u32>, ApiError>

    Returns the supported metadata versions. Read more
    source§

    impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> SessionKeys<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
    where + RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>, + &'static RuntimeApiImplCall: Send, + Option<Vec<u8>>: UnwindSafe + RefUnwindSafe, + Vec<u8>: UnwindSafe + RefUnwindSafe, + Option<Vec<(Vec<u8>, KeyTypeId)>>: UnwindSafe + RefUnwindSafe, + __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,

    §

    fn generate_session_keys( + &self, + __runtime_api_at_param__: <Block as Block>::Hash, + seed: Option<Vec<u8>> +) -> Result<Vec<u8>, ApiError>

    Generate a set of session keys with optionally using the given seed. +The keys should be stored within the keystore exposed via runtime +externalities. Read more
    §

    fn decode_session_keys( + &self, + __runtime_api_at_param__: <Block as Block>::Hash, + encoded: Vec<u8> +) -> Result<Option<Vec<(Vec<u8>, KeyTypeId)>>, ApiError>

    Decode the given public session keys. Read more
    source§

    impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> TaggedTransactionQueue<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
    where + RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>, + &'static RuntimeApiImplCall: Send, + TransactionSource: UnwindSafe + RefUnwindSafe, + <__SrApiBlock__ as BlockT>::Extrinsic: UnwindSafe + RefUnwindSafe, + <__SrApiBlock__ as BlockT>::Hash: UnwindSafe + RefUnwindSafe, + TransactionValidity: UnwindSafe + RefUnwindSafe, + __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,

    §

    fn validate_transaction_before_version_2( + &self, + __runtime_api_at_param__: <Block as Block>::Hash, + tx: <Block as Block>::Extrinsic +) -> Result<Result<ValidTransaction, TransactionValidityError>, ApiError>

    👎Deprecated
    Validate the transaction.
    §

    fn validate_transaction_before_version_3( + &self, + __runtime_api_at_param__: <Block as Block>::Hash, + source: TransactionSource, + tx: <Block as Block>::Extrinsic +) -> Result<Result<ValidTransaction, TransactionValidityError>, ApiError>

    👎Deprecated
    Validate the transaction.
    §

    fn validate_transaction( + &self, + __runtime_api_at_param__: <Block as Block>::Hash, + source: TransactionSource, + tx: <Block as Block>::Extrinsic, + block_hash: <Block as Block>::Hash +) -> Result<Result<ValidTransaction, TransactionValidityError>, ApiError>

    Validate the transaction. Read more

    Auto Trait Implementations§

    §

    impl<Block, C> !Freeze for RuntimeApiImpl<Block, C>

    §

    impl<Block, C> !RefUnwindSafe for RuntimeApiImpl<Block, C>

    §

    impl<Block, C> Send for RuntimeApiImpl<Block, C>
    where + C: Sync,

    §

    impl<Block, C> !Sync for RuntimeApiImpl<Block, C>

    §

    impl<Block, C> Unpin for RuntimeApiImpl<Block, C>
    where + <Block as Block>::Hash: Unpin, + <<Block as Block>::Header as Header>::Hashing: Unpin,

    §

    impl<Block, C> !UnwindSafe for RuntimeApiImpl<Block, C>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> Any for T
    where + T: Any,

    §

    fn into_any(self: Box<T>) -> Box<dyn Any>

    §

    fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

    §

    fn type_name(&self) -> &'static str

    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CheckedConversion for T

    §

    fn checked_from<T>(t: T) -> Option<Self>
    where + Self: TryFrom<T>,

    Convert from a value of T into an equivalent instance of Option<Self>. Read more
    §

    fn checked_into<T>(self) -> Option<T>
    where + Self: TryInto<T>,

    Consume self to return Some equivalent value of Option<T>. Read more
    §

    impl<T> Conv for T

    §

    fn conv<T>(self) -> T
    where + Self: Into<T>,

    Converts self into T using Into<T>. Read more
    §

    impl<T> FmtForward for T

    §

    fn fmt_binary(self) -> FmtBinary<Self>
    where + Self: Binary,

    Causes self to use its Binary implementation when Debug-formatted.
    §

    fn fmt_display(self) -> FmtDisplay<Self>
    where + Self: Display,

    Causes self to use its Display implementation when +Debug-formatted.
    §

    fn fmt_lower_exp(self) -> FmtLowerExp<Self>
    where + Self: LowerExp,

    Causes self to use its LowerExp implementation when +Debug-formatted.
    §

    fn fmt_lower_hex(self) -> FmtLowerHex<Self>
    where + Self: LowerHex,

    Causes self to use its LowerHex implementation when +Debug-formatted.
    §

    fn fmt_octal(self) -> FmtOctal<Self>
    where + Self: Octal,

    Causes self to use its Octal implementation when Debug-formatted.
    §

    fn fmt_pointer(self) -> FmtPointer<Self>
    where + Self: Pointer,

    Causes self to use its Pointer implementation when +Debug-formatted.
    §

    fn fmt_upper_exp(self) -> FmtUpperExp<Self>
    where + Self: UpperExp,

    Causes self to use its UpperExp implementation when +Debug-formatted.
    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where + Self: UpperHex,

    Causes self to use its UpperHex implementation when +Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where + &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

    That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

    +
    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where + Outer: AsRef<T> + AsMut<T> + From<T>, + T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    +
    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    +
    §

    impl<T> Pipe for T
    where + T: ?Sized,

    §

    fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
    where + Self: Sized,

    Pipes by value. This is generally the method you want to use. Read more
    §

    fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
    where + R: 'a,

    Borrows self and passes that borrow into the pipe function. Read more
    §

    fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
    where + R: 'a,

    Mutably borrows self and passes that borrow into the pipe function. Read more
    §

    fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
    where + Self: Borrow<B>, + B: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.borrow() into the pipe function. Read more
    §

    fn pipe_borrow_mut<'a, B, R>( + &'a mut self, + func: impl FnOnce(&'a mut B) -> R +) -> R
    where + Self: BorrowMut<B>, + B: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.borrow_mut() into the pipe +function. Read more
    §

    fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
    where + Self: AsRef<U>, + U: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.as_ref() into the pipe function.
    §

    fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
    where + Self: AsMut<U>, + U: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.as_mut() into the pipe +function.
    §

    fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
    where + Self: Deref<Target = T>, + T: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.deref() into the pipe function.
    §

    fn pipe_deref_mut<'a, T, R>( + &'a mut self, + func: impl FnOnce(&'a mut T) -> R +) -> R
    where + Self: DerefMut<Target = T> + Deref, + T: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.deref_mut() into the pipe +function.
    §

    impl<T> Pointable for T

    §

    const ALIGN: usize = _

    The alignment of pointer.
    §

    type Init = T

    The type for initializers.
    §

    unsafe fn init(init: <T as Pointable>::Init) -> usize

    Initializes a with the given initializer. Read more
    §

    unsafe fn deref<'a>(ptr: usize) -> &'a T

    Dereferences the given pointer. Read more
    §

    unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

    Mutably dereferences the given pointer. Read more
    §

    unsafe fn drop(ptr: usize)

    Drops the object pointed to by the given pointer. Read more
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    §

    impl<T> SaturatedConversion for T

    §

    fn saturated_from<T>(t: T) -> Self
    where + Self: UniqueSaturatedFrom<T>,

    Convert from a value of T into an equivalent instance of Self. Read more
    §

    fn saturated_into<T>(self) -> T
    where + Self: UniqueSaturatedInto<T>,

    Consume self to return an equivalent value of T. Read more
    §

    impl<T> Tap for T

    §

    fn tap(self, func: impl FnOnce(&Self)) -> Self

    Immutable access to a value. Read more
    §

    fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

    Mutable access to a value. Read more
    §

    fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
    where + Self: Borrow<B>, + B: ?Sized,

    Immutable access to the Borrow<B> of a value. Read more
    §

    fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
    where + Self: BorrowMut<B>, + B: ?Sized,

    Mutable access to the BorrowMut<B> of a value. Read more
    §

    fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
    where + Self: AsRef<R>, + R: ?Sized,

    Immutable access to the AsRef<R> view of a value. Read more
    §

    fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
    where + Self: AsMut<R>, + R: ?Sized,

    Mutable access to the AsMut<R> view of a value. Read more
    §

    fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
    where + Self: Deref<Target = T>, + T: ?Sized,

    Immutable access to the Deref::Target of a value. Read more
    §

    fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
    where + Self: DerefMut<Target = T> + Deref, + T: ?Sized,

    Mutable access to the Deref::Target of a value. Read more
    §

    fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

    Calls .tap() only in debug builds, and is erased in release builds.
    §

    fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

    Calls .tap_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
    where + Self: Borrow<B>, + B: ?Sized,

    Calls .tap_borrow() only in debug builds, and is erased in release +builds.
    §

    fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
    where + Self: BorrowMut<B>, + B: ?Sized,

    Calls .tap_borrow_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
    where + Self: AsRef<R>, + R: ?Sized,

    Calls .tap_ref() only in debug builds, and is erased in release +builds.
    §

    fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
    where + Self: AsMut<R>, + R: ?Sized,

    Calls .tap_ref_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
    where + Self: Deref<Target = T>, + T: ?Sized,

    Calls .tap_deref() only in debug builds, and is erased in release +builds.
    §

    fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
    where + Self: DerefMut<Target = T> + Deref, + T: ?Sized,

    Calls .tap_deref_mut() only in debug builds, and is erased in release +builds.
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where + T: Bounded, + S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeSend for T
    where + T: Send,

    \ No newline at end of file diff --git a/tuxedo_parachain_runtime/struct.RuntimeParachainConfig.html b/tuxedo_parachain_runtime/struct.RuntimeParachainConfig.html new file mode 100644 index 000000000..facaa41a5 --- /dev/null +++ b/tuxedo_parachain_runtime/struct.RuntimeParachainConfig.html @@ -0,0 +1,138 @@ +RuntimeParachainConfig in tuxedo_parachain_runtime - Rust
    pub struct RuntimeParachainConfig;

    Trait Implementations§

    source§

    impl Clone for RuntimeParachainConfig

    source§

    fn clone(&self) -> RuntimeParachainConfig

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl ParachainPieceConfig for RuntimeParachainConfig

    source§

    const PARA_ID: u32 = 2_000u32

    The Parachain Id of this chain. +This is currently a copmile time constant, which is simple but not that flexible. Read more
    §

    type SetRelayParentNumberStorage = RelayParentNumberStorage

    A means of setting an ambiently available relay parent number. This value WILL be used when +the collator calls the collation API after the block is authored and also in validate_block. +Additionally, it MAY be used by any other pieces in the runtime who have access to it.
    source§

    impl PartialEq for RuntimeParachainConfig

    source§

    fn eq(&self, other: &RuntimeParachainConfig) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for RuntimeParachainConfig

    source§

    impl StructuralPartialEq for RuntimeParachainConfig

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> Any for T
    where + T: Any,

    §

    fn into_any(self: Box<T>) -> Box<dyn Any>

    §

    fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

    §

    fn type_name(&self) -> &'static str

    §

    impl<T> AnySync for T
    where + T: Any + Send + Sync,

    §

    fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CheckedConversion for T

    §

    fn checked_from<T>(t: T) -> Option<Self>
    where + Self: TryFrom<T>,

    Convert from a value of T into an equivalent instance of Option<Self>. Read more
    §

    fn checked_into<T>(self) -> Option<T>
    where + Self: TryInto<T>,

    Consume self to return Some equivalent value of Option<T>. Read more
    §

    impl<T> Conv for T

    §

    fn conv<T>(self) -> T
    where + Self: Into<T>,

    Converts self into T using Into<T>. Read more
    source§

    impl<T> DynClone for T
    where + T: Clone,

    source§

    fn __clone_box(&self, _: Private) -> *mut ()

    source§

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<T> FmtForward for T

    §

    fn fmt_binary(self) -> FmtBinary<Self>
    where + Self: Binary,

    Causes self to use its Binary implementation when Debug-formatted.
    §

    fn fmt_display(self) -> FmtDisplay<Self>
    where + Self: Display,

    Causes self to use its Display implementation when +Debug-formatted.
    §

    fn fmt_lower_exp(self) -> FmtLowerExp<Self>
    where + Self: LowerExp,

    Causes self to use its LowerExp implementation when +Debug-formatted.
    §

    fn fmt_lower_hex(self) -> FmtLowerHex<Self>
    where + Self: LowerHex,

    Causes self to use its LowerHex implementation when +Debug-formatted.
    §

    fn fmt_octal(self) -> FmtOctal<Self>
    where + Self: Octal,

    Causes self to use its Octal implementation when Debug-formatted.
    §

    fn fmt_pointer(self) -> FmtPointer<Self>
    where + Self: Pointer,

    Causes self to use its Pointer implementation when +Debug-formatted.
    §

    fn fmt_upper_exp(self) -> FmtUpperExp<Self>
    where + Self: UpperExp,

    Causes self to use its UpperExp implementation when +Debug-formatted.
    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where + Self: UpperHex,

    Causes self to use its UpperHex implementation when +Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where + &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

    That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

    +
    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where + Outer: AsRef<T> + AsMut<T> + From<T>, + T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    +
    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    +
    §

    impl<T> Pipe for T
    where + T: ?Sized,

    §

    fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
    where + Self: Sized,

    Pipes by value. This is generally the method you want to use. Read more
    §

    fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
    where + R: 'a,

    Borrows self and passes that borrow into the pipe function. Read more
    §

    fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
    where + R: 'a,

    Mutably borrows self and passes that borrow into the pipe function. Read more
    §

    fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
    where + Self: Borrow<B>, + B: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.borrow() into the pipe function. Read more
    §

    fn pipe_borrow_mut<'a, B, R>( + &'a mut self, + func: impl FnOnce(&'a mut B) -> R +) -> R
    where + Self: BorrowMut<B>, + B: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.borrow_mut() into the pipe +function. Read more
    §

    fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
    where + Self: AsRef<U>, + U: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.as_ref() into the pipe function.
    §

    fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
    where + Self: AsMut<U>, + U: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.as_mut() into the pipe +function.
    §

    fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
    where + Self: Deref<Target = T>, + T: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.deref() into the pipe function.
    §

    fn pipe_deref_mut<'a, T, R>( + &'a mut self, + func: impl FnOnce(&'a mut T) -> R +) -> R
    where + Self: DerefMut<Target = T> + Deref, + T: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.deref_mut() into the pipe +function.
    §

    impl<T> Pointable for T

    §

    const ALIGN: usize = _

    The alignment of pointer.
    §

    type Init = T

    The type for initializers.
    §

    unsafe fn init(init: <T as Pointable>::Init) -> usize

    Initializes a with the given initializer. Read more
    §

    unsafe fn deref<'a>(ptr: usize) -> &'a T

    Dereferences the given pointer. Read more
    §

    unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

    Mutably dereferences the given pointer. Read more
    §

    unsafe fn drop(ptr: usize)

    Drops the object pointed to by the given pointer. Read more
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    §

    impl<T> SaturatedConversion for T

    §

    fn saturated_from<T>(t: T) -> Self
    where + Self: UniqueSaturatedFrom<T>,

    Convert from a value of T into an equivalent instance of Self. Read more
    §

    fn saturated_into<T>(self) -> T
    where + Self: UniqueSaturatedInto<T>,

    Consume self to return an equivalent value of T. Read more
    §

    impl<T> Tap for T

    §

    fn tap(self, func: impl FnOnce(&Self)) -> Self

    Immutable access to a value. Read more
    §

    fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

    Mutable access to a value. Read more
    §

    fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
    where + Self: Borrow<B>, + B: ?Sized,

    Immutable access to the Borrow<B> of a value. Read more
    §

    fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
    where + Self: BorrowMut<B>, + B: ?Sized,

    Mutable access to the BorrowMut<B> of a value. Read more
    §

    fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
    where + Self: AsRef<R>, + R: ?Sized,

    Immutable access to the AsRef<R> view of a value. Read more
    §

    fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
    where + Self: AsMut<R>, + R: ?Sized,

    Mutable access to the AsMut<R> view of a value. Read more
    §

    fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
    where + Self: Deref<Target = T>, + T: ?Sized,

    Immutable access to the Deref::Target of a value. Read more
    §

    fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
    where + Self: DerefMut<Target = T> + Deref, + T: ?Sized,

    Mutable access to the Deref::Target of a value. Read more
    §

    fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

    Calls .tap() only in debug builds, and is erased in release builds.
    §

    fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

    Calls .tap_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
    where + Self: Borrow<B>, + B: ?Sized,

    Calls .tap_borrow() only in debug builds, and is erased in release +builds.
    §

    fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
    where + Self: BorrowMut<B>, + B: ?Sized,

    Calls .tap_borrow_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
    where + Self: AsRef<R>, + R: ?Sized,

    Calls .tap_ref() only in debug builds, and is erased in release +builds.
    §

    fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
    where + Self: AsMut<R>, + R: ?Sized,

    Calls .tap_ref_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
    where + Self: Deref<Target = T>, + T: ?Sized,

    Calls .tap_deref() only in debug builds, and is erased in release +builds.
    §

    fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
    where + Self: DerefMut<Target = T> + Deref, + T: ?Sized,

    Calls .tap_deref_mut() only in debug builds, and is erased in release +builds.
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where + T: Bounded, + S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeRefUnwindSafe for T
    where + T: RefUnwindSafe,

    §

    impl<T> MaybeSend for T
    where + T: Send,

    \ No newline at end of file diff --git a/tuxedo_parachain_runtime/type.Block.html b/tuxedo_parachain_runtime/type.Block.html new file mode 100644 index 000000000..3a1bf9422 --- /dev/null +++ b/tuxedo_parachain_runtime/type.Block.html @@ -0,0 +1,6 @@ +Block in tuxedo_parachain_runtime - Rust

    Type Alias tuxedo_parachain_runtime::Block

    source ·
    pub type Block = Block<OuterVerifier, ParachainConstraintChecker>;

    Aliased Type§

    struct Block {
    +    pub header: Header<u32, BlakeTwo256>,
    +    pub extrinsics: Vec<Transaction<OuterVerifier, ParachainConstraintChecker>>,
    +}

    Fields§

    §header: Header<u32, BlakeTwo256>

    The block header.

    +
    §extrinsics: Vec<Transaction<OuterVerifier, ParachainConstraintChecker>>

    The accompanying extrinsics.

    +
    \ No newline at end of file diff --git a/tuxedo_parachain_runtime/type.Executive.html b/tuxedo_parachain_runtime/type.Executive.html new file mode 100644 index 000000000..758069644 --- /dev/null +++ b/tuxedo_parachain_runtime/type.Executive.html @@ -0,0 +1 @@ +Executive in tuxedo_parachain_runtime - Rust

    Type Alias tuxedo_parachain_runtime::Executive

    source ·
    pub type Executive = Executive<OuterVerifier, ParachainConstraintChecker>;

    Aliased Type§

    struct Executive(/* private fields */);
    \ No newline at end of file diff --git a/tuxedo_parachain_runtime/type.Transaction.html b/tuxedo_parachain_runtime/type.Transaction.html new file mode 100644 index 000000000..faf0813b0 --- /dev/null +++ b/tuxedo_parachain_runtime/type.Transaction.html @@ -0,0 +1,10 @@ +Transaction in tuxedo_parachain_runtime - Rust

    Type Alias tuxedo_parachain_runtime::Transaction

    source ·
    pub type Transaction = Transaction<OuterVerifier, ParachainConstraintChecker>;

    Aliased Type§

    struct Transaction {
    +    pub inputs: Vec<Input>,
    +    pub peeks: Vec<OutputRef>,
    +    pub outputs: Vec<Output<OuterVerifier>>,
    +    pub checker: ParachainConstraintChecker,
    +}

    Fields§

    §inputs: Vec<Input>

    Existing pieces of state to be read and consumed from storage

    +
    §peeks: Vec<OutputRef>

    Existing state to be read, but not consumed, from storage

    +
    §outputs: Vec<Output<OuterVerifier>>

    New state to be placed into storage

    +
    §checker: ParachainConstraintChecker

    Which piece of constraint checking logic is used to determine whether this transaction is valid

    +
    \ No newline at end of file diff --git a/tuxedo_parachainify/all.html b/tuxedo_parachainify/all.html new file mode 100644 index 000000000..62f474fb1 --- /dev/null +++ b/tuxedo_parachainify/all.html @@ -0,0 +1 @@ +List of all items in this crate

    List of all items

    Macros

    \ No newline at end of file diff --git a/tuxedo_parachainify/index.html b/tuxedo_parachainify/index.html new file mode 100644 index 000000000..ad87e1086 --- /dev/null +++ b/tuxedo_parachainify/index.html @@ -0,0 +1,3 @@ +tuxedo_parachainify - Rust

    Crate tuxedo_parachainify

    source ·
    Expand description

    This macro is copied from cumulus-pallet-parachain-system-proc-macro crate +and modified slightly to fit Tuxedo’s needs.

    +

    Macros§

    \ No newline at end of file diff --git a/tuxedo_parachainify/macro.parachainify!.html b/tuxedo_parachainify/macro.parachainify!.html new file mode 100644 index 000000000..000c73892 --- /dev/null +++ b/tuxedo_parachainify/macro.parachainify!.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

    Redirecting to macro.parachainify.html...

    + + + \ No newline at end of file diff --git a/tuxedo_parachainify/macro.parachainify.html b/tuxedo_parachainify/macro.parachainify.html new file mode 100644 index 000000000..e02ad989e --- /dev/null +++ b/tuxedo_parachainify/macro.parachainify.html @@ -0,0 +1 @@ +parachainify in tuxedo_parachainify - Rust

    Macro tuxedo_parachainify::parachainify

    source ·
    parachainify!() { /* proc-macro */ }
    \ No newline at end of file diff --git a/tuxedo_parachainify/sidebar-items.js b/tuxedo_parachainify/sidebar-items.js new file mode 100644 index 000000000..59e9518ab --- /dev/null +++ b/tuxedo_parachainify/sidebar-items.js @@ -0,0 +1 @@ +window.SIDEBAR_ITEMS = {"macro":["parachainify"]}; \ No newline at end of file diff --git a/tuxedo_register_validate_block/all.html b/tuxedo_register_validate_block/all.html deleted file mode 100644 index 755b6f315..000000000 --- a/tuxedo_register_validate_block/all.html +++ /dev/null @@ -1,2 +0,0 @@ -List of all items in this crate -

    List of all items

    Macros

    \ No newline at end of file diff --git a/tuxedo_register_validate_block/index.html b/tuxedo_register_validate_block/index.html deleted file mode 100644 index 1950848dc..000000000 --- a/tuxedo_register_validate_block/index.html +++ /dev/null @@ -1,5 +0,0 @@ -tuxedo_register_validate_block - Rust -
    Expand description

    This macro is copied from cumulus-pallet-parachain-system-proc-macro crate -and modified slightly to fit Tuxedo’s needs.

    -

    Macros§

    \ No newline at end of file diff --git a/tuxedo_register_validate_block/macro.register_validate_block!.html b/tuxedo_register_validate_block/macro.register_validate_block!.html deleted file mode 100644 index 3f7a4f3e5..000000000 --- a/tuxedo_register_validate_block/macro.register_validate_block!.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - - Redirection - - -

    Redirecting to macro.register_validate_block.html...

    - - - \ No newline at end of file diff --git a/tuxedo_register_validate_block/macro.register_validate_block.html b/tuxedo_register_validate_block/macro.register_validate_block.html deleted file mode 100644 index 78c8527d9..000000000 --- a/tuxedo_register_validate_block/macro.register_validate_block.html +++ /dev/null @@ -1,2 +0,0 @@ -register_validate_block in tuxedo_register_validate_block - Rust -
    register_validate_block!() { /* proc-macro */ }
    \ No newline at end of file diff --git a/tuxedo_register_validate_block/sidebar-items.js b/tuxedo_register_validate_block/sidebar-items.js deleted file mode 100644 index ef4e51917..000000000 --- a/tuxedo_register_validate_block/sidebar-items.js +++ /dev/null @@ -1 +0,0 @@ -window.SIDEBAR_ITEMS = {"macro":["register_validate_block"]}; \ No newline at end of file diff --git a/tuxedo_template_runtime/all.html b/tuxedo_template_runtime/all.html index 5264bae01..12fa7603e 100644 --- a/tuxedo_template_runtime/all.html +++ b/tuxedo_template_runtime/all.html @@ -1,2 +1 @@ -List of all items in this crate -
    \ No newline at end of file +List of all items in this crate
    \ No newline at end of file diff --git a/tuxedo_template_runtime/api/fn.dispatch.html b/tuxedo_template_runtime/api/fn.dispatch.html index b64064f8e..d17cac54f 100644 --- a/tuxedo_template_runtime/api/fn.dispatch.html +++ b/tuxedo_template_runtime/api/fn.dispatch.html @@ -1,2 +1 @@ -dispatch in tuxedo_template_runtime::api - Rust -
    pub fn dispatch(method: &str, _sp_api_input_data_: &[u8]) -> Option<Vec<u8>>
    \ No newline at end of file +dispatch in tuxedo_template_runtime::api - Rust

    Function tuxedo_template_runtime::api::dispatch

    source ·
    pub fn dispatch(method: &str, _sp_api_input_data_: &[u8]) -> Option<Vec<u8>>
    \ No newline at end of file diff --git a/tuxedo_template_runtime/api/index.html b/tuxedo_template_runtime/api/index.html index 38fae8fdb..d43666c53 100644 --- a/tuxedo_template_runtime/api/index.html +++ b/tuxedo_template_runtime/api/index.html @@ -1,2 +1 @@ -tuxedo_template_runtime::api - Rust -
    \ No newline at end of file +tuxedo_template_runtime::api - Rust

    Module tuxedo_template_runtime::api

    source ·

    Functions§

    \ No newline at end of file diff --git a/tuxedo_template_runtime/constant.VERSION.html b/tuxedo_template_runtime/constant.VERSION.html index e402eb609..3cbde3cb5 100644 --- a/tuxedo_template_runtime/constant.VERSION.html +++ b/tuxedo_template_runtime/constant.VERSION.html @@ -1,3 +1,2 @@ -VERSION in tuxedo_template_runtime - Rust -
    pub const VERSION: RuntimeVersion;
    Expand description

    This runtime version.

    +VERSION in tuxedo_template_runtime - Rust

    Constant tuxedo_template_runtime::VERSION

    source ·
    pub const VERSION: RuntimeVersion;
    Expand description

    This runtime version.

    \ No newline at end of file diff --git a/tuxedo_template_runtime/constant.WASM_BINARY.html b/tuxedo_template_runtime/constant.WASM_BINARY.html index 610c1acbf..9f1a62452 100644 --- a/tuxedo_template_runtime/constant.WASM_BINARY.html +++ b/tuxedo_template_runtime/constant.WASM_BINARY.html @@ -1,2 +1 @@ -WASM_BINARY in tuxedo_template_runtime - Rust -
    pub const WASM_BINARY: Option<&[u8]>;
    \ No newline at end of file +WASM_BINARY in tuxedo_template_runtime - Rust

    Constant tuxedo_template_runtime::WASM_BINARY

    source ·
    pub const WASM_BINARY: Option<&[u8]>;
    \ No newline at end of file diff --git a/tuxedo_template_runtime/constant.WASM_BINARY_BLOATY.html b/tuxedo_template_runtime/constant.WASM_BINARY_BLOATY.html index 6de5bd791..6b5665f65 100644 --- a/tuxedo_template_runtime/constant.WASM_BINARY_BLOATY.html +++ b/tuxedo_template_runtime/constant.WASM_BINARY_BLOATY.html @@ -1,2 +1 @@ -WASM_BINARY_BLOATY in tuxedo_template_runtime - Rust -
    pub const WASM_BINARY_BLOATY: Option<&[u8]>;
    \ No newline at end of file +WASM_BINARY_BLOATY in tuxedo_template_runtime - Rust

    Constant tuxedo_template_runtime::WASM_BINARY_BLOATY

    source ·
    pub const WASM_BINARY_BLOATY: Option<&[u8]>;
    \ No newline at end of file diff --git a/tuxedo_template_runtime/enum.OuterConstraintChecker.html b/tuxedo_template_runtime/enum.OuterConstraintChecker.html index 662feec94..c4cf2b373 100644 --- a/tuxedo_template_runtime/enum.OuterConstraintChecker.html +++ b/tuxedo_template_runtime/enum.OuterConstraintChecker.html @@ -1,5 +1,4 @@ -OuterConstraintChecker in tuxedo_template_runtime - Rust -
    pub enum OuterConstraintChecker {
    +OuterConstraintChecker in tuxedo_template_runtime - Rust
    pub enum OuterConstraintChecker {
         Money(MoneyConstraintChecker<0>),
         FreeKittyConstraintChecker(FreeKittyConstraintChecker),
         AmoebaMitosis(AmoebaMitosis),
    @@ -8,9 +7,8 @@
         PoeClaim(PoeClaim<Runtime>),
         PoeRevoke(PoeRevoke),
         PoeDispute(PoeDispute),
    -    SetTimestamp(SetTimestamp<Runtime>),
    +    SetTimestamp(InherentAdapter<SetTimestamp<Runtime>>),
         RuntimeUpgrade(RuntimeUpgrade),
    -    ParachainInfo(SetParachainInfo<Runtime>),
     }
    Expand description

    A constraint checker is a piece of logic that can be used to check a transaction. For any given Tuxedo runtime there is a finite set of such constraint checkers. For example, this may check that input token values exceed output token values.

    @@ -23,47 +21,44 @@
    §

    PoeRevoke(PoeRevoke)

    Checks that proofs of existence are revoked.

    §

    PoeDispute(PoeDispute)

    Checks that one winning claim came earlier than all the other claims, and thus the losing claims can be removed from storage.

    -
    §

    SetTimestamp(SetTimestamp<Runtime>)

    Set the block’s timestamp via an inherent extrinsic.

    +
    §

    SetTimestamp(InherentAdapter<SetTimestamp<Runtime>>)

    Set the block’s timestamp via an inherent extrinsic.

    §

    RuntimeUpgrade(RuntimeUpgrade)

    Upgrade the Wasm Runtime

    -
    §

    ParachainInfo(SetParachainInfo<Runtime>)

    Set some parachain related information via an inherent extrinsic.

    -

    Trait Implementations§

    source§

    impl Clone for OuterConstraintChecker

    source§

    fn clone(&self) -> OuterConstraintChecker

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl ConstraintChecker<OuterVerifier> for OuterConstraintChecker

    §

    type Error = OuterConstraintCheckerError

    The error type that this constraint checker may return
    §

    type InherentHooks = OuterConstraintCheckerInherentHooks

    Optional Associated Inherent processing logic. If this transaction type is not an inherent, use (). -If it is an inherent, use Self, and implement the TuxedoInherent trait.
    source§

    fn check( +

    Trait Implementations§

    source§

    impl Clone for OuterConstraintChecker

    source§

    fn clone(&self) -> OuterConstraintChecker

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl ConstraintChecker for OuterConstraintChecker

    §

    type Error = OuterConstraintCheckerError

    The error type that this constraint checker may return
    source§

    fn check( &self, - inputs: &[Output<OuterVerifier>], - peeks: &[Output<OuterVerifier>], - outputs: &[Output<OuterVerifier>] -) -> Result<TransactionPriority, Self::Error>

    The actual check validation logic
    source§

    fn is_inherent(&self) -> bool

    Tells whether this extrinsic is an inherent or not. -If you return true here, you must provide the correct inherent hooks above.
    source§

    impl Debug for OuterConstraintChecker

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Decode for OuterConstraintChecker

    source§

    fn decode<__CodecInputEdqy: Input>( + inputs: &[DynamicallyTypedData], + evicted_inputs: &[DynamicallyTypedData], + peeks: &[DynamicallyTypedData], + outputs: &[DynamicallyTypedData] +) -> Result<TransactionPriority, Self::Error>

    The on chain logic that makes the final check for whether a transaction is valid.
    source§

    fn is_inherent(&self) -> bool

    Tells whether this extrinsic is an inherent or not. +If you return true here, you must provide the correct inherent hooks above.
    source§

    fn create_inherents<V: Verifier>( + authoring_inherent_data: &InherentData, + previous_inherents: Vec<(Transaction<V, OuterConstraintChecker>, H256)> +) -> Vec<Transaction<V, OuterConstraintChecker>>

    Create the inherent extrinsics to insert into a block that is being authored locally. +The inherent data is supplied by the authoring node.
    source§

    fn check_inherents<V: Verifier>( + importing_inherent_data: &InherentData, + inherents: Vec<Transaction<V, OuterConstraintChecker>>, + result: &mut CheckInherentsResult +)

    Perform off-chain pre-execution checks on the inherents. +The inherent data is supplied by the importing node. +The inherent data available here is not necessarily the +same as what is available at authoring time.
    source§

    fn genesis_transactions<V: Verifier>( +) -> Vec<Transaction<V, OuterConstraintChecker>>

    Return the genesis transactions that are required for the inherents.
    source§

    impl Debug for OuterConstraintChecker

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Decode for OuterConstraintChecker

    source§

    fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Self, Error>

    Attempt to deserialise the value from input.
    §

    fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>
    where I: Input,

    Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
    §

    fn skip<I>(input: &mut I) -> Result<(), Error>
    where - I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    source§

    impl<'de> Deserialize<'de> for OuterConstraintChecker

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Encode for OuterConstraintChecker

    source§

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    source§

    fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    source§

    impl<'de> Deserialize<'de> for OuterConstraintChecker

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Encode for OuterConstraintChecker

    source§

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    source§

    fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )

    Convert self to a slice and append it to the destination.
    §

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    §

    fn using_encoded<R, F>(&self, f: F) -> R
    where - F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    source§

    impl From<AmoebaCreation> for OuterConstraintChecker

    source§

    fn from(b: AmoebaCreation) -> Self

    Converts to this type from the input type.
    source§

    impl From<AmoebaDeath> for OuterConstraintChecker

    source§

    fn from(b: AmoebaDeath) -> Self

    Converts to this type from the input type.
    source§

    impl From<AmoebaMitosis> for OuterConstraintChecker

    source§

    fn from(b: AmoebaMitosis) -> Self

    Converts to this type from the input type.
    source§

    impl From<FreeKittyConstraintChecker> for OuterConstraintChecker

    source§

    fn from(b: FreeKittyConstraintChecker) -> Self

    Converts to this type from the input type.
    source§

    impl From<MoneyConstraintChecker<0>> for OuterConstraintChecker

    source§

    fn from(b: MoneyConstraintChecker<0>) -> Self

    Converts to this type from the input type.
    source§

    impl From<OuterConstraintChecker> for AmoebaCreation

    source§

    fn from(a: OuterConstraintChecker) -> Self

    Converts to this type from the input type.
    source§

    impl From<OuterConstraintChecker> for AmoebaDeath

    source§

    fn from(a: OuterConstraintChecker) -> Self

    Converts to this type from the input type.
    source§

    impl From<OuterConstraintChecker> for AmoebaMitosis

    source§

    fn from(a: OuterConstraintChecker) -> Self

    Converts to this type from the input type.
    source§

    impl From<OuterConstraintChecker> for FreeKittyConstraintChecker

    source§

    fn from(a: OuterConstraintChecker) -> Self

    Converts to this type from the input type.
    source§

    impl From<OuterConstraintChecker> for MoneyConstraintChecker<0>

    source§

    fn from(a: OuterConstraintChecker) -> Self

    Converts to this type from the input type.
    source§

    impl From<OuterConstraintChecker> for PoeClaim<Runtime>

    source§

    fn from(a: OuterConstraintChecker) -> Self

    Converts to this type from the input type.
    source§

    impl From<OuterConstraintChecker> for PoeDispute

    source§

    fn from(a: OuterConstraintChecker) -> Self

    Converts to this type from the input type.
    source§

    impl From<OuterConstraintChecker> for PoeRevoke

    source§

    fn from(a: OuterConstraintChecker) -> Self

    Converts to this type from the input type.
    source§

    impl From<OuterConstraintChecker> for RuntimeUpgrade

    source§

    fn from(a: OuterConstraintChecker) -> Self

    Converts to this type from the input type.
    source§

    impl From<OuterConstraintChecker> for SetParachainInfo<Runtime>

    source§

    fn from(a: OuterConstraintChecker) -> Self

    Converts to this type from the input type.
    source§

    impl From<OuterConstraintChecker> for SetTimestamp<Runtime>

    source§

    fn from(a: OuterConstraintChecker) -> Self

    Converts to this type from the input type.
    source§

    impl From<PoeClaim<Runtime>> for OuterConstraintChecker

    source§

    fn from(b: PoeClaim<Runtime>) -> Self

    Converts to this type from the input type.
    source§

    impl From<PoeDispute> for OuterConstraintChecker

    source§

    fn from(b: PoeDispute) -> Self

    Converts to this type from the input type.
    source§

    impl From<PoeRevoke> for OuterConstraintChecker

    source§

    fn from(b: PoeRevoke) -> Self

    Converts to this type from the input type.
    source§

    impl From<RuntimeUpgrade> for OuterConstraintChecker

    source§

    fn from(b: RuntimeUpgrade) -> Self

    Converts to this type from the input type.
    source§

    impl From<SetParachainInfo<Runtime>> for OuterConstraintChecker

    source§

    fn from(b: SetParachainInfo<Runtime>) -> Self

    Converts to this type from the input type.
    source§

    impl From<SetTimestamp<Runtime>> for OuterConstraintChecker

    source§

    fn from(b: SetTimestamp<Runtime>) -> Self

    Converts to this type from the input type.
    source§

    impl InherentInternal<OuterVerifier, OuterConstraintChecker> for OuterConstraintCheckerInherentHooks

    source§

    fn create_inherents( - authoring_inherent_data: &InherentData, - previous_inherents: Vec<(Transaction<OuterVerifier, OuterConstraintChecker>, H256)> -) -> Vec<Transaction<OuterVerifier, OuterConstraintChecker>>

    Create the inherent extrinsic to insert into a block that is being authored locally. -The inherent data is supplied by the authoring node.
    source§

    fn check_inherents( - importing_inherent_data: &InherentData, - inherents: Vec<Transaction<OuterVerifier, OuterConstraintChecker>>, - result: &mut CheckInherentsResult -)

    Perform off-chain pre-execution checks on the inherents. -The inherent data is supplied by the importing node. -The inherent data available here is not guaranteed to be the -same as what is available at authoring time.
    source§

    fn genesis_transactions( -) -> Vec<Transaction<OuterVerifier, OuterConstraintChecker>>

    Return the genesis transactions that are required for the inherents.
    source§

    impl PartialEq for OuterConstraintChecker

    source§

    fn eq(&self, other: &OuterConstraintChecker) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for OuterConstraintChecker

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl TypeInfo for OuterConstraintChecker

    §

    type Identity = OuterConstraintChecker

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    source§

    impl EncodeLike for OuterConstraintChecker

    source§

    impl Eq for OuterConstraintChecker

    source§

    impl StructuralPartialEq for OuterConstraintChecker

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> Any for T
    where - T: Any,

    §

    fn into_any(self: Box<T>) -> Box<dyn Any>

    §

    fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

    §

    fn type_name(&self) -> &'static str

    §

    impl<T> AnySync for T
    where - T: Any + Send + Sync,

    §

    fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

    source§

    impl<T> Borrow<T> for T
    where + F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    source§

    impl From<AmoebaCreation> for OuterConstraintChecker

    source§

    fn from(b: AmoebaCreation) -> Self

    Converts to this type from the input type.
    source§

    impl From<AmoebaDeath> for OuterConstraintChecker

    source§

    fn from(b: AmoebaDeath) -> Self

    Converts to this type from the input type.
    source§

    impl From<AmoebaMitosis> for OuterConstraintChecker

    source§

    fn from(b: AmoebaMitosis) -> Self

    Converts to this type from the input type.
    source§

    impl From<FreeKittyConstraintChecker> for OuterConstraintChecker

    source§

    fn from(b: FreeKittyConstraintChecker) -> Self

    Converts to this type from the input type.
    source§

    impl From<InherentAdapter<SetTimestamp<Runtime>>> for OuterConstraintChecker

    source§

    fn from(b: InherentAdapter<SetTimestamp<Runtime>>) -> Self

    Converts to this type from the input type.
    source§

    impl From<MoneyConstraintChecker<0>> for OuterConstraintChecker

    source§

    fn from(b: MoneyConstraintChecker<0>) -> Self

    Converts to this type from the input type.
    source§

    impl From<OuterConstraintChecker> for AmoebaCreation

    source§

    fn from(a: OuterConstraintChecker) -> Self

    Converts to this type from the input type.
    source§

    impl From<OuterConstraintChecker> for AmoebaDeath

    source§

    fn from(a: OuterConstraintChecker) -> Self

    Converts to this type from the input type.
    source§

    impl From<OuterConstraintChecker> for AmoebaMitosis

    source§

    fn from(a: OuterConstraintChecker) -> Self

    Converts to this type from the input type.
    source§

    impl From<OuterConstraintChecker> for FreeKittyConstraintChecker

    source§

    fn from(a: OuterConstraintChecker) -> Self

    Converts to this type from the input type.
    source§

    impl From<OuterConstraintChecker> for InherentAdapter<SetTimestamp<Runtime>>

    source§

    fn from(a: OuterConstraintChecker) -> Self

    Converts to this type from the input type.
    source§

    impl From<OuterConstraintChecker> for MoneyConstraintChecker<0>

    source§

    fn from(a: OuterConstraintChecker) -> Self

    Converts to this type from the input type.
    source§

    impl From<OuterConstraintChecker> for PoeClaim<Runtime>

    source§

    fn from(a: OuterConstraintChecker) -> Self

    Converts to this type from the input type.
    source§

    impl From<OuterConstraintChecker> for PoeDispute

    source§

    fn from(a: OuterConstraintChecker) -> Self

    Converts to this type from the input type.
    source§

    impl From<OuterConstraintChecker> for PoeRevoke

    source§

    fn from(a: OuterConstraintChecker) -> Self

    Converts to this type from the input type.
    source§

    impl From<OuterConstraintChecker> for RuntimeUpgrade

    source§

    fn from(a: OuterConstraintChecker) -> Self

    Converts to this type from the input type.
    source§

    impl From<PoeClaim<Runtime>> for OuterConstraintChecker

    source§

    fn from(b: PoeClaim<Runtime>) -> Self

    Converts to this type from the input type.
    source§

    impl From<PoeDispute> for OuterConstraintChecker

    source§

    fn from(b: PoeDispute) -> Self

    Converts to this type from the input type.
    source§

    impl From<PoeRevoke> for OuterConstraintChecker

    source§

    fn from(b: PoeRevoke) -> Self

    Converts to this type from the input type.
    source§

    impl From<RuntimeUpgrade> for OuterConstraintChecker

    source§

    fn from(b: RuntimeUpgrade) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for OuterConstraintChecker

    source§

    fn eq(&self, other: &OuterConstraintChecker) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for OuterConstraintChecker

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl TypeInfo for OuterConstraintChecker

    §

    type Identity = OuterConstraintChecker

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    source§

    impl EncodeLike for OuterConstraintChecker

    source§

    impl Eq for OuterConstraintChecker

    source§

    impl StructuralPartialEq for OuterConstraintChecker

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CheckedConversion for T

    §

    fn checked_from<T>(t: T) -> Option<Self>
    where Self: TryFrom<T>,

    Convert from a value of T into an equivalent instance of Option<Self>. Read more
    §

    fn checked_into<T>(self) -> Option<T>
    where @@ -75,9 +70,8 @@ input: &mut &[u8] ) -> Result<T, Error>

    Decode Self and consume all of the given input data. Read more
    §

    fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
    where I: Input,

    Decode Self with the given maximum recursion depth and advance input by the number of -bytes consumed. Read more
    source§

    impl<T> DynClone for T
    where - T: Clone,

    source§

    fn __clone_box(&self, _: Private) -> *mut ()

    §

    impl<T> EncodeAs<T> for T
    where - T: Encode,

    §

    fn encode_as(&self) -> Vec<u8>

    Convert Self into T, then encode T. Read more
    source§

    impl<Q, K> Equivalent<K> for Q
    where +bytes consumed. Read more

    source§

    impl<T> DynClone for T
    where + T: Clone,

    source§

    fn __clone_box(&self, _: Private) -> *mut ()

    source§

    impl<Q, K> Equivalent<K> for Q
    where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Q
    where Q: Eq + ?Sized, @@ -100,16 +94,21 @@ Debug-formatted.

    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where Self: UpperHex,

    Causes self to use its UpperHex implementation when Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where - &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + &'a Self: for<'a> IntoIterator,
    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where +

    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    @@ -180,21 +179,18 @@ T: ?Sized,
    Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
    source§

    impl<T> ToOwned for T
    where T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where - Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where T: Bounded, S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    §

    impl<S> Codec for S
    where - S: Decode + Encode,

    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> EncodeLike<&&T> for T
    where +[WithDispatch] wrapper. Read more
    §

    impl<S> Codec for S
    where + S: Decode + Encode,

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> EncodeLike<&&T> for T
    where T: Encode,

    §

    impl<T> EncodeLike<&T> for T
    where T: Encode,

    §

    impl<T> EncodeLike<&mut T> for T
    where T: Encode,

    §

    impl<T> EncodeLike<Arc<T>> for T
    where @@ -205,9 +201,8 @@ S: Decode + FullEncode,

    §

    impl<S> FullEncode for S
    where S: Encode + EncodeLike,

    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeDebug for T
    where T: Debug,

    §

    impl<T> MaybeRefUnwindSafe for T
    where - T: RefUnwindSafe,

    §

    impl<T> MaybeSend for T
    where - T: Send,

    §

    impl<T> MaybeSerialize for T
    where - T: Serialize,

    §

    impl<T> MaybeSerializeDeserialize for T

    §

    impl<T> Member for T
    where + T: RefUnwindSafe,

    §

    impl<T> MaybeSerialize for T
    where + T: Serialize,

    §

    impl<T> MaybeSerializeDeserialize for T

    §

    impl<T> Member for T
    where T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

    §

    impl<T> StaticTypeInfo for T
    where T: TypeInfo + 'static,

    \ No newline at end of file diff --git a/tuxedo_template_runtime/enum.OuterConstraintCheckerError.html b/tuxedo_template_runtime/enum.OuterConstraintCheckerError.html index 1148883aa..c15984445 100644 --- a/tuxedo_template_runtime/enum.OuterConstraintCheckerError.html +++ b/tuxedo_template_runtime/enum.OuterConstraintCheckerError.html @@ -1,23 +1,19 @@ -OuterConstraintCheckerError in tuxedo_template_runtime - Rust -
    pub enum OuterConstraintCheckerError {
    -    Money(<MoneyConstraintChecker<0> as ConstraintChecker<OuterVerifier>>::Error),
    -    FreeKittyConstraintChecker(<FreeKittyConstraintChecker as ConstraintChecker<OuterVerifier>>::Error),
    -    AmoebaMitosis(<AmoebaMitosis as ConstraintChecker<OuterVerifier>>::Error),
    -    AmoebaDeath(<AmoebaDeath as ConstraintChecker<OuterVerifier>>::Error),
    -    AmoebaCreation(<AmoebaCreation as ConstraintChecker<OuterVerifier>>::Error),
    -    PoeClaim(<PoeClaim<Runtime> as ConstraintChecker<OuterVerifier>>::Error),
    -    PoeRevoke(<PoeRevoke as ConstraintChecker<OuterVerifier>>::Error),
    -    PoeDispute(<PoeDispute as ConstraintChecker<OuterVerifier>>::Error),
    -    SetTimestamp(<SetTimestamp<Runtime> as ConstraintChecker<OuterVerifier>>::Error),
    -    RuntimeUpgrade(<RuntimeUpgrade as ConstraintChecker<OuterVerifier>>::Error),
    -    ParachainInfo(<SetParachainInfo<Runtime> as ConstraintChecker<OuterVerifier>>::Error),
    +OuterConstraintCheckerError in tuxedo_template_runtime - Rust
    pub enum OuterConstraintCheckerError {
    +    Money(<MoneyConstraintChecker<0> as ConstraintChecker>::Error),
    +    FreeKittyConstraintChecker(<FreeKittyConstraintChecker as ConstraintChecker>::Error),
    +    AmoebaMitosis(<AmoebaMitosis as ConstraintChecker>::Error),
    +    AmoebaDeath(<AmoebaDeath as ConstraintChecker>::Error),
    +    AmoebaCreation(<AmoebaCreation as ConstraintChecker>::Error),
    +    PoeClaim(<PoeClaim<Runtime> as ConstraintChecker>::Error),
    +    PoeRevoke(<PoeRevoke as ConstraintChecker>::Error),
    +    PoeDispute(<PoeDispute as ConstraintChecker>::Error),
    +    SetTimestamp(<InherentAdapter<SetTimestamp<Runtime>> as ConstraintChecker>::Error),
    +    RuntimeUpgrade(<RuntimeUpgrade as ConstraintChecker>::Error),
     }
    Expand description

    This type is generated by the #[tuxedo_constraint_checker] macro. It is a combined error type for the errors of each individual checker.

    This type is accessible downstream as <OuterConstraintChecker as ConstraintChecker>::Error

    -

    Variants§

    Trait Implementations§

    source§

    impl Debug for OuterConstraintCheckerError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> Any for T
    where - T: Any,

    §

    fn into_any(self: Box<T>) -> Box<dyn Any>

    §

    fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

    §

    fn type_name(&self) -> &'static str

    §

    impl<T> AnySync for T
    where - T: Any + Send + Sync,

    §

    fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

    source§

    impl<T> Borrow<T> for T
    where +

    Variants§

    Trait Implementations§

    source§

    impl Debug for OuterConstraintCheckerError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CheckedConversion for T

    §

    fn checked_from<T>(t: T) -> Option<Self>
    where Self: TryFrom<T>,

    Convert from a value of T into an equivalent instance of Option<Self>. Read more
    §

    fn checked_into<T>(self) -> Option<T>
    where @@ -37,16 +33,21 @@ Debug-formatted.

    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where Self: UpperHex,

    Causes self to use its UpperHex implementation when Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where - &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + &'a Self: for<'a> IntoIterator,
    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where +

    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    @@ -115,19 +116,15 @@ Self: DerefMut<Target = T> + Deref, T: ?Sized,
    Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where - Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where T: Bounded, S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeDebug for T
    where +[WithDispatch] wrapper. Read more
    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeDebug for T
    where T: Debug,

    §

    impl<T> MaybeRefUnwindSafe for T
    where - T: RefUnwindSafe,

    §

    impl<T> MaybeSend for T
    where - T: Send,

    \ No newline at end of file + T: RefUnwindSafe, \ No newline at end of file diff --git a/tuxedo_template_runtime/enum.OuterVerifier.html b/tuxedo_template_runtime/enum.OuterVerifier.html index 1796db883..6d5895a91 100644 --- a/tuxedo_template_runtime/enum.OuterVerifier.html +++ b/tuxedo_template_runtime/enum.OuterVerifier.html @@ -1,48 +1,33 @@ -OuterVerifier in tuxedo_template_runtime - Rust -
    pub enum OuterVerifier {
    -    Sr25519Signature(Sr25519Signature),
    +OuterVerifier in tuxedo_template_runtime - Rust

    Enum tuxedo_template_runtime::OuterVerifier

    source ·
    pub enum OuterVerifier {
    +    Sr25519Signature(Sr25519Signature),
         UpForGrabs(UpForGrabs),
    -    ThresholdMultiSignature(ThresholdMultiSignature),
    +    ThresholdMultiSignature(ThresholdMultiSignature),
     }
    Expand description

    A verifier checks that an individual input can be consumed. For example that it is signed properly To begin playing, we will have two kinds. A simple signature check, and an anyone-can-consume check.

    -

    Variants§

    §

    Sr25519Signature(Sr25519Signature)

    §

    UpForGrabs(UpForGrabs)

    §

    ThresholdMultiSignature(ThresholdMultiSignature)

    Trait Implementations§

    source§

    impl Clone for OuterVerifier

    source§

    fn clone(&self) -> OuterVerifier

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl ConstraintChecker<OuterVerifier> for OuterConstraintChecker

    §

    type Error = OuterConstraintCheckerError

    The error type that this constraint checker may return
    §

    type InherentHooks = OuterConstraintCheckerInherentHooks

    Optional Associated Inherent processing logic. If this transaction type is not an inherent, use (). -If it is an inherent, use Self, and implement the TuxedoInherent trait.
    source§

    fn check( - &self, - inputs: &[Output<OuterVerifier>], - peeks: &[Output<OuterVerifier>], - outputs: &[Output<OuterVerifier>] -) -> Result<TransactionPriority, Self::Error>

    The actual check validation logic
    source§

    fn is_inherent(&self) -> bool

    Tells whether this extrinsic is an inherent or not. -If you return true here, you must provide the correct inherent hooks above.
    source§

    impl Debug for OuterVerifier

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Decode for OuterVerifier

    source§

    fn decode<__CodecInputEdqy: Input>( +

    Variants§

    §

    Sr25519Signature(Sr25519Signature)

    §

    UpForGrabs(UpForGrabs)

    §

    ThresholdMultiSignature(ThresholdMultiSignature)

    Trait Implementations§

    source§

    impl Clone for OuterVerifier

    source§

    fn clone(&self) -> OuterVerifier

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for OuterVerifier

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Decode for OuterVerifier

    source§

    fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Self, Error>

    Attempt to deserialise the value from input.
    §

    fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>
    where I: Input,

    Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
    §

    fn skip<I>(input: &mut I) -> Result<(), Error>
    where - I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    source§

    impl<'de> Deserialize<'de> for OuterVerifier

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Encode for OuterVerifier

    source§

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    source§

    fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    source§

    impl<'de> Deserialize<'de> for OuterVerifier

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Encode for OuterVerifier

    source§

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    source§

    fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )

    Convert self to a slice and append it to the destination.
    §

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    §

    fn using_encoded<R, F>(&self, f: F) -> R
    where - F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    source§

    impl From<OuterVerifier> for Sr25519Signature

    source§

    fn from(a: OuterVerifier) -> Self

    Converts to this type from the input type.
    source§

    impl From<OuterVerifier> for ThresholdMultiSignature

    source§

    fn from(a: OuterVerifier) -> Self

    Converts to this type from the input type.
    source§

    impl From<OuterVerifier> for UpForGrabs

    source§

    fn from(a: OuterVerifier) -> Self

    Converts to this type from the input type.
    source§

    impl From<Sr25519Signature> for OuterVerifier

    source§

    fn from(b: Sr25519Signature) -> Self

    Converts to this type from the input type.
    source§

    impl From<ThresholdMultiSignature> for OuterVerifier

    source§

    fn from(b: ThresholdMultiSignature) -> Self

    Converts to this type from the input type.
    source§

    impl From<UpForGrabs> for OuterVerifier

    source§

    fn from(b: UpForGrabs) -> Self

    Converts to this type from the input type.
    source§

    impl InherentInternal<OuterVerifier, OuterConstraintChecker> for OuterConstraintCheckerInherentHooks

    source§

    fn create_inherents( - authoring_inherent_data: &InherentData, - previous_inherents: Vec<(Transaction<OuterVerifier, OuterConstraintChecker>, H256)> -) -> Vec<Transaction<OuterVerifier, OuterConstraintChecker>>

    Create the inherent extrinsic to insert into a block that is being authored locally. -The inherent data is supplied by the authoring node.
    source§

    fn check_inherents( - importing_inherent_data: &InherentData, - inherents: Vec<Transaction<OuterVerifier, OuterConstraintChecker>>, - result: &mut CheckInherentsResult -)

    Perform off-chain pre-execution checks on the inherents. -The inherent data is supplied by the importing node. -The inherent data available here is not guaranteed to be the -same as what is available at authoring time.
    source§

    fn genesis_transactions( -) -> Vec<Transaction<OuterVerifier, OuterConstraintChecker>>

    Return the genesis transactions that are required for the inherents.
    source§

    impl PartialEq for OuterVerifier

    source§

    fn eq(&self, other: &OuterVerifier) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for OuterVerifier

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl TypeInfo for OuterVerifier

    §

    type Identity = OuterVerifier

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    source§

    impl Verifier for OuterVerifier

    source§

    fn verify(&self, simplified_tx: &[u8], redeemer: &[u8]) -> bool

    source§

    impl EncodeLike for OuterVerifier

    source§

    impl Eq for OuterVerifier

    source§

    impl StructuralPartialEq for OuterVerifier

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> Any for T
    where - T: Any,

    §

    fn into_any(self: Box<T>) -> Box<dyn Any>

    §

    fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

    §

    fn type_name(&self) -> &'static str

    §

    impl<T> AnySync for T
    where - T: Any + Send + Sync,

    §

    fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

    source§

    impl<T> Borrow<T> for T
    where + F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    source§

    impl From<OuterVerifier> for Sr25519Signature

    source§

    fn from(a: OuterVerifier) -> Self

    Converts to this type from the input type.
    source§

    impl From<OuterVerifier> for ThresholdMultiSignature

    source§

    fn from(a: OuterVerifier) -> Self

    Converts to this type from the input type.
    source§

    impl From<OuterVerifier> for UpForGrabs

    source§

    fn from(a: OuterVerifier) -> Self

    Converts to this type from the input type.
    source§

    impl From<Sr25519Signature> for OuterVerifier

    source§

    fn from(b: Sr25519Signature) -> Self

    Converts to this type from the input type.
    source§

    impl From<ThresholdMultiSignature> for OuterVerifier

    source§

    fn from(b: ThresholdMultiSignature) -> Self

    Converts to this type from the input type.
    source§

    impl From<UpForGrabs> for OuterVerifier

    source§

    fn from(b: UpForGrabs) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for OuterVerifier

    source§

    fn eq(&self, other: &OuterVerifier) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for OuterVerifier

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl TypeInfo for OuterVerifier

    §

    type Identity = OuterVerifier

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    source§

    impl Verifier for OuterVerifier

    §

    type Redeemer = OuterVerifierRedeemer

    The type that will be supplied to satisfy the verifier and redeem the UTXO.
    source§

    fn verify( + &self, + simplified_tx: &[u8], + block_number: u32, + redeemer: &Self::Redeemer +) -> bool

    Main function in the trait. Does the checks to make sure an output can be spent.
    source§

    fn new_unspendable() -> Option<Self>

    A way to create a new instance of the verifier whose semantics cannot be spent. +This may be a signature check with a pubkey of 0 or a hashlock with a hash o 0 +or a bitcoin script that directly returns false, etc. Read more
    source§

    impl EncodeLike for OuterVerifier

    source§

    impl Eq for OuterVerifier

    source§

    impl StructuralPartialEq for OuterVerifier

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CheckedConversion for T

    §

    fn checked_from<T>(t: T) -> Option<Self>
    where Self: TryFrom<T>,

    Convert from a value of T into an equivalent instance of Option<Self>. Read more
    §

    fn checked_into<T>(self) -> Option<T>
    where @@ -54,9 +39,8 @@ input: &mut &[u8] ) -> Result<T, Error>

    Decode Self and consume all of the given input data. Read more
    §

    fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
    where I: Input,

    Decode Self with the given maximum recursion depth and advance input by the number of -bytes consumed. Read more
    source§

    impl<T> DynClone for T
    where - T: Clone,

    source§

    fn __clone_box(&self, _: Private) -> *mut ()

    §

    impl<T> EncodeAs<T> for T
    where - T: Encode,

    §

    fn encode_as(&self) -> Vec<u8>

    Convert Self into T, then encode T. Read more
    source§

    impl<Q, K> Equivalent<K> for Q
    where +bytes consumed. Read more

    source§

    impl<T> DynClone for T
    where + T: Clone,

    source§

    fn __clone_box(&self, _: Private) -> *mut ()

    source§

    impl<Q, K> Equivalent<K> for Q
    where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Q
    where Q: Eq + ?Sized, @@ -79,16 +63,21 @@ Debug-formatted.

    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where Self: UpperHex,

    Causes self to use its UpperHex implementation when Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where - &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + &'a Self: for<'a> IntoIterator,
    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where +

    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    @@ -159,21 +148,18 @@ T: ?Sized,
    Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
    source§

    impl<T> ToOwned for T
    where T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where - Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where T: Bounded, S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    §

    impl<S> Codec for S
    where - S: Decode + Encode,

    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> EncodeLike<&&T> for T
    where +[WithDispatch] wrapper. Read more
    §

    impl<S> Codec for S
    where + S: Decode + Encode,

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> EncodeLike<&&T> for T
    where T: Encode,

    §

    impl<T> EncodeLike<&T> for T
    where T: Encode,

    §

    impl<T> EncodeLike<&mut T> for T
    where T: Encode,

    §

    impl<T> EncodeLike<Arc<T>> for T
    where @@ -184,9 +170,8 @@ S: Decode + FullEncode,

    §

    impl<S> FullEncode for S
    where S: Encode + EncodeLike,

    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeDebug for T
    where T: Debug,

    §

    impl<T> MaybeRefUnwindSafe for T
    where - T: RefUnwindSafe,

    §

    impl<T> MaybeSend for T
    where - T: Send,

    §

    impl<T> MaybeSerialize for T
    where - T: Serialize,

    §

    impl<T> MaybeSerializeDeserialize for T

    §

    impl<T> Member for T
    where + T: RefUnwindSafe,

    §

    impl<T> MaybeSerialize for T
    where + T: Serialize,

    §

    impl<T> MaybeSerializeDeserialize for T

    §

    impl<T> Member for T
    where T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

    §

    impl<T> StaticTypeInfo for T
    where T: TypeInfo + 'static,

    \ No newline at end of file diff --git a/tuxedo_template_runtime/enum.OuterVerifierRedeemer.html b/tuxedo_template_runtime/enum.OuterVerifierRedeemer.html new file mode 100644 index 000000000..24cfb3ed0 --- /dev/null +++ b/tuxedo_template_runtime/enum.OuterVerifierRedeemer.html @@ -0,0 +1,155 @@ +OuterVerifierRedeemer in tuxedo_template_runtime - Rust
    pub enum OuterVerifierRedeemer {
    +    Sr25519Signature(<Sr25519Signature as Verifier>::Redeemer),
    +    UpForGrabs(<UpForGrabs as Verifier>::Redeemer),
    +    ThresholdMultiSignature(<ThresholdMultiSignature as Verifier>::Redeemer),
    +}
    Expand description

    This type is generated by the #[tuxedo_verifier] macro. +It is a combined redeemer type for the redeemers of each individual verifier.

    +

    This type is accessible downstream as <OuterVerifier as Verifier>::Redeemer

    +

    Variants§

    §

    Sr25519Signature(<Sr25519Signature as Verifier>::Redeemer)

    §

    UpForGrabs(<UpForGrabs as Verifier>::Redeemer)

    §

    ThresholdMultiSignature(<ThresholdMultiSignature as Verifier>::Redeemer)

    Implementations§

    Trait Implementations§

    source§

    impl Debug for OuterVerifierRedeemer

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Decode for OuterVerifierRedeemer

    source§

    fn decode<__CodecInputEdqy: Input>( + __codec_input_edqy: &mut __CodecInputEdqy +) -> Result<Self, Error>

    Attempt to deserialise the value from input.
    §

    fn decode_into<I>( + input: &mut I, + dst: &mut MaybeUninit<Self> +) -> Result<DecodeFinished, Error>
    where + I: Input,

    Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
    §

    fn skip<I>(input: &mut I) -> Result<(), Error>
    where + I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    source§

    impl Encode for OuterVerifierRedeemer

    source§

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    source§

    fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + &self, + __codec_dest_edqy: &mut __CodecOutputEdqy +)

    Convert self to a slice and append it to the destination.
    §

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    §

    fn using_encoded<R, F>(&self, f: F) -> R
    where + F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    source§

    impl EncodeLike for OuterVerifierRedeemer

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CheckedConversion for T

    §

    fn checked_from<T>(t: T) -> Option<Self>
    where + Self: TryFrom<T>,

    Convert from a value of T into an equivalent instance of Option<Self>. Read more
    §

    fn checked_into<T>(self) -> Option<T>
    where + Self: TryInto<T>,

    Consume self to return Some equivalent value of Option<T>. Read more
    §

    impl<T> Conv for T

    §

    fn conv<T>(self) -> T
    where + Self: Into<T>,

    Converts self into T using Into<T>. Read more
    §

    impl<T> DecodeAll for T
    where + T: Decode,

    §

    fn decode_all(input: &mut &[u8]) -> Result<T, Error>

    Decode Self and consume all of the given input data. Read more
    §

    impl<T> DecodeLimit for T
    where + T: Decode,

    §

    fn decode_all_with_depth_limit( + limit: u32, + input: &mut &[u8] +) -> Result<T, Error>

    Decode Self and consume all of the given input data. Read more
    §

    fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
    where + I: Input,

    Decode Self with the given maximum recursion depth and advance input by the number of +bytes consumed. Read more
    §

    impl<T> FmtForward for T

    §

    fn fmt_binary(self) -> FmtBinary<Self>
    where + Self: Binary,

    Causes self to use its Binary implementation when Debug-formatted.
    §

    fn fmt_display(self) -> FmtDisplay<Self>
    where + Self: Display,

    Causes self to use its Display implementation when +Debug-formatted.
    §

    fn fmt_lower_exp(self) -> FmtLowerExp<Self>
    where + Self: LowerExp,

    Causes self to use its LowerExp implementation when +Debug-formatted.
    §

    fn fmt_lower_hex(self) -> FmtLowerHex<Self>
    where + Self: LowerHex,

    Causes self to use its LowerHex implementation when +Debug-formatted.
    §

    fn fmt_octal(self) -> FmtOctal<Self>
    where + Self: Octal,

    Causes self to use its Octal implementation when Debug-formatted.
    §

    fn fmt_pointer(self) -> FmtPointer<Self>
    where + Self: Pointer,

    Causes self to use its Pointer implementation when +Debug-formatted.
    §

    fn fmt_upper_exp(self) -> FmtUpperExp<Self>
    where + Self: UpperExp,

    Causes self to use its UpperExp implementation when +Debug-formatted.
    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where + Self: UpperHex,

    Causes self to use its UpperHex implementation when +Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where + &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

    That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

    +
    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where + Outer: AsRef<T> + AsMut<T> + From<T>, + T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    +
    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    +
    §

    impl<T> KeyedVec for T
    where + T: Codec,

    §

    fn to_keyed_vec(&self, prepend_key: &[u8]) -> Vec<u8>

    Return an encoding of Self prepended by given slice.
    §

    impl<T> Pipe for T
    where + T: ?Sized,

    §

    fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
    where + Self: Sized,

    Pipes by value. This is generally the method you want to use. Read more
    §

    fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
    where + R: 'a,

    Borrows self and passes that borrow into the pipe function. Read more
    §

    fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
    where + R: 'a,

    Mutably borrows self and passes that borrow into the pipe function. Read more
    §

    fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
    where + Self: Borrow<B>, + B: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.borrow() into the pipe function. Read more
    §

    fn pipe_borrow_mut<'a, B, R>( + &'a mut self, + func: impl FnOnce(&'a mut B) -> R +) -> R
    where + Self: BorrowMut<B>, + B: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.borrow_mut() into the pipe +function. Read more
    §

    fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
    where + Self: AsRef<U>, + U: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.as_ref() into the pipe function.
    §

    fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
    where + Self: AsMut<U>, + U: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.as_mut() into the pipe +function.
    §

    fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
    where + Self: Deref<Target = T>, + T: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.deref() into the pipe function.
    §

    fn pipe_deref_mut<'a, T, R>( + &'a mut self, + func: impl FnOnce(&'a mut T) -> R +) -> R
    where + Self: DerefMut<Target = T> + Deref, + T: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.deref_mut() into the pipe +function.
    §

    impl<T> Pointable for T

    §

    const ALIGN: usize = _

    The alignment of pointer.
    §

    type Init = T

    The type for initializers.
    §

    unsafe fn init(init: <T as Pointable>::Init) -> usize

    Initializes a with the given initializer. Read more
    §

    unsafe fn deref<'a>(ptr: usize) -> &'a T

    Dereferences the given pointer. Read more
    §

    unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

    Mutably dereferences the given pointer. Read more
    §

    unsafe fn drop(ptr: usize)

    Drops the object pointed to by the given pointer. Read more
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    §

    impl<T> SaturatedConversion for T

    §

    fn saturated_from<T>(t: T) -> Self
    where + Self: UniqueSaturatedFrom<T>,

    Convert from a value of T into an equivalent instance of Self. Read more
    §

    fn saturated_into<T>(self) -> T
    where + Self: UniqueSaturatedInto<T>,

    Consume self to return an equivalent value of T. Read more
    §

    impl<T> Tap for T

    §

    fn tap(self, func: impl FnOnce(&Self)) -> Self

    Immutable access to a value. Read more
    §

    fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

    Mutable access to a value. Read more
    §

    fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
    where + Self: Borrow<B>, + B: ?Sized,

    Immutable access to the Borrow<B> of a value. Read more
    §

    fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
    where + Self: BorrowMut<B>, + B: ?Sized,

    Mutable access to the BorrowMut<B> of a value. Read more
    §

    fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
    where + Self: AsRef<R>, + R: ?Sized,

    Immutable access to the AsRef<R> view of a value. Read more
    §

    fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
    where + Self: AsMut<R>, + R: ?Sized,

    Mutable access to the AsMut<R> view of a value. Read more
    §

    fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
    where + Self: Deref<Target = T>, + T: ?Sized,

    Immutable access to the Deref::Target of a value. Read more
    §

    fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
    where + Self: DerefMut<Target = T> + Deref, + T: ?Sized,

    Mutable access to the Deref::Target of a value. Read more
    §

    fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

    Calls .tap() only in debug builds, and is erased in release builds.
    §

    fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

    Calls .tap_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
    where + Self: Borrow<B>, + B: ?Sized,

    Calls .tap_borrow() only in debug builds, and is erased in release +builds.
    §

    fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
    where + Self: BorrowMut<B>, + B: ?Sized,

    Calls .tap_borrow_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
    where + Self: AsRef<R>, + R: ?Sized,

    Calls .tap_ref() only in debug builds, and is erased in release +builds.
    §

    fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
    where + Self: AsMut<R>, + R: ?Sized,

    Calls .tap_ref_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
    where + Self: Deref<Target = T>, + T: ?Sized,

    Calls .tap_deref() only in debug builds, and is erased in release +builds.
    §

    fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
    where + Self: DerefMut<Target = T> + Deref, + T: ?Sized,

    Calls .tap_deref_mut() only in debug builds, and is erased in release +builds.
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where + T: Bounded, + S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
    §

    impl<S> Codec for S
    where + S: Decode + Encode,

    §

    impl<T> EncodeLike<&&T> for T
    where + T: Encode,

    §

    impl<T> EncodeLike<&T> for T
    where + T: Encode,

    §

    impl<T> EncodeLike<&mut T> for T
    where + T: Encode,

    §

    impl<T> EncodeLike<Arc<T>> for T
    where + T: Encode,

    §

    impl<T> EncodeLike<Box<T>> for T
    where + T: Encode,

    §

    impl<T> EncodeLike<Rc<T>> for T
    where + T: Encode,

    §

    impl<S> FullCodec for S
    where + S: Decode + FullEncode,

    §

    impl<S> FullEncode for S
    where + S: Encode + EncodeLike,

    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeDebug for T
    where + T: Debug,

    §

    impl<T> MaybeRefUnwindSafe for T
    where + T: RefUnwindSafe,

    \ No newline at end of file diff --git a/tuxedo_template_runtime/fn.native_version.html b/tuxedo_template_runtime/fn.native_version.html index 145811a94..0c58d4682 100644 --- a/tuxedo_template_runtime/fn.native_version.html +++ b/tuxedo_template_runtime/fn.native_version.html @@ -1,3 +1,2 @@ -native_version in tuxedo_template_runtime - Rust -
    pub fn native_version() -> NativeVersion
    Expand description

    The version information used to identify this runtime when compiled natively.

    +native_version in tuxedo_template_runtime - Rust

    Function tuxedo_template_runtime::native_version

    source ·
    pub fn native_version() -> NativeVersion
    Expand description

    The version information used to identify this runtime when compiled natively.

    \ No newline at end of file diff --git a/tuxedo_template_runtime/genesis/fn.development_genesis_config.html b/tuxedo_template_runtime/genesis/fn.development_genesis_config.html index 7a96f093a..87a4c1548 100644 --- a/tuxedo_template_runtime/genesis/fn.development_genesis_config.html +++ b/tuxedo_template_runtime/genesis/fn.development_genesis_config.html @@ -1,2 +1 @@ -development_genesis_config in tuxedo_template_runtime::genesis - Rust -
    pub fn development_genesis_config() -> RuntimeGenesisConfig
    \ No newline at end of file +development_genesis_config in tuxedo_template_runtime::genesis - Rust
    pub fn development_genesis_config() -> Value
    \ No newline at end of file diff --git a/tuxedo_template_runtime/genesis/fn.development_genesis_transactions.html b/tuxedo_template_runtime/genesis/fn.development_genesis_transactions.html new file mode 100644 index 000000000..ba2cc390f --- /dev/null +++ b/tuxedo_template_runtime/genesis/fn.development_genesis_transactions.html @@ -0,0 +1,4 @@ +development_genesis_transactions in tuxedo_template_runtime::genesis - Rust
    pub fn development_genesis_transactions() -> Vec<Transaction>
    Expand description

    This function returns a list of valid transactions to be included in the genesis block. +It is called by the ChainSpec::build method, via the development_genesis_config function. +The resulting transactions must be ordered: inherent first, then extrinsics.

    +
    \ No newline at end of file diff --git a/tuxedo_template_runtime/genesis/index.html b/tuxedo_template_runtime/genesis/index.html index 0ed599f5b..f36995868 100644 --- a/tuxedo_template_runtime/genesis/index.html +++ b/tuxedo_template_runtime/genesis/index.html @@ -1,3 +1,4 @@ -tuxedo_template_runtime::genesis - Rust -
    Expand description

    Helper module to build a genesis configuration for the template runtime.

    -

    Functions§

    Type Aliases§

    \ No newline at end of file +tuxedo_template_runtime::genesis - Rust

    Module tuxedo_template_runtime::genesis

    source ·
    Expand description

    Helper module to build a genesis configuration for the template runtime.

    +

    Re-exports§

    Functions§

    • This function returns a list of valid transactions to be included in the genesis block. +It is called by the ChainSpec::build method, via the development_genesis_config function. +The resulting transactions must be ordered: inherent first, then extrinsics.
    \ No newline at end of file diff --git a/tuxedo_template_runtime/genesis/sidebar-items.js b/tuxedo_template_runtime/genesis/sidebar-items.js index f050c9e92..e8262b5fd 100644 --- a/tuxedo_template_runtime/genesis/sidebar-items.js +++ b/tuxedo_template_runtime/genesis/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"fn":["development_genesis_config"],"type":["RuntimeGenesisConfig"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":["development_genesis_config","development_genesis_transactions"]}; \ No newline at end of file diff --git a/tuxedo_template_runtime/genesis/type.RuntimeGenesisConfig.html b/tuxedo_template_runtime/genesis/type.RuntimeGenesisConfig.html deleted file mode 100644 index 03b364840..000000000 --- a/tuxedo_template_runtime/genesis/type.RuntimeGenesisConfig.html +++ /dev/null @@ -1,3 +0,0 @@ -RuntimeGenesisConfig in tuxedo_template_runtime::genesis - Rust -
    pub type RuntimeGenesisConfig = TuxedoGenesisConfig<OuterVerifier, OuterConstraintChecker>;
    Expand description

    Helper type for the ChainSpec.

    -

    Aliased Type§

    struct RuntimeGenesisConfig { /* private fields */ }
    \ No newline at end of file diff --git a/tuxedo_template_runtime/index.html b/tuxedo_template_runtime/index.html index 82878d86c..85233824f 100644 --- a/tuxedo_template_runtime/index.html +++ b/tuxedo_template_runtime/index.html @@ -1,16 +1,13 @@ -tuxedo_template_runtime - Rust -
    Expand description

    The Tuxedo Template Runtime is an example runtime that uses +tuxedo_template_runtime - Rust

    Crate tuxedo_template_runtime

    source ·
    Expand description

    The Tuxedo Template Runtime is an example runtime that uses most of the pieces provided in the wardrobe.

    Runtime developers wishing to get started with Tuxedo should consider copying this template.

    Re-exports§

    Modules§

    • Helper module to build a genesis configuration for the template runtime.
    • Opaque types. These are used by the CLI to instantiate machinery that don’t need to know the specifics of the runtime. They can then be made to be agnostic over specific formats of data like extrinsics, allowing for them to continue syncing the network through upgrades -to even the core data structures.

    Structs§

    • A Dummy constraint checker that does nothing. It is only present to make the -Parachain and non-parahcain OuterConstraintCheckers scale compatible
    • The main struct in this module.
    • Implements all runtime apis for the client side.

    Enums§

    • A constraint checker is a piece of logic that can be used to check a transaction. +to even the core data structures.

    Structs§

    Enums§

    • A constraint checker is a piece of logic that can be used to check a transaction. For any given Tuxedo runtime there is a finite set of such constraint checkers. For example, this may check that input token values exceed output token values.
    • This type is generated by the #[tuxedo_constraint_checker] macro. -It is a combined error type for the errors of each individual checker.
    • This type is generated by the #[tuxedo_constraint_checker] macro. -It is a combined set of inherent hooks for the inherent hooks of each individual checker.
    • A verifier checks that an individual input can be consumed. For example that it is signed properly -To begin playing, we will have two kinds. A simple signature check, and an anyone-can-consume check.

    Constants§

    Functions§

    • The version information used to identify this runtime when compiled natively.

    Type Aliases§

    \ No newline at end of file +It is a combined error type for the errors of each individual checker.
  • A verifier checks that an individual input can be consumed. For example that it is signed properly +To begin playing, we will have two kinds. A simple signature check, and an anyone-can-consume check.
  • This type is generated by the #[tuxedo_verifier] macro. +It is a combined redeemer type for the redeemers of each individual verifier.
  • Constants§

    Functions§

    • The version information used to identify this runtime when compiled natively.

    Type Aliases§

    \ No newline at end of file diff --git a/tuxedo_template_runtime/opaque/index.html b/tuxedo_template_runtime/opaque/index.html index 46e3003a1..c19a2167a 100644 --- a/tuxedo_template_runtime/opaque/index.html +++ b/tuxedo_template_runtime/opaque/index.html @@ -1,6 +1,5 @@ -tuxedo_template_runtime::opaque - Rust -
    Expand description

    Opaque types. These are used by the CLI to instantiate machinery that don’t need to know +tuxedo_template_runtime::opaque - Rust

    Module tuxedo_template_runtime::opaque

    source ·
    Expand description

    Opaque types. These are used by the CLI to instantiate machinery that don’t need to know the specifics of the runtime. They can then be made to be agnostic over specific formats of data like extrinsics, allowing for them to continue syncing the network through upgrades to even the core data structures.

    -

    Structs§

    Type Aliases§

    • Opaque block type.
    • Opaque block hash type.
    \ No newline at end of file +

    Structs§

    \ No newline at end of file diff --git a/tuxedo_template_runtime/opaque/sidebar-items.js b/tuxedo_template_runtime/opaque/sidebar-items.js index 7dfc41f4f..4c500cc17 100644 --- a/tuxedo_template_runtime/opaque/sidebar-items.js +++ b/tuxedo_template_runtime/opaque/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"struct":["AuraAppPublic","GrandpaAppPublic","SessionKeys"],"type":["Block","Hash"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"struct":["AuraAppPublic","GrandpaAppPublic","SessionKeys"]}; \ No newline at end of file diff --git a/tuxedo_template_runtime/opaque/struct.AuraAppPublic.html b/tuxedo_template_runtime/opaque/struct.AuraAppPublic.html index a4b524a09..903cb2e6e 100644 --- a/tuxedo_template_runtime/opaque/struct.AuraAppPublic.html +++ b/tuxedo_template_runtime/opaque/struct.AuraAppPublic.html @@ -1,8 +1,5 @@ -AuraAppPublic in tuxedo_template_runtime::opaque - Rust -
    pub struct AuraAppPublic;

    Trait Implementations§

    source§

    impl BoundToRuntimeAppPublic for AuraAppPublic

    §

    type Public = Public

    The [RuntimeAppPublic] this type is bound to.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> Any for T
    where - T: Any,

    §

    fn into_any(self: Box<T>) -> Box<dyn Any>

    §

    fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

    §

    fn type_name(&self) -> &'static str

    §

    impl<T> AnySync for T
    where - T: Any + Send + Sync,

    §

    fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

    source§

    impl<T> Borrow<T> for T
    where +AuraAppPublic in tuxedo_template_runtime::opaque - Rust

    Struct tuxedo_template_runtime::opaque::AuraAppPublic

    source ·
    pub struct AuraAppPublic;

    Trait Implementations§

    source§

    impl BoundToRuntimeAppPublic for AuraAppPublic

    §

    type Public = Public

    The [RuntimeAppPublic] this type is bound to.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CheckedConversion for T

    §

    fn checked_from<T>(t: T) -> Option<Self>
    where Self: TryFrom<T>,

    Convert from a value of T into an equivalent instance of Option<Self>. Read more
    §

    fn checked_into<T>(self) -> Option<T>
    where @@ -22,16 +19,21 @@ Debug-formatted.

    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where Self: UpperHex,

    Causes self to use its UpperHex implementation when Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where - &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where +

    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    @@ -100,18 +102,14 @@ Self: DerefMut<Target = T> + Deref, T: ?Sized,
    Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where - Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where T: Bounded, S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeRefUnwindSafe for T
    where - T: RefUnwindSafe,

    §

    impl<T> MaybeSend for T
    where - T: Send,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeRefUnwindSafe for T
    where + T: RefUnwindSafe,

    \ No newline at end of file diff --git a/tuxedo_template_runtime/opaque/struct.GrandpaAppPublic.html b/tuxedo_template_runtime/opaque/struct.GrandpaAppPublic.html index 5aa63962c..3d7b9a4d0 100644 --- a/tuxedo_template_runtime/opaque/struct.GrandpaAppPublic.html +++ b/tuxedo_template_runtime/opaque/struct.GrandpaAppPublic.html @@ -1,8 +1,5 @@ -GrandpaAppPublic in tuxedo_template_runtime::opaque - Rust -
    pub struct GrandpaAppPublic;

    Trait Implementations§

    source§

    impl BoundToRuntimeAppPublic for GrandpaAppPublic

    §

    type Public = Public

    The [RuntimeAppPublic] this type is bound to.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> Any for T
    where - T: Any,

    §

    fn into_any(self: Box<T>) -> Box<dyn Any>

    §

    fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

    §

    fn type_name(&self) -> &'static str

    §

    impl<T> AnySync for T
    where - T: Any + Send + Sync,

    §

    fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

    source§

    impl<T> Borrow<T> for T
    where +GrandpaAppPublic in tuxedo_template_runtime::opaque - Rust

    Struct tuxedo_template_runtime::opaque::GrandpaAppPublic

    source ·
    pub struct GrandpaAppPublic;

    Trait Implementations§

    source§

    impl BoundToRuntimeAppPublic for GrandpaAppPublic

    §

    type Public = Public

    The [RuntimeAppPublic] this type is bound to.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CheckedConversion for T

    §

    fn checked_from<T>(t: T) -> Option<Self>
    where Self: TryFrom<T>,

    Convert from a value of T into an equivalent instance of Option<Self>. Read more
    §

    fn checked_into<T>(self) -> Option<T>
    where @@ -22,16 +19,21 @@ Debug-formatted.

    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where Self: UpperHex,

    Causes self to use its UpperHex implementation when Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where - &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where +

    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    @@ -100,18 +102,14 @@ Self: DerefMut<Target = T> + Deref, T: ?Sized,
    Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where - Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where T: Bounded, S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeRefUnwindSafe for T
    where - T: RefUnwindSafe,

    §

    impl<T> MaybeSend for T
    where - T: Send,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeRefUnwindSafe for T
    where + T: RefUnwindSafe,

    \ No newline at end of file diff --git a/tuxedo_template_runtime/opaque/struct.SessionKeys.html b/tuxedo_template_runtime/opaque/struct.SessionKeys.html index 563b7fa0e..8e5f53a57 100644 --- a/tuxedo_template_runtime/opaque/struct.SessionKeys.html +++ b/tuxedo_template_runtime/opaque/struct.SessionKeys.html @@ -1,36 +1,33 @@ -SessionKeys in tuxedo_template_runtime::opaque - Rust -
    pub struct SessionKeys {
    +SessionKeys in tuxedo_template_runtime::opaque - Rust

    Struct tuxedo_template_runtime::opaque::SessionKeys

    source ·
    pub struct SessionKeys {
         pub aura: <AuraAppPublic as BoundToRuntimeAppPublic>::Public,
         pub grandpa: <GrandpaAppPublic as BoundToRuntimeAppPublic>::Public,
    -}

    Fields§

    §aura: <AuraAppPublic as BoundToRuntimeAppPublic>::Public§grandpa: <GrandpaAppPublic as BoundToRuntimeAppPublic>::Public

    Implementations§

    source§

    impl SessionKeys

    source

    pub fn generate(seed: Option<Vec<u8>>) -> Vec<u8>

    Generate a set of keys with optionally using the given seed.

    +}

    Fields§

    §aura: <AuraAppPublic as BoundToRuntimeAppPublic>::Public§grandpa: <GrandpaAppPublic as BoundToRuntimeAppPublic>::Public

    Implementations§

    source§

    impl SessionKeys

    source

    pub fn generate(seed: Option<Vec<u8>>) -> Vec<u8>

    Generate a set of keys with optionally using the given seed.

    The generated key pairs are stored in the keystore.

    Returns the concatenated SCALE encoded public keys.

    -
    source

    pub fn into_raw_public_keys(self) -> Vec<(Vec<u8>, KeyTypeId)>

    Converts Self into a Vec of (raw public key, KeyTypeId).

    -
    source

    pub fn decode_into_raw_public_keys( +

    source

    pub fn into_raw_public_keys(self) -> Vec<(Vec<u8>, KeyTypeId)>

    Converts Self into a Vec of (raw public key, KeyTypeId).

    +
    source

    pub fn decode_into_raw_public_keys( encoded: &[u8] ) -> Option<Vec<(Vec<u8>, KeyTypeId)>>

    Decode Self from the given encoded slice and convert Self into the raw public keys (see Self::into_raw_public_keys).

    Returns None when the decoding failed, otherwise Some(_).

    -

    Trait Implementations§

    source§

    impl Clone for SessionKeys

    source§

    fn clone(&self) -> SessionKeys

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for SessionKeys

    source§

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Decode for SessionKeys

    source§

    fn decode<__CodecInputEdqy: Input>( +

    Trait Implementations§

    source§

    impl Clone for SessionKeys

    source§

    fn clone(&self) -> SessionKeys

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for SessionKeys

    source§

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Decode for SessionKeys

    source§

    fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Self, Error>

    Attempt to deserialise the value from input.
    §

    fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>
    where I: Input,

    Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
    §

    fn skip<I>(input: &mut I) -> Result<(), Error>
    where - I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    source§

    impl<'de> Deserialize<'de> for SessionKeys

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Encode for SessionKeys

    source§

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    source§

    fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    source§

    impl<'de> Deserialize<'de> for SessionKeys

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Encode for SessionKeys

    source§

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    source§

    fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )

    Convert self to a slice and append it to the destination.
    §

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    §

    fn using_encoded<R, F>(&self, f: F) -> R
    where - F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    source§

    impl OpaqueKeys for SessionKeys

    §

    type KeyTypeIdProviders = (AuraAppPublic, GrandpaAppPublic)

    Types bound to this opaque keys that provide the key type ids returned.
    source§

    fn key_ids() -> &'static [KeyTypeId]

    Return the key-type IDs supported by this set.
    source§

    fn get_raw(&self, i: KeyTypeId) -> &[u8]

    Get the raw bytes of key with key-type ID i.
    §

    fn get<T>(&self, i: KeyTypeId) -> Option<T>
    where - T: Decode,

    Get the decoded key with key-type ID i.
    §

    fn ownership_proof_is_valid(&self, _proof: &[u8]) -> bool

    Verify a proof of ownership for the keys.
    source§

    impl PartialEq for SessionKeys

    source§

    fn eq(&self, other: &SessionKeys) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for SessionKeys

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl TypeInfo for SessionKeys

    §

    type Identity = SessionKeys

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    source§

    impl EncodeLike for SessionKeys

    source§

    impl Eq for SessionKeys

    source§

    impl StructuralPartialEq for SessionKeys

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> Any for T
    where - T: Any,

    §

    fn into_any(self: Box<T>) -> Box<dyn Any>

    §

    fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

    §

    fn type_name(&self) -> &'static str

    §

    impl<T> AnySync for T
    where - T: Any + Send + Sync,

    §

    fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

    source§

    impl<T> Borrow<T> for T
    where + F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    source§

    impl OpaqueKeys for SessionKeys

    §

    type KeyTypeIdProviders = (AuraAppPublic, GrandpaAppPublic)

    Types bound to this opaque keys that provide the key type ids returned.
    source§

    fn key_ids() -> &'static [KeyTypeId]

    Return the key-type IDs supported by this set.
    source§

    fn get_raw(&self, i: KeyTypeId) -> &[u8]

    Get the raw bytes of key with key-type ID i.
    §

    fn get<T>(&self, i: KeyTypeId) -> Option<T>
    where + T: Decode,

    Get the decoded key with key-type ID i.
    §

    fn ownership_proof_is_valid(&self, _proof: &[u8]) -> bool

    Verify a proof of ownership for the keys.
    source§

    impl PartialEq for SessionKeys

    source§

    fn eq(&self, other: &SessionKeys) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for SessionKeys

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl TypeInfo for SessionKeys

    §

    type Identity = SessionKeys

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    source§

    impl EncodeLike for SessionKeys

    source§

    impl Eq for SessionKeys

    source§

    impl StructuralPartialEq for SessionKeys

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CheckedConversion for T

    §

    fn checked_from<T>(t: T) -> Option<Self>
    where Self: TryFrom<T>,

    Convert from a value of T into an equivalent instance of Option<Self>. Read more
    §

    fn checked_into<T>(self) -> Option<T>
    where @@ -42,9 +39,8 @@ input: &mut &[u8] ) -> Result<T, Error>

    Decode Self and consume all of the given input data. Read more
    §

    fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
    where I: Input,

    Decode Self with the given maximum recursion depth and advance input by the number of -bytes consumed. Read more
    source§

    impl<T> DynClone for T
    where - T: Clone,

    source§

    fn __clone_box(&self, _: Private) -> *mut ()

    §

    impl<T> EncodeAs<T> for T
    where - T: Encode,

    §

    fn encode_as(&self) -> Vec<u8>

    Convert Self into T, then encode T. Read more
    source§

    impl<Q, K> Equivalent<K> for Q
    where +bytes consumed. Read more

    source§

    impl<T> DynClone for T
    where + T: Clone,

    source§

    fn __clone_box(&self, _: Private) -> *mut ()

    source§

    impl<Q, K> Equivalent<K> for Q
    where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Q
    where Q: Eq + ?Sized, @@ -67,16 +63,21 @@ Debug-formatted.

    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where Self: UpperHex,

    Causes self to use its UpperHex implementation when Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where - &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + &'a Self: for<'a> IntoIterator,
    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where +

    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    @@ -147,21 +148,18 @@ T: ?Sized,
    Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
    source§

    impl<T> ToOwned for T
    where T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where - Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where T: Bounded, S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    §

    impl<S> Codec for S
    where - S: Decode + Encode,

    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> EncodeLike<&&T> for T
    where +[WithDispatch] wrapper. Read more
    §

    impl<S> Codec for S
    where + S: Decode + Encode,

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> EncodeLike<&&T> for T
    where T: Encode,

    §

    impl<T> EncodeLike<&T> for T
    where T: Encode,

    §

    impl<T> EncodeLike<&mut T> for T
    where T: Encode,

    §

    impl<T> EncodeLike<Arc<T>> for T
    where @@ -172,9 +170,8 @@ S: Decode + FullEncode,

    §

    impl<S> FullEncode for S
    where S: Encode + EncodeLike,

    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeDebug for T
    where T: Debug,

    §

    impl<T> MaybeRefUnwindSafe for T
    where - T: RefUnwindSafe,

    §

    impl<T> MaybeSend for T
    where - T: Send,

    §

    impl<T> MaybeSerialize for T
    where - T: Serialize,

    §

    impl<T> MaybeSerializeDeserialize for T

    §

    impl<T> Member for T
    where + T: RefUnwindSafe,

    §

    impl<T> MaybeSerialize for T
    where + T: Serialize,

    §

    impl<T> MaybeSerializeDeserialize for T

    §

    impl<T> Member for T
    where T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

    §

    impl<T> StaticTypeInfo for T
    where T: TypeInfo + 'static,

    \ No newline at end of file diff --git a/tuxedo_template_runtime/opaque/type.Block.html b/tuxedo_template_runtime/opaque/type.Block.html deleted file mode 100644 index 15936140a..000000000 --- a/tuxedo_template_runtime/opaque/type.Block.html +++ /dev/null @@ -1,8 +0,0 @@ -Block in tuxedo_template_runtime::opaque - Rust -
    pub type Block = Block<Header, OpaqueExtrinsic>;
    Expand description

    Opaque block type.

    -

    Aliased Type§

    struct Block {
    -    pub header: Header<u32, BlakeTwo256>,
    -    pub extrinsics: Vec<OpaqueExtrinsic>,
    -}

    Fields§

    §header: Header<u32, BlakeTwo256>

    The block header.

    -
    §extrinsics: Vec<OpaqueExtrinsic>

    The accompanying extrinsics.

    -
    \ No newline at end of file diff --git a/tuxedo_template_runtime/opaque/type.Hash.html b/tuxedo_template_runtime/opaque/type.Hash.html deleted file mode 100644 index e9ee5c4a1..000000000 --- a/tuxedo_template_runtime/opaque/type.Hash.html +++ /dev/null @@ -1,3 +0,0 @@ -Hash in tuxedo_template_runtime::opaque - Rust -
    pub type Hash = <BlakeTwo256 as HashT>::Output;
    Expand description

    Opaque block hash type.

    -
    \ No newline at end of file diff --git a/tuxedo_template_runtime/sidebar-items.js b/tuxedo_template_runtime/sidebar-items.js index 16c36400a..fdb9287e0 100644 --- a/tuxedo_template_runtime/sidebar-items.js +++ b/tuxedo_template_runtime/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"constant":["VERSION","WASM_BINARY","WASM_BINARY_BLOATY"],"enum":["OuterConstraintChecker","OuterConstraintCheckerError","OuterConstraintCheckerInherentHooks","OuterVerifier"],"fn":["native_version"],"mod":["api","genesis","opaque"],"struct":["DummyParachainInfo","Runtime","RuntimeApi","RuntimeApiImpl"],"type":["Block","BlockNumber","Executive","Header","Output","Transaction"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"constant":["VERSION","WASM_BINARY","WASM_BINARY_BLOATY"],"enum":["OuterConstraintChecker","OuterConstraintCheckerError","OuterVerifier","OuterVerifierRedeemer"],"fn":["native_version"],"mod":["api","genesis","opaque"],"struct":["Runtime","RuntimeApi","RuntimeApiImpl"],"type":["Block","Executive","Output","Transaction"]}; \ No newline at end of file diff --git a/tuxedo_template_runtime/struct.Runtime.html b/tuxedo_template_runtime/struct.Runtime.html index 694e170c1..9a438ace3 100644 --- a/tuxedo_template_runtime/struct.Runtime.html +++ b/tuxedo_template_runtime/struct.Runtime.html @@ -1,20 +1,19 @@ -Runtime in tuxedo_template_runtime - Rust -
    pub struct Runtime;
    Expand description

    The main struct in this module.

    -

    Trait Implementations§

    source§

    impl AuraApiV1<Block<Header<u32, BlakeTwo256>, Transaction<OuterVerifier, OuterConstraintChecker>>, Public> for Runtime

    source§

    fn slot_duration() -> SlotDuration

    Returns the slot duration for Aura. Read more
    source§

    fn authorities() -> Vec<AuraId>

    Return the current set of authorities.
    source§

    impl BlockBuilderV6<Block<Header<u32, BlakeTwo256>, Transaction<OuterVerifier, OuterConstraintChecker>>> for Runtime

    source§

    fn apply_extrinsic( +Runtime in tuxedo_template_runtime - Rust

    Struct tuxedo_template_runtime::Runtime

    source ·
    pub struct Runtime;
    Expand description

    The main struct in this module.

    +

    Trait Implementations§

    source§

    impl AuraApiV1<Block<Header<u32, BlakeTwo256>, Transaction<OuterVerifier, OuterConstraintChecker>>, Public> for Runtime

    source§

    fn slot_duration() -> SlotDuration

    Returns the slot duration for Aura. Read more
    source§

    fn authorities() -> Vec<AuraId>

    Return the current set of authorities.
    source§

    impl BlockBuilderV6<Block<Header<u32, BlakeTwo256>, Transaction<OuterVerifier, OuterConstraintChecker>>> for Runtime

    source§

    fn apply_extrinsic( extrinsic: <Block as BlockT>::Extrinsic -) -> ApplyExtrinsicResult

    Apply the given extrinsic. Read more
    source§

    fn finalize_block() -> <Block as BlockT>::Header

    Finish the current block.
    source§

    fn inherent_extrinsics(data: InherentData) -> Vec<<Block as BlockT>::Extrinsic>

    Generate inherent extrinsics. The inherent data will vary from chain to chain.
    source§

    fn check_inherents(block: Block, data: InherentData) -> CheckInherentsResult

    Check that the inherents are valid. The inherent data will vary from chain to chain.
    source§

    impl Clone for Runtime

    source§

    fn clone(&self) -> Runtime

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl CollectCollationInfoV2<Block<Header<u32, BlakeTwo256>, Transaction<OuterVerifier, OuterConstraintChecker>>> for Runtime

    source§

    fn collect_collation_info(header: &<Block as BlockT>::Header) -> CollationInfo

    Collect information about a collation. Read more
    source§

    impl CoreV4<Block<Header<u32, BlakeTwo256>, Transaction<OuterVerifier, OuterConstraintChecker>>> for Runtime

    source§

    fn version() -> RuntimeVersion

    Returns the version of the runtime.
    source§

    fn execute_block(block: Block)

    Execute the given block.
    source§

    fn initialize_block(header: &<Block as BlockT>::Header)

    Initialize a block with the given header.
    source§

    impl Decode for Runtime

    source§

    fn decode<__CodecInputEdqy: Input>( +) -> ApplyExtrinsicResult

    Apply the given extrinsic. Read more
    source§

    fn finalize_block() -> <Block as BlockT>::Header

    Finish the current block.
    source§

    fn inherent_extrinsics(data: InherentData) -> Vec<<Block as BlockT>::Extrinsic>

    Generate inherent extrinsics. The inherent data will vary from chain to chain.
    source§

    fn check_inherents(block: Block, data: InherentData) -> CheckInherentsResult

    Check that the inherents are valid. The inherent data will vary from chain to chain.
    source§

    impl Clone for Runtime

    source§

    fn clone(&self) -> Runtime

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl CoreV4<Block<Header<u32, BlakeTwo256>, Transaction<OuterVerifier, OuterConstraintChecker>>> for Runtime

    source§

    fn version() -> RuntimeVersion

    Returns the version of the runtime.
    source§

    fn execute_block(block: Block)

    Execute the given block.
    source§

    fn initialize_block(header: &<Block as BlockT>::Header)

    Initialize a block with the given header.
    source§

    impl Decode for Runtime

    source§

    fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Self, Error>

    Attempt to deserialise the value from input.
    §

    fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>
    where I: Input,

    Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
    §

    fn skip<I>(input: &mut I) -> Result<(), Error>
    where - I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    source§

    impl Encode for Runtime

    source§

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    source§

    fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    source§

    impl Encode for Runtime

    source§

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    source§

    fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )

    Convert self to a slice and append it to the destination.
    §

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    §

    fn using_encoded<R, F>(&self, f: F) -> R
    where - F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    source§

    impl GetNodeBlockType for Runtime

    §

    type NodeBlock = Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>

    The NodeBlock type.
    source§

    impl GetRuntimeBlockType for Runtime

    §

    type RuntimeBlock = Block<Header<u32, BlakeTwo256>, Transaction<OuterVerifier, OuterConstraintChecker>>

    The RuntimeBlock type.
    source§

    impl GrandpaApiV3<Block<Header<u32, BlakeTwo256>, Transaction<OuterVerifier, OuterConstraintChecker>>> for Runtime

    source§

    fn grandpa_authorities() -> AuthorityList

    Get the current GRANDPA authorities and weights. This should not change except -for when changes are scheduled and the corresponding delay has passed. Read more
    source§

    fn current_set_id() -> SetId

    Get current GRANDPA authority set id.
    source§

    fn submit_report_equivocation_unsigned_extrinsic( + F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    source§

    impl GenesisBuilderV1<Block<Header<u32, BlakeTwo256>, Transaction<OuterVerifier, OuterConstraintChecker>>> for Runtime

    source§

    fn create_default_config() -> Vec<u8>

    Creates the default GenesisConfig and returns it as a JSON blob. Read more
    source§

    fn build_config(config: Vec<u8>) -> Result

    Build GenesisConfig from a JSON blob not using any defaults and store it in the storage. Read more
    source§

    impl GrandpaApiV3<Block<Header<u32, BlakeTwo256>, Transaction<OuterVerifier, OuterConstraintChecker>>> for Runtime

    source§

    fn grandpa_authorities() -> AuthorityList

    Get the current GRANDPA authorities and weights. This should not change except +for when changes are scheduled and the corresponding delay has passed. Read more
    source§

    fn current_set_id() -> SetId

    Get current GRANDPA authority set id.
    source§

    fn submit_report_equivocation_unsigned_extrinsic( _equivocation_proof: EquivocationProof<<Block as BlockT>::Hash, NumberFor<Block>>, _key_owner_proof: OpaqueKeyOwnershipProof ) -> Option<()>

    Submits an unsigned extrinsic to report an equivocation. The caller @@ -24,7 +23,7 @@ authorship (not to be broadcast to the network). This method returns None when creation of the extrinsic fails, e.g. if equivocation reporting is disabled for the given runtime (i.e. this method is -hardcoded to return None). Only useful in an offchain context.
    source§

    fn generate_key_ownership_proof( +hardcoded to return None). Only useful in an offchain context.

    source§

    fn generate_key_ownership_proof( _set_id: SetId, _authority_id: AuthorityId ) -> Option<OpaqueKeyOwnershipProof>

    Generates a proof of key ownership for the given authority in the @@ -37,26 +36,21 @@ method being called at the correct block height, i.e. any point at which the given set id is live on-chain. Future implementations will instead use indexed data through an offchain worker, not requiring -older states to be available.
    source§

    impl MetadataV2<Block<Header<u32, BlakeTwo256>, Transaction<OuterVerifier, OuterConstraintChecker>>> for Runtime

    source§

    fn metadata() -> OpaqueMetadata

    Returns the metadata of a runtime.
    source§

    fn metadata_at_version(_version: u32) -> Option<OpaqueMetadata>

    Returns the metadata at a given version. Read more
    source§

    fn metadata_versions() -> Vec<u32>

    Returns the supported metadata versions. Read more
    source§

    impl ParachainPieceConfig for Runtime

    source§

    const PARA_ID: u32 = 2_000u32

    The Parachain Id of this chain. -This is currently a copmile time constant, which is simple but not that flexible. Read more
    §

    type SetRelayParentNumberStorage = RelayParentNumberStorage

    A means of setting an ambiently available relay parent number. This value WILL be used when -the collator calls the collation API after the block is authored and also in validate_block. -Additionally, it MAY be used by any other pieces in the runtime who have access to it.
    source§

    impl PartialEq for Runtime

    source§

    fn eq(&self, other: &Runtime) -> bool

    This method tests for self and other values to be equal, and is used -by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl PoeConfig for Runtime

    source§

    fn block_height() -> u32

    A means of getting the current block height. -Probably this will be the Tuxedo Executive
    source§

    impl SessionKeysV1<Block<Header<u32, BlakeTwo256>, Transaction<OuterVerifier, OuterConstraintChecker>>> for Runtime

    source§

    fn generate_session_keys(seed: Option<Vec<u8>>) -> Vec<u8>

    Generate a set of session keys with optionally using the given seed. +older states to be available.
    source§

    impl MetadataV2<Block<Header<u32, BlakeTwo256>, Transaction<OuterVerifier, OuterConstraintChecker>>> for Runtime

    source§

    fn metadata() -> OpaqueMetadata

    Returns the metadata of a runtime.
    source§

    fn metadata_at_version(_version: u32) -> Option<OpaqueMetadata>

    Returns the metadata at a given version. Read more
    source§

    fn metadata_versions() -> Vec<u32>

    Returns the supported metadata versions. Read more
    source§

    impl PartialEq for Runtime

    source§

    fn eq(&self, other: &Runtime) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl PoeConfig for Runtime

    source§

    fn block_height() -> u32

    A means of getting the current block height. +Probably this will be the Tuxedo Executive
    source§

    impl SessionKeysV1<Block<Header<u32, BlakeTwo256>, Transaction<OuterVerifier, OuterConstraintChecker>>> for Runtime

    source§

    fn generate_session_keys(seed: Option<Vec<u8>>) -> Vec<u8>

    Generate a set of session keys with optionally using the given seed. The keys should be stored within the keystore exposed via runtime -externalities. Read more
    source§

    fn decode_session_keys(encoded: Vec<u8>) -> Option<Vec<(Vec<u8>, KeyTypeId)>>

    Decode the given public session keys. Read more
    source§

    impl TaggedTransactionQueueV3<Block<Header<u32, BlakeTwo256>, Transaction<OuterVerifier, OuterConstraintChecker>>> for Runtime

    source§

    fn decode_session_keys(encoded: Vec<u8>) -> Option<Vec<(Vec<u8>, KeyTypeId)>>

    Decode the given public session keys. Read more
    source§

    impl TaggedTransactionQueueV3<Block<Header<u32, BlakeTwo256>, Transaction<OuterVerifier, OuterConstraintChecker>>> for Runtime

    source§

    fn validate_transaction( source: TransactionSource, tx: <Block as BlockT>::Extrinsic, block_hash: <Block as BlockT>::Hash -) -> TransactionValidity

    Validate the transaction. Read more
    source§

    impl TimestampConfig for Runtime

    source§

    fn block_height() -> u32

    A means of getting the current block height. -Probably this will be the Tuxedo Executive
    source§

    const MINIMUM_TIME_INTERVAL: u64 = 2_000u64

    The minimum amount of time by which the timestamp may be updated. Read more
    source§

    const MAX_DRIFT: u64 = 60_000u64

    The maximum amount by which a valid block’s timestamp may be ahead of an importing -node’s current local time. Read more
    source§

    const MIN_TIME_BEFORE_CLEANUP: u64 = 86_400_000u64

    The minimum amount of time that must have passed before an old timestamp -may be cleaned up. Read more
    source§

    const MIN_BLOCKS_BEFORE_CLEANUP: u32 = 15_000u32

    The minimum number of blocks that must have passed before an old timestamp -may be cleaned up. Read more
    source§

    impl TypeInfo for Runtime

    §

    type Identity = Runtime

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    source§

    impl EncodeLike for Runtime

    source§

    impl Eq for Runtime

    source§

    impl StructuralPartialEq for Runtime

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> Any for T
    where - T: Any,

    §

    fn into_any(self: Box<T>) -> Box<dyn Any>

    §

    fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

    §

    fn type_name(&self) -> &'static str

    §

    impl<T> AnySync for T
    where - T: Any + Send + Sync,

    §

    fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

    source§

    impl<T> Borrow<T> for T
    where +) -> TransactionValidity

    Validate the transaction. Read more
    source§

    impl TimestampConfig for Runtime

    source§

    fn block_height() -> u32

    A means of getting the current block height. +Probably this will be the Tuxedo Executive
    source§

    const MINIMUM_TIME_INTERVAL: u64 = 2_000u64

    The minimum amount of time by which the timestamp may be updated. Read more
    source§

    const MAX_DRIFT: u64 = 60_000u64

    The maximum amount by which a valid block’s timestamp may be ahead of an importing +node’s current local time. Read more
    source§

    const MIN_TIME_BEFORE_CLEANUP: u64 = 86_400_000u64

    The minimum amount of time that must have passed before an old timestamp +may be cleaned up. Read more
    source§

    const MIN_BLOCKS_BEFORE_CLEANUP: u32 = 15_000u32

    The minimum number of blocks that must have passed before an old timestamp +may be cleaned up. Read more
    source§

    impl TypeInfo for Runtime

    §

    type Identity = Runtime

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    source§

    impl EncodeLike for Runtime

    source§

    impl Eq for Runtime

    source§

    impl StructuralPartialEq for Runtime

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CheckedConversion for T

    §

    fn checked_from<T>(t: T) -> Option<Self>
    where Self: TryFrom<T>,

    Convert from a value of T into an equivalent instance of Option<Self>. Read more
    §

    fn checked_into<T>(self) -> Option<T>
    where @@ -68,9 +62,8 @@ input: &mut &[u8] ) -> Result<T, Error>

    Decode Self and consume all of the given input data. Read more
    §

    fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
    where I: Input,

    Decode Self with the given maximum recursion depth and advance input by the number of -bytes consumed. Read more
    source§

    impl<T> DynClone for T
    where - T: Clone,

    source§

    fn __clone_box(&self, _: Private) -> *mut ()

    §

    impl<T> EncodeAs<T> for T
    where - T: Encode,

    §

    fn encode_as(&self) -> Vec<u8>

    Convert Self into T, then encode T. Read more
    source§

    impl<Q, K> Equivalent<K> for Q
    where +bytes consumed. Read more

    source§

    impl<T> DynClone for T
    where + T: Clone,

    source§

    fn __clone_box(&self, _: Private) -> *mut ()

    source§

    impl<Q, K> Equivalent<K> for Q
    where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Q
    where Q: Eq + ?Sized, @@ -93,16 +86,21 @@ Debug-formatted.

    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where Self: UpperHex,

    Causes self to use its UpperHex implementation when Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where - &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + &'a Self: for<'a> IntoIterator,
    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where +

    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    @@ -173,19 +171,16 @@ T: ?Sized,
    Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
    source§

    impl<T> ToOwned for T
    where T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where - Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where T: Bounded, S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    §

    impl<S> Codec for S
    where +[WithDispatch] wrapper. Read more
    §

    impl<S> Codec for S
    where S: Decode + Encode,

    §

    impl<T> EncodeLike<&&T> for T
    where T: Encode,

    §

    impl<T> EncodeLike<&T> for T
    where T: Encode,

    §

    impl<T> EncodeLike<&mut T> for T
    where @@ -196,6 +191,5 @@ T: Encode,

    §

    impl<S> FullCodec for S
    where S: Decode + FullEncode,

    §

    impl<S> FullEncode for S
    where S: Encode + EncodeLike,

    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeRefUnwindSafe for T
    where - T: RefUnwindSafe,

    §

    impl<T> MaybeSend for T
    where - T: Send,

    §

    impl<T> StaticTypeInfo for T
    where + T: RefUnwindSafe,

    §

    impl<T> StaticTypeInfo for T
    where T: TypeInfo + 'static,

    \ No newline at end of file diff --git a/tuxedo_template_runtime/struct.RuntimeApi.html b/tuxedo_template_runtime/struct.RuntimeApi.html index 51c3c1147..bf4777b8b 100644 --- a/tuxedo_template_runtime/struct.RuntimeApi.html +++ b/tuxedo_template_runtime/struct.RuntimeApi.html @@ -1,9 +1,6 @@ -RuntimeApi in tuxedo_template_runtime - Rust -
    pub struct RuntimeApi {}

    Trait Implementations§

    source§

    impl<Block: BlockT, C> ConstructRuntimeApi<Block, C> for RuntimeApi
    where - C: CallApiAt<Block> + 'static,

    §

    type RuntimeApi = RuntimeApiImpl<Block, C>

    The actual runtime api that will be constructed.
    source§

    fn construct_runtime_api<'a>(call: &'a C) -> ApiRef<'a, Self::RuntimeApi>

    Construct an instance of the runtime api.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> Any for T
    where - T: Any,

    §

    fn into_any(self: Box<T>) -> Box<dyn Any>

    §

    fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

    §

    fn type_name(&self) -> &'static str

    §

    impl<T> AnySync for T
    where - T: Any + Send + Sync,

    §

    fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

    source§

    impl<T> Borrow<T> for T
    where +RuntimeApi in tuxedo_template_runtime - Rust

    Struct tuxedo_template_runtime::RuntimeApi

    source ·
    pub struct RuntimeApi {}

    Trait Implementations§

    source§

    impl<Block: BlockT, C> ConstructRuntimeApi<Block, C> for RuntimeApi
    where + C: CallApiAt<Block> + 'static,

    §

    type RuntimeApi = RuntimeApiImpl<Block, C>

    The actual runtime api that will be constructed.
    source§

    fn construct_runtime_api<'a>(call: &'a C) -> ApiRef<'a, Self::RuntimeApi>

    Construct an instance of the runtime api.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CheckedConversion for T

    §

    fn checked_from<T>(t: T) -> Option<Self>
    where Self: TryFrom<T>,

    Convert from a value of T into an equivalent instance of Option<Self>. Read more
    §

    fn checked_into<T>(self) -> Option<T>
    where @@ -23,16 +20,21 @@ Debug-formatted.

    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where Self: UpperHex,

    Causes self to use its UpperHex implementation when Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where - &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where +

    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    @@ -101,18 +103,14 @@ Self: DerefMut<Target = T> + Deref, T: ?Sized,
    Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where - Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where T: Bounded, S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeRefUnwindSafe for T
    where - T: RefUnwindSafe,

    §

    impl<T> MaybeSend for T
    where - T: Send,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeRefUnwindSafe for T
    where + T: RefUnwindSafe,

    \ No newline at end of file diff --git a/tuxedo_template_runtime/struct.RuntimeApiImpl.html b/tuxedo_template_runtime/struct.RuntimeApiImpl.html index 3cdde1212..950bf5f6d 100644 --- a/tuxedo_template_runtime/struct.RuntimeApiImpl.html +++ b/tuxedo_template_runtime/struct.RuntimeApiImpl.html @@ -1,29 +1,28 @@ -RuntimeApiImpl in tuxedo_template_runtime - Rust -
    pub struct RuntimeApiImpl<Block: BlockT, C: CallApiAt<Block> + 'static> { /* private fields */ }
    Expand description

    Implements all runtime apis for the client side.

    -

    Trait Implementations§

    source§

    impl<Block: BlockT, C: CallApiAt<Block>> ApiExt<Block> for RuntimeApiImpl<Block, C>

    source§

    fn execute_in_transaction<F: FnOnce(&Self) -> TransactionOutcome<R>, R>( +RuntimeApiImpl in tuxedo_template_runtime - Rust

    Struct tuxedo_template_runtime::RuntimeApiImpl

    source ·
    pub struct RuntimeApiImpl<Block: BlockT, C: CallApiAt<Block> + 'static> { /* private fields */ }
    Expand description

    Implements all runtime apis for the client side.

    +

    Trait Implementations§

    source§

    impl<Block: BlockT, C: CallApiAt<Block>> ApiExt<Block> for RuntimeApiImpl<Block, C>

    source§

    fn execute_in_transaction<F: FnOnce(&Self) -> TransactionOutcome<R>, R>( &self, call: F ) -> R
    where - Self: Sized,

    Execute the given closure inside a new transaction. Read more
    source§

    fn has_api<A: RuntimeApiInfo + ?Sized>( + Self: Sized,

    Execute the given closure inside a new transaction. Read more
    source§

    fn has_api<A: RuntimeApiInfo + ?Sized>( &self, at: <Block as BlockT>::Hash ) -> Result<bool, ApiError>
    where - Self: Sized,

    Checks if the given api is implemented and versions match.
    source§

    fn has_api_with<A: RuntimeApiInfo + ?Sized, P: Fn(u32) -> bool>( + Self: Sized,

    Checks if the given api is implemented and versions match.
    source§

    fn has_api_with<A: RuntimeApiInfo + ?Sized, P: Fn(u32) -> bool>( &self, at: <Block as BlockT>::Hash, pred: P ) -> Result<bool, ApiError>
    where - Self: Sized,

    Check if the given api is implemented and the version passes a predicate.
    source§

    fn api_version<A: RuntimeApiInfo + ?Sized>( + Self: Sized,

    Check if the given api is implemented and the version passes a predicate.
    source§

    fn api_version<A: RuntimeApiInfo + ?Sized>( &self, at: <Block as BlockT>::Hash ) -> Result<Option<u32>, ApiError>
    where - Self: Sized,

    Returns the version of the given api.
    source§

    fn record_proof(&mut self)

    Start recording all accessed trie nodes for generating proofs.
    source§

    fn proof_recorder(&self) -> Option<ProofRecorder<Block>>

    Returns the current active proof recorder.
    source§

    fn extract_proof(&mut self) -> Option<StorageProof>

    Extract the recorded proof. Read more
    source§

    fn into_storage_changes<B: StateBackend<HashingFor<Block>>>( + Self: Sized,

    Returns the version of the given api.
    source§

    fn record_proof(&mut self)

    Start recording all accessed trie nodes for generating proofs.
    source§

    fn proof_recorder(&self) -> Option<ProofRecorder<Block>>

    Returns the current active proof recorder.
    source§

    fn extract_proof(&mut self) -> Option<StorageProof>

    Extract the recorded proof. Read more
    source§

    fn into_storage_changes<B: StateBackend<HashingFor<Block>>>( &self, backend: &B, parent_hash: Block::Hash ) -> Result<StorageChanges<Block>, String>
    where Self: Sized,

    Convert the api object into the storage changes that were done while executing runtime -api functions. Read more
    source§

    fn set_call_context(&mut self, call_context: CallContext)

    Set the [CallContext] to be used by the runtime api calls done by this instance.
    source§

    fn register_extension<E: Extension>(&mut self, extension: E)

    Register an [Extension] that will be accessible while executing a runtime api call.
    source§

    impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> AuraApi<__SrApiBlock__, Public> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
    where +api functions. Read more

    source§

    fn set_call_context(&mut self, call_context: CallContext)

    Set the [CallContext] to be used by the runtime api calls done by this instance.
    source§

    fn register_extension<E: Extension>(&mut self, extension: E)

    Register an [Extension] that will be accessible while executing a runtime api call.
    source§

    impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> AuraApi<__SrApiBlock__, Public> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
    where RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>, &'static RuntimeApiImplCall: Send, SlotDuration: UnwindSafe + RefUnwindSafe, @@ -34,7 +33,7 @@ ) -> Result<SlotDuration, ApiError>

    Returns the slot duration for Aura. Read more
    §

    fn authorities( &self, __runtime_api_at_param__: <Block as Block>::Hash -) -> Result<Vec<AuthorityId>, ApiError>

    Return the current set of authorities.
    source§

    impl<__SrApiBlock__, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> BlockBuilder<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
    where +) -> Result<Vec<AuthorityId>, ApiError>

    Return the current set of authorities.
    source§

    impl<__SrApiBlock__, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> BlockBuilder<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
    where RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>, &'static RuntimeApiImplCall: Send, <__SrApiBlock__ as BlockT>::Extrinsic: UnwindSafe + RefUnwindSafe, @@ -64,19 +63,7 @@ __runtime_api_at_param__: <Block as Block>::Hash, block: Block, data: InherentData -) -> Result<CheckInherentsResult, ApiError>

    Check that the inherents are valid. The inherent data will vary from chain to chain.
    source§

    impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> CollectCollationInfo<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
    where - RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>, - &'static RuntimeApiImplCall: Send, - <__SrApiBlock__ as BlockT>::Header: UnwindSafe + RefUnwindSafe, - CollationInfo: UnwindSafe + RefUnwindSafe, - __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,

    §

    fn collect_collation_info_before_version_2( - &self, - __runtime_api_at_param__: <Block as Block>::Hash -) -> Result<CollationInfoV1, ApiError>

    👎Deprecated
    Collect information about a collation.
    §

    fn collect_collation_info( - &self, - __runtime_api_at_param__: <Block as Block>::Hash, - header: &<Block as Block>::Header -) -> Result<CollationInfo, ApiError>

    Collect information about a collation. Read more
    source§

    impl<__SrApiBlock__, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> Core<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
    where +) -> Result<CheckInherentsResult, ApiError>

    Check that the inherents are valid. The inherent data will vary from chain to chain.
    source§

    impl<__SrApiBlock__, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> Core<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
    where RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>, &'static RuntimeApiImplCall: Send, RuntimeVersion: UnwindSafe + RefUnwindSafe, @@ -93,7 +80,19 @@ &self, __runtime_api_at_param__: <Block as Block>::Hash, header: &<Block as Block>::Header -) -> Result<(), ApiError>

    Initialize a block with the given header.
    source§

    impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> GrandpaApi<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
    where +) -> Result<(), ApiError>

    Initialize a block with the given header.
    source§

    impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> GenesisBuilder<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
    where + RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>, + &'static RuntimeApiImplCall: Send, + Vec<u8>: UnwindSafe + RefUnwindSafe, + Result: UnwindSafe + RefUnwindSafe, + __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,

    §

    fn create_default_config( + &self, + __runtime_api_at_param__: <Block as Block>::Hash +) -> Result<Vec<u8>, ApiError>

    Creates the default GenesisConfig and returns it as a JSON blob. Read more
    §

    fn build_config( + &self, + __runtime_api_at_param__: <Block as Block>::Hash, + json: Vec<u8> +) -> Result<Result<(), RuntimeString>, ApiError>

    Build GenesisConfig from a JSON blob not using any defaults and store it in the storage. Read more
    source§

    impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> GrandpaApi<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
    where RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>, &'static RuntimeApiImplCall: Send, AuthorityList: UnwindSafe + RefUnwindSafe, @@ -137,7 +136,7 @@ older states to be available.

    §

    fn current_set_id( &self, __runtime_api_at_param__: <Block as Block>::Hash -) -> Result<u64, ApiError>

    Get current GRANDPA authority set id.
    source§

    impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> Metadata<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
    where +) -> Result<u64, ApiError>

    Get current GRANDPA authority set id.
    source§

    impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> Metadata<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
    where RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>, &'static RuntimeApiImplCall: Send, OpaqueMetadata: UnwindSafe + RefUnwindSafe, @@ -154,7 +153,7 @@ ) -> Result<Option<OpaqueMetadata>, ApiError>

    Returns the metadata at a given version. Read more
    §

    fn metadata_versions( &self, __runtime_api_at_param__: <Block as Block>::Hash -) -> Result<Vec<u32>, ApiError>

    Returns the supported metadata versions. Read more
    source§

    impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> SessionKeys<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
    where +) -> Result<Vec<u32>, ApiError>

    Returns the supported metadata versions. Read more
    source§

    impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> SessionKeys<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
    where RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>, &'static RuntimeApiImplCall: Send, Option<Vec<u8>>: UnwindSafe + RefUnwindSafe, @@ -170,7 +169,7 @@ &self, __runtime_api_at_param__: <Block as Block>::Hash, encoded: Vec<u8> -) -> Result<Option<Vec<(Vec<u8>, KeyTypeId)>>, ApiError>

    Decode the given public session keys. Read more
    source§

    impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> TaggedTransactionQueue<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
    where +) -> Result<Option<Vec<(Vec<u8>, KeyTypeId)>>, ApiError>

    Decode the given public session keys. Read more
    source§

    impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> TaggedTransactionQueue<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
    where RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>, &'static RuntimeApiImplCall: Send, TransactionSource: UnwindSafe + RefUnwindSafe, @@ -192,12 +191,11 @@ source: TransactionSource, tx: <Block as Block>::Extrinsic, block_hash: <Block as Block>::Hash -) -> Result<Result<ValidTransaction, TransactionValidityError>, ApiError>

    Validate the transaction. Read more

    Auto Trait Implementations§

    §

    impl<Block, C> !RefUnwindSafe for RuntimeApiImpl<Block, C>

    §

    impl<Block, C> Send for RuntimeApiImpl<Block, C>
    where +) -> Result<Result<ValidTransaction, TransactionValidityError>, ApiError>

    Validate the transaction. Read more

    Auto Trait Implementations§

    §

    impl<Block, C> !Freeze for RuntimeApiImpl<Block, C>

    §

    impl<Block, C> !RefUnwindSafe for RuntimeApiImpl<Block, C>

    §

    impl<Block, C> Send for RuntimeApiImpl<Block, C>
    where C: Sync,

    §

    impl<Block, C> !Sync for RuntimeApiImpl<Block, C>

    §

    impl<Block, C> Unpin for RuntimeApiImpl<Block, C>
    where <Block as Block>::Hash: Unpin, <<Block as Block>::Header as Header>::Hashing: Unpin,

    §

    impl<Block, C> !UnwindSafe for RuntimeApiImpl<Block, C>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> Any for T
    where - T: Any,

    §

    fn into_any(self: Box<T>) -> Box<dyn Any>

    §

    fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

    §

    fn type_name(&self) -> &'static str

    source§

    impl<T> Borrow<T> for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CheckedConversion for T

    §

    fn checked_from<T>(t: T) -> Option<Self>
    where Self: TryFrom<T>,

    Convert from a value of T into an equivalent instance of Option<Self>. Read more
    §

    fn checked_into<T>(self) -> Option<T>
    where @@ -217,16 +215,21 @@ Debug-formatted.

    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where Self: UpperHex,

    Causes self to use its UpperHex implementation when Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where - &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + &'a Self: for<'a> IntoIterator,
    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where +

    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    @@ -295,17 +298,13 @@ Self: DerefMut<Target = T> + Deref, T: ?Sized,
    Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where - Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where T: Bounded, S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeSend for T
    where - T: Send,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    §

    impl<T> JsonSchemaMaybe for T

    \ No newline at end of file diff --git a/tuxedo_template_runtime/type.Block.html b/tuxedo_template_runtime/type.Block.html index 2c9219b97..23af8221b 100644 --- a/tuxedo_template_runtime/type.Block.html +++ b/tuxedo_template_runtime/type.Block.html @@ -1,7 +1,6 @@ -Block in tuxedo_template_runtime - Rust -
    pub type Block = Block<Header, Transaction>;

    Aliased Type§

    struct Block {
    +Block in tuxedo_template_runtime - Rust

    Type Alias tuxedo_template_runtime::Block

    source ·
    pub type Block = Block<OuterVerifier, OuterConstraintChecker>;

    Aliased Type§

    struct Block {
         pub header: Header<u32, BlakeTwo256>,
         pub extrinsics: Vec<Transaction<OuterVerifier, OuterConstraintChecker>>,
     }

    Fields§

    §header: Header<u32, BlakeTwo256>

    The block header.

    §extrinsics: Vec<Transaction<OuterVerifier, OuterConstraintChecker>>

    The accompanying extrinsics.

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/tuxedo_template_runtime/type.BlockNumber.html b/tuxedo_template_runtime/type.BlockNumber.html deleted file mode 100644 index ecc2f2123..000000000 --- a/tuxedo_template_runtime/type.BlockNumber.html +++ /dev/null @@ -1,2 +0,0 @@ -BlockNumber in tuxedo_template_runtime - Rust -
    pub type BlockNumber = u32;
    \ No newline at end of file diff --git a/tuxedo_template_runtime/type.Executive.html b/tuxedo_template_runtime/type.Executive.html index 0a0b9fdcd..1e5cf685a 100644 --- a/tuxedo_template_runtime/type.Executive.html +++ b/tuxedo_template_runtime/type.Executive.html @@ -1,2 +1 @@ -Executive in tuxedo_template_runtime - Rust -
    pub type Executive = Executive<Block, OuterVerifier, OuterConstraintChecker>;

    Aliased Type§

    struct Executive(/* private fields */);
    \ No newline at end of file +Executive in tuxedo_template_runtime - Rust

    Type Alias tuxedo_template_runtime::Executive

    source ·
    pub type Executive = Executive<OuterVerifier, OuterConstraintChecker>;

    Aliased Type§

    struct Executive(/* private fields */);
    \ No newline at end of file diff --git a/tuxedo_template_runtime/type.Header.html b/tuxedo_template_runtime/type.Header.html deleted file mode 100644 index 926e5f1e9..000000000 --- a/tuxedo_template_runtime/type.Header.html +++ /dev/null @@ -1,13 +0,0 @@ -Header in tuxedo_template_runtime - Rust -
    pub type Header = Header<BlockNumber, BlakeTwo256>;

    Aliased Type§

    struct Header {
    -    pub parent_hash: H256,
    -    pub number: u32,
    -    pub state_root: H256,
    -    pub extrinsics_root: H256,
    -    pub digest: Digest,
    -}

    Fields§

    §parent_hash: H256

    The parent hash.

    -
    §number: u32

    The block number.

    -
    §state_root: H256

    The state trie merkle root

    -
    §extrinsics_root: H256

    The merkle root of the extrinsics.

    -
    §digest: Digest

    A chain-specific digest of data useful for light clients or referencing auxiliary data.

    -
    \ No newline at end of file diff --git a/tuxedo_template_runtime/type.Output.html b/tuxedo_template_runtime/type.Output.html index 0ceff8d6d..52a352a5e 100644 --- a/tuxedo_template_runtime/type.Output.html +++ b/tuxedo_template_runtime/type.Output.html @@ -1,5 +1,4 @@ -Output in tuxedo_template_runtime - Rust -
    pub type Output = Output<OuterVerifier>;

    Aliased Type§

    struct Output {
    +Output in tuxedo_template_runtime - Rust

    Type Alias tuxedo_template_runtime::Output

    source ·
    pub type Output = Output<OuterVerifier>;

    Aliased Type§

    struct Output {
         pub payload: DynamicallyTypedData,
         pub verifier: OuterVerifier,
     }

    Fields§

    §payload: DynamicallyTypedData§verifier: OuterVerifier
    \ No newline at end of file diff --git a/tuxedo_template_runtime/type.Transaction.html b/tuxedo_template_runtime/type.Transaction.html index ce53a138c..412d9e360 100644 --- a/tuxedo_template_runtime/type.Transaction.html +++ b/tuxedo_template_runtime/type.Transaction.html @@ -1,5 +1,4 @@ -Transaction in tuxedo_template_runtime - Rust -
    pub type Transaction = Transaction<OuterVerifier, OuterConstraintChecker>;

    Aliased Type§

    struct Transaction {
    +Transaction in tuxedo_template_runtime - Rust

    Type Alias tuxedo_template_runtime::Transaction

    source ·
    pub type Transaction = Transaction<OuterVerifier, OuterConstraintChecker>;

    Aliased Type§

    struct Transaction {
         pub inputs: Vec<Input>,
         pub peeks: Vec<OutputRef>,
         pub outputs: Vec<Output<OuterVerifier>>,
    diff --git a/tuxedo_template_wallet/all.html b/tuxedo_template_wallet/all.html
    index 57da9eead..fa602fd0d 100644
    --- a/tuxedo_template_wallet/all.html
    +++ b/tuxedo_template_wallet/all.html
    @@ -1,2 +1 @@
    -List of all items in this crate
    -    
    \ No newline at end of file +List of all items in this crate
    \ No newline at end of file diff --git a/tuxedo_template_wallet/amoeba/fn.amoeba_demo.html b/tuxedo_template_wallet/amoeba/fn.amoeba_demo.html index 4b4fd25f5..eea242bb9 100644 --- a/tuxedo_template_wallet/amoeba/fn.amoeba_demo.html +++ b/tuxedo_template_wallet/amoeba/fn.amoeba_demo.html @@ -1,2 +1 @@ -amoeba_demo in tuxedo_template_wallet::amoeba - Rust -
    pub async fn amoeba_demo(client: &HttpClient) -> Result<()>
    \ No newline at end of file +amoeba_demo in tuxedo_template_wallet::amoeba - Rust

    Function tuxedo_template_wallet::amoeba::amoeba_demo

    source ·
    pub async fn amoeba_demo(parachain: bool, client: &HttpClient) -> Result<()>
    \ No newline at end of file diff --git a/tuxedo_template_wallet/amoeba/fn.amoeba_demo_helper.html b/tuxedo_template_wallet/amoeba/fn.amoeba_demo_helper.html new file mode 100644 index 000000000..e2edcf151 --- /dev/null +++ b/tuxedo_template_wallet/amoeba/fn.amoeba_demo_helper.html @@ -0,0 +1,3 @@ +amoeba_demo_helper in tuxedo_template_wallet::amoeba - Rust

    Function tuxedo_template_wallet::amoeba::amoeba_demo_helper

    source ·
    pub async fn amoeba_demo_helper<Checker: ConstraintChecker + From<OuterConstraintChecker>>(
    +    client: &HttpClient
    +) -> Result<()>
    \ No newline at end of file diff --git a/tuxedo_template_wallet/amoeba/index.html b/tuxedo_template_wallet/amoeba/index.html index c23bf79f0..884658d67 100644 --- a/tuxedo_template_wallet/amoeba/index.html +++ b/tuxedo_template_wallet/amoeba/index.html @@ -1,3 +1,2 @@ -tuxedo_template_wallet::amoeba - Rust -
    Expand description

    Toy off-chain process to create an amoeba and perform mitosis on it

    -

    Functions§

    \ No newline at end of file +tuxedo_template_wallet::amoeba - Rust

    Module tuxedo_template_wallet::amoeba

    source ·
    Expand description

    Toy off-chain process to create an amoeba and perform mitosis on it

    +

    Functions§

    \ No newline at end of file diff --git a/tuxedo_template_wallet/amoeba/sidebar-items.js b/tuxedo_template_wallet/amoeba/sidebar-items.js index dd6acf20a..01336b46a 100644 --- a/tuxedo_template_wallet/amoeba/sidebar-items.js +++ b/tuxedo_template_wallet/amoeba/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"fn":["amoeba_demo"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":["amoeba_demo","amoeba_demo_helper"]}; \ No newline at end of file diff --git a/tuxedo_template_wallet/cli/constant.DEFAULT_MINT_VALUE.html b/tuxedo_template_wallet/cli/constant.DEFAULT_MINT_VALUE.html index 574a22880..a38935f62 100644 --- a/tuxedo_template_wallet/cli/constant.DEFAULT_MINT_VALUE.html +++ b/tuxedo_template_wallet/cli/constant.DEFAULT_MINT_VALUE.html @@ -1,3 +1,2 @@ -DEFAULT_MINT_VALUE in tuxedo_template_wallet::cli - Rust -
    pub const DEFAULT_MINT_VALUE: &str = "100";
    Expand description

    The default number of coins to be minted.

    +DEFAULT_MINT_VALUE in tuxedo_template_wallet::cli - Rust

    Constant tuxedo_template_wallet::cli::DEFAULT_MINT_VALUE

    source ·
    pub const DEFAULT_MINT_VALUE: &str = "100";
    Expand description

    The default number of coins to be minted.

    \ No newline at end of file diff --git a/tuxedo_template_wallet/cli/enum.Command.html b/tuxedo_template_wallet/cli/enum.Command.html index b06568319..00a5012bd 100644 --- a/tuxedo_template_wallet/cli/enum.Command.html +++ b/tuxedo_template_wallet/cli/enum.Command.html @@ -1,5 +1,4 @@ -Command in tuxedo_template_wallet::cli - Rust -
    pub enum Command {
    +Command in tuxedo_template_wallet::cli - Rust

    Enum tuxedo_template_wallet::cli::Command

    source ·
    pub enum Command {
         AmoebaDemo,
         MintCoins(MintCoinArgs),
         VerifyCoin {
    @@ -24,36 +23,34 @@
     
    §

    MintCoins(MintCoinArgs)

    Mint coins , optionally amount and publicKey of owner can be passed if amount is not passed , 100 coins are minted If publickKey of owner is not passed , then by default SHAWN_PUB_KEY is used.

    -
    §

    VerifyCoin

    Fields

    §output_ref: OutputRef

    A hex-encoded output reference

    -

    Verify that a particular coin exists. +

    §

    VerifyCoin

    Verify that a particular coin exists. Show its value and owner from both chain storage and the local database.

    -
    §

    SpendCoins(SpendArgs)

    Spend some coins. +

    Fields

    §output_ref: OutputRef

    A hex-encoded output reference

    +
    §

    SpendCoins(SpendArgs)

    Spend some coins. For now, all outputs in a single transaction go to the same recipient.

    -
    §

    InsertKey

    Fields

    §seed: String

    Seed phrase of the key to insert.

    -

    Insert a private key into the keystore to later use when signing transactions.

    -
    §

    GenerateKey

    Fields

    §password: Option<String>

    Initialize a public/private key pair with a password

    -

    Generate a private key using either some or no password and insert into the keystore.

    -
    §

    ShowKeys

    Show public information about all the keys in the keystore.

    -
    §

    RemoveKey

    Fields

    §pub_key: H256

    The public key to remove

    -

    Remove a specific key from the keystore. +

    §

    InsertKey

    Insert a private key into the keystore to later use when signing transactions.

    +

    Fields

    §seed: String

    Seed phrase of the key to insert.

    +
    §

    GenerateKey

    Generate a private key using either some or no password and insert into the keystore.

    +

    Fields

    §password: Option<String>

    Initialize a public/private key pair with a password

    +
    §

    ShowKeys

    Show public information about all the keys in the keystore.

    +
    §

    RemoveKey

    Remove a specific key from the keystore. WARNING! This will permanently delete the private key information. Make sure your keys are backed up somewhere safe.

    -
    §

    ShowBalance

    For each key tracked by the wallet, shows the sum of all UTXO values owned by that key. +

    Fields

    §pub_key: H256

    The public key to remove

    +
    §

    ShowBalance

    For each key tracked by the wallet, shows the sum of all UTXO values owned by that key. This sum is sometimes known as the “balance”.

    §

    ShowAllOutputs

    Show the complete list of UTXOs known to the wallet.

    §

    ShowTimestamp

    Show the latest on-chain timestamp.

    -

    Trait Implementations§

    source§

    impl Debug for Command

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl FromArgMatches for Command

    source§

    fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

    Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
    source§

    fn from_arg_matches_mut( +

    Trait Implementations§

    source§

    impl Debug for Command

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl FromArgMatches for Command

    source§

    fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

    Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
    source§

    fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches -) -> Result<Self, Error>

    Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
    source§

    fn update_from_arg_matches( +) -> Result<Self, Error>

    Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
    source§

    fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches -) -> Result<(), Error>

    Assign values from ArgMatches to self.
    source§

    fn update_from_arg_matches_mut<'b>( +) -> Result<(), Error>

    Assign values from ArgMatches to self.
    source§

    fn update_from_arg_matches_mut<'b>( &mut self, __clap_arg_matches: &mut ArgMatches -) -> Result<(), Error>

    Assign values from ArgMatches to self.
    source§

    impl Subcommand for Command

    source§

    fn augment_subcommands<'b>(__clap_app: Command) -> Command

    Append to [Command] so it can instantiate Self. Read more
    source§

    fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command

    Append to [Command] so it can update self. Read more
    source§

    fn has_subcommand(__clap_name: &str) -> bool

    Test whether Self can parse a specific subcommand

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> Any for T
    where - T: Any,

    §

    fn into_any(self: Box<T>) -> Box<dyn Any>

    §

    fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

    §

    fn type_name(&self) -> &'static str

    §

    impl<T> AnySync for T
    where - T: Any + Send + Sync,

    §

    fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

    source§

    impl<T> Borrow<T> for T
    where +) -> Result<(), Error>

    Assign values from ArgMatches to self.
    source§

    impl Subcommand for Command

    source§

    fn augment_subcommands<'b>(__clap_app: Command) -> Command

    Append to [Command] so it can instantiate Self. Read more
    source§

    fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command

    Append to [Command] so it can update self. Read more
    source§

    fn has_subcommand(__clap_name: &str) -> bool

    Test whether Self can parse a specific subcommand

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CheckedConversion for T

    §

    fn checked_from<T>(t: T) -> Option<Self>
    where Self: TryFrom<T>,

    Convert from a value of T into an equivalent instance of Option<Self>. Read more
    §

    fn checked_into<T>(self) -> Option<T>
    where @@ -73,16 +70,21 @@ Debug-formatted.

    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where Self: UpperHex,

    Causes self to use its UpperHex implementation when Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where - &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + &'a Self: for<'a> IntoIterator,
    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where +

    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    @@ -151,19 +153,16 @@ Self: DerefMut<Target = T> + Deref, T: ?Sized,
    Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where - Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where T: Bounded, S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeDebug for T
    where +[WithDispatch] wrapper. Read more
    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeDebug for T
    where T: Debug,

    §

    impl<T> MaybeRefUnwindSafe for T
    where T: RefUnwindSafe,

    §

    impl<T> MaybeSend for T
    where T: Send,

    \ No newline at end of file diff --git a/tuxedo_template_wallet/cli/index.html b/tuxedo_template_wallet/cli/index.html index 78d988703..47f24f922 100644 --- a/tuxedo_template_wallet/cli/index.html +++ b/tuxedo_template_wallet/cli/index.html @@ -1,4 +1,3 @@ -tuxedo_template_wallet::cli - Rust -
    Expand description

    Tuxedo Template Wallet’s Command Line Interface.

    +tuxedo_template_wallet::cli - Rust

    Module tuxedo_template_wallet::cli

    source ·
    Expand description

    Tuxedo Template Wallet’s Command Line Interface.

    Built with clap’s derive macros.

    Structs§

    Enums§

    • The tasks supported by the wallet

    Constants§

    \ No newline at end of file diff --git a/tuxedo_template_wallet/cli/struct.Cli.html b/tuxedo_template_wallet/cli/struct.Cli.html index b76a17b72..5be179069 100644 --- a/tuxedo_template_wallet/cli/struct.Cli.html +++ b/tuxedo_template_wallet/cli/struct.Cli.html @@ -1,20 +1,21 @@ -Cli in tuxedo_template_wallet::cli - Rust -
    pub struct Cli {
    +Cli in tuxedo_template_wallet::cli - Rust

    Struct tuxedo_template_wallet::cli::Cli

    source ·
    pub struct Cli {
         pub endpoint: String,
    -    pub path: Option<PathBuf>,
    +    pub base_path: Option<PathBuf>,
         pub no_sync: bool,
         pub tmp: bool,
         pub dev: bool,
    +    pub parachain: bool,
         pub command: Option<Command>,
     }
    Expand description

    The wallet’s main CLI struct

    Fields§

    §endpoint: String

    RPC endpoint of the node that this wallet will connect to.

    -
    §path: Option<PathBuf>

    Path where the wallet data is stored. Default value is platform specific.

    +
    §base_path: Option<PathBuf>

    Path where the wallet data is stored. Default value is platform specific.

    §no_sync: bool

    Skip the initial sync that the wallet typically performs with the node. The wallet will use the latest data it had previously synced.

    §tmp: bool

    A temporary directory will be created to store the configuration and will be deleted at the end of the process. path will be ignored if this is set.

    §dev: bool

    Specify a development wallet instance, using a temporary directory (like –tmp). The keystore will contain the development key Shawn.

    +
    §parachain: bool

    Use the Parachain template encoding instead of the regular node template encoding.

    §command: Option<Command>

    Trait Implementations§

    source§

    impl Args for Cli

    source§

    fn group_id() -> Option<Id>

    Report the [ArgGroup::id][crate::ArgGroup::id] for this set of arguments
    source§

    fn augment_args<'b>(__clap_app: Command) -> Command

    Append to [Command] so it can instantiate Self. Read more
    source§

    fn augment_args_for_update<'b>(__clap_app: Command) -> Command

    Append to [Command] so it can update self. Read more
    source§

    impl CommandFactory for Cli

    source§

    fn command<'b>() -> Command

    Build a [Command] that can instantiate Self. Read more
    source§

    fn command_for_update<'b>() -> Command

    Build a [Command] that can update self. Read more
    source§

    impl Debug for Cli

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl FromArgMatches for Cli

    source§

    fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

    Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
    source§

    fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches ) -> Result<Self, Error>

    Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
    source§

    fn update_from_arg_matches( @@ -23,18 +24,16 @@ ) -> Result<(), Error>

    Assign values from ArgMatches to self.
    source§

    fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches -) -> Result<(), Error>

    Assign values from ArgMatches to self.
    source§

    impl Parser for Cli

    §

    fn parse() -> Self

    Parse from std::env::args_os(), exit on error
    §

    fn try_parse() -> Result<Self, Error>

    Parse from std::env::args_os(), return Err on error.
    §

    fn parse_from<I, T>(itr: I) -> Self
    where +) -> Result<(), Error>

    Assign values from ArgMatches to self.
    source§

    impl Parser for Cli

    §

    fn parse() -> Self

    Parse from std::env::args_os(), [exit][Error::exit] on error.
    §

    fn try_parse() -> Result<Self, Error>

    Parse from std::env::args_os(), return Err on error.
    §

    fn parse_from<I, T>(itr: I) -> Self
    where I: IntoIterator<Item = T>, - T: Into<OsString> + Clone,

    Parse from iterator, exit on error
    §

    fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
    where + T: Into<OsString> + Clone,

    Parse from iterator, [exit][Error::exit] on error.
    §

    fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
    where I: IntoIterator<Item = T>, T: Into<OsString> + Clone,

    Parse from iterator, return Err on error.
    §

    fn update_from<I, T>(&mut self, itr: I)
    where I: IntoIterator<Item = T>, - T: Into<OsString> + Clone,

    Update from iterator, exit on error
    §

    fn try_update_from<I, T>(&mut self, itr: I) -> Result<(), Error>
    where + T: Into<OsString> + Clone,

    Update from iterator, [exit][Error::exit] on error.
    §

    fn try_update_from<I, T>(&mut self, itr: I) -> Result<(), Error>
    where I: IntoIterator<Item = T>, - T: Into<OsString> + Clone,

    Update from iterator, return Err on error.

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Cli

    §

    impl Send for Cli

    §

    impl Sync for Cli

    §

    impl Unpin for Cli

    §

    impl UnwindSafe for Cli

    Blanket Implementations§

    source§

    impl<T> Any for T
    where - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> Any for T
    where - T: Any,

    §

    fn into_any(self: Box<T>) -> Box<dyn Any>

    §

    fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

    §

    fn type_name(&self) -> &'static str

    §

    impl<T> AnySync for T
    where - T: Any + Send + Sync,

    §

    fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

    source§

    impl<T> Borrow<T> for T
    where + T: Into<OsString> + Clone,

    Update from iterator, return Err on error.

    Auto Trait Implementations§

    §

    impl Freeze for Cli

    §

    impl RefUnwindSafe for Cli

    §

    impl Send for Cli

    §

    impl Sync for Cli

    §

    impl Unpin for Cli

    §

    impl UnwindSafe for Cli

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CheckedConversion for T

    §

    fn checked_from<T>(t: T) -> Option<Self>
    where Self: TryFrom<T>,

    Convert from a value of T into an equivalent instance of Option<Self>. Read more
    §

    fn checked_into<T>(self) -> Option<T>
    where @@ -54,16 +53,21 @@ Debug-formatted.

    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where Self: UpperHex,

    Causes self to use its UpperHex implementation when Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where - &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + &'a Self: for<'a> IntoIterator,
    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where +

    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    @@ -132,19 +136,16 @@ Self: DerefMut<Target = T> + Deref, T: ?Sized,
    Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where - Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where T: Bounded, S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeDebug for T
    where +[WithDispatch] wrapper. Read more
    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeDebug for T
    where T: Debug,

    §

    impl<T> MaybeRefUnwindSafe for T
    where T: RefUnwindSafe,

    §

    impl<T> MaybeSend for T
    where T: Send,

    \ No newline at end of file diff --git a/tuxedo_template_wallet/cli/struct.MintCoinArgs.html b/tuxedo_template_wallet/cli/struct.MintCoinArgs.html index 87283a975..e0639720d 100644 --- a/tuxedo_template_wallet/cli/struct.MintCoinArgs.html +++ b/tuxedo_template_wallet/cli/struct.MintCoinArgs.html @@ -1,21 +1,18 @@ -MintCoinArgs in tuxedo_template_wallet::cli - Rust -
    pub struct MintCoinArgs {
    +MintCoinArgs in tuxedo_template_wallet::cli - Rust

    Struct tuxedo_template_wallet::cli::MintCoinArgs

    source ·
    pub struct MintCoinArgs {
         pub amount: u128,
         pub owner: H256,
     }

    Fields§

    §amount: u128

    Pass the amount to be minted.

    §owner: H256

    Hex encoded address (sr25519 pubkey) of the owner.

    -

    Trait Implementations§

    source§

    impl Args for MintCoinArgs

    source§

    fn group_id() -> Option<Id>

    Report the [ArgGroup::id][crate::ArgGroup::id] for this set of arguments
    source§

    fn augment_args<'b>(__clap_app: Command) -> Command

    Append to [Command] so it can instantiate Self. Read more
    source§

    fn augment_args_for_update<'b>(__clap_app: Command) -> Command

    Append to [Command] so it can update self. Read more
    source§

    impl Debug for MintCoinArgs

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl FromArgMatches for MintCoinArgs

    source§

    fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

    Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
    source§

    fn from_arg_matches_mut( +

    Trait Implementations§

    source§

    impl Args for MintCoinArgs

    source§

    fn group_id() -> Option<Id>

    Report the [ArgGroup::id][crate::ArgGroup::id] for this set of arguments
    source§

    fn augment_args<'b>(__clap_app: Command) -> Command

    Append to [Command] so it can instantiate Self. Read more
    source§

    fn augment_args_for_update<'b>(__clap_app: Command) -> Command

    Append to [Command] so it can update self. Read more
    source§

    impl Debug for MintCoinArgs

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl FromArgMatches for MintCoinArgs

    source§

    fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

    Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
    source§

    fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches -) -> Result<Self, Error>

    Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
    source§

    fn update_from_arg_matches( +) -> Result<Self, Error>

    Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
    source§

    fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches -) -> Result<(), Error>

    Assign values from ArgMatches to self.
    source§

    fn update_from_arg_matches_mut( +) -> Result<(), Error>

    Assign values from ArgMatches to self.
    source§

    fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches -) -> Result<(), Error>

    Assign values from ArgMatches to self.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> Any for T
    where - T: Any,

    §

    fn into_any(self: Box<T>) -> Box<dyn Any>

    §

    fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

    §

    fn type_name(&self) -> &'static str

    §

    impl<T> AnySync for T
    where - T: Any + Send + Sync,

    §

    fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

    source§

    impl<T> Borrow<T> for T
    where +) -> Result<(), Error>

    Assign values from ArgMatches to self.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CheckedConversion for T

    §

    fn checked_from<T>(t: T) -> Option<Self>
    where Self: TryFrom<T>,

    Convert from a value of T into an equivalent instance of Option<Self>. Read more
    §

    fn checked_into<T>(self) -> Option<T>
    where @@ -35,16 +32,21 @@ Debug-formatted.

    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where Self: UpperHex,

    Causes self to use its UpperHex implementation when Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where - &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + &'a Self: for<'a> IntoIterator,
    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where +

    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    @@ -113,19 +115,16 @@ Self: DerefMut<Target = T> + Deref, T: ?Sized,
    Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where - Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where T: Bounded, S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeDebug for T
    where +[WithDispatch] wrapper. Read more
    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeDebug for T
    where T: Debug,

    §

    impl<T> MaybeRefUnwindSafe for T
    where T: RefUnwindSafe,

    §

    impl<T> MaybeSend for T
    where T: Send,

    \ No newline at end of file diff --git a/tuxedo_template_wallet/cli/struct.SpendArgs.html b/tuxedo_template_wallet/cli/struct.SpendArgs.html index 539b7763b..888b96328 100644 --- a/tuxedo_template_wallet/cli/struct.SpendArgs.html +++ b/tuxedo_template_wallet/cli/struct.SpendArgs.html @@ -1,5 +1,4 @@ -SpendArgs in tuxedo_template_wallet::cli - Rust -
    pub struct SpendArgs {
    +SpendArgs in tuxedo_template_wallet::cli - Rust

    Struct tuxedo_template_wallet::cli::SpendArgs

    source ·
    pub struct SpendArgs {
         pub input: Vec<OutputRef>,
         pub recipient: H256,
         pub output_amount: Vec<u128>,
    @@ -8,18 +7,16 @@
     
    §recipient: H256

    Hex encoded address (sr25519 pubkey) of the recipient.

    §output_amount: Vec<u128>

    An output amount. For the transaction to be valid, the outputs must add up to less than the sum of the inputs. The wallet will not enforce this and will gladly send an invalid which will then be rejected by the node.

    -

    Trait Implementations§

    source§

    impl Args for SpendArgs

    source§

    fn group_id() -> Option<Id>

    Report the [ArgGroup::id][crate::ArgGroup::id] for this set of arguments
    source§

    fn augment_args<'b>(__clap_app: Command) -> Command

    Append to [Command] so it can instantiate Self. Read more
    source§

    fn augment_args_for_update<'b>(__clap_app: Command) -> Command

    Append to [Command] so it can update self. Read more
    source§

    impl Debug for SpendArgs

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl FromArgMatches for SpendArgs

    source§

    fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

    Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
    source§

    fn from_arg_matches_mut( +

    Trait Implementations§

    source§

    impl Args for SpendArgs

    source§

    fn group_id() -> Option<Id>

    Report the [ArgGroup::id][crate::ArgGroup::id] for this set of arguments
    source§

    fn augment_args<'b>(__clap_app: Command) -> Command

    Append to [Command] so it can instantiate Self. Read more
    source§

    fn augment_args_for_update<'b>(__clap_app: Command) -> Command

    Append to [Command] so it can update self. Read more
    source§

    impl Debug for SpendArgs

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl FromArgMatches for SpendArgs

    source§

    fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

    Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
    source§

    fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches -) -> Result<Self, Error>

    Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
    source§

    fn update_from_arg_matches( +) -> Result<Self, Error>

    Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
    source§

    fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches -) -> Result<(), Error>

    Assign values from ArgMatches to self.
    source§

    fn update_from_arg_matches_mut( +) -> Result<(), Error>

    Assign values from ArgMatches to self.
    source§

    fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches -) -> Result<(), Error>

    Assign values from ArgMatches to self.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> Any for T
    where - T: Any,

    §

    fn into_any(self: Box<T>) -> Box<dyn Any>

    §

    fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

    §

    fn type_name(&self) -> &'static str

    §

    impl<T> AnySync for T
    where - T: Any + Send + Sync,

    §

    fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

    source§

    impl<T> Borrow<T> for T
    where +) -> Result<(), Error>

    Assign values from ArgMatches to self.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CheckedConversion for T

    §

    fn checked_from<T>(t: T) -> Option<Self>
    where Self: TryFrom<T>,

    Convert from a value of T into an equivalent instance of Option<Self>. Read more
    §

    fn checked_into<T>(self) -> Option<T>
    where @@ -39,16 +36,21 @@ Debug-formatted.

    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where Self: UpperHex,

    Causes self to use its UpperHex implementation when Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where - &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + &'a Self: for<'a> IntoIterator,
    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where +

    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    @@ -117,19 +119,16 @@ Self: DerefMut<Target = T> + Deref, T: ?Sized,
    Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where - Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where T: Bounded, S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeDebug for T
    where +[WithDispatch] wrapper. Read more
    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeDebug for T
    where T: Debug,

    §

    impl<T> MaybeRefUnwindSafe for T
    where T: RefUnwindSafe,

    §

    impl<T> MaybeSend for T
    where T: Send,

    \ No newline at end of file diff --git a/tuxedo_template_wallet/constant.DEFAULT_ENDPOINT.html b/tuxedo_template_wallet/constant.DEFAULT_ENDPOINT.html index 8445c756a..d0899669d 100644 --- a/tuxedo_template_wallet/constant.DEFAULT_ENDPOINT.html +++ b/tuxedo_template_wallet/constant.DEFAULT_ENDPOINT.html @@ -1,3 +1,2 @@ -DEFAULT_ENDPOINT in tuxedo_template_wallet - Rust -
    pub(crate) const DEFAULT_ENDPOINT: &str = "http://localhost:9944";
    Expand description

    The default RPC endpoint for the wallet to connect to

    +DEFAULT_ENDPOINT in tuxedo_template_wallet - Rust

    Constant tuxedo_template_wallet::DEFAULT_ENDPOINT

    source ·
    pub(crate) const DEFAULT_ENDPOINT: &str = "http://localhost:9944";
    Expand description

    The default RPC endpoint for the wallet to connect to

    \ No newline at end of file diff --git a/tuxedo_template_wallet/fn.default_data_path.html b/tuxedo_template_wallet/fn.default_data_path.html index 337c30a9f..f2e40aa06 100644 --- a/tuxedo_template_wallet/fn.default_data_path.html +++ b/tuxedo_template_wallet/fn.default_data_path.html @@ -1,3 +1,2 @@ -default_data_path in tuxedo_template_wallet - Rust -
    pub(crate) fn default_data_path() -> PathBuf
    Expand description

    Generate the platform-specific default data path for the wallet

    +default_data_path in tuxedo_template_wallet - Rust

    Function tuxedo_template_wallet::default_data_path

    source ·
    pub(crate) fn default_data_path() -> PathBuf
    Expand description

    Generate the platform-specific default data path for the wallet

    \ No newline at end of file diff --git a/tuxedo_template_wallet/fn.h256_from_string.html b/tuxedo_template_wallet/fn.h256_from_string.html index ad75fc132..691029741 100644 --- a/tuxedo_template_wallet/fn.h256_from_string.html +++ b/tuxedo_template_wallet/fn.h256_from_string.html @@ -1,3 +1,2 @@ -h256_from_string in tuxedo_template_wallet - Rust -
    pub(crate) fn h256_from_string(s: &str) -> Result<H256>
    Expand description

    Parse a string into an H256 that represents a public key

    +h256_from_string in tuxedo_template_wallet - Rust

    Function tuxedo_template_wallet::h256_from_string

    source ·
    pub(crate) fn h256_from_string(s: &str) -> Result<H256>
    Expand description

    Parse a string into an H256 that represents a public key

    \ No newline at end of file diff --git a/tuxedo_template_wallet/fn.main.html b/tuxedo_template_wallet/fn.main.html index 0cfba5d2d..0aabf99e1 100644 --- a/tuxedo_template_wallet/fn.main.html +++ b/tuxedo_template_wallet/fn.main.html @@ -1,2 +1 @@ -main in tuxedo_template_wallet - Rust -
    pub(crate) fn main() -> Result<()>
    \ No newline at end of file +main in tuxedo_template_wallet - Rust

    Function tuxedo_template_wallet::main

    source ·
    pub(crate) fn main() -> Result<()>
    \ No newline at end of file diff --git a/tuxedo_template_wallet/fn.output_ref_from_string.html b/tuxedo_template_wallet/fn.output_ref_from_string.html index e42414128..416a02d9f 100644 --- a/tuxedo_template_wallet/fn.output_ref_from_string.html +++ b/tuxedo_template_wallet/fn.output_ref_from_string.html @@ -1,3 +1,2 @@ -output_ref_from_string in tuxedo_template_wallet - Rust -
    pub(crate) fn output_ref_from_string(s: &str) -> Result<OutputRef, Error>
    Expand description

    Parse an output ref from a string

    +output_ref_from_string in tuxedo_template_wallet - Rust

    Function tuxedo_template_wallet::output_ref_from_string

    source ·
    pub(crate) fn output_ref_from_string(s: &str) -> Result<OutputRef, Error>
    Expand description

    Parse an output ref from a string

    \ No newline at end of file diff --git a/tuxedo_template_wallet/fn.pretty_print_verifier.html b/tuxedo_template_wallet/fn.pretty_print_verifier.html index 71eb0ac38..d2650ed71 100644 --- a/tuxedo_template_wallet/fn.pretty_print_verifier.html +++ b/tuxedo_template_wallet/fn.pretty_print_verifier.html @@ -1,3 +1,2 @@ -pretty_print_verifier in tuxedo_template_wallet - Rust -
    pub fn pretty_print_verifier(v: &OuterVerifier)
    Expand description

    Utility to pretty print an outer verifier

    +pretty_print_verifier in tuxedo_template_wallet - Rust

    Function tuxedo_template_wallet::pretty_print_verifier

    source ·
    pub fn pretty_print_verifier(v: &OuterVerifier)
    Expand description

    Utility to pretty print an outer verifier

    \ No newline at end of file diff --git a/tuxedo_template_wallet/fn.strip_0x_prefix.html b/tuxedo_template_wallet/fn.strip_0x_prefix.html index 85503e642..cacc46e20 100644 --- a/tuxedo_template_wallet/fn.strip_0x_prefix.html +++ b/tuxedo_template_wallet/fn.strip_0x_prefix.html @@ -1,3 +1,2 @@ -strip_0x_prefix in tuxedo_template_wallet - Rust -
    pub(crate) fn strip_0x_prefix(s: &str) -> &str
    Expand description

    Takes a string and checks for a 0x prefix. Returns a string without a 0x prefix.

    +strip_0x_prefix in tuxedo_template_wallet - Rust

    Function tuxedo_template_wallet::strip_0x_prefix

    source ·
    pub(crate) fn strip_0x_prefix(s: &str) -> &str
    Expand description

    Takes a string and checks for a 0x prefix. Returns a string without a 0x prefix.

    \ No newline at end of file diff --git a/tuxedo_template_wallet/fn.temp_dir.html b/tuxedo_template_wallet/fn.temp_dir.html index b3005b544..80cf2f5c1 100644 --- a/tuxedo_template_wallet/fn.temp_dir.html +++ b/tuxedo_template_wallet/fn.temp_dir.html @@ -1,3 +1,2 @@ -temp_dir in tuxedo_template_wallet - Rust -
    pub(crate) fn temp_dir() -> PathBuf
    Expand description

    Generate a plaform-specific temporary directory for the wallet

    +temp_dir in tuxedo_template_wallet - Rust

    Function tuxedo_template_wallet::temp_dir

    source ·
    pub(crate) fn temp_dir() -> PathBuf
    Expand description

    Generate a plaform-specific temporary directory for the wallet

    \ No newline at end of file diff --git a/tuxedo_template_wallet/index.html b/tuxedo_template_wallet/index.html index 063b445be..6e771f897 100644 --- a/tuxedo_template_wallet/index.html +++ b/tuxedo_template_wallet/index.html @@ -1,6 +1,4 @@ -tuxedo_template_wallet - Rust -
    Expand description

    A simple CLI wallet. For now it is a toy just to start testing things out.

    -

    Modules§

    \ No newline at end of file diff --git a/tuxedo_template_wallet/output_filter/tests/index.html b/tuxedo_template_wallet/output_filter/tests/index.html index 60cb21bc7..aa71ece22 100644 --- a/tuxedo_template_wallet/output_filter/tests/index.html +++ b/tuxedo_template_wallet/output_filter/tests/index.html @@ -1,2 +1 @@ -tuxedo_template_wallet::output_filter::tests - Rust -
    \ No newline at end of file +tuxedo_template_wallet::output_filter::tests - Rust
    \ No newline at end of file diff --git a/tuxedo_template_wallet/output_filter/tests/struct.TestSr25519SignatureFilter.html b/tuxedo_template_wallet/output_filter/tests/struct.TestSr25519SignatureFilter.html index 9fdc9996e..901160349 100644 --- a/tuxedo_template_wallet/output_filter/tests/struct.TestSr25519SignatureFilter.html +++ b/tuxedo_template_wallet/output_filter/tests/struct.TestSr25519SignatureFilter.html @@ -1,9 +1,6 @@ -TestSr25519SignatureFilter in tuxedo_template_wallet::output_filter::tests - Rust -
    pub struct TestSr25519SignatureFilter;

    Trait Implementations§

    source§

    impl OutputFilter for TestSr25519SignatureFilter

    §

    type Filter = Result<Box<dyn Fn(&[Output<OuterVerifier>], &H256) -> Result<Vec<(Output<OuterVerifier>, OutputRef)>, ()>>, ()>

    The Filter type which is the closure signature used by functions to filter UTXOS
    source§

    fn build_filter(_verifier: OuterVerifier) -> Self::Filter

    Builds a filter to be passed to wallet sync functions to sync the chosen outputs -to the users DB.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where - T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> Any for T
    where - T: Any,

    §

    fn into_any(self: Box<T>) -> Box<dyn Any>

    §

    fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

    §

    fn type_name(&self) -> &'static str

    §

    impl<T> AnySync for T
    where - T: Any + Send + Sync,

    §

    fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

    source§

    impl<T> Borrow<T> for T
    where +TestSr25519SignatureFilter in tuxedo_template_wallet::output_filter::tests - Rust
    pub struct TestSr25519SignatureFilter;

    Trait Implementations§

    source§

    impl OutputFilter for TestSr25519SignatureFilter

    §

    type Filter = Result<Box<dyn Fn(&[Output<OuterVerifier>], &H256) -> Result<Vec<(Output<OuterVerifier>, OutputRef)>, ()>>, ()>

    The Filter type which is the closure signature used by functions to filter UTXOS
    source§

    fn build_filter(_verifier: OuterVerifier) -> Self::Filter

    Builds a filter to be passed to wallet sync functions to sync the chosen outputs +to the users DB.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CheckedConversion for T

    §

    fn checked_from<T>(t: T) -> Option<Self>
    where Self: TryFrom<T>,

    Convert from a value of T into an equivalent instance of Option<Self>. Read more
    §

    fn checked_into<T>(self) -> Option<T>
    where @@ -23,16 +20,21 @@ Debug-formatted.

    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where Self: UpperHex,

    Causes self to use its UpperHex implementation when Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where - &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an -Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where - U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where +

    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    @@ -101,18 +103,15 @@ Self: DerefMut<Target = T> + Deref, T: ?Sized,
    Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where - Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where T: Bounded, S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where - S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeRefUnwindSafe for T
    where +[WithDispatch] wrapper. Read more

    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeRefUnwindSafe for T
    where T: RefUnwindSafe,

    §

    impl<T> MaybeSend for T
    where T: Send,

    \ No newline at end of file diff --git a/tuxedo_template_wallet/output_filter/trait.OutputFilter.html b/tuxedo_template_wallet/output_filter/trait.OutputFilter.html index 5906f7490..fc1146133 100644 --- a/tuxedo_template_wallet/output_filter/trait.OutputFilter.html +++ b/tuxedo_template_wallet/output_filter/trait.OutputFilter.html @@ -1,10 +1,9 @@ -OutputFilter in tuxedo_template_wallet::output_filter - Rust -
    pub trait OutputFilter {
    +OutputFilter in tuxedo_template_wallet::output_filter - Rust
    pub trait OutputFilter {
         type Filter;
     
         // Required method
    -    fn build_filter(verifier: OuterVerifier) -> Self::Filter;
    +    fn build_filter(verifier: OuterVerifier) -> Self::Filter;
     }

    Required Associated Types§

    source

    type Filter

    The Filter type which is the closure signature used by functions to filter UTXOS

    -

    Required Methods§

    source

    fn build_filter(verifier: OuterVerifier) -> Self::Filter

    Builds a filter to be passed to wallet sync functions to sync the chosen outputs +

    Required Methods§

    source

    fn build_filter(verifier: OuterVerifier) -> Self::Filter

    Builds a filter to be passed to wallet sync functions to sync the chosen outputs to the users DB.

    -

    Object Safety§

    This trait is not object safe.

    Implementors§

    \ No newline at end of file +

    Object Safety§

    This trait is not object safe.

    Implementors§

    source§

    impl OutputFilter for Sr25519SignatureFilter

    §

    type Filter = Result<Box<dyn Fn(&[Output<OuterVerifier>], &H256) -> Result<Vec<(Output<OuterVerifier>, OutputRef)>, ()>>, ()>

    source§

    impl OutputFilter for TestSr25519SignatureFilter

    §

    type Filter = Result<Box<dyn Fn(&[Output<OuterVerifier>], &H256) -> Result<Vec<(Output<OuterVerifier>, OutputRef)>, ()>>, ()>

    \ No newline at end of file diff --git a/tuxedo_template_wallet/output_filter/type.Filter.html b/tuxedo_template_wallet/output_filter/type.Filter.html index 4d2f241f8..f77a0680b 100644 --- a/tuxedo_template_wallet/output_filter/type.Filter.html +++ b/tuxedo_template_wallet/output_filter/type.Filter.html @@ -1,3 +1,2 @@ -Filter in tuxedo_template_wallet::output_filter - Rust -
    pub type Filter = Box<dyn Fn(&[Output], &H256) -> Result<Vec<(Output, OutputRef)>, ()>>;
    Expand description

    The Filter type which is the closure signature used by functions to filter UTXOS

    -

    Aliased Type§

    struct Filter(Unique<dyn Fn(&[Output<OuterVerifier>], &H256) -> Result<Vec<(Output<OuterVerifier>, OutputRef)>, ()>>, Global);

    Fields§

    §0: Unique<dyn Fn(&[Output<OuterVerifier>], &H256) -> Result<Vec<(Output<OuterVerifier>, OutputRef)>, ()>>§1: Global
    \ No newline at end of file +Filter in tuxedo_template_wallet::output_filter - Rust

    Type Alias tuxedo_template_wallet::output_filter::Filter

    source ·
    pub type Filter = Box<dyn Fn(&[Output], &H256) -> Result<Vec<(Output, OutputRef)>, ()>>;
    Expand description

    The Filter type which is the closure signature used by functions to filter UTXOS

    +

    Aliased Type§

    struct Filter(Unique<dyn Fn(&[Output<OuterVerifier>], &H256) -> Result<Vec<(Output<OuterVerifier>, OutputRef)>, ()>>, Global);

    Fields§

    §0: Unique<dyn Fn(&[Output<OuterVerifier>], &H256) -> Result<Vec<(Output<OuterVerifier>, OutputRef)>, ()>>§1: Global
    \ No newline at end of file diff --git a/tuxedo_template_wallet/output_filter/type.OutputInfo.html b/tuxedo_template_wallet/output_filter/type.OutputInfo.html index 54f12c2cc..e08c4faf2 100644 --- a/tuxedo_template_wallet/output_filter/type.OutputInfo.html +++ b/tuxedo_template_wallet/output_filter/type.OutputInfo.html @@ -1,2 +1 @@ -OutputInfo in tuxedo_template_wallet::output_filter - Rust -
    pub type OutputInfo = (Output, OutputRef);
    \ No newline at end of file +OutputInfo in tuxedo_template_wallet::output_filter - Rust

    Type Alias tuxedo_template_wallet::output_filter::OutputInfo

    source ·
    pub type OutputInfo = (Output, OutputRef);
    \ No newline at end of file diff --git a/tuxedo_template_wallet/output_filter/type.TxHash.html b/tuxedo_template_wallet/output_filter/type.TxHash.html index 68c7854e2..ac5b4fed2 100644 --- a/tuxedo_template_wallet/output_filter/type.TxHash.html +++ b/tuxedo_template_wallet/output_filter/type.TxHash.html @@ -1,2 +1 @@ -TxHash in tuxedo_template_wallet::output_filter - Rust -
    type TxHash = H256;

    Aliased Type§

    struct TxHash(pub [u8; 32]);

    Fields§

    §0: [u8; 32]
    \ No newline at end of file +TxHash in tuxedo_template_wallet::output_filter - Rust

    Type Alias tuxedo_template_wallet::output_filter::TxHash

    source ·
    type TxHash = H256;

    Aliased Type§

    struct TxHash(pub [u8; 32]);

    Fields§

    §0: [u8; 32]
    \ No newline at end of file diff --git a/tuxedo_template_wallet/parachain/enum.ParachainConstraintChecker.html b/tuxedo_template_wallet/parachain/enum.ParachainConstraintChecker.html new file mode 100644 index 000000000..b5608366d --- /dev/null +++ b/tuxedo_template_wallet/parachain/enum.ParachainConstraintChecker.html @@ -0,0 +1,189 @@ +ParachainConstraintChecker in tuxedo_template_wallet::parachain - Rust
    pub enum ParachainConstraintChecker {
    +    Normal(OuterConstraintChecker),
    +    Parachain,
    +}
    Expand description

    We don’t want the wallet to depend on the huge parachain codebase, +So we just recreate this one little type here.

    +

    Variants§

    §

    Normal(OuterConstraintChecker)

    §

    Parachain

    Trait Implementations§

    source§

    impl Clone for ParachainConstraintChecker

    source§

    fn clone(&self) -> ParachainConstraintChecker

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for ParachainConstraintChecker

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Decode for ParachainConstraintChecker

    source§

    fn decode<__CodecInputEdqy: Input>( + __codec_input_edqy: &mut __CodecInputEdqy +) -> Result<Self, Error>

    Attempt to deserialise the value from input.
    §

    fn decode_into<I>( + input: &mut I, + dst: &mut MaybeUninit<Self> +) -> Result<DecodeFinished, Error>
    where + I: Input,

    Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
    §

    fn skip<I>(input: &mut I) -> Result<(), Error>
    where + I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    source§

    impl Encode for ParachainConstraintChecker

    source§

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    source§

    fn encode_to<__CodecOutputEdqy: Output + ?Sized>( + &self, + __codec_dest_edqy: &mut __CodecOutputEdqy +)

    Convert self to a slice and append it to the destination.
    §

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    §

    fn using_encoded<R, F>(&self, f: F) -> R
    where + F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    source§

    impl From<OuterConstraintChecker> for ParachainConstraintChecker

    source§

    fn from(c: OuterConstraintChecker) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for ParachainConstraintChecker

    source§

    fn eq(&self, other: &ParachainConstraintChecker) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl SimpleConstraintChecker for ParachainConstraintChecker

    §

    type Error = ()

    The error type that this constraint checker may return
    source§

    fn check( + &self, + _: &[DynamicallyTypedData], + _: &[DynamicallyTypedData], + _: &[DynamicallyTypedData], + _: &[DynamicallyTypedData] +) -> Result<TransactionPriority, Self::Error>

    The on chain logic that makes the final check for whether a transaction is valid.
    source§

    impl EncodeLike for ParachainConstraintChecker

    source§

    impl Eq for ParachainConstraintChecker

    source§

    impl StructuralPartialEq for ParachainConstraintChecker

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CheckedConversion for T

    §

    fn checked_from<T>(t: T) -> Option<Self>
    where + Self: TryFrom<T>,

    Convert from a value of T into an equivalent instance of Option<Self>. Read more
    §

    fn checked_into<T>(self) -> Option<T>
    where + Self: TryInto<T>,

    Consume self to return Some equivalent value of Option<T>. Read more
    source§

    impl<T> ConstraintChecker for T

    §

    type Error = <T as SimpleConstraintChecker>::Error

    The error type that this constraint checker may return
    source§

    fn check( + &self, + input_data: &[DynamicallyTypedData], + evicted_input_data: &[DynamicallyTypedData], + peek_data: &[DynamicallyTypedData], + output_data: &[DynamicallyTypedData] +) -> Result<u64, <T as ConstraintChecker>::Error>

    The on chain logic that makes the final check for whether a transaction is valid.
    source§

    fn is_inherent(&self) -> bool

    Tells whether this extrinsic is an inherent or not. +If you return true here, you must provide the correct inherent hooks above.
    source§

    fn create_inherents<V>( + _authoring_inherent_data: &InherentData, + _previous_inherents: Vec<(Transaction<V, T>, H256)> +) -> Vec<Transaction<V, T>>

    Create the inherent extrinsics to insert into a block that is being authored locally. +The inherent data is supplied by the authoring node.
    source§

    fn check_inherents<V>( + _: &InherentData, + inherents: Vec<Transaction<V, T>>, + _: &mut CheckInherentsResult +)

    Perform off-chain pre-execution checks on the inherents. +The inherent data is supplied by the importing node. +The inherent data available here is not necessarily the +same as what is available at authoring time.
    source§

    fn genesis_transactions<V>() -> Vec<Transaction<V, T>>

    Return the genesis transactions that are required for the inherents.
    §

    impl<T> Conv for T

    §

    fn conv<T>(self) -> T
    where + Self: Into<T>,

    Converts self into T using Into<T>. Read more
    §

    impl<T> DecodeAll for T
    where + T: Decode,

    §

    fn decode_all(input: &mut &[u8]) -> Result<T, Error>

    Decode Self and consume all of the given input data. Read more
    §

    impl<T> DecodeLimit for T
    where + T: Decode,

    §

    fn decode_all_with_depth_limit( + limit: u32, + input: &mut &[u8] +) -> Result<T, Error>

    Decode Self and consume all of the given input data. Read more
    §

    fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
    where + I: Input,

    Decode Self with the given maximum recursion depth and advance input by the number of +bytes consumed. Read more
    source§

    impl<T> DynClone for T
    where + T: Clone,

    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    source§

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    source§

    fn equivalent(&self, key: &K) -> bool

    Compare self to key and return true if they are equal.
    §

    impl<Q, K> Equivalent<K> for Q
    where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

    §

    fn equivalent(&self, key: &K) -> bool

    Checks if this value is equivalent to the given key. Read more
    §

    impl<T> FmtForward for T

    §

    fn fmt_binary(self) -> FmtBinary<Self>
    where + Self: Binary,

    Causes self to use its Binary implementation when Debug-formatted.
    §

    fn fmt_display(self) -> FmtDisplay<Self>
    where + Self: Display,

    Causes self to use its Display implementation when +Debug-formatted.
    §

    fn fmt_lower_exp(self) -> FmtLowerExp<Self>
    where + Self: LowerExp,

    Causes self to use its LowerExp implementation when +Debug-formatted.
    §

    fn fmt_lower_hex(self) -> FmtLowerHex<Self>
    where + Self: LowerHex,

    Causes self to use its LowerHex implementation when +Debug-formatted.
    §

    fn fmt_octal(self) -> FmtOctal<Self>
    where + Self: Octal,

    Causes self to use its Octal implementation when Debug-formatted.
    §

    fn fmt_pointer(self) -> FmtPointer<Self>
    where + Self: Pointer,

    Causes self to use its Pointer implementation when +Debug-formatted.
    §

    fn fmt_upper_exp(self) -> FmtUpperExp<Self>
    where + Self: UpperExp,

    Causes self to use its UpperExp implementation when +Debug-formatted.
    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where + Self: UpperHex,

    Causes self to use its UpperHex implementation when +Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where + &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

    That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

    +
    source§

    impl<T> IntoEither for T

    source§

    fn into_either(self, into_left: bool) -> Either<Self, Self>

    Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    source§

    fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
    where + F: FnOnce(&Self) -> bool,

    Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
    §

    impl<T, Outer> IsWrappedBy<Outer> for T
    where + Outer: AsRef<T> + AsMut<T> + From<T>, + T: From<Outer>,

    §

    fn from_ref(outer: &Outer) -> &T

    Get a reference to the inner from the outer.

    +
    §

    fn from_mut(outer: &mut Outer) -> &mut T

    Get a mutable reference to the inner from the outer.

    +
    §

    impl<T> KeyedVec for T
    where + T: Codec,

    §

    fn to_keyed_vec(&self, prepend_key: &[u8]) -> Vec<u8>

    Return an encoding of Self prepended by given slice.
    §

    impl<T> Pipe for T
    where + T: ?Sized,

    §

    fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
    where + Self: Sized,

    Pipes by value. This is generally the method you want to use. Read more
    §

    fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
    where + R: 'a,

    Borrows self and passes that borrow into the pipe function. Read more
    §

    fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
    where + R: 'a,

    Mutably borrows self and passes that borrow into the pipe function. Read more
    §

    fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
    where + Self: Borrow<B>, + B: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.borrow() into the pipe function. Read more
    §

    fn pipe_borrow_mut<'a, B, R>( + &'a mut self, + func: impl FnOnce(&'a mut B) -> R +) -> R
    where + Self: BorrowMut<B>, + B: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.borrow_mut() into the pipe +function. Read more
    §

    fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
    where + Self: AsRef<U>, + U: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.as_ref() into the pipe function.
    §

    fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
    where + Self: AsMut<U>, + U: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.as_mut() into the pipe +function.
    §

    fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
    where + Self: Deref<Target = T>, + T: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.deref() into the pipe function.
    §

    fn pipe_deref_mut<'a, T, R>( + &'a mut self, + func: impl FnOnce(&'a mut T) -> R +) -> R
    where + Self: DerefMut<Target = T> + Deref, + T: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.deref_mut() into the pipe +function.
    §

    impl<T> Pointable for T

    §

    const ALIGN: usize = _

    The alignment of pointer.
    §

    type Init = T

    The type for initializers.
    §

    unsafe fn init(init: <T as Pointable>::Init) -> usize

    Initializes a with the given initializer. Read more
    §

    unsafe fn deref<'a>(ptr: usize) -> &'a T

    Dereferences the given pointer. Read more
    §

    unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

    Mutably dereferences the given pointer. Read more
    §

    unsafe fn drop(ptr: usize)

    Drops the object pointed to by the given pointer. Read more
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    §

    impl<T> SaturatedConversion for T

    §

    fn saturated_from<T>(t: T) -> Self
    where + Self: UniqueSaturatedFrom<T>,

    Convert from a value of T into an equivalent instance of Self. Read more
    §

    fn saturated_into<T>(self) -> T
    where + Self: UniqueSaturatedInto<T>,

    Consume self to return an equivalent value of T. Read more
    §

    impl<T> Tap for T

    §

    fn tap(self, func: impl FnOnce(&Self)) -> Self

    Immutable access to a value. Read more
    §

    fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

    Mutable access to a value. Read more
    §

    fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
    where + Self: Borrow<B>, + B: ?Sized,

    Immutable access to the Borrow<B> of a value. Read more
    §

    fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
    where + Self: BorrowMut<B>, + B: ?Sized,

    Mutable access to the BorrowMut<B> of a value. Read more
    §

    fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
    where + Self: AsRef<R>, + R: ?Sized,

    Immutable access to the AsRef<R> view of a value. Read more
    §

    fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
    where + Self: AsMut<R>, + R: ?Sized,

    Mutable access to the AsMut<R> view of a value. Read more
    §

    fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
    where + Self: Deref<Target = T>, + T: ?Sized,

    Immutable access to the Deref::Target of a value. Read more
    §

    fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
    where + Self: DerefMut<Target = T> + Deref, + T: ?Sized,

    Mutable access to the Deref::Target of a value. Read more
    §

    fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

    Calls .tap() only in debug builds, and is erased in release builds.
    §

    fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

    Calls .tap_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
    where + Self: Borrow<B>, + B: ?Sized,

    Calls .tap_borrow() only in debug builds, and is erased in release +builds.
    §

    fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
    where + Self: BorrowMut<B>, + B: ?Sized,

    Calls .tap_borrow_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
    where + Self: AsRef<R>, + R: ?Sized,

    Calls .tap_ref() only in debug builds, and is erased in release +builds.
    §

    fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
    where + Self: AsMut<R>, + R: ?Sized,

    Calls .tap_ref_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
    where + Self: Deref<Target = T>, + T: ?Sized,

    Calls .tap_deref() only in debug builds, and is erased in release +builds.
    §

    fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
    where + Self: DerefMut<Target = T> + Deref, + T: ?Sized,

    Calls .tap_deref_mut() only in debug builds, and is erased in release +builds.
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<S, T> UncheckedInto<T> for S
    where + T: UncheckedFrom<S>,

    §

    fn unchecked_into(self) -> T

    The counterpart to unchecked_from.
    §

    impl<T, S> UniqueSaturatedInto<T> for S
    where + T: Bounded, + S: TryInto<T>,

    §

    fn unique_saturated_into(self) -> T

    Consume self to return an equivalent value of T.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
    §

    impl<S> Codec for S
    where + S: Decode + Encode,

    §

    impl<T> EncodeLike<&&T> for T
    where + T: Encode,

    §

    impl<T> EncodeLike<&T> for T
    where + T: Encode,

    §

    impl<T> EncodeLike<&mut T> for T
    where + T: Encode,

    §

    impl<T> EncodeLike<Arc<T>> for T
    where + T: Encode,

    §

    impl<T> EncodeLike<Box<T>> for T
    where + T: Encode,

    §

    impl<'a, T> EncodeLike<Cow<'a, T>> for T
    where + T: ToOwned + Encode,

    §

    impl<T> EncodeLike<Rc<T>> for T
    where + T: Encode,

    §

    impl<S> FullCodec for S
    where + S: Decode + FullEncode,

    §

    impl<S> FullEncode for S
    where + S: Encode + EncodeLike,

    §

    impl<T> JsonSchemaMaybe for T

    §

    impl<T> MaybeDebug for T
    where + T: Debug,

    §

    impl<T> MaybeRefUnwindSafe for T
    where + T: RefUnwindSafe,

    §

    impl<T> MaybeSend for T
    where + T: Send,

    §

    impl<T> Member for T
    where + T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

    \ No newline at end of file diff --git a/tuxedo_template_wallet/parachain/index.html b/tuxedo_template_wallet/parachain/index.html new file mode 100644 index 000000000..e7e303ce8 --- /dev/null +++ b/tuxedo_template_wallet/parachain/index.html @@ -0,0 +1,8 @@ +tuxedo_template_wallet::parachain - Rust

    Module tuxedo_template_wallet::parachain

    source ·
    Expand description

    Parachain compatibility for the template wallet.

    +

    The wallet is not intended to support a wide variety of chains, but it is able +to support both the sovereign and parachain template nodes. There are a few types +necessary to make this work.

    +

    We don’t want the wallet to depend on the parachain runtime which has a huge +dependency graph itself. So a few types are duplicated here.

    +

    Enums§

    • We don’t want the wallet to depend on the huge parachain codebase, +So we just recreate this one little type here.
    \ No newline at end of file diff --git a/tuxedo_template_wallet/parachain/sidebar-items.js b/tuxedo_template_wallet/parachain/sidebar-items.js new file mode 100644 index 000000000..4f9422501 --- /dev/null +++ b/tuxedo_template_wallet/parachain/sidebar-items.js @@ -0,0 +1 @@ +window.SIDEBAR_ITEMS = {"enum":["ParachainConstraintChecker"]}; \ No newline at end of file diff --git a/tuxedo_template_wallet/rpc/fn.fetch_storage.html b/tuxedo_template_wallet/rpc/fn.fetch_storage.html index 557ac3b7e..353a567b0 100644 --- a/tuxedo_template_wallet/rpc/fn.fetch_storage.html +++ b/tuxedo_template_wallet/rpc/fn.fetch_storage.html @@ -1,6 +1,5 @@ -fetch_storage in tuxedo_template_wallet::rpc - Rust -
    pub async fn fetch_storage<V: Verifier>(
    +fetch_storage in tuxedo_template_wallet::rpc - Rust

    Function tuxedo_template_wallet::rpc::fetch_storage

    source ·
    pub async fn fetch_storage<V: Verifier>(
         output_ref: &OutputRef,
         client: &HttpClient
    -) -> Result<Output<V>>
    Expand description

    Fetch an output from chain storage given an OutputRef

    +) -> Result<Output<V>>
    Expand description

    Fetch an output from chain storage given an OutputRef

    \ No newline at end of file diff --git a/tuxedo_template_wallet/rpc/fn.node_get_block.html b/tuxedo_template_wallet/rpc/fn.node_get_block.html index f9e1fb1f1..627282ed3 100644 --- a/tuxedo_template_wallet/rpc/fn.node_get_block.html +++ b/tuxedo_template_wallet/rpc/fn.node_get_block.html @@ -1,6 +1,5 @@ -node_get_block in tuxedo_template_wallet::rpc - Rust -
    pub async fn node_get_block(
    +node_get_block in tuxedo_template_wallet::rpc - Rust

    Function tuxedo_template_wallet::rpc::node_get_block

    source ·
    pub async fn node_get_block(
         hash: H256,
         client: &HttpClient
    -) -> Result<Option<Block>>
    Expand description

    Typed helper to get the node’s full block at a particular hash

    +) -> Result<Option<OpaqueBlock>>
    Expand description

    Get the node’s full opaque block at a particular hash

    \ No newline at end of file diff --git a/tuxedo_template_wallet/rpc/fn.node_get_block_hash.html b/tuxedo_template_wallet/rpc/fn.node_get_block_hash.html index 8f93ba4c6..455932d88 100644 --- a/tuxedo_template_wallet/rpc/fn.node_get_block_hash.html +++ b/tuxedo_template_wallet/rpc/fn.node_get_block_hash.html @@ -1,6 +1,5 @@ -node_get_block_hash in tuxedo_template_wallet::rpc - Rust -
    pub async fn node_get_block_hash(
    +node_get_block_hash in tuxedo_template_wallet::rpc - Rust

    Function tuxedo_template_wallet::rpc::node_get_block_hash

    source ·
    pub async fn node_get_block_hash(
         height: u32,
         client: &HttpClient
    -) -> Result<Option<H256>>
    Expand description

    Typed helper to get the Node’s block hash at a particular height

    +) -> Result<Option<H256>>
    Expand description

    Typed helper to get the Node’s block hash at a particular height

    \ No newline at end of file diff --git a/tuxedo_template_wallet/rpc/index.html b/tuxedo_template_wallet/rpc/index.html index b0eff4169..3e1ef4c9c 100644 --- a/tuxedo_template_wallet/rpc/index.html +++ b/tuxedo_template_wallet/rpc/index.html @@ -1,4 +1,3 @@ -tuxedo_template_wallet::rpc - Rust -
    Expand description

    Strongly typed helper functions for communicating with the Node’s +tuxedo_template_wallet::rpc - Rust

    Module tuxedo_template_wallet::rpc

    source ·
    Expand description

    Strongly typed helper functions for communicating with the Node’s RPC endpoint.

    -

    Functions§

    \ No newline at end of file +

    Functions§

    \ No newline at end of file diff --git a/tuxedo_template_wallet/sidebar-items.js b/tuxedo_template_wallet/sidebar-items.js index 27ca9d203..486709717 100644 --- a/tuxedo_template_wallet/sidebar-items.js +++ b/tuxedo_template_wallet/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"constant":["DEFAULT_ENDPOINT"],"fn":["default_data_path","h256_from_string","main","output_ref_from_string","pretty_print_verifier","strip_0x_prefix","temp_dir"],"mod":["amoeba","cli","keystore","money","output_filter","rpc","sync","timestamp"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"constant":["DEFAULT_ENDPOINT"],"fn":["default_data_path","h256_from_string","main","output_ref_from_string","pretty_print_verifier","strip_0x_prefix","temp_dir"],"mod":["amoeba","cli","keystore","money","output_filter","parachain","rpc","sync","timestamp"]}; \ No newline at end of file diff --git a/tuxedo_template_wallet/sync/constant.BLOCKS.html b/tuxedo_template_wallet/sync/constant.BLOCKS.html index b77916821..4f0a7e9ec 100644 --- a/tuxedo_template_wallet/sync/constant.BLOCKS.html +++ b/tuxedo_template_wallet/sync/constant.BLOCKS.html @@ -1,3 +1,2 @@ -BLOCKS in tuxedo_template_wallet::sync - Rust -
    const BLOCKS: &str = "blocks";
    Expand description

    The identifier for the blocks tree in the db.

    +BLOCKS in tuxedo_template_wallet::sync - Rust

    Constant tuxedo_template_wallet::sync::BLOCKS

    source ·
    const BLOCKS: &str = "blocks";
    Expand description

    The identifier for the blocks tree in the db.

    \ No newline at end of file diff --git a/tuxedo_template_wallet/sync/constant.BLOCK_HASHES.html b/tuxedo_template_wallet/sync/constant.BLOCK_HASHES.html index 579afd5d9..38458dc51 100644 --- a/tuxedo_template_wallet/sync/constant.BLOCK_HASHES.html +++ b/tuxedo_template_wallet/sync/constant.BLOCK_HASHES.html @@ -1,3 +1,2 @@ -BLOCK_HASHES in tuxedo_template_wallet::sync - Rust -
    const BLOCK_HASHES: &str = "block_hashes";
    Expand description

    The identifier for the block_hashes tree in the db.

    +BLOCK_HASHES in tuxedo_template_wallet::sync - Rust

    Constant tuxedo_template_wallet::sync::BLOCK_HASHES

    source ·
    const BLOCK_HASHES: &str = "block_hashes";
    Expand description

    The identifier for the block_hashes tree in the db.

    \ No newline at end of file diff --git a/tuxedo_template_wallet/sync/constant.SPENT.html b/tuxedo_template_wallet/sync/constant.SPENT.html index 0a2a586c6..b2bf415de 100644 --- a/tuxedo_template_wallet/sync/constant.SPENT.html +++ b/tuxedo_template_wallet/sync/constant.SPENT.html @@ -1,3 +1,2 @@ -SPENT in tuxedo_template_wallet::sync - Rust -
    const SPENT: &str = "spent";
    Expand description

    The identifier for the spent tree in the db.

    +SPENT in tuxedo_template_wallet::sync - Rust

    Constant tuxedo_template_wallet::sync::SPENT

    source ·
    const SPENT: &str = "spent";
    Expand description

    The identifier for the spent tree in the db.

    \ No newline at end of file diff --git a/tuxedo_template_wallet/sync/constant.UNSPENT.html b/tuxedo_template_wallet/sync/constant.UNSPENT.html index 0aee05244..4eb8a5587 100644 --- a/tuxedo_template_wallet/sync/constant.UNSPENT.html +++ b/tuxedo_template_wallet/sync/constant.UNSPENT.html @@ -1,3 +1,2 @@ -UNSPENT in tuxedo_template_wallet::sync - Rust -
    const UNSPENT: &str = "unspent";
    Expand description

    The identifier for the unspent tree in the db.

    +UNSPENT in tuxedo_template_wallet::sync - Rust

    Constant tuxedo_template_wallet::sync::UNSPENT

    source ·
    const UNSPENT: &str = "unspent";
    Expand description

    The identifier for the unspent tree in the db.

    \ No newline at end of file diff --git a/tuxedo_template_wallet/sync/fn.add_unspent_output.html b/tuxedo_template_wallet/sync/fn.add_unspent_output.html index 30fe988c0..403324a05 100644 --- a/tuxedo_template_wallet/sync/fn.add_unspent_output.html +++ b/tuxedo_template_wallet/sync/fn.add_unspent_output.html @@ -1,8 +1,7 @@ -add_unspent_output in tuxedo_template_wallet::sync - Rust -
    pub(crate) fn add_unspent_output(
    +add_unspent_output in tuxedo_template_wallet::sync - Rust

    Function tuxedo_template_wallet::sync::add_unspent_output

    source ·
    pub(crate) fn add_unspent_output(
         db: &Db,
         output_ref: &OutputRef,
         owner_pubkey: &H256,
         amount: &u128
    -) -> Result<()>
    Expand description

    Add a new output to the database updating all tables.

    +) -> Result<()>
    Expand description

    Add a new output to the database updating all tables.

    \ No newline at end of file diff --git a/tuxedo_template_wallet/sync/fn.apply_block.html b/tuxedo_template_wallet/sync/fn.apply_block.html index d541c5087..a3ee5d7d0 100644 --- a/tuxedo_template_wallet/sync/fn.apply_block.html +++ b/tuxedo_template_wallet/sync/fn.apply_block.html @@ -1,8 +1,7 @@ -apply_block in tuxedo_template_wallet::sync - Rust -
    pub(crate) async fn apply_block<F: Fn(&OuterVerifier) -> bool>(
    +apply_block in tuxedo_template_wallet::sync - Rust

    Function tuxedo_template_wallet::sync::apply_block

    source ·
    pub(crate) async fn apply_block<F: Fn(&OuterVerifier) -> bool, C: ConstraintChecker>(
         db: &Db,
    -    b: Block,
    +    b: OpaqueBlock,
         block_hash: H256,
         filter: &F
    -) -> Result<()>
    Expand description

    Apply a block to the local database

    +) -> Result<()>
    Expand description

    Apply a block to the local database

    \ No newline at end of file diff --git a/tuxedo_template_wallet/sync/fn.apply_transaction.html b/tuxedo_template_wallet/sync/fn.apply_transaction.html index 2b36fab8c..01d0b0e80 100644 --- a/tuxedo_template_wallet/sync/fn.apply_transaction.html +++ b/tuxedo_template_wallet/sync/fn.apply_transaction.html @@ -1,8 +1,7 @@ -apply_transaction in tuxedo_template_wallet::sync - Rust -
    async fn apply_transaction<F: Fn(&OuterVerifier) -> bool>(
    +apply_transaction in tuxedo_template_wallet::sync - Rust

    Function tuxedo_template_wallet::sync::apply_transaction

    source ·
    async fn apply_transaction<F: Fn(&OuterVerifier) -> bool, C: ConstraintChecker>(
         db: &Db,
    -    tx: Transaction,
    +    opaque_tx: OpaqueExtrinsic,
         filter: &F
    -) -> Result<()>
    Expand description

    Apply a single transaction to the local database +) -> Result<()>

    Expand description

    Apply a single transaction to the local database The owner-specific tables are mappings from output_refs to coin amounts

    \ No newline at end of file diff --git a/tuxedo_template_wallet/sync/fn.get_arbitrary_unspent_set.html b/tuxedo_template_wallet/sync/fn.get_arbitrary_unspent_set.html index c1dd63a6d..0a5af0815 100644 --- a/tuxedo_template_wallet/sync/fn.get_arbitrary_unspent_set.html +++ b/tuxedo_template_wallet/sync/fn.get_arbitrary_unspent_set.html @@ -1,8 +1,7 @@ -get_arbitrary_unspent_set in tuxedo_template_wallet::sync - Rust -
    pub(crate) fn get_arbitrary_unspent_set(
    +get_arbitrary_unspent_set in tuxedo_template_wallet::sync - Rust
    pub(crate) fn get_arbitrary_unspent_set(
         db: &Db,
         target: u128
    -) -> Result<Option<Vec<OutputRef>>>
    Expand description

    Picks an arbitrary set of unspent outputs from the database for spending. +) -> Result<Option<Vec<OutputRef>>>

    Expand description

    Picks an arbitrary set of unspent outputs from the database for spending. The set’s token values must add up to at least the specified target value.

    The return value is None if the total value of the database is less than the target It is Some(Vec![…]) when it is possible

    diff --git a/tuxedo_template_wallet/sync/fn.get_balances.html b/tuxedo_template_wallet/sync/fn.get_balances.html index 54da63632..d2560dfcf 100644 --- a/tuxedo_template_wallet/sync/fn.get_balances.html +++ b/tuxedo_template_wallet/sync/fn.get_balances.html @@ -1,6 +1,5 @@ -get_balances in tuxedo_template_wallet::sync - Rust -
    pub(crate) fn get_balances(
    +get_balances in tuxedo_template_wallet::sync - Rust

    Function tuxedo_template_wallet::sync::get_balances

    source ·
    pub(crate) fn get_balances(
         db: &Db
    -) -> Result<impl Iterator<Item = (H256, u128)>>
    Expand description

    Iterate the entire unspent set summing the values of the coins +) -> Result<impl Iterator<Item = (H256, u128)>>

    Expand description

    Iterate the entire unspent set summing the values of the coins on a per-address basis.

    \ No newline at end of file diff --git a/tuxedo_template_wallet/sync/fn.get_block.html b/tuxedo_template_wallet/sync/fn.get_block.html index c65f361e5..c7bcfe4e7 100644 --- a/tuxedo_template_wallet/sync/fn.get_block.html +++ b/tuxedo_template_wallet/sync/fn.get_block.html @@ -1,3 +1,2 @@ -get_block in tuxedo_template_wallet::sync - Rust -
    pub(crate) fn get_block(db: &Db, hash: H256) -> Result<Option<Block>>
    Expand description

    Gets the block from the local database given a block hash. Similar to the Node’s RPC.

    +get_block in tuxedo_template_wallet::sync - Rust

    Function tuxedo_template_wallet::sync::get_block

    source ·
    pub(crate) fn get_block(db: &Db, hash: H256) -> Result<Option<Block>>
    Expand description

    Gets the block from the local database given a block hash. Similar to the Node’s RPC.

    \ No newline at end of file diff --git a/tuxedo_template_wallet/sync/fn.get_block_hash.html b/tuxedo_template_wallet/sync/fn.get_block_hash.html index 79e9ec48f..cd7fa439b 100644 --- a/tuxedo_template_wallet/sync/fn.get_block_hash.html +++ b/tuxedo_template_wallet/sync/fn.get_block_hash.html @@ -1,4 +1,3 @@ -get_block_hash in tuxedo_template_wallet::sync - Rust -
    pub(crate) fn get_block_hash(db: &Db, height: u32) -> Result<Option<H256>>
    Expand description

    Gets the block hash from the local database given a block height. Similar the Node’s RPC.

    +get_block_hash in tuxedo_template_wallet::sync - Rust

    Function tuxedo_template_wallet::sync::get_block_hash

    source ·
    pub(crate) fn get_block_hash(db: &Db, height: u32) -> Result<Option<H256>>
    Expand description

    Gets the block hash from the local database given a block height. Similar the Node’s RPC.

    Some if the block exists, None if the block does not exist.

    \ No newline at end of file diff --git a/tuxedo_template_wallet/sync/fn.get_unspent.html b/tuxedo_template_wallet/sync/fn.get_unspent.html index 214c54575..f017a4385 100644 --- a/tuxedo_template_wallet/sync/fn.get_unspent.html +++ b/tuxedo_template_wallet/sync/fn.get_unspent.html @@ -1,7 +1,6 @@ -get_unspent in tuxedo_template_wallet::sync - Rust -
    pub(crate) fn get_unspent(
    +get_unspent in tuxedo_template_wallet::sync - Rust

    Function tuxedo_template_wallet::sync::get_unspent

    source ·
    pub(crate) fn get_unspent(
         db: &Db,
         output_ref: &OutputRef
    -) -> Result<Option<(H256, u128)>>
    Expand description

    Gets the owner and amount associated with an output ref from the unspent table

    +) -> Result<Option<(H256, u128)>>
    Expand description

    Gets the owner and amount associated with an output ref from the unspent table

    Some if the output ref exists, None if it doesn’t

    \ No newline at end of file diff --git a/tuxedo_template_wallet/sync/fn.height.html b/tuxedo_template_wallet/sync/fn.height.html index dcc28bafc..7775c0f57 100644 --- a/tuxedo_template_wallet/sync/fn.height.html +++ b/tuxedo_template_wallet/sync/fn.height.html @@ -1,4 +1,3 @@ -height in tuxedo_template_wallet::sync - Rust -
    pub(crate) fn height(db: &Db) -> Result<Option<u32>>
    Expand description

    Get the block height that the wallet is currently synced to

    +height in tuxedo_template_wallet::sync - Rust

    Function tuxedo_template_wallet::sync::height

    source ·
    pub(crate) fn height(db: &Db) -> Result<Option<u32>>
    Expand description

    Get the block height that the wallet is currently synced to

    None means the db is not yet initialized with a genesis block

    \ No newline at end of file diff --git a/tuxedo_template_wallet/sync/fn.open_db.html b/tuxedo_template_wallet/sync/fn.open_db.html index faf37f78c..8e145be8b 100644 --- a/tuxedo_template_wallet/sync/fn.open_db.html +++ b/tuxedo_template_wallet/sync/fn.open_db.html @@ -1,9 +1,8 @@ -open_db in tuxedo_template_wallet::sync - Rust -
    pub(crate) fn open_db(
    +open_db in tuxedo_template_wallet::sync - Rust

    Function tuxedo_template_wallet::sync::open_db

    source ·
    pub(crate) fn open_db(
         db_path: PathBuf,
         expected_genesis_hash: H256,
    -    expected_genesis_block: Block
    -) -> Result<Db>
    Expand description

    Open a database at the given location intended for the given genesis block.

    + expected_genesis_block: OpaqueBlock +) -> Result<Db>
    Expand description

    Open a database at the given location intended for the given genesis block.

    If the database is already populated, make sure it is based on the expected genesis If an empty database is opened, it is initialized with the expected genesis hash and genesis block

    \ No newline at end of file diff --git a/tuxedo_template_wallet/sync/fn.print_block_hashes_tree.html b/tuxedo_template_wallet/sync/fn.print_block_hashes_tree.html index df97448bb..26e94e51d 100644 --- a/tuxedo_template_wallet/sync/fn.print_block_hashes_tree.html +++ b/tuxedo_template_wallet/sync/fn.print_block_hashes_tree.html @@ -1,3 +1,2 @@ -print_block_hashes_tree in tuxedo_template_wallet::sync - Rust -
    pub(crate) fn print_block_hashes_tree(db: &Db) -> Result<()>
    Expand description

    Debugging use. Print out the entire block_hashes tree.

    +print_block_hashes_tree in tuxedo_template_wallet::sync - Rust
    pub(crate) fn print_block_hashes_tree(db: &Db) -> Result<()>
    Expand description

    Debugging use. Print out the entire block_hashes tree.

    \ No newline at end of file diff --git a/tuxedo_template_wallet/sync/fn.print_unspent_tree.html b/tuxedo_template_wallet/sync/fn.print_unspent_tree.html index 8b863ac9c..134a91331 100644 --- a/tuxedo_template_wallet/sync/fn.print_unspent_tree.html +++ b/tuxedo_template_wallet/sync/fn.print_unspent_tree.html @@ -1,3 +1,2 @@ -print_unspent_tree in tuxedo_template_wallet::sync - Rust -
    pub(crate) fn print_unspent_tree(db: &Db) -> Result<()>
    Expand description

    Debugging use. Print the entire unspent outputs tree.

    +print_unspent_tree in tuxedo_template_wallet::sync - Rust

    Function tuxedo_template_wallet::sync::print_unspent_tree

    source ·
    pub(crate) fn print_unspent_tree(db: &Db) -> Result<()>
    Expand description

    Debugging use. Print the entire unspent outputs tree.

    \ No newline at end of file diff --git a/tuxedo_template_wallet/sync/fn.remove_unspent_output.html b/tuxedo_template_wallet/sync/fn.remove_unspent_output.html index b12f4557a..003c6130e 100644 --- a/tuxedo_template_wallet/sync/fn.remove_unspent_output.html +++ b/tuxedo_template_wallet/sync/fn.remove_unspent_output.html @@ -1,3 +1,2 @@ -remove_unspent_output in tuxedo_template_wallet::sync - Rust -
    fn remove_unspent_output(db: &Db, output_ref: &OutputRef) -> Result<()>
    Expand description

    Remove an output from the database updating all tables.

    +remove_unspent_output in tuxedo_template_wallet::sync - Rust

    Function tuxedo_template_wallet::sync::remove_unspent_output

    source ·
    fn remove_unspent_output(db: &Db, output_ref: &OutputRef) -> Result<()>
    Expand description

    Remove an output from the database updating all tables.

    \ No newline at end of file diff --git a/tuxedo_template_wallet/sync/fn.spend_output.html b/tuxedo_template_wallet/sync/fn.spend_output.html index 65e035c47..bf8fb5af9 100644 --- a/tuxedo_template_wallet/sync/fn.spend_output.html +++ b/tuxedo_template_wallet/sync/fn.spend_output.html @@ -1,4 +1,3 @@ -spend_output in tuxedo_template_wallet::sync - Rust -
    fn spend_output(db: &Db, output_ref: &OutputRef) -> Result<()>
    Expand description

    Mark an existing output as spent. This does not purge all record of the output from the db. +spend_output in tuxedo_template_wallet::sync - Rust

    Function tuxedo_template_wallet::sync::spend_output

    source ·
    fn spend_output(db: &Db, output_ref: &OutputRef) -> Result<()>
    Expand description

    Mark an existing output as spent. This does not purge all record of the output from the db. It just moves the record from the unspent table to the spent table

    \ No newline at end of file diff --git a/tuxedo_template_wallet/sync/fn.synchronize.html b/tuxedo_template_wallet/sync/fn.synchronize.html index 28ec4d952..869b9b3fa 100644 --- a/tuxedo_template_wallet/sync/fn.synchronize.html +++ b/tuxedo_template_wallet/sync/fn.synchronize.html @@ -1,9 +1,6 @@ -synchronize in tuxedo_template_wallet::sync - Rust -
    pub(crate) async fn synchronize<F: Fn(&OuterVerifier) -> bool>(
    +synchronize in tuxedo_template_wallet::sync - Rust

    Function tuxedo_template_wallet::sync::synchronize

    source ·
    pub(crate) async fn synchronize<F: Fn(&OuterVerifier) -> bool>(
    +    parachain: bool,
         db: &Db,
         client: &HttpClient,
         filter: &F
    -) -> Result<()>
    Expand description

    Synchronize the local database to the database of the running node. -The wallet entirely trusts the data the node feeds it. In the bigger -picture, that means run your own (light) node.

    -
    \ No newline at end of file +) -> Result<()>
    \ No newline at end of file diff --git a/tuxedo_template_wallet/sync/fn.synchronize_helper.html b/tuxedo_template_wallet/sync/fn.synchronize_helper.html new file mode 100644 index 000000000..5537c8f5c --- /dev/null +++ b/tuxedo_template_wallet/sync/fn.synchronize_helper.html @@ -0,0 +1,8 @@ +synchronize_helper in tuxedo_template_wallet::sync - Rust

    Function tuxedo_template_wallet::sync::synchronize_helper

    source ·
    pub(crate) async fn synchronize_helper<F: Fn(&OuterVerifier) -> bool, C: ConstraintChecker>(
    +    db: &Db,
    +    client: &HttpClient,
    +    filter: &F
    +) -> Result<()>
    Expand description

    Synchronize the local database to the database of the running node. +The wallet entirely trusts the data the node feeds it. In the bigger +picture, that means run your own (light) node.

    +
    \ No newline at end of file diff --git a/tuxedo_template_wallet/sync/fn.unapply_highest_block.html b/tuxedo_template_wallet/sync/fn.unapply_highest_block.html index bc756f904..0fa632377 100644 --- a/tuxedo_template_wallet/sync/fn.unapply_highest_block.html +++ b/tuxedo_template_wallet/sync/fn.unapply_highest_block.html @@ -1,3 +1,4 @@ -unapply_highest_block in tuxedo_template_wallet::sync - Rust -
    pub(crate) async fn unapply_highest_block(db: &Db) -> Result<Block>
    Expand description

    Unapply the best block that the wallet currently knows about

    +unapply_highest_block in tuxedo_template_wallet::sync - Rust

    Function tuxedo_template_wallet::sync::unapply_highest_block

    source ·
    pub(crate) async fn unapply_highest_block<C: ConstraintChecker>(
    +    db: &Db
    +) -> Result<()>
    Expand description

    Unapply the best block that the wallet currently knows about

    \ No newline at end of file diff --git a/tuxedo_template_wallet/sync/fn.unapply_transaction.html b/tuxedo_template_wallet/sync/fn.unapply_transaction.html index 5c8c01bd8..b16b14a1f 100644 --- a/tuxedo_template_wallet/sync/fn.unapply_transaction.html +++ b/tuxedo_template_wallet/sync/fn.unapply_transaction.html @@ -1,4 +1,6 @@ -unapply_transaction in tuxedo_template_wallet::sync - Rust -
    fn unapply_transaction(db: &Db, tx: &Transaction) -> Result<()>
    Expand description

    Run a transaction backwards against a database. Mark all of the Inputs +unapply_transaction in tuxedo_template_wallet::sync - Rust

    Function tuxedo_template_wallet::sync::unapply_transaction

    source ·
    fn unapply_transaction<C: ConstraintChecker>(
    +    db: &Db,
    +    tx: &OpaqueExtrinsic
    +) -> Result<()>
    Expand description

    Run a transaction backwards against a database. Mark all of the Inputs as unspent, and drop all of the outputs.

    \ No newline at end of file diff --git a/tuxedo_template_wallet/sync/fn.unspend_output.html b/tuxedo_template_wallet/sync/fn.unspend_output.html index 0d1044791..27e3933ca 100644 --- a/tuxedo_template_wallet/sync/fn.unspend_output.html +++ b/tuxedo_template_wallet/sync/fn.unspend_output.html @@ -1,3 +1,2 @@ -unspend_output in tuxedo_template_wallet::sync - Rust -
    fn unspend_output(db: &Db, output_ref: &OutputRef) -> Result<()>
    Expand description

    Mark an output that was previously spent back as unspent.

    +unspend_output in tuxedo_template_wallet::sync - Rust

    Function tuxedo_template_wallet::sync::unspend_output

    source ·
    fn unspend_output(db: &Db, output_ref: &OutputRef) -> Result<()>
    Expand description

    Mark an output that was previously spent back as unspent.

    \ No newline at end of file diff --git a/tuxedo_template_wallet/sync/index.html b/tuxedo_template_wallet/sync/index.html index b1649ae80..0c5994123 100644 --- a/tuxedo_template_wallet/sync/index.html +++ b/tuxedo_template_wallet/sync/index.html @@ -1,5 +1,4 @@ -tuxedo_template_wallet::sync - Rust -
    Expand description

    This module is responsible for maintaining the wallet’s local database of blocks +tuxedo_template_wallet::sync - Rust

    Module tuxedo_template_wallet::sync

    source ·
    Expand description

    This module is responsible for maintaining the wallet’s local database of blocks and owned UTXOs to the canonical database reported by the node.

    It is backed by a sled database

    §Schema

    @@ -12,7 +11,7 @@

    §Schema

    The owner-specific tables are mappings from output_refs to coin amounts
  • Picks an arbitrary set of unspent outputs from the database for spending. The set’s token values must add up to at least the specified target value.
  • Iterate the entire unspent set summing the values of the coins on a per-address basis.
  • get_block 🔒
    Gets the block from the local database given a block hash. Similar to the Node’s RPC.
  • Gets the block hash from the local database given a block height. Similar the Node’s RPC.
  • Gets the owner and amount associated with an output ref from the unspent table
  • height 🔒
    Get the block height that the wallet is currently synced to
  • open_db 🔒
    Open a database at the given location intended for the given genesis block.
  • Debugging use. Print out the entire block_hashes tree.
  • Debugging use. Print the entire unspent outputs tree.
  • Remove an output from the database updating all tables.
  • Mark an existing output as spent. This does not purge all record of the output from the db. -It just moves the record from the unspent table to the spent table
  • Synchronize the local database to the database of the running node. +It just moves the record from the unspent table to the spent table
  • Synchronize the local database to the database of the running node. The wallet entirely trusts the data the node feeds it. In the bigger picture, that means run your own (light) node.
  • Unapply the best block that the wallet currently knows about
  • Run a transaction backwards against a database. Mark all of the Inputs as unspent, and drop all of the outputs.
  • Mark an output that was previously spent back as unspent.
  • \ No newline at end of file diff --git a/tuxedo_template_wallet/sync/sidebar-items.js b/tuxedo_template_wallet/sync/sidebar-items.js index b6ee38100..a56c9c3fa 100644 --- a/tuxedo_template_wallet/sync/sidebar-items.js +++ b/tuxedo_template_wallet/sync/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"constant":["BLOCKS","BLOCK_HASHES","SPENT","UNSPENT"],"fn":["add_unspent_output","apply_block","apply_transaction","get_arbitrary_unspent_set","get_balances","get_block","get_block_hash","get_unspent","height","open_db","print_block_hashes_tree","print_unspent_tree","remove_unspent_output","spend_output","synchronize","unapply_highest_block","unapply_transaction","unspend_output"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"constant":["BLOCKS","BLOCK_HASHES","SPENT","UNSPENT"],"fn":["add_unspent_output","apply_block","apply_transaction","get_arbitrary_unspent_set","get_balances","get_block","get_block_hash","get_unspent","height","open_db","print_block_hashes_tree","print_unspent_tree","remove_unspent_output","spend_output","synchronize","synchronize_helper","unapply_highest_block","unapply_transaction","unspend_output"]}; \ No newline at end of file diff --git a/tuxedo_template_wallet/timestamp/constant.TIMESTAMP.html b/tuxedo_template_wallet/timestamp/constant.TIMESTAMP.html index 24d74d648..833c9156d 100644 --- a/tuxedo_template_wallet/timestamp/constant.TIMESTAMP.html +++ b/tuxedo_template_wallet/timestamp/constant.TIMESTAMP.html @@ -1,3 +1,2 @@ -TIMESTAMP in tuxedo_template_wallet::timestamp - Rust -
    const TIMESTAMP: &str = "timestamp";
    Expand description

    The identifier for the current timestamp in the db.

    +TIMESTAMP in tuxedo_template_wallet::timestamp - Rust

    Constant tuxedo_template_wallet::timestamp::TIMESTAMP

    source ·
    const TIMESTAMP: &str = "timestamp";
    Expand description

    The identifier for the current timestamp in the db.

    \ No newline at end of file diff --git a/tuxedo_template_wallet/timestamp/fn.apply_transaction.html b/tuxedo_template_wallet/timestamp/fn.apply_transaction.html index fac027e9a..5de59e2e5 100644 --- a/tuxedo_template_wallet/timestamp/fn.apply_transaction.html +++ b/tuxedo_template_wallet/timestamp/fn.apply_transaction.html @@ -1,5 +1,4 @@ -apply_transaction in tuxedo_template_wallet::timestamp - Rust -
    pub(crate) fn apply_transaction(
    +apply_transaction in tuxedo_template_wallet::timestamp - Rust

    Function tuxedo_template_wallet::timestamp::apply_transaction

    source ·
    pub(crate) fn apply_transaction(
         db: &Db,
    -    output: &Output<OuterVerifier>
    -) -> Result<()>
    \ No newline at end of file + output: &Output<OuterVerifier> +) -> Result<()>
    \ No newline at end of file diff --git a/tuxedo_template_wallet/timestamp/fn.get_timestamp.html b/tuxedo_template_wallet/timestamp/fn.get_timestamp.html index ac21d4a52..1496f38dd 100644 --- a/tuxedo_template_wallet/timestamp/fn.get_timestamp.html +++ b/tuxedo_template_wallet/timestamp/fn.get_timestamp.html @@ -1,3 +1,2 @@ -get_timestamp in tuxedo_template_wallet::timestamp - Rust -
    pub(crate) fn get_timestamp(db: &Db) -> Result<u64>
    Expand description

    Apply a transaction to the local database, storing the new timestamp.

    +get_timestamp in tuxedo_template_wallet::timestamp - Rust

    Function tuxedo_template_wallet::timestamp::get_timestamp

    source ·
    pub(crate) fn get_timestamp(db: &Db) -> Result<u64>
    Expand description

    Apply a transaction to the local database, storing the new timestamp.

    \ No newline at end of file diff --git a/tuxedo_template_wallet/timestamp/index.html b/tuxedo_template_wallet/timestamp/index.html index d4f90962d..80ed6745c 100644 --- a/tuxedo_template_wallet/timestamp/index.html +++ b/tuxedo_template_wallet/timestamp/index.html @@ -1,3 +1,2 @@ -tuxedo_template_wallet::timestamp - Rust -
    Expand description

    Wallet features related to on-chain timestamps.

    +tuxedo_template_wallet::timestamp - Rust

    Module tuxedo_template_wallet::timestamp

    source ·
    Expand description

    Wallet features related to on-chain timestamps.

    Constants§

    • TIMESTAMP 🔒
      The identifier for the current timestamp in the db.

    Functions§

    \ No newline at end of file diff --git a/type.impl/alloc/boxed/struct.Box.js b/type.impl/alloc/boxed/struct.Box.js index 44deaf399..99ac31e17 100644 --- a/type.impl/alloc/boxed/struct.Box.js +++ b/type.impl/alloc/boxed/struct.Box.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"tuxedo_template_wallet":[["
    source§

    impl<T> Box<T>

    1.0.0 · source

    pub fn new(x: T) -> Box<T>

    Allocates memory on the heap and then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    §Examples
    \n
    let five = Box::new(5);
    \n
    source

    pub fn new_uninit() -> Box<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new box with uninitialized contents.

    \n
    §Examples
    \n
    #![feature(new_uninit)]\n\nlet mut five = Box::<u32>::new_uninit();\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn new_zeroed() -> Box<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(new_uninit)]\n\nlet zero = Box::<u32>::new_zeroed();\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    1.33.0 · source

    pub fn pin(x: T) -> Pin<Box<T>>

    Constructs a new Pin<Box<T>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin(x)\ndoes the same as Box::into_pin(Box::new(x)). Consider using\ninto_pin if you already have a Box<T>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new.

    \n
    source

    pub fn try_new(x: T) -> Result<Box<T>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory on the heap then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nlet five = Box::try_new(5)?;
    \n
    source

    pub fn try_new_uninit() -> Result<Box<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents on the heap,\nreturning an error if the allocation fails

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet mut five = Box::<u32>::try_new_uninit()?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn try_new_zeroed() -> Result<Box<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes on the heap

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet zero = Box::<u32>::try_new_zeroed()?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    ",0,"tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<T, A> Box<T, A>
    where\n A: Allocator,

    source

    pub fn new_in(x: T, alloc: A) -> Box<T, A>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory in the given allocator then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::new_in(5, System);
    \n
    source

    pub fn try_new_in(x: T, alloc: A) -> Result<Box<T, A>, AllocError>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory in the given allocator then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::try_new_in(5, System)?;
    \n
    source

    pub fn new_uninit_in(alloc: A) -> Box<MaybeUninit<T>, A>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents in the provided allocator.

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::new_uninit_in(System);\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn try_new_uninit_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents in the provided allocator,\nreturning an error if the allocation fails

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::try_new_uninit_in(System)?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn new_zeroed_in(alloc: A) -> Box<MaybeUninit<T>, A>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::new_zeroed_in(System);\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    source

    pub fn try_new_zeroed_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator,\nreturning an error if the allocation fails,

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::try_new_zeroed_in(System)?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    source

    pub fn pin_in(x: T, alloc: A) -> Pin<Box<T, A>>
    where\n A: 'static + Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Pin<Box<T, A>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin_in(x, alloc)\ndoes the same as Box::into_pin(Box::new_in(x, alloc)). Consider using\ninto_pin if you already have a Box<T, A>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new_in.

    \n
    source

    pub fn into_boxed_slice(boxed: Box<T, A>) -> Box<[T], A>

    🔬This is a nightly-only experimental API. (box_into_boxed_slice)

    Converts a Box<T> into a Box<[T]>

    \n

    This conversion does not allocate on the heap and happens in place.

    \n
    source

    pub fn into_inner(boxed: Box<T, A>) -> T

    🔬This is a nightly-only experimental API. (box_into_inner)

    Consumes the Box, returning the wrapped value.

    \n
    §Examples
    \n
    #![feature(box_into_inner)]\n\nlet c = Box::new(5);\n\nassert_eq!(Box::into_inner(c), 5);
    \n
    ",0,"tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<T> Box<T>
    where\n T: ?Sized,

    1.4.0 · source

    pub unsafe fn from_raw(raw: *mut T) -> Box<T>

    Constructs a box from a raw pointer.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    §Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n

    The safety conditions are described in the memory layout section.

    \n
    §Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw:

    \n\n
    let x = Box::new(5);\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manually create a Box from scratch by using the global allocator:

    \n\n
    use std::alloc::{alloc, Layout};\n\nunsafe {\n    let ptr = alloc(Layout::new::<i32>()) as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw(ptr);\n}
    \n
    ",0,"tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<T, A> Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    const: unstable · source

    pub unsafe fn from_raw_in(raw: *mut T, alloc: A) -> Box<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a box from a raw pointer in the given allocator.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    §Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n
    §Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw_with_allocator:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(5, System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manually create a Box from scratch by using the system allocator:

    \n\n
    #![feature(allocator_api, slice_ptr_get)]\n\nuse std::alloc::{Allocator, Layout, System};\n\nunsafe {\n    let ptr = System.allocate(Layout::new::<i32>())?.as_mut_ptr() as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw_in(ptr, System);\n}
    \n
    1.4.0 · source

    pub fn into_raw(b: Box<T, A>) -> *mut T

    Consumes the Box, returning a wrapped raw pointer.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw(b) instead of b.into_raw(). This\nis so that there is no conflict with a method on the inner type.

    \n
    §Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw\nfor automatic cleanup:

    \n\n
    let x = Box::new(String::from(\"Hello\"));\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    use std::alloc::{dealloc, Layout};\nuse std::ptr;\n\nlet x = Box::new(String::from(\"Hello\"));\nlet ptr = Box::into_raw(x);\nunsafe {\n    ptr::drop_in_place(ptr);\n    dealloc(ptr as *mut u8, Layout::new::<String>());\n}
    \n

    Note: This is equivalent to the following:

    \n\n
    let x = Box::new(String::from(\"Hello\"));\nlet ptr = Box::into_raw(x);\nunsafe {\n    drop(Box::from_raw(ptr));\n}
    \n
    source

    pub fn into_raw_with_allocator(b: Box<T, A>) -> (*mut T, A)

    🔬This is a nightly-only experimental API. (allocator_api)

    Consumes the Box, returning a wrapped raw pointer and the allocator.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw_in function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw_with_allocator(b) instead of b.into_raw_with_allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    §Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw_in\nfor automatic cleanup:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(String::from(\"Hello\"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::{Allocator, Layout, System};\nuse std::ptr::{self, NonNull};\n\nlet x = Box::new_in(String::from(\"Hello\"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nunsafe {\n    ptr::drop_in_place(ptr);\n    let non_null = NonNull::new_unchecked(ptr);\n    alloc.deallocate(non_null.cast(), Layout::new::<String>());\n}
    \n
    const: unstable · source

    pub fn allocator(b: &Box<T, A>) -> &A

    🔬This is a nightly-only experimental API. (allocator_api)

    Returns a reference to the underlying allocator.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::allocator(&b) instead of b.allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    1.26.0 · source

    pub fn leak<'a>(b: Box<T, A>) -> &'a mut T
    where\n A: 'a,

    Consumes and leaks the Box, returning a mutable reference,\n&'a mut T. Note that the type T must outlive the chosen lifetime\n'a. If the type has only static references, or none at all, then this\nmay be chosen to be 'static.

    \n

    This function is mainly useful for data that lives for the remainder of\nthe program’s life. Dropping the returned reference will cause a memory\nleak. If this is not acceptable, the reference should first be wrapped\nwith the Box::from_raw function producing a Box. This Box can\nthen be dropped which will properly destroy T and release the\nallocated memory.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::leak(b) instead of b.leak(). This\nis so that there is no conflict with a method on the inner type.

    \n
    §Examples
    \n

    Simple usage:

    \n\n
    let x = Box::new(41);\nlet static_ref: &'static mut usize = Box::leak(x);\n*static_ref += 1;\nassert_eq!(*static_ref, 42);
    \n

    Unsized data:

    \n\n
    let x = vec![1, 2, 3].into_boxed_slice();\nlet static_ref = Box::leak(x);\nstatic_ref[0] = 4;\nassert_eq!(*static_ref, [4, 2, 3]);
    \n
    1.63.0 (const: unstable) · source

    pub fn into_pin(boxed: Box<T, A>) -> Pin<Box<T, A>>
    where\n A: 'static,

    Converts a Box<T> into a Pin<Box<T>>. If T does not implement Unpin, then\n*boxed will be pinned in memory and unable to be moved.

    \n

    This conversion does not allocate on the heap and happens in place.

    \n

    This is also available via From.

    \n

    Constructing and pinning a Box with Box::into_pin(Box::new(x))\ncan also be written more concisely using Box::pin(x).\nThis into_pin method is useful if you already have a Box<T>, or you are\nconstructing a (pinned) Box in a different way than with Box::new.

    \n
    §Notes
    \n

    It’s not recommended that crates add an impl like From<Box<T>> for Pin<T>,\nas it’ll introduce an ambiguity when calling Pin::from.\nA demonstration of such a poor impl is shown below.

    \n\n
    struct Foo; // A type defined in this crate.\nimpl From<Box<()>> for Pin<Foo> {\n    fn from(_: Box<()>) -> Pin<Foo> {\n        Pin::new(Foo)\n    }\n}\n\nlet foo = Box::new(());\nlet bar = Pin::from(foo);
    \n
    ",0,"tuxedo_template_wallet::output_filter::Filter"],["
    1.0.0 · source§

    impl<S> Seek for Box<S>
    where\n S: Seek + ?Sized,

    source§

    fn seek(&mut self, pos: SeekFrom) -> Result<u64, Error>

    Seek to an offset, in bytes, in a stream. Read more
    source§

    fn stream_position(&mut self) -> Result<u64, Error>

    Returns the current seek position from the start of the stream. Read more
    1.55.0 · source§

    fn rewind(&mut self) -> Result<(), Error>

    Rewind to the beginning of a stream. Read more
    source§

    fn stream_len(&mut self) -> Result<u64, Error>

    🔬This is a nightly-only experimental API. (seek_stream_len)
    Returns the length of this stream (in bytes). Read more
    source§

    fn seek_relative(&mut self, offset: i64) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (seek_seek_relative)
    Seeks relative to the current position. Read more
    ","Seek","tuxedo_template_wallet::output_filter::Filter"],["
    1.0.0 · source§

    impl<W> Write for Box<W>
    where\n W: Write + ?Sized,

    source§

    fn write(&mut self, buf: &[u8]) -> Result<usize, Error>

    Write a buffer into this writer, returning how many bytes were written. Read more
    source§

    fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize, Error>

    Like write, except that it writes from a slice of buffers. Read more
    source§

    fn is_write_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Writer has an efficient write_vectored\nimplementation. Read more
    source§

    fn flush(&mut self) -> Result<(), Error>

    Flush this output stream, ensuring that all intermediately buffered\ncontents reach their destination. Read more
    source§

    fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>

    Attempts to write an entire buffer into this writer. Read more
    source§

    fn write_fmt(&mut self, fmt: Arguments<'_>) -> Result<(), Error>

    Writes a formatted string into this writer, returning any error\nencountered. Read more
    source§

    fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (write_all_vectored)
    Attempts to write multiple buffers into this writer. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Creates a “by reference” adapter for this instance of Write. Read more
    ","Write","tuxedo_template_wallet::output_filter::Filter"],["
    1.64.0 · source§

    impl<T> AsFd for Box<T>
    where\n T: AsFd,

    source§

    fn as_fd(&self) -> BorrowedFd<'_>

    Borrows the file descriptor. Read more
    ","AsFd","tuxedo_template_wallet::output_filter::Filter"],["
    1.0.0 · source§

    impl<B> BufRead for Box<B>
    where\n B: BufRead + ?Sized,

    source§

    fn fill_buf(&mut self) -> Result<&[u8], Error>

    Returns the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    source§

    fn consume(&mut self, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to read. Read more
    source§

    fn read_until(&mut self, byte: u8, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes into buf until the delimiter byte or EOF is reached. Read more
    source§

    fn read_line(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until a newline (the 0xA byte) is reached, and append\nthem to the provided String buffer. Read more
    source§

    fn has_data_left(&mut self) -> Result<bool, Error>

    🔬This is a nightly-only experimental API. (buf_read_has_data_left)
    Check if the underlying Read has any data left to be read. Read more
    source§

    fn skip_until(&mut self, byte: u8) -> Result<usize, Error>

    🔬This is a nightly-only experimental API. (bufread_skip_until)
    Skip all bytes until the delimiter byte or EOF is reached. Read more
    1.0.0 · source§

    fn split(self, byte: u8) -> Split<Self>
    where\n Self: Sized,

    Returns an iterator over the contents of this reader split on the byte\nbyte. Read more
    1.0.0 · source§

    fn lines(self) -> Lines<Self>
    where\n Self: Sized,

    Returns an iterator over the lines of this reader. Read more
    ","BufRead","tuxedo_template_wallet::output_filter::Filter"],["
    1.0.0 · source§

    impl<R> Read for Box<R>
    where\n R: Read + ?Sized,

    source§

    fn read(&mut self, buf: &mut [u8]) -> Result<usize, Error>

    Pull some bytes from this source into the specified buffer, returning\nhow many bytes were read. Read more
    source§

    fn read_buf(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Pull some bytes from this source into the specified buffer. Read more
    source§

    fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>

    Like read, except that it reads into a slice of buffers. Read more
    source§

    fn is_read_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Reader has an efficient read_vectored\nimplementation. Read more
    source§

    fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes until EOF in this source, placing them into buf. Read more
    source§

    fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until EOF in this source, appending them to buf. Read more
    source§

    fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>

    Read the exact number of bytes required to fill buf. Read more
    source§

    fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Read the exact number of bytes required to fill cursor. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Creates a “by reference” adaptor for this instance of Read. Read more
    1.0.0 · source§

    fn bytes(self) -> Bytes<Self>
    where\n Self: Sized,

    Transforms this Read instance to an Iterator over its bytes. Read more
    1.0.0 · source§

    fn chain<R>(self, next: R) -> Chain<Self, R>
    where\n R: Read,\n Self: Sized,

    Creates an adapter which will chain this stream with another. Read more
    1.0.0 · source§

    fn take(self, limit: u64) -> Take<Self>
    where\n Self: Sized,

    Creates an adapter which will read at most limit bytes from it. Read more
    ","Read","tuxedo_template_wallet::output_filter::Filter"],["
    1.63.0 · source§

    impl<T> AsRawFd for Box<T>
    where\n T: AsRawFd,

    source§

    fn as_raw_fd(&self) -> i32

    Extracts the raw file descriptor. Read more
    ","AsRawFd","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<T, U, A> CoerceUnsized<Box<U, A>> for Box<T, A>
    where\n T: Unsize<U> + ?Sized,\n A: Allocator,\n U: ?Sized,

    ","CoerceUnsized>","tuxedo_template_wallet::output_filter::Filter"],["
    1.5.0 · source§

    impl<T, A> AsMut<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_mut(&mut self) -> &mut T

    Converts this type into a mutable reference of the (usually inferred) input type.
    ","AsMut","tuxedo_template_wallet::output_filter::Filter"],["
    1.0.0 · source§

    impl<T, A> Clone for Box<T, A>
    where\n T: Clone,\n A: Allocator + Clone,

    source§

    fn clone(&self) -> Box<T, A>

    Returns a new box with a clone() of this box’s contents.

    \n
    §Examples
    \n
    let x = Box::new(5);\nlet y = x.clone();\n\n// The value is the same\nassert_eq!(x, y);\n\n// But they are unique objects\nassert_ne!(&*x as *const i32, &*y as *const i32);
    \n
    source§

    fn clone_from(&mut self, source: &Box<T, A>)

    Copies source’s contents into self without creating a new allocation.

    \n
    §Examples
    \n
    let x = Box::new(5);\nlet mut y = Box::new(10);\nlet yp: *const i32 = &*y;\n\ny.clone_from(&x);\n\n// The value is the same\nassert_eq!(x, y);\n\n// And no allocation occurred\nassert_eq!(yp, &*y);
    \n
    ","Clone","tuxedo_template_wallet::output_filter::Filter"],["
    1.33.0 · source§

    impl<T, A> Unpin for Box<T, A>
    where\n A: Allocator + 'static,\n T: ?Sized,

    ","Unpin","tuxedo_template_wallet::output_filter::Filter"],["
    1.35.0 · source§

    impl<Args, F, A> FnMut<Args> for Box<F, A>
    where\n Args: Tuple,\n F: FnMut<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call_mut(\n &mut self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnMut","tuxedo_template_wallet::output_filter::Filter"],["
    1.0.0 · source§

    impl<T, A> Ord for Box<T, A>
    where\n T: Ord + ?Sized,\n A: Allocator,

    source§

    fn cmp(&self, other: &Box<T, A>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Self
    where\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<G, R, A> Coroutine<R> for Box<G, A>
    where\n G: Coroutine<R> + Unpin + ?Sized,\n A: Allocator + 'static,

    §

    type Yield = <G as Coroutine<R>>::Yield

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine yields. Read more
    §

    type Return = <G as Coroutine<R>>::Return

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine returns. Read more
    source§

    fn resume(\n self: Pin<&mut Box<G, A>>,\n arg: R\n) -> CoroutineState<<Box<G, A> as Coroutine<R>>::Yield, <Box<G, A> as Coroutine<R>>::Return>

    🔬This is a nightly-only experimental API. (coroutine_trait)
    Resumes the execution of this coroutine. Read more
    ","Coroutine","tuxedo_template_wallet::output_filter::Filter"],["
    1.0.0 · source§

    impl<I, A> DoubleEndedIterator for Box<I, A>
    where\n I: DoubleEndedIterator + ?Sized,\n A: Allocator,

    source§

    fn next_back(&mut self) -> Option<<I as Iterator>::Item>

    Removes and returns an element from the end of the iterator. Read more
    source§

    fn nth_back(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source§

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator from the back by n elements. Read more
    1.27.0 · source§

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\nelements starting from the back of the iterator. Read more
    1.27.0 · source§

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator’s elements to a single,\nfinal value, starting from the back. Read more
    1.27.0 · source§

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    ","DoubleEndedIterator","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<S> AsyncIterator for Box<S>
    where\n S: AsyncIterator + Unpin + ?Sized,

    §

    type Item = <S as AsyncIterator>::Item

    🔬This is a nightly-only experimental API. (async_iterator)
    The type of items yielded by the async iterator.
    source§

    fn poll_next(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Box<S> as AsyncIterator>::Item>>

    🔬This is a nightly-only experimental API. (async_iterator)
    Attempt to pull out the next value of this async iterator, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the async iterator is exhausted. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    🔬This is a nightly-only experimental API. (async_iterator)
    Returns the bounds on the remaining length of the async iterator. Read more
    ","AsyncIterator","tuxedo_template_wallet::output_filter::Filter"],["
    1.0.0 · source§

    impl<T, A> Drop for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    ","Drop","tuxedo_template_wallet::output_filter::Filter"],["
    1.26.0 · source§

    impl<I, A> FusedIterator for Box<I, A>
    where\n I: FusedIterator + ?Sized,\n A: Allocator,

    ","FusedIterator","tuxedo_template_wallet::output_filter::Filter"],["
    1.0.0 · source§

    impl<T, A> PartialOrd for Box<T, A>
    where\n T: PartialOrd + ?Sized,\n A: Allocator,

    source§

    fn partial_cmp(&self, other: &Box<T, A>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    source§

    fn lt(&self, other: &Box<T, A>) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    source§

    fn le(&self, other: &Box<T, A>) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    source§

    fn ge(&self, other: &Box<T, A>) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    source§

    fn gt(&self, other: &Box<T, A>) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    ","PartialOrd","tuxedo_template_wallet::output_filter::Filter"],["
    1.0.0 · source§

    impl<T, A> Debug for Box<T, A>
    where\n T: Debug + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","tuxedo_template_wallet::output_filter::Filter"],["
    1.8.0 · source§

    impl<T> Error for Box<T>
    where\n T: Error,

    source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source§

    fn provide<'b>(&'b self, request: &mut Request<'b>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    ","Error","tuxedo_template_wallet::output_filter::Filter"],["
    1.6.0 · source§

    impl<T> From<T> for Box<T>

    source§

    fn from(t: T) -> Box<T>

    Converts a T into a Box<T>

    \n

    The conversion allocates on the heap and moves t\nfrom the stack into it.

    \n
    §Examples
    \n
    let x = 5;\nlet boxed = Box::new(5);\n\nassert_eq!(Box::from(x), boxed);
    \n
    ","From","tuxedo_template_wallet::output_filter::Filter"],["
    1.0.0 · source§

    impl<T, A> Deref for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    §

    type Target = T

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &T

    Dereferences the value.
    ","Deref","tuxedo_template_wallet::output_filter::Filter"],["
    1.0.0 · source§

    impl<T, A> Display for Box<T, A>
    where\n T: Display + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Display","tuxedo_template_wallet::output_filter::Filter"],["
    1.0.0 · source§

    impl<T, A> Eq for Box<T, A>
    where\n T: Eq + ?Sized,\n A: Allocator,

    ","Eq","tuxedo_template_wallet::output_filter::Filter"],["
    1.1.0 · source§

    impl<T, A> BorrowMut<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    ","BorrowMut","tuxedo_template_wallet::output_filter::Filter"],["
    1.0.0 · source§

    impl<I, A> Iterator for Box<I, A>
    where\n I: Iterator + ?Sized,\n A: Allocator,

    §

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source§

    fn next(&mut self) -> Option<<I as Iterator>::Item>

    Advances the iterator and returns the next value. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source§

    fn nth(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element of the iterator. Read more
    source§

    fn last(self) -> Option<<I as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source§

    fn next_chunk<const N: usize>(\n &mut self\n) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_next_chunk)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 · source§

    fn count(self) -> usize
    where\n Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source§

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator by n elements. Read more
    1.28.0 · source§

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n Self: Sized,

    Creates an iterator starting at the same point, but stepping by\nthe given amount at each iteration. Read more
    1.0.0 · source§

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n Self: Sized,\n U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 · source§

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n Self: Sized,\n U: IntoIterator,

    ‘Zips up’ two iterators into a single iterator of pairs. Read more
    source§

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n Self: Sized,\n G: FnMut() -> Self::Item,

    🔬This is a nightly-only experimental API. (iter_intersperse)
    Creates a new iterator which places an item generated by separator\nbetween adjacent items of the original iterator. Read more
    1.0.0 · source§

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\nelement. Read more
    1.21.0 · source§

    fn for_each<F>(self, f: F)
    where\n Self: Sized,\n F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 · source§

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\nshould be yielded. Read more
    1.0.0 · source§

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 · source§

    fn enumerate(self) -> Enumerate<Self>
    where\n Self: Sized,

    Creates an iterator which gives the current iteration count as well as\nthe next value. Read more
    1.0.0 · source§

    fn peekable(self) -> Peekable<Self>
    where\n Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\nto look at the next element of the iterator without consuming it. See\ntheir documentation for more information. Read more
    1.0.0 · source§

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 · source§

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 · source§

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 · source§

    fn skip(self, n: usize) -> Skip<Self>
    where\n Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 · source§

    fn take(self, n: usize) -> Take<Self>
    where\n Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\nif the underlying iterator ends sooner. Read more
    1.0.0 · source§

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n Self: Sized,\n F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\nunlike fold, produces a new iterator. Read more
    1.0.0 · source§

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n Self: Sized,\n U: IntoIterator,\n F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source§

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n Self: Sized,\n F: FnMut(&[Self::Item; N]) -> R,

    🔬This is a nightly-only experimental API. (iter_map_windows)
    Calls the given function f for each contiguous window of size N over\nself and returns an iterator over the outputs of f. Like slice::windows(),\nthe windows during mapping overlap as well. Read more
    1.0.0 · source§

    fn fuse(self) -> Fuse<Self>
    where\n Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 · source§

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n Self: Sized,\n F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 · source§

    fn collect<B>(self) -> B
    where\n B: FromIterator<Self::Item>,\n Self: Sized,

    Transforms an iterator into a collection. Read more
    source§

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n E: Extend<Self::Item>,\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_collect_into)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 · source§

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n Self: Sized,\n B: Default + Extend<Self::Item>,\n F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source§

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_is_partitioned)
    Checks if the elements of this iterator are partitioned according to the given predicate,\nsuch that all those that return true precede all those that return false. Read more
    1.27.0 · source§

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\nsuccessfully, producing a single, final value. Read more
    1.27.0 · source§

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n Self: Sized,\n F: FnMut(Self::Item) -> R,\n R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\niterator, stopping at the first error and returning that error. Read more
    1.0.0 · source§

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\nreturning the final result. Read more
    1.51.0 · source§

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\noperation. Read more
    source§

    fn try_reduce<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> R,\n R: Try<Output = Self::Item>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (iterator_try_reduce)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\nclosure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 · source§

    fn all<F>(&mut self, f: F) -> bool
    where\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn any<F>(&mut self, f: F) -> bool
    where\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 · source§

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\nthe first non-none result. Read more
    source§

    fn try_find<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n Self: Sized,\n F: FnMut(&Self::Item) -> R,\n R: Try<Output = bool>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (try_find)
    Applies function to the elements of iterator and returns\nthe first true result or the first error. Read more
    1.0.0 · source§

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 · source§

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\nspecified function. Read more
    1.15.0 · source§

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\nspecified comparison function. Read more
    1.6.0 · source§

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\nspecified function. Read more
    1.15.0 · source§

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\nspecified comparison function. Read more
    1.0.0 · source§

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 · source§

    fn copied<'a, T>(self) -> Copied<Self>
    where\n T: 'a + Copy,\n Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 · source§

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n T: 'a + Clone,\n Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source§

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_array_chunks)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 · source§

    fn sum<S>(self) -> S
    where\n Self: Sized,\n S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 · source§

    fn product<P>(self) -> P
    where\n Self: Sized,\n P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source§

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Lexicographically compares the PartialOrd elements of\nthis Iterator with those of another. The comparison works like short-circuit\nevaluation, returning a result without comparing the remaining elements.\nAs soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source§

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn eq<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are equal to those of\nanother. Read more
    source§

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Determines if the elements of this Iterator are equal to those of\nanother with respect to the specified equality function. Read more
    1.5.0 · source§

    fn ne<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\nanother. Read more
    1.5.0 · source§

    fn lt<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless than those of another. Read more
    1.5.0 · source§

    fn le<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless or equal to those of another. Read more
    1.5.0 · source§

    fn gt<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than those of another. Read more
    1.5.0 · source§

    fn ge<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than or equal to those of another. Read more
    source§

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> bool,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source§

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n Self: Sized,\n F: FnMut(Self::Item) -> K,\n K: PartialOrd,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given key extraction\nfunction. Read more
    ","Iterator","tuxedo_template_wallet::output_filter::Filter"],["
    1.35.0 · source§

    impl<Args, F, A> Fn<Args> for Box<F, A>
    where\n Args: Tuple,\n F: Fn<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call(\n &self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","Fn","tuxedo_template_wallet::output_filter::Filter"],["
    1.35.0 · source§

    impl<Args, F, A> FnOnce<Args> for Box<F, A>
    where\n Args: Tuple,\n F: FnOnce<Args> + ?Sized,\n A: Allocator,

    §

    type Output = <F as FnOnce<Args>>::Output

    The returned type after the call operator is used.
    source§

    extern "rust-call" fn call_once(\n self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnOnce","tuxedo_template_wallet::output_filter::Filter"],["
    1.0.0 · source§

    impl<T> Default for Box<T>
    where\n T: Default,

    source§

    fn default() -> Box<T>

    Creates a Box<T>, with the Default value for T.

    \n
    ","Default","tuxedo_template_wallet::output_filter::Filter"],["
    1.22.0 · source§

    impl<T, A> Hasher for Box<T, A>
    where\n T: Hasher + ?Sized,\n A: Allocator,

    source§

    fn finish(&self) -> u64

    Returns the hash value for the values written so far. Read more
    source§

    fn write(&mut self, bytes: &[u8])

    Writes some data into this Hasher. Read more
    source§

    fn write_u8(&mut self, i: u8)

    Writes a single u8 into this hasher.
    source§

    fn write_u16(&mut self, i: u16)

    Writes a single u16 into this hasher.
    source§

    fn write_u32(&mut self, i: u32)

    Writes a single u32 into this hasher.
    source§

    fn write_u64(&mut self, i: u64)

    Writes a single u64 into this hasher.
    source§

    fn write_u128(&mut self, i: u128)

    Writes a single u128 into this hasher.
    source§

    fn write_usize(&mut self, i: usize)

    Writes a single usize into this hasher.
    source§

    fn write_i8(&mut self, i: i8)

    Writes a single i8 into this hasher.
    source§

    fn write_i16(&mut self, i: i16)

    Writes a single i16 into this hasher.
    source§

    fn write_i32(&mut self, i: i32)

    Writes a single i32 into this hasher.
    source§

    fn write_i64(&mut self, i: i64)

    Writes a single i64 into this hasher.
    source§

    fn write_i128(&mut self, i: i128)

    Writes a single i128 into this hasher.
    source§

    fn write_isize(&mut self, i: isize)

    Writes a single isize into this hasher.
    source§

    fn write_length_prefix(&mut self, len: usize)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a length prefix into this hasher, as part of being prefix-free. Read more
    source§

    fn write_str(&mut self, s: &str)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a single str into this hasher. Read more
    ","Hasher","tuxedo_template_wallet::output_filter::Filter"],["
    1.1.0 · source§

    impl<T, A> Borrow<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    ","Borrow","tuxedo_template_wallet::output_filter::Filter"],["
    1.0.0 · source§

    impl<T, A> PartialEq for Box<T, A>
    where\n T: PartialEq + ?Sized,\n A: Allocator,

    source§

    fn eq(&self, other: &Box<T, A>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &Box<T, A>) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","tuxedo_template_wallet::output_filter::Filter"],["
    1.0.0 · source§

    impl<I, A> ExactSizeIterator for Box<I, A>
    where\n I: ExactSizeIterator + ?Sized,\n A: Allocator,

    source§

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source§

    fn is_empty(&self) -> bool

    🔬This is a nightly-only experimental API. (exact_size_is_empty)
    Returns true if the iterator is empty. Read more
    ","ExactSizeIterator","tuxedo_template_wallet::output_filter::Filter"],["
    1.0.0 · source§

    impl<T, A> DerefMut for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn deref_mut(&mut self) -> &mut T

    Mutably dereferences the value.
    ","DerefMut","tuxedo_template_wallet::output_filter::Filter"],["
    1.36.0 · source§

    impl<F, A> Future for Box<F, A>
    where\n F: Future + Unpin + ?Sized,\n A: Allocator + 'static,

    §

    type Output = <F as Future>::Output

    The type of value produced on completion.
    source§

    fn poll(\n self: Pin<&mut Box<F, A>>,\n cx: &mut Context<'_>\n) -> Poll<<Box<F, A> as Future>::Output>

    Attempt to resolve the future to a final value, registering\nthe current task for wakeup if the value is not yet available. Read more
    ","Future","tuxedo_template_wallet::output_filter::Filter"],["
    1.5.0 · source§

    impl<T, A> AsRef<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_ref(&self) -> &T

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef","tuxedo_template_wallet::output_filter::Filter"],["
    1.0.0 · source§

    impl<T, A> Pointer for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.
    ","Pointer","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<T, U> DispatchFromDyn<Box<U>> for Box<T>
    where\n T: Unsize<U> + ?Sized,\n U: ?Sized,

    ","DispatchFromDyn>","tuxedo_template_wallet::output_filter::Filter"],["
    1.0.0 · source§

    impl<T, A> Hash for Box<T, A>
    where\n T: Hash + ?Sized,\n A: Allocator,

    source§

    fn hash<H>(&self, state: &mut H)
    where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> FromArgMatches for Box<T>
    where\n T: FromArgMatches,

    §

    fn from_arg_matches(matches: &ArgMatches) -> Result<Box<T>, Error>

    Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
    §

    fn from_arg_matches_mut(matches: &mut ArgMatches) -> Result<Box<T>, Error>

    Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
    §

    fn update_from_arg_matches(&mut self, matches: &ArgMatches) -> Result<(), Error>

    Assign values from ArgMatches to self.
    §

    fn update_from_arg_matches_mut(\n &mut self,\n matches: &mut ArgMatches\n) -> Result<(), Error>

    Assign values from ArgMatches to self.
    ","FromArgMatches","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> Parser for Box<T>
    where\n T: Parser,

    §

    fn parse() -> Box<T>

    Parse from std::env::args_os(), exit on error
    §

    fn try_parse() -> Result<Box<T>, Error>

    Parse from std::env::args_os(), return Err on error.
    §

    fn parse_from<I, It>(itr: I) -> Box<T>
    where\n I: IntoIterator<Item = It>,\n It: Into<OsString> + Clone,

    Parse from iterator, exit on error
    §

    fn try_parse_from<I, It>(itr: I) -> Result<Box<T>, Error>
    where\n I: IntoIterator<Item = It>,\n It: Into<OsString> + Clone,

    Parse from iterator, return Err on error.
    §

    fn update_from<I, T>(&mut self, itr: I)
    where\n I: IntoIterator<Item = T>,\n T: Into<OsString> + Clone,

    Update from iterator, exit on error
    §

    fn try_update_from<I, T>(&mut self, itr: I) -> Result<(), Error>
    where\n I: IntoIterator<Item = T>,\n T: Into<OsString> + Clone,

    Update from iterator, return Err on error.
    ","Parser","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> Subcommand for Box<T>
    where\n T: Subcommand,

    §

    fn augment_subcommands(cmd: Command) -> Command

    Append to [Command] so it can instantiate Self. Read more
    §

    fn augment_subcommands_for_update(cmd: Command) -> Command

    Append to [Command] so it can update self. Read more
    §

    fn has_subcommand(name: &str) -> bool

    Test whether Self can parse a specific subcommand
    ","Subcommand","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> CommandFactory for Box<T>
    where\n T: CommandFactory,

    §

    fn command<'help>() -> Command

    Build a [Command] that can instantiate Self. Read more
    §

    fn command_for_update<'help>() -> Command

    Build a [Command] that can update self. Read more
    ","CommandFactory","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> Args for Box<T>
    where\n T: Args,

    §

    fn augment_args(cmd: Command) -> Command

    Append to [Command] so it can instantiate Self. Read more
    §

    fn augment_args_for_update(cmd: Command) -> Command

    Append to [Command] so it can update self. Read more
    §

    fn group_id() -> Option<Id>

    Report the [ArgGroup::id][crate::ArgGroup::id] for this set of arguments
    ","Args","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> ValueParserFactory for Box<T>
    where\n T: ValueParserFactory + Send + Sync + Clone,\n <T as ValueParserFactory>::Parser: TypedValueParser<Value = T>,

    §

    type Parser = MapValueParser<<T as ValueParserFactory>::Parser, fn(_: T) -> Box<T>>

    Generated parser, usually [ValueParser]. Read more
    §

    fn value_parser() -> <Box<T> as ValueParserFactory>::Parser

    Create the specified [Self::Parser]
    ","ValueParserFactory","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> Buf for Box<T>
    where\n T: Buf + ?Sized,

    §

    fn remaining(&self) -> usize

    Returns the number of bytes between the current position and the end of\nthe buffer. Read more
    §

    fn chunk(&self) -> &[u8]

    Returns a slice starting at the current position and of length between 0\nand Buf::remaining(). Note that this can return shorter slice (this allows\nnon-continuous internal representation). Read more
    §

    fn chunks_vectored<'b>(&'b self, dst: &mut [IoSlice<'b>]) -> usize

    Fills dst with potentially multiple slices starting at self’s\ncurrent position. Read more
    §

    fn advance(&mut self, cnt: usize)

    Advance the internal cursor of the Buf Read more
    §

    fn has_remaining(&self) -> bool

    Returns true if there are any more bytes to consume Read more
    §

    fn copy_to_slice(&mut self, dst: &mut [u8])

    Copies bytes from self into dst. Read more
    §

    fn get_u8(&mut self) -> u8

    Gets an unsigned 8 bit integer from self. Read more
    §

    fn get_i8(&mut self) -> i8

    Gets a signed 8 bit integer from self. Read more
    §

    fn get_u16(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in big-endian byte order. Read more
    §

    fn get_u16_le(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in little-endian byte order. Read more
    §

    fn get_u16_ne(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in native-endian byte order. Read more
    §

    fn get_i16(&mut self) -> i16

    Gets a signed 16 bit integer from self in big-endian byte order. Read more
    §

    fn get_i16_le(&mut self) -> i16

    Gets a signed 16 bit integer from self in little-endian byte order. Read more
    §

    fn get_i16_ne(&mut self) -> i16

    Gets a signed 16 bit integer from self in native-endian byte order. Read more
    §

    fn get_u32(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in the big-endian byte order. Read more
    §

    fn get_u32_le(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in the little-endian byte order. Read more
    §

    fn get_u32_ne(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in native-endian byte order. Read more
    §

    fn get_i32(&mut self) -> i32

    Gets a signed 32 bit integer from self in big-endian byte order. Read more
    §

    fn get_i32_le(&mut self) -> i32

    Gets a signed 32 bit integer from self in little-endian byte order. Read more
    §

    fn get_i32_ne(&mut self) -> i32

    Gets a signed 32 bit integer from self in native-endian byte order. Read more
    §

    fn get_u64(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in big-endian byte order. Read more
    §

    fn get_u64_le(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in little-endian byte order. Read more
    §

    fn get_u64_ne(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in native-endian byte order. Read more
    §

    fn get_i64(&mut self) -> i64

    Gets a signed 64 bit integer from self in big-endian byte order. Read more
    §

    fn get_i64_le(&mut self) -> i64

    Gets a signed 64 bit integer from self in little-endian byte order. Read more
    §

    fn get_i64_ne(&mut self) -> i64

    Gets a signed 64 bit integer from self in native-endian byte order. Read more
    §

    fn get_uint(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in big-endian byte order. Read more
    §

    fn get_uint_le(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in little-endian byte order. Read more
    §

    fn get_uint_ne(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in native-endian byte order. Read more
    §

    fn get_int(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in big-endian byte order. Read more
    §

    fn get_int_le(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in little-endian byte order. Read more
    §

    fn get_int_ne(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in native-endian byte order. Read more
    §

    fn copy_to_bytes(&mut self, len: usize) -> Bytes

    Consumes len bytes inside self and returns new instance of Bytes\nwith this data. Read more
    §

    fn get_u128(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in big-endian byte order. Read more
    §

    fn get_u128_le(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in little-endian byte order. Read more
    §

    fn get_u128_ne(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in native-endian byte order. Read more
    §

    fn get_i128(&mut self) -> i128

    Gets a signed 128 bit integer from self in big-endian byte order. Read more
    §

    fn get_i128_le(&mut self) -> i128

    Gets a signed 128 bit integer from self in little-endian byte order. Read more
    §

    fn get_i128_ne(&mut self) -> i128

    Gets a signed 128 bit integer from self in native-endian byte order. Read more
    §

    fn get_f32(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in big-endian byte order. Read more
    §

    fn get_f32_le(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in little-endian byte order. Read more
    §

    fn get_f32_ne(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in native-endian byte order. Read more
    §

    fn get_f64(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in big-endian byte order. Read more
    §

    fn get_f64_le(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in little-endian byte order. Read more
    §

    fn get_f64_ne(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in native-endian byte order. Read more
    §

    fn take(self, limit: usize) -> Take<Self>
    where\n Self: Sized,

    Creates an adaptor which will read at most limit bytes from self. Read more
    §

    fn chain<U>(self, next: U) -> Chain<Self, U>
    where\n U: Buf,\n Self: Sized,

    Creates an adaptor which will chain this buffer with another. Read more
    §

    fn reader(self) -> Reader<Self>
    where\n Self: Sized,

    Creates an adaptor which implements the Read trait for self. Read more
    ","Buf","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> BufMut for Box<T>
    where\n T: BufMut + ?Sized,

    §

    fn remaining_mut(&self) -> usize

    Returns the number of bytes that can be written from the current\nposition until the end of the buffer is reached. Read more
    §

    fn chunk_mut(&mut self) -> &mut UninitSlice

    Returns a mutable slice starting at the current BufMut position and of\nlength between 0 and BufMut::remaining_mut(). Note that this can be shorter than the\nwhole remainder of the buffer (this allows non-continuous implementation). Read more
    §

    unsafe fn advance_mut(&mut self, cnt: usize)

    Advance the internal cursor of the BufMut Read more
    §

    fn put_slice(&mut self, src: &[u8])

    Transfer bytes into self from src and advance the cursor by the\nnumber of bytes written. Read more
    §

    fn put_u8(&mut self, n: u8)

    Writes an unsigned 8 bit integer to self. Read more
    §

    fn put_i8(&mut self, n: i8)

    Writes a signed 8 bit integer to self. Read more
    §

    fn put_u16(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in big-endian byte order. Read more
    §

    fn put_u16_le(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in little-endian byte order. Read more
    §

    fn put_u16_ne(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in native-endian byte order. Read more
    §

    fn put_i16(&mut self, n: i16)

    Writes a signed 16 bit integer to self in big-endian byte order. Read more
    §

    fn put_i16_le(&mut self, n: i16)

    Writes a signed 16 bit integer to self in little-endian byte order. Read more
    §

    fn put_i16_ne(&mut self, n: i16)

    Writes a signed 16 bit integer to self in native-endian byte order. Read more
    §

    fn put_u32(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in big-endian byte order. Read more
    §

    fn put_u32_le(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in little-endian byte order. Read more
    §

    fn put_u32_ne(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in native-endian byte order. Read more
    §

    fn put_i32(&mut self, n: i32)

    Writes a signed 32 bit integer to self in big-endian byte order. Read more
    §

    fn put_i32_le(&mut self, n: i32)

    Writes a signed 32 bit integer to self in little-endian byte order. Read more
    §

    fn put_i32_ne(&mut self, n: i32)

    Writes a signed 32 bit integer to self in native-endian byte order. Read more
    §

    fn put_u64(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in the big-endian byte order. Read more
    §

    fn put_u64_le(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in little-endian byte order. Read more
    §

    fn put_u64_ne(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in native-endian byte order. Read more
    §

    fn put_i64(&mut self, n: i64)

    Writes a signed 64 bit integer to self in the big-endian byte order. Read more
    §

    fn put_i64_le(&mut self, n: i64)

    Writes a signed 64 bit integer to self in little-endian byte order. Read more
    §

    fn put_i64_ne(&mut self, n: i64)

    Writes a signed 64 bit integer to self in native-endian byte order. Read more
    §

    fn has_remaining_mut(&self) -> bool

    Returns true if there is space in self for more bytes. Read more
    §

    fn put<T>(&mut self, src: T)
    where\n T: Buf,\n Self: Sized,

    Transfer bytes into self from src and advance the cursor by the\nnumber of bytes written. Read more
    §

    fn put_bytes(&mut self, val: u8, cnt: usize)

    Put cnt bytes val into self. Read more
    §

    fn put_u128(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in the big-endian byte order. Read more
    §

    fn put_u128_le(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in little-endian byte order. Read more
    §

    fn put_u128_ne(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in native-endian byte order. Read more
    §

    fn put_i128(&mut self, n: i128)

    Writes a signed 128 bit integer to self in the big-endian byte order. Read more
    §

    fn put_i128_le(&mut self, n: i128)

    Writes a signed 128 bit integer to self in little-endian byte order. Read more
    §

    fn put_i128_ne(&mut self, n: i128)

    Writes a signed 128 bit integer to self in native-endian byte order. Read more
    §

    fn put_uint(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in big-endian byte order. Read more
    §

    fn put_uint_le(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in the little-endian byte order. Read more
    §

    fn put_uint_ne(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in the native-endian byte order. Read more
    §

    fn put_int(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in big-endian byte order. Read more
    §

    fn put_int_le(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in little-endian byte order. Read more
    §

    fn put_int_ne(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in native-endian byte order. Read more
    §

    fn put_f32(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in big-endian byte order. Read more
    §

    fn put_f32_le(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in little-endian byte order. Read more
    §

    fn put_f32_ne(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in native-endian byte order. Read more
    §

    fn put_f64(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in big-endian byte order. Read more
    §

    fn put_f64_le(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in little-endian byte order. Read more
    §

    fn put_f64_ne(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in native-endian byte order. Read more
    §

    fn limit(self, limit: usize) -> Limit<Self>
    where\n Self: Sized,

    Creates an adaptor which can write at most limit bytes to self. Read more
    §

    fn writer(self) -> Writer<Self>
    where\n Self: Sized,

    Creates an adaptor which implements the Write trait for self. Read more
    §

    fn chain_mut<U>(self, next: U) -> Chain<Self, U>
    where\n U: BufMut,\n Self: Sized,

    Creates an adapter which will chain this buffer with another. Read more
    ","BufMut","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> AsyncRead for Box<T>
    where\n T: AsyncRead + Unpin + ?Sized,

    §

    fn poll_read(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &mut ReadBuf<'_>\n) -> Poll<Result<(), Error>>

    Attempts to read from the AsyncRead into buf. Read more
    ","AsyncRead","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> AsyncSeek for Box<T>
    where\n T: AsyncSeek + Unpin + ?Sized,

    §

    fn start_seek(self: Pin<&mut Box<T>>, pos: SeekFrom) -> Result<(), Error>

    Attempts to seek to an offset, in bytes, in a stream. Read more
    §

    fn poll_complete(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<u64, Error>>

    Waits for a seek operation to complete. Read more
    ","AsyncSeek","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> AsyncWrite for Box<T>
    where\n T: AsyncWrite + Unpin + ?Sized,

    §

    fn poll_write(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &[u8]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>]\n) -> Poll<Result<usize, Error>>

    Like poll_write, except that it writes from a slice of buffers. Read more
    §

    fn is_write_vectored(&self) -> bool

    Determines if this writer has an efficient poll_write_vectored\nimplementation. Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempts to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_shutdown(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Initiates or attempts to shut down this writer, returning success when\nthe I/O connection has completely shut down. Read more
    ","AsyncWrite","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> AsyncBufRead for Box<T>
    where\n T: AsyncBufRead + Unpin + ?Sized,

    §

    fn poll_fill_buf(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<&[u8], Error>>

    Attempts to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    §

    fn consume(self: Pin<&mut Box<T>>, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
    ","AsyncBufRead","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> Source for Box<T>
    where\n T: Source + ?Sized,

    §

    fn register(\n &mut self,\n registry: &Registry,\n token: Token,\n interests: Interest\n) -> Result<(), Error>

    Register self with the given Registry instance. Read more
    §

    fn reregister(\n &mut self,\n registry: &Registry,\n token: Token,\n interests: Interest\n) -> Result<(), Error>

    Re-register self with the given Registry instance. Read more
    §

    fn deregister(&mut self, registry: &Registry) -> Result<(), Error>

    Deregister self from the given Registry instance. Read more
    ","Source","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<S> Stream for Box<S>
    where\n S: Stream + Unpin + ?Sized,

    §

    type Item = <S as Stream>::Item

    Values yielded by the stream.
    §

    fn poll_next(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Box<S> as Stream>::Item>>

    Attempt to pull out the next value of this stream, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the stream is exhausted. Read more
    §

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the stream. Read more
    ","Stream","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<F> FusedFuture for Box<F>
    where\n F: FusedFuture + Unpin + ?Sized,

    §

    fn is_terminated(&self) -> bool

    Returns true if the underlying future should no longer be polled.
    ","FusedFuture","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<S> FusedStream for Box<S>
    where\n S: FusedStream + Unpin + ?Sized,

    §

    fn is_terminated(&self) -> bool

    Returns true if the stream should no longer be polled.
    ","FusedStream","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<Sp> Spawn for Box<Sp>
    where\n Sp: Spawn + ?Sized,

    §

    fn spawn_obj(&self, future: FutureObj<'static, ()>) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","Spawn","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<Sp> LocalSpawn for Box<Sp>
    where\n Sp: LocalSpawn + ?Sized,

    §

    fn spawn_local_obj(\n &self,\n future: LocalFutureObj<'static, ()>\n) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status_local(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","LocalSpawn","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<'a, T, F> UnsafeFutureObj<'a, T> for Box<F>
    where\n F: Future<Output = T> + 'a,

    §

    fn into_raw(self) -> *mut dyn Future<Output = T> + 'a

    Convert an owned instance into a (conceptually owned) fat pointer. Read more
    §

    unsafe fn drop(ptr: *mut dyn Future<Output = T> + 'a)

    Drops the future represented by the given fat pointer. Read more
    ","UnsafeFutureObj<'a, T>","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<S, Item> Sink<Item> for Box<S>
    where\n S: Sink<Item> + Unpin + ?Sized,

    §

    type Error = <S as Sink<Item>>::Error

    The type of value produced by the sink when an error occurs.
    §

    fn poll_ready(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Attempts to prepare the Sink to receive a value. Read more
    §

    fn start_send(\n self: Pin<&mut Box<S>>,\n item: Item\n) -> Result<(), <Box<S> as Sink<Item>>::Error>

    Begin the process of sending a value to the sink.\nEach call to this function must be preceded by a successful call to\npoll_ready which returned Poll::Ready(Ok(())). Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Flush any remaining output from this sink. Read more
    §

    fn poll_close(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Flush any remaining output and close this sink, if necessary. Read more
    ","Sink","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> AsyncWrite for Box<T>
    where\n T: AsyncWrite + Unpin + ?Sized,

    §

    fn poll_write(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &[u8]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from bufs into the object using vectored\nIO operations. Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempt to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_close(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempt to close the object. Read more
    ","AsyncWrite","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> AsyncRead for Box<T>
    where\n T: AsyncRead + Unpin + ?Sized,

    §

    fn poll_read(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &mut [u8]\n) -> Poll<Result<usize, Error>>

    Attempt to read from the AsyncRead into buf. Read more
    §

    fn poll_read_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &mut [IoSliceMut<'_>]\n) -> Poll<Result<usize, Error>>

    Attempt to read from the AsyncRead into bufs using vectored\nIO operations. Read more
    ","AsyncRead","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> AsyncSeek for Box<T>
    where\n T: AsyncSeek + Unpin + ?Sized,

    §

    fn poll_seek(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n pos: SeekFrom\n) -> Poll<Result<u64, Error>>

    Attempt to seek to an offset, in bytes, in a stream. Read more
    ","AsyncSeek","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> AsyncBufRead for Box<T>
    where\n T: AsyncBufRead + Unpin + ?Sized,

    §

    fn poll_fill_buf(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<&[u8], Error>>

    Attempt to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    §

    fn consume(self: Pin<&mut Box<T>>, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
    ","AsyncBufRead","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<T> Body for Box<T>
    where\n T: Body + Unpin + ?Sized,

    §

    type Data = <T as Body>::Data

    Values yielded by the Body.
    §

    type Error = <T as Body>::Error

    The error type this Body might generate.
    source§

    fn poll_data(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Option<Result<<Box<T> as Body>::Data, <Box<T> as Body>::Error>>>

    Attempt to pull out the next data buffer of this stream.
    source§

    fn poll_trailers(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<Option<HeaderMap>, <Box<T> as Body>::Error>>

    Poll for an optional single HeaderMap of trailers. Read more
    source§

    fn is_end_stream(&self) -> bool

    Returns true when the end of stream has been reached. Read more
    source§

    fn size_hint(&self) -> SizeHint

    Returns the bounds on the remaining length of the stream. Read more
    source§

    fn data(&mut self) -> Data<'_, Self>
    where\n Self: Unpin + Sized,

    Returns future that resolves to next data chunk, if any.
    source§

    fn trailers(&mut self) -> Trailers<'_, Self>
    where\n Self: Unpin + Sized,

    Returns future that resolves to trailers, if any.
    source§

    fn map_data<F, B>(self, f: F) -> MapData<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Data) -> B,\n B: Buf,

    Maps this body’s data value to a different value.
    source§

    fn map_err<F, E>(self, f: F) -> MapErr<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Error) -> E,

    Maps this body’s error value to a different value.
    ","Body","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> Value for Box<T>
    where\n T: Value + ?Sized,

    §

    fn record(&self, key: &Field, visitor: &mut dyn Visit)

    Visits this value with the given Visitor.
    ","Value","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<S> Subscriber for Box<S>
    where\n S: Subscriber + ?Sized,

    §

    fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest

    Registers a new callsite with this subscriber, returning whether or not\nthe subscriber is interested in being notified about the callsite. Read more
    §

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Returns true if a span or event with the specified metadata would be\nrecorded. Read more
    §

    fn max_level_hint(&self) -> Option<LevelFilter>

    Returns the highest verbosity level that this Subscriber will\nenable, or None, if the subscriber does not implement level-based\nfiltering or chooses not to implement this method. Read more
    §

    fn new_span(&self, span: &Attributes<'_>) -> Id

    Visit the construction of a new span, returning a new span ID for the\nspan being constructed. Read more
    §

    fn record(&self, span: &Id, values: &Record<'_>)

    Record a set of values on a span. Read more
    §

    fn record_follows_from(&self, span: &Id, follows: &Id)

    Adds an indication that span follows from the span with the id\nfollows. Read more
    §

    fn event_enabled(&self, event: &Event<'_>) -> bool

    Determine if an [Event] should be recorded. Read more
    §

    fn event(&self, event: &Event<'_>)

    Records that an Event has occurred. Read more
    §

    fn enter(&self, span: &Id)

    Records that a span has been entered. Read more
    §

    fn exit(&self, span: &Id)

    Records that a span has been exited. Read more
    §

    fn clone_span(&self, id: &Id) -> Id

    Notifies the subscriber that a span ID has been cloned. Read more
    §

    fn try_close(&self, id: Id) -> bool

    Notifies the subscriber that a span ID has been dropped, and returns\ntrue if there are now 0 IDs that refer to that span. Read more
    §

    fn drop_span(&self, id: Id)

    👎Deprecated since 0.1.2: use Subscriber::try_close instead
    This method is deprecated. Read more
    §

    fn current_span(&self) -> Current

    Returns a type representing this subscriber’s view of the current span. Read more
    §

    unsafe fn downcast_raw(&self, id: TypeId) -> Option<*const ()>

    If self is the same type as the provided TypeId, returns an untyped\n*const pointer to that type. Otherwise, returns None. Read more
    §

    fn on_register_dispatch(&self, subscriber: &Dispatch)

    Invoked when this subscriber becomes a [Dispatch]. Read more
    ","Subscriber","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<T> Log for Box<T>
    where\n T: Log + ?Sized,

    source§

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Determines if a log message with the specified metadata would be\nlogged. Read more
    source§

    fn log(&self, record: &Record<'_>)

    Logs the Record. Read more
    source§

    fn flush(&self)

    Flushes any buffered records.
    ","Log","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<S, Request> Service<Request> for Box<S>
    where\n S: Service<Request> + ?Sized,

    §

    type Response = <S as Service<Request>>::Response

    Responses given by the service.
    §

    type Error = <S as Service<Request>>::Error

    Errors produced by the service.
    §

    type Future = <S as Service<Request>>::Future

    The future response value.
    §

    fn poll_ready(\n &mut self,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <S as Service<Request>>::Error>>

    Returns Poll::Ready(Ok(())) when the service is able to process requests. Read more
    §

    fn call(&mut self, request: Request) -> <S as Service<Request>>::Future

    Process the request and return the response asynchronously. Read more
    ","Service","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<'de, T> Deserialize<'de> for Box<T>
    where\n T: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Box<T>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<T> Serialize for Box<T>
    where\n T: Serialize + ?Sized,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> IdProvider for Box<T>
    where\n T: IdProvider + ?Sized,

    §

    fn next_id(&self) -> SubscriptionId<'static>

    Returns the next ID for the subscription.
    ","IdProvider","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<R> CryptoRng for Box<R>
    where\n R: CryptoRng + ?Sized,

    ","CryptoRng","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<R> RngCore for Box<R>
    where\n R: RngCore + ?Sized,

    source§

    fn next_u32(&mut self) -> u32

    Return the next random u32. Read more
    source§

    fn next_u64(&mut self) -> u64

    Return the next random u64. Read more
    source§

    fn fill_bytes(&mut self, dest: &mut [u8])

    Fill dest with random data. Read more
    source§

    fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error>

    Fill dest entirely with random data. Read more
    ","RngCore","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<E> Extension for Box<E>
    where\n E: Extension + ?Sized,

    §

    fn is_enabled(&self) -> bool

    Is this extension enabled?
    §

    fn name(&self) -> &str

    The name of this extension.
    §

    fn params(&self) -> &[Param<'_>]

    The parameters this extension wants to send for negotiation.
    §

    fn configure(\n &mut self,\n params: &[Param<'_>]\n) -> Result<(), Box<dyn Error + Send + Sync>>

    Configure this extension with the parameters received from negotiation.
    §

    fn encode(\n &mut self,\n header: &mut Header,\n data: &mut Storage<'_>\n) -> Result<(), Box<dyn Error + Send + Sync>>

    Encode a frame, given as frame header and payload data.
    §

    fn decode(\n &mut self,\n header: &mut Header,\n data: &mut Vec<u8>\n) -> Result<(), Box<dyn Error + Send + Sync>>

    Decode a frame. Read more
    §

    fn reserved_bits(&self) -> (bool, bool, bool)

    The reserved bits this extension uses.
    ","Extension","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> WrapperTypeDecode for Box<T>

    §

    type Wrapped = T

    A wrapped type.
    ","WrapperTypeDecode","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> WrapperTypeEncode for Box<T>
    where\n T: ?Sized,

    ","WrapperTypeEncode","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> MaxEncodedLen for Box<T>
    where\n T: MaxEncodedLen,

    §

    fn max_encoded_len() -> usize

    Upper bound, in bytes, of the maximum encoded size of this item.
    ","MaxEncodedLen","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> EncodeLike for Box<T>
    where\n T: Encode + ?Sized,

    ","EncodeLike","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> EncodeLike<T> for Box<T>
    where\n T: Encode,

    ","EncodeLike","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> EncodeLike<Box<T>> for T
    where\n T: Encode,

    ","EncodeLike>","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> ConstEncodedLen for Box<T>
    where\n T: ConstEncodedLen,

    ","ConstEncodedLen","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> TypeInfo for Box<T>
    where\n T: TypeInfo + 'static + ?Sized,

    §

    type Identity = T

    The type identifying for which type info is provided. Read more
    §

    fn type_info() -> Type

    Returns the static type identifier for Self.
    ","TypeInfo","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> Externalities for Box<T>
    where\n T: Externalities + ?Sized,

    §

    fn is_validator(&self) -> bool

    Returns if the local node is a potential validator. Read more
    §

    fn network_state(&self) -> Result<OpaqueNetworkState, ()>

    Returns information about the local node’s network state.
    §

    fn timestamp(&mut self) -> Timestamp

    Returns current UNIX timestamp (in millis)
    §

    fn sleep_until(&mut self, deadline: Timestamp)

    Pause the execution until deadline is reached.
    §

    fn random_seed(&mut self) -> [u8; 32]

    Returns a random seed. Read more
    §

    fn http_request_start(\n &mut self,\n method: &str,\n uri: &str,\n meta: &[u8]\n) -> Result<HttpRequestId, ()>

    Initiates a http request given HTTP verb and the URL. Read more
    §

    fn http_request_add_header(\n &mut self,\n request_id: HttpRequestId,\n name: &str,\n value: &str\n) -> Result<(), ()>

    Append header to the request. Read more
    §

    fn http_request_write_body(\n &mut self,\n request_id: HttpRequestId,\n chunk: &[u8],\n deadline: Option<Timestamp>\n) -> Result<(), HttpError>

    Write a chunk of request body. Read more
    §

    fn http_response_wait(\n &mut self,\n ids: &[HttpRequestId],\n deadline: Option<Timestamp>\n) -> Vec<HttpRequestStatus>

    Block and wait for the responses for given requests. Read more
    §

    fn http_response_headers(\n &mut self,\n request_id: HttpRequestId\n) -> Vec<(Vec<u8>, Vec<u8>)>

    Read all response headers. Read more
    §

    fn http_response_read_body(\n &mut self,\n request_id: HttpRequestId,\n buffer: &mut [u8],\n deadline: Option<Timestamp>\n) -> Result<usize, HttpError>

    Read a chunk of body response to given buffer. Read more
    §

    fn set_authorized_nodes(\n &mut self,\n nodes: Vec<OpaquePeerId>,\n authorized_only: bool\n)

    Set the authorized nodes from runtime. Read more
    ","Externalities","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> DbExternalities for Box<T>
    where\n T: DbExternalities + ?Sized,

    §

    fn local_storage_set(&mut self, kind: StorageKind, key: &[u8], value: &[u8])

    Sets a value in the local storage. Read more
    §

    fn local_storage_clear(&mut self, kind: StorageKind, key: &[u8])

    Removes a value in the local storage. Read more
    §

    fn local_storage_compare_and_set(\n &mut self,\n kind: StorageKind,\n key: &[u8],\n old_value: Option<&[u8]>,\n new_value: &[u8]\n) -> bool

    Sets a value in the local storage if it matches current value. Read more
    §

    fn local_storage_get(\n &mut self,\n kind: StorageKind,\n key: &[u8]\n) -> Option<Vec<u8>>

    Gets a value from the local storage. Read more
    ","DbExternalities","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<'a, V> VisitOperator<'a> for Box<V>
    where\n V: VisitOperator<'a> + ?Sized,

    §

    type Output = <V as VisitOperator<'a>>::Output

    The result type of the visitor.
    §

    fn visit_operator(\n &mut self,\n op: &Operator<'a>\n) -> <Box<V> as VisitOperator<'a>>::Output

    Visits the [Operator] op using the given offset. Read more
    §

    fn visit_unreachable(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_nop(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_block(\n &mut self,\n blockty: BlockType\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_loop(\n &mut self,\n blockty: BlockType\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_if(\n &mut self,\n blockty: BlockType\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_else(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_try(\n &mut self,\n blockty: BlockType\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_catch(\n &mut self,\n tag_index: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_throw(\n &mut self,\n tag_index: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_rethrow(\n &mut self,\n relative_depth: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_end(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_br(\n &mut self,\n relative_depth: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_br_if(\n &mut self,\n relative_depth: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_br_table(\n &mut self,\n targets: BrTable<'a>\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_return(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_call(\n &mut self,\n function_index: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_call_indirect(\n &mut self,\n type_index: u32,\n table_index: u32,\n table_byte: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_return_call(\n &mut self,\n function_index: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_return_call_indirect(\n &mut self,\n type_index: u32,\n table_index: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_delegate(\n &mut self,\n relative_depth: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_catch_all(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_drop(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_select(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_typed_select(\n &mut self,\n ty: ValType\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_local_get(\n &mut self,\n local_index: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_local_set(\n &mut self,\n local_index: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_local_tee(\n &mut self,\n local_index: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_global_get(\n &mut self,\n global_index: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_global_set(\n &mut self,\n global_index: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_load(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_load(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_load(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_load(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_load8_s(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_load8_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_load16_s(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_load16_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_load8_s(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_load8_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_load16_s(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_load16_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_load32_s(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_load32_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_store(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_store(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_store(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_store(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_store8(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_store16(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_store8(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_store16(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_store32(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_memory_size(\n &mut self,\n mem: u32,\n mem_byte: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_memory_grow(\n &mut self,\n mem: u32,\n mem_byte: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_const(\n &mut self,\n value: i32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_const(\n &mut self,\n value: i64\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_const(\n &mut self,\n value: Ieee32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_const(\n &mut self,\n value: Ieee64\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_ref_null(\n &mut self,\n hty: HeapType\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_ref_is_null(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_ref_func(\n &mut self,\n function_index: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_eqz(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_eq(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_ne(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_lt_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_lt_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_gt_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_gt_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_le_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_le_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_ge_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_ge_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_eqz(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_eq(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_ne(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_lt_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_lt_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_gt_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_gt_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_le_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_le_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_ge_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_ge_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_eq(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_ne(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_lt(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_gt(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_le(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_ge(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_eq(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_ne(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_lt(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_gt(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_le(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_ge(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_clz(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_ctz(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_popcnt(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_add(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_sub(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_mul(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_div_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_div_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_rem_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_rem_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_and(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_or(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_xor(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_shl(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_shr_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_shr_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_rotl(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_rotr(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_clz(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_ctz(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_popcnt(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_add(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_sub(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_mul(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_div_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_div_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_rem_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_rem_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_and(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_or(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_xor(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_shl(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_shr_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_shr_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_rotl(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_rotr(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_abs(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_neg(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_ceil(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_floor(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_trunc(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_nearest(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_sqrt(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_add(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_sub(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_mul(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_div(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_min(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_max(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_copysign(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_abs(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_neg(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_ceil(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_floor(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_trunc(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_nearest(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_sqrt(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_add(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_sub(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_mul(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_div(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_min(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_max(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_copysign(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_wrap_i64(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_trunc_f32_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_trunc_f32_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_trunc_f64_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_trunc_f64_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_extend_i32_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_extend_i32_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_trunc_f32_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_trunc_f32_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_trunc_f64_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_trunc_f64_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_convert_i32_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_convert_i32_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_convert_i64_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_convert_i64_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_demote_f64(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_convert_i32_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_convert_i32_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_convert_i64_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_convert_i64_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_promote_f32(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_reinterpret_f32(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_reinterpret_f64(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_reinterpret_i32(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_reinterpret_i64(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_extend8_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_extend16_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_extend8_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_extend16_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_extend32_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_trunc_sat_f32_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_trunc_sat_f32_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_trunc_sat_f64_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_trunc_sat_f64_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_trunc_sat_f32_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_trunc_sat_f32_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_trunc_sat_f64_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_trunc_sat_f64_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_memory_init(\n &mut self,\n data_index: u32,\n mem: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_data_drop(\n &mut self,\n data_index: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_memory_copy(\n &mut self,\n dst_mem: u32,\n src_mem: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_memory_fill(\n &mut self,\n mem: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_table_init(\n &mut self,\n elem_index: u32,\n table: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_elem_drop(\n &mut self,\n elem_index: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_table_copy(\n &mut self,\n dst_table: u32,\n src_table: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_table_fill(\n &mut self,\n table: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_table_get(\n &mut self,\n table: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_table_set(\n &mut self,\n table: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_table_grow(\n &mut self,\n table: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_table_size(\n &mut self,\n table: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_memory_discard(\n &mut self,\n mem: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_memory_atomic_notify(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_memory_atomic_wait32(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_memory_atomic_wait64(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_atomic_fence(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_load(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_load(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_load8_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_load16_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_load8_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_load16_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_load32_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_store(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_store(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_store8(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_store16(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_store8(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_store16(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_store32(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw_add(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw_add(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw8_add_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw16_add_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw8_add_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw16_add_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw32_add_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw_sub(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw_sub(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw8_sub_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw16_sub_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw8_sub_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw16_sub_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw32_sub_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw_and(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw_and(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw8_and_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw16_and_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw8_and_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw16_and_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw32_and_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw_or(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw_or(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw8_or_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw16_or_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw8_or_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw16_or_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw32_or_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw_xor(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw_xor(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw8_xor_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw16_xor_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw8_xor_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw16_xor_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw32_xor_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw_xchg(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw_xchg(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw8_xchg_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw16_xchg_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw8_xchg_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw16_xchg_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw32_xchg_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw_cmpxchg(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw_cmpxchg(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw8_cmpxchg_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw16_cmpxchg_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw8_cmpxchg_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw16_cmpxchg_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw32_cmpxchg_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_load(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_load8x8_s(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_load8x8_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_load16x4_s(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_load16x4_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_load32x2_s(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_load32x2_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_load8_splat(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_load16_splat(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_load32_splat(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_load64_splat(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_load32_zero(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_load64_zero(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_store(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_load8_lane(\n &mut self,\n memarg: MemArg,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_load16_lane(\n &mut self,\n memarg: MemArg,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_load32_lane(\n &mut self,\n memarg: MemArg,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_load64_lane(\n &mut self,\n memarg: MemArg,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_store8_lane(\n &mut self,\n memarg: MemArg,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_store16_lane(\n &mut self,\n memarg: MemArg,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_store32_lane(\n &mut self,\n memarg: MemArg,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_store64_lane(\n &mut self,\n memarg: MemArg,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_const(\n &mut self,\n value: V128\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_shuffle(\n &mut self,\n lanes: [u8; 16]\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_extract_lane_s(\n &mut self,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_extract_lane_u(\n &mut self,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_replace_lane(\n &mut self,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_extract_lane_s(\n &mut self,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_extract_lane_u(\n &mut self,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_replace_lane(\n &mut self,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_extract_lane(\n &mut self,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_replace_lane(\n &mut self,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_extract_lane(\n &mut self,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_replace_lane(\n &mut self,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_extract_lane(\n &mut self,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_replace_lane(\n &mut self,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_extract_lane(\n &mut self,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_replace_lane(\n &mut self,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_swizzle(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_splat(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_splat(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_splat(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_splat(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_splat(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_splat(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_eq(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_ne(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_lt_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_lt_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_gt_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_gt_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_le_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_le_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_ge_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_ge_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_eq(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_ne(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_lt_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_lt_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_gt_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_gt_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_le_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_le_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_ge_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_ge_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_eq(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_ne(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_lt_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_lt_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_gt_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_gt_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_le_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_le_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_ge_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_ge_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_eq(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_ne(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_lt_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_gt_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_le_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_ge_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_eq(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_ne(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_lt(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_gt(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_le(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_ge(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_eq(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_ne(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_lt(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_gt(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_le(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_ge(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_not(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_and(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_andnot(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_or(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_xor(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_bitselect(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_any_true(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_abs(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_neg(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_popcnt(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_all_true(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_bitmask(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_narrow_i16x8_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_narrow_i16x8_u(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_shl(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_shr_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_shr_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_add(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_add_sat_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_add_sat_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_sub(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_sub_sat_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_sub_sat_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_min_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_min_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_max_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_max_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_avgr_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_extadd_pairwise_i8x16_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_extadd_pairwise_i8x16_u(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_abs(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_neg(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_q15mulr_sat_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_all_true(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_bitmask(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_narrow_i32x4_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_narrow_i32x4_u(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_extend_low_i8x16_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_extend_high_i8x16_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_extend_low_i8x16_u(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_extend_high_i8x16_u(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_shl(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_shr_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_shr_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_add(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_add_sat_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_add_sat_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_sub(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_sub_sat_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_sub_sat_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_mul(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_min_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_min_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_max_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_max_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_avgr_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_extmul_low_i8x16_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_extmul_high_i8x16_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_extmul_low_i8x16_u(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_extmul_high_i8x16_u(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_extadd_pairwise_i16x8_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_extadd_pairwise_i16x8_u(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_abs(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_neg(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_all_true(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_bitmask(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_extend_low_i16x8_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_extend_high_i16x8_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_extend_low_i16x8_u(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_extend_high_i16x8_u(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_shl(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_shr_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_shr_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_add(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_sub(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_mul(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_min_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_min_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_max_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_max_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_dot_i16x8_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_extmul_low_i16x8_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_extmul_high_i16x8_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_extmul_low_i16x8_u(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_extmul_high_i16x8_u(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_abs(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_neg(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_all_true(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_bitmask(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_extend_low_i32x4_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_extend_high_i32x4_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_extend_low_i32x4_u(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_extend_high_i32x4_u(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_shl(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_shr_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_shr_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_add(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_sub(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_mul(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_extmul_low_i32x4_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_extmul_high_i32x4_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_extmul_low_i32x4_u(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_extmul_high_i32x4_u(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_ceil(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_floor(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_trunc(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_nearest(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_abs(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_neg(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_sqrt(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_add(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_sub(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_mul(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_div(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_min(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_max(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_pmin(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_pmax(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_ceil(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_floor(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_trunc(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_nearest(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_abs(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_neg(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_sqrt(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_add(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_sub(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_mul(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_div(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_min(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_max(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_pmin(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_pmax(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_trunc_sat_f32x4_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_trunc_sat_f32x4_u(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_convert_i32x4_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_convert_i32x4_u(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_trunc_sat_f64x2_s_zero(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_trunc_sat_f64x2_u_zero(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_convert_low_i32x4_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_convert_low_i32x4_u(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_demote_f64x2_zero(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_promote_low_f32x4(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_relaxed_swizzle(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_relaxed_trunc_f32x4_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_relaxed_trunc_f32x4_u(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_relaxed_trunc_f64x2_s_zero(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_relaxed_trunc_f64x2_u_zero(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_relaxed_madd(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_relaxed_nmadd(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_relaxed_madd(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_relaxed_nmadd(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_relaxed_laneselect(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_relaxed_laneselect(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_relaxed_laneselect(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_relaxed_laneselect(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_relaxed_min(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_relaxed_max(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_relaxed_min(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_relaxed_max(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_relaxed_q15mulr_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_relaxed_dot_i8x16_i7x16_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_relaxed_dot_i8x16_i7x16_add_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_call_ref(\n &mut self,\n hty: HeapType\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_return_call_ref(\n &mut self,\n hty: HeapType\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_ref_as_non_null(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_br_on_null(\n &mut self,\n relative_depth: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_br_on_non_null(\n &mut self,\n relative_depth: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    ","VisitOperator<'a>","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> StableDeref for Box<T>
    where\n T: ?Sized,

    ","StableDeref","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<I> DoubleEndedFallibleIterator for Box<I>

    source§

    fn next_back(\n &mut self\n) -> Result<Option<<I as FallibleIterator>::Item>, <I as FallibleIterator>::Error>

    Advances the end of the iterator, returning the last value.
    source§

    fn rfold<B, F>(self, init: B, f: F) -> Result<B, Self::Error>
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> Result<B, Self::Error>,

    Applies a function over the elements of the iterator in reverse order, producing a single final value.
    source§

    fn try_rfold<B, E, F>(&mut self, init: B, f: F) -> Result<B, E>
    where\n Self: Sized,\n E: From<Self::Error>,\n F: FnMut(B, Self::Item) -> Result<B, E>,

    Applies a function over the elements of the iterator in reverse, producing a single final value. Read more
    ","DoubleEndedFallibleIterator","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<I> FallibleIterator for Box<I>
    where\n I: FallibleIterator + ?Sized,

    §

    type Item = <I as FallibleIterator>::Item

    The type being iterated over.
    §

    type Error = <I as FallibleIterator>::Error

    The error type.
    source§

    fn next(\n &mut self\n) -> Result<Option<<I as FallibleIterator>::Item>, <I as FallibleIterator>::Error>

    Advances the iterator and returns the next value. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns bounds on the remaining length of the iterator. Read more
    source§

    fn nth(\n &mut self,\n n: usize\n) -> Result<Option<<I as FallibleIterator>::Item>, <I as FallibleIterator>::Error>

    Returns the nth element of the iterator.
    source§

    fn count(self) -> Result<usize, Self::Error>
    where\n Self: Sized,

    Consumes the iterator, returning the number of remaining items.
    source§

    fn last(self) -> Result<Option<Self::Item>, Self::Error>
    where\n Self: Sized,

    Returns the last element of the iterator.
    source§

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n Self: Sized,

    Returns an iterator starting at the same point, but stepping by the given amount at each iteration. Read more
    source§

    fn chain<I>(self, it: I) -> Chain<Self, I>
    where\n I: IntoFallibleIterator<Item = Self::Item, Error = Self::Error>,\n Self: Sized,

    Returns an iterator which yields the elements of this iterator followed\nby another.
    source§

    fn zip<I>(\n self,\n o: I\n) -> Zip<Self, <I as IntoFallibleIterator>::IntoFallibleIter>
    where\n Self: Sized,\n I: IntoFallibleIterator<Error = Self::Error>,

    Returns an iterator that yields pairs of this iterator’s and another\niterator’s values.
    source§

    fn map<F, B>(self, f: F) -> Map<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Result<B, Self::Error>,

    Returns an iterator which applies a fallible transform to the elements\nof the underlying iterator.
    source§

    fn for_each<F>(self, f: F) -> Result<(), Self::Error>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Result<(), Self::Error>,

    Calls a fallible closure on each element of an iterator.
    source§

    fn filter<F>(self, f: F) -> Filter<Self, F>
    where\n Self: Sized,\n F: FnMut(&Self::Item) -> Result<bool, Self::Error>,

    Returns an iterator which uses a predicate to determine which values\nshould be yielded. The predicate may fail; such failures are passed to\nthe caller.
    source§

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Result<Option<B>, Self::Error>,

    Returns an iterator which both filters and maps. The closure may fail;\nsuch failures are passed along to the consumer.
    source§

    fn enumerate(self) -> Enumerate<Self>
    where\n Self: Sized,

    Returns an iterator which yields the current iteration count as well\nas the value.
    source§

    fn peekable(self) -> Peekable<Self>
    where\n Self: Sized,

    Returns an iterator that can peek at the next element without consuming\nit.
    source§

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> Result<bool, Self::Error>,

    Returns an iterator that skips elements based on a predicate.
    source§

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> Result<bool, Self::Error>,

    Returns an iterator that yields elements based on a predicate.
    source§

    fn skip(self, n: usize) -> Skip<Self>
    where\n Self: Sized,

    Returns an iterator which skips the first n values of this iterator.
    source§

    fn take(self, n: usize) -> Take<Self>
    where\n Self: Sized,

    Returns an iterator that yields only the first n values of this\niterator.
    source§

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n Self: Sized,\n F: FnMut(&mut St, Self::Item) -> Result<Option<B>, Self::Error>,

    Returns an iterator which applies a stateful map to values of this\niterator.
    source§

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n Self: Sized,\n U: IntoFallibleIterator<Error = Self::Error>,\n F: FnMut(Self::Item) -> Result<U, Self::Error>,

    Returns an iterator which maps this iterator’s elements to iterators, yielding those iterators’ values.
    source§

    fn fuse(self) -> Fuse<Self>
    where\n Self: Sized,

    Returns an iterator which yields this iterator’s elements and ends after\nthe first Ok(None). Read more
    source§

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n Self: Sized,\n F: FnMut(&Self::Item) -> Result<(), Self::Error>,

    Returns an iterator which passes each element to a closure before returning it.
    source§

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Borrow an iterator rather than consuming it. Read more
    source§

    fn collect<T>(self) -> Result<T, Self::Error>
    where\n T: FromFallibleIterator<Self::Item>,\n Self: Sized,

    Transforms the iterator into a collection. Read more
    source§

    fn partition<B, F>(self, f: F) -> Result<(B, B), Self::Error>
    where\n Self: Sized,\n B: Default + Extend<Self::Item>,\n F: FnMut(&Self::Item) -> Result<bool, Self::Error>,

    Transforms the iterator into two collections, partitioning elements by a closure.
    source§

    fn fold<B, F>(self, init: B, f: F) -> Result<B, Self::Error>
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> Result<B, Self::Error>,

    Applies a function over the elements of the iterator, producing a single\nfinal value.
    source§

    fn try_fold<B, E, F>(&mut self, init: B, f: F) -> Result<B, E>
    where\n Self: Sized,\n E: From<Self::Error>,\n F: FnMut(B, Self::Item) -> Result<B, E>,

    Applies a function over the elements of the iterator, producing a single final value. Read more
    source§

    fn all<F>(&mut self, f: F) -> Result<bool, Self::Error>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Result<bool, Self::Error>,

    Determines if all elements of this iterator match a predicate.
    source§

    fn any<F>(&mut self, f: F) -> Result<bool, Self::Error>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Result<bool, Self::Error>,

    Determines if any element of this iterator matches a predicate.
    source§

    fn find<F>(&mut self, f: F) -> Result<Option<Self::Item>, Self::Error>
    where\n Self: Sized,\n F: FnMut(&Self::Item) -> Result<bool, Self::Error>,

    Returns the first element of the iterator that matches a predicate.
    source§

    fn find_map<B, F>(&mut self, f: F) -> Result<Option<B>, Self::Error>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Result<Option<B>, Self::Error>,

    Applies a function to the elements of the iterator, returning the first non-None result.
    source§

    fn position<F>(&mut self, f: F) -> Result<Option<usize>, Self::Error>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Result<bool, Self::Error>,

    Returns the position of the first element of this iterator that matches\na predicate. The predicate may fail; such failures are returned to the\ncaller.
    source§

    fn max_by_key<B, F>(self, f: F) -> Result<Option<Self::Item>, Self::Error>
    where\n Self: Sized,\n B: Ord,\n F: FnMut(&Self::Item) -> Result<B, Self::Error>,

    Returns the element of the iterator which gives the maximum value from\nthe function.
    source§

    fn max_by<F>(self, f: F) -> Result<Option<Self::Item>, Self::Error>
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Result<Ordering, Self::Error>,

    Returns the element that gives the maximum value with respect to the function.
    source§

    fn min_by_key<B, F>(self, f: F) -> Result<Option<Self::Item>, Self::Error>
    where\n Self: Sized,\n B: Ord,\n F: FnMut(&Self::Item) -> Result<B, Self::Error>,

    Returns the element of the iterator which gives the minimum value from\nthe function.
    source§

    fn min_by<F>(self, f: F) -> Result<Option<Self::Item>, Self::Error>
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Result<Ordering, Self::Error>,

    Returns the element that gives the minimum value with respect to the function.
    source§

    fn unzip<A, B, FromA, FromB>(self) -> Result<(FromA, FromB), Self::Error>
    where\n Self: Sized + FallibleIterator<Item = (A, B)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,

    Converts an iterator of pairs into a pair of containers.
    source§

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n Self: Sized + FallibleIterator<Item = &'a T>,\n T: 'a + Clone,

    Returns an iterator which clones all of its elements.
    source§

    fn partial_cmp<I>(self, other: I) -> Result<Option<Ordering>, Self::Error>
    where\n Self: Sized,\n I: IntoFallibleIterator<Error = Self::Error>,\n Self::Item: PartialOrd<<I as IntoFallibleIterator>::Item>,

    Lexicographically compares the elements of this iterator to that of\nanother.
    source§

    fn eq<I>(self, other: I) -> Result<bool, Self::Error>
    where\n Self: Sized,\n I: IntoFallibleIterator<Error = Self::Error>,\n Self::Item: PartialEq<<I as IntoFallibleIterator>::Item>,

    Determines if the elements of this iterator are equal to those of\nanother.
    source§

    fn ne<I>(self, other: I) -> Result<bool, Self::Error>
    where\n Self: Sized,\n I: IntoFallibleIterator<Error = Self::Error>,\n Self::Item: PartialEq<<I as IntoFallibleIterator>::Item>,

    Determines if the elements of this iterator are not equal to those of\nanother.
    source§

    fn lt<I>(self, other: I) -> Result<bool, Self::Error>
    where\n Self: Sized,\n I: IntoFallibleIterator<Error = Self::Error>,\n Self::Item: PartialOrd<<I as IntoFallibleIterator>::Item>,

    Determines if the elements of this iterator are lexicographically less\nthan those of another.
    source§

    fn le<I>(self, other: I) -> Result<bool, Self::Error>
    where\n Self: Sized,\n I: IntoFallibleIterator<Error = Self::Error>,\n Self::Item: PartialOrd<<I as IntoFallibleIterator>::Item>,

    Determines if the elements of this iterator are lexicographically less\nthan or equal to those of another.
    source§

    fn gt<I>(self, other: I) -> Result<bool, Self::Error>
    where\n Self: Sized,\n I: IntoFallibleIterator<Error = Self::Error>,\n Self::Item: PartialOrd<<I as IntoFallibleIterator>::Item>,

    Determines if the elements of this iterator are lexicographically\ngreater than those of another.
    source§

    fn ge<I>(self, other: I) -> Result<bool, Self::Error>
    where\n Self: Sized,\n I: IntoFallibleIterator<Error = Self::Error>,\n Self::Item: PartialOrd<<I as IntoFallibleIterator>::Item>,

    Determines if the elements of this iterator are lexicographically\ngreater than or equal to those of another.
    source§

    fn iterator(self) -> Iterator<Self>
    where\n Self: Sized,

    Returns a normal (non-fallible) iterator over Result<Item, Error>.
    source§

    fn map_err<B, F>(self, f: F) -> MapErr<Self, F>
    where\n F: FnMut(Self::Error) -> B,\n Self: Sized,

    Returns an iterator which applies a transform to the errors of the\nunderlying iterator.
    ","FallibleIterator","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> WriteColor for Box<T>
    where\n T: WriteColor + ?Sized,

    §

    fn supports_color(&self) -> bool

    Returns true if and only if the underlying writer supports colors.
    §

    fn supports_hyperlinks(&self) -> bool

    Returns true if and only if the underlying writer supports hyperlinks. Read more
    §

    fn set_color(&mut self, spec: &ColorSpec) -> Result<(), Error>

    Set the color settings of the writer. Read more
    §

    fn set_hyperlink(&mut self, link: &HyperlinkSpec<'_>) -> Result<(), Error>

    Set the current hyperlink of the writer. Read more
    §

    fn reset(&mut self) -> Result<(), Error>

    Reset the current color settings to their original settings. Read more
    §

    fn is_synchronous(&self) -> bool

    Returns true if and only if the underlying writer must synchronously\ninteract with an end user’s device in order to control colors. By\ndefault, this always returns false. Read more
    ","WriteColor","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<L, S> Layer<S> for Box<L>
    where\n L: Layer<S>,\n S: Subscriber,

    source§

    fn on_layer(&mut self, subscriber: &mut S)

    Performs late initialization when attaching a Layer to a\n[Subscriber]. Read more
    source§

    fn new_span(&self, attrs: &Attributes<'_>, id: &Id, ctx: Context<'_, S>)

    Notifies this layer that a new span was constructed with the given\nAttributes and Id.
    source§

    fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest

    Registers a new callsite with this layer, returning whether or not\nthe layer is interested in being notified about the callsite, similarly\nto Subscriber::register_callsite. Read more
    source§

    fn enabled(&self, metadata: &Metadata<'_>, ctx: Context<'_, S>) -> bool

    Returns true if this layer is interested in a span or event with the\ngiven metadata in the current Context, similarly to\nSubscriber::enabled. Read more
    source§

    fn on_record(&self, span: &Id, values: &Record<'_>, ctx: Context<'_, S>)

    Notifies this layer that a span with the given Id recorded the given\nvalues.
    source§

    fn on_follows_from(&self, span: &Id, follows: &Id, ctx: Context<'_, S>)

    Notifies this layer that a span with the ID span recorded that it\nfollows from the span with the ID follows.
    source§

    fn on_event(&self, event: &Event<'_>, ctx: Context<'_, S>)

    Notifies this layer that an event has occurred.
    source§

    fn on_enter(&self, id: &Id, ctx: Context<'_, S>)

    Notifies this layer that a span with the given ID was entered.
    source§

    fn on_exit(&self, id: &Id, ctx: Context<'_, S>)

    Notifies this layer that the span with the given ID was exited.
    source§

    fn on_close(&self, id: Id, ctx: Context<'_, S>)

    Notifies this layer that the span with the given ID has been closed.
    source§

    fn on_id_change(&self, old: &Id, new: &Id, ctx: Context<'_, S>)

    Notifies this layer that a span ID has been cloned, and that the\nsubscriber returned a different ID.
    source§

    fn and_then<L>(self, layer: L) -> Layered<L, Self, S>
    where\n L: Layer<S>,\n Self: Sized,

    Composes this layer around the given Layer, returning a Layered\nstruct implementing Layer. Read more
    source§

    fn with_subscriber(self, inner: S) -> Layered<Self, S>
    where\n Self: Sized,

    Composes this Layer with the given Subscriber, returning a\nLayered struct that implements Subscriber. Read more
    source§

    fn with_filter<F>(self, filter: F) -> Filtered<Self, F, S>
    where\n Self: Sized,\n F: Filter<S>,

    Combines self with a Filter, returning a Filtered layer. Read more
    ","Layer","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<T> Clear for Box<T>
    where\n T: Clear,

    source§

    fn clear(&mut self)

    Clear all data in self, retaining the allocated capacithy.
    ","Clear","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> Encodable for Box<T>
    where\n T: Encodable + ?Sized,

    §

    fn rlp_append(&self, s: &mut RlpStream)

    Append a value to the stream
    §

    fn rlp_bytes(&self) -> BytesMut

    Get rlp-encoded bytes for this instance
    ","Encodable","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> Decodable for Box<T>
    where\n T: Decodable,

    §

    fn decode(rlp: &Rlp<'_>) -> Result<Box<T>, DecoderError>

    Decode a value from RLP bytes
    ","Decodable","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<S> DebugSecret for Box<S>
    where\n S: DebugSecret + Zeroize,

    source§

    fn debug_secret(f: &mut Formatter<'_>) -> Result<(), Error>

    Format information about the secret’s type. Read more
    ","DebugSecret","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<W> WriteFormatted for Box<W>
    where\n W: Write + ?Sized,

    source§

    fn write_formatted<F, N>(&mut self, n: &N, format: &F) -> Result<usize, Error>
    where\n F: Format,\n N: ToFormattedString,

    Formats the provided number according to the provided format and then writes the resulting\nbytes to the object. Meant to be analagous to io::Write’s write_all method or\nfmt::Write’s write_str method. On success, returns the number of bytes written. Read more
    ","WriteFormatted","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<R> RngCore for Box<R>
    where\n R: RngCore + ?Sized,

    source§

    fn next_u32(&mut self) -> u32

    Return the next random u32. Read more
    source§

    fn next_u64(&mut self) -> u64

    Return the next random u64. Read more
    source§

    fn fill_bytes(&mut self, dest: &mut [u8])

    Fill dest with random data. Read more
    source§

    fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error>

    Fill dest entirely with random data. Read more
    ","RngCore","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<R> CryptoRng for Box<R>
    where\n R: CryptoRng + ?Sized,

    ","CryptoRng","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<P> TInputProtocol for Box<P>
    where\n P: TInputProtocol + ?Sized,

    §

    fn read_message_begin(&mut self) -> Result<TMessageIdentifier, Error>

    Read the beginning of a Thrift message.
    §

    fn read_message_end(&mut self) -> Result<(), Error>

    Read the end of a Thrift message.
    §

    fn read_struct_begin(&mut self) -> Result<Option<TStructIdentifier>, Error>

    Read the beginning of a Thrift struct.
    §

    fn read_struct_end(&mut self) -> Result<(), Error>

    Read the end of a Thrift struct.
    §

    fn read_field_begin(&mut self) -> Result<TFieldIdentifier, Error>

    Read the beginning of a Thrift struct field.
    §

    fn read_field_end(&mut self) -> Result<(), Error>

    Read the end of a Thrift struct field.
    §

    fn read_bool(&mut self) -> Result<bool, Error>

    Read a bool.
    §

    fn read_bytes(&mut self) -> Result<Vec<u8>, Error>

    Read a fixed-length byte array.
    §

    fn read_i8(&mut self) -> Result<i8, Error>

    Read a word.
    §

    fn read_i16(&mut self) -> Result<i16, Error>

    Read a 16-bit signed integer.
    §

    fn read_i32(&mut self) -> Result<i32, Error>

    Read a 32-bit signed integer.
    §

    fn read_i64(&mut self) -> Result<i64, Error>

    Read a 64-bit signed integer.
    §

    fn read_double(&mut self) -> Result<f64, Error>

    Read a 64-bit float.
    §

    fn read_string(&mut self) -> Result<String, Error>

    Read a fixed-length string (not null terminated).
    §

    fn read_list_begin(&mut self) -> Result<TListIdentifier, Error>

    Read the beginning of a list.
    §

    fn read_list_end(&mut self) -> Result<(), Error>

    Read the end of a list.
    §

    fn read_set_begin(&mut self) -> Result<TSetIdentifier, Error>

    Read the beginning of a set.
    §

    fn read_set_end(&mut self) -> Result<(), Error>

    Read the end of a set.
    §

    fn read_map_begin(&mut self) -> Result<TMapIdentifier, Error>

    Read the beginning of a map.
    §

    fn read_map_end(&mut self) -> Result<(), Error>

    Read the end of a map.
    §

    fn read_byte(&mut self) -> Result<u8, Error>

    Read an unsigned byte. Read more
    §

    fn skip(&mut self, field_type: TType) -> Result<(), Error>

    Skip a field with type field_type recursively until the default\nmaximum skip depth is reached.
    §

    fn skip_till_depth(&mut self, field_type: TType, depth: i8) -> Result<(), Error>

    Skip a field with type field_type recursively up to depth levels.
    ","TInputProtocol","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> TWriteTransportFactory for Box<T>
    where\n T: TWriteTransportFactory + ?Sized,

    §

    fn create(\n &self,\n channel: Box<dyn Write + Send>\n) -> Box<dyn TWriteTransport + Send>

    Create a TTransport that wraps a channel over which bytes are to be sent.
    ","TWriteTransportFactory","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> TReadTransportFactory for Box<T>
    where\n T: TReadTransportFactory + ?Sized,

    §

    fn create(\n &self,\n channel: Box<dyn Read + Send>\n) -> Box<dyn TReadTransport + Send>

    Create a TTransport that wraps a channel over which bytes are to be read.
    ","TReadTransportFactory","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<P> TOutputProtocol for Box<P>
    where\n P: TOutputProtocol + ?Sized,

    §

    fn write_message_begin(\n &mut self,\n identifier: &TMessageIdentifier\n) -> Result<(), Error>

    Write the beginning of a Thrift message.
    §

    fn write_message_end(&mut self) -> Result<(), Error>

    Write the end of a Thrift message.
    §

    fn write_struct_begin(\n &mut self,\n identifier: &TStructIdentifier\n) -> Result<(), Error>

    Write the beginning of a Thrift struct.
    §

    fn write_struct_end(&mut self) -> Result<(), Error>

    Write the end of a Thrift struct.
    §

    fn write_field_begin(\n &mut self,\n identifier: &TFieldIdentifier\n) -> Result<(), Error>

    Write the beginning of a Thrift field.
    §

    fn write_field_end(&mut self) -> Result<(), Error>

    Write the end of a Thrift field.
    §

    fn write_field_stop(&mut self) -> Result<(), Error>

    Write a STOP field indicating that all the fields in a struct have been\nwritten.
    §

    fn write_bool(&mut self, b: bool) -> Result<(), Error>

    Write a bool.
    §

    fn write_bytes(&mut self, b: &[u8]) -> Result<(), Error>

    Write a fixed-length byte array.
    §

    fn write_i8(&mut self, i: i8) -> Result<(), Error>

    Write an 8-bit signed integer.
    §

    fn write_i16(&mut self, i: i16) -> Result<(), Error>

    Write a 16-bit signed integer.
    §

    fn write_i32(&mut self, i: i32) -> Result<(), Error>

    Write a 32-bit signed integer.
    §

    fn write_i64(&mut self, i: i64) -> Result<(), Error>

    Write a 64-bit signed integer.
    §

    fn write_double(&mut self, d: f64) -> Result<(), Error>

    Write a 64-bit float.
    §

    fn write_string(&mut self, s: &str) -> Result<(), Error>

    Write a fixed-length string.
    §

    fn write_list_begin(\n &mut self,\n identifier: &TListIdentifier\n) -> Result<(), Error>

    Write the beginning of a list.
    §

    fn write_list_end(&mut self) -> Result<(), Error>

    Write the end of a list.
    §

    fn write_set_begin(&mut self, identifier: &TSetIdentifier) -> Result<(), Error>

    Write the beginning of a set.
    §

    fn write_set_end(&mut self) -> Result<(), Error>

    Write the end of a set.
    §

    fn write_map_begin(&mut self, identifier: &TMapIdentifier) -> Result<(), Error>

    Write the beginning of a map.
    §

    fn write_map_end(&mut self) -> Result<(), Error>

    Write the end of a map.
    §

    fn flush(&mut self) -> Result<(), Error>

    Flush buffered bytes to the underlying transport.
    §

    fn write_byte(&mut self, b: u8) -> Result<(), Error>

    Write an unsigned byte. Read more
    ","TOutputProtocol","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> TInputProtocolFactory for Box<T>
    where\n T: TInputProtocolFactory + ?Sized,

    §

    fn create(\n &self,\n transport: Box<dyn TReadTransport + Send>\n) -> Box<dyn TInputProtocol + Send>

    ","TInputProtocolFactory","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> TOutputProtocolFactory for Box<T>
    where\n T: TOutputProtocolFactory + ?Sized,

    §

    fn create(\n &self,\n transport: Box<dyn TWriteTransport + Send>\n) -> Box<dyn TOutputProtocol + Send>

    Create a TOutputProtocol that writes bytes to transport.
    ","TOutputProtocolFactory","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<M> Message for Box<M>
    where\n M: Message,

    source§

    fn encoded_len(&self) -> usize

    Returns the encoded length of the message without a length delimiter.
    source§

    fn clear(&mut self)

    Clears the message, resetting all fields to their default.
    source§

    fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
    where\n B: BufMut,\n Self: Sized,

    Encodes the message to a buffer. Read more
    source§

    fn encode_to_vec(&self) -> Vec<u8>
    where\n Self: Sized,

    Encodes the message to a newly allocated buffer.
    source§

    fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
    where\n B: BufMut,\n Self: Sized,

    Encodes the message with a length-delimiter to a buffer. Read more
    source§

    fn encode_length_delimited_to_vec(&self) -> Vec<u8>
    where\n Self: Sized,

    Encodes the message with a length-delimiter to a newly allocated buffer.
    source§

    fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
    where\n B: Buf,\n Self: Sized,

    Decodes an instance of the message from a buffer, and merges it into self. Read more
    source§

    fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
    where\n B: Buf,\n Self: Sized,

    Decodes a length-delimited instance of the message from buffer, and\nmerges it into self.
    ","Message","tuxedo_template_wallet::output_filter::Filter"]] +"tuxedo_template_wallet":[["
    §

    impl<T> Args for Box<T>
    where\n T: Args,

    §

    fn augment_args(cmd: Command) -> Command

    Append to [Command] so it can instantiate Self. Read more
    §

    fn augment_args_for_update(cmd: Command) -> Command

    Append to [Command] so it can update self. Read more
    §

    fn group_id() -> Option<Id>

    Report the [ArgGroup::id][crate::ArgGroup::id] for this set of arguments
    ","Args","tuxedo_template_wallet::output_filter::Filter"],["
    1.64.0 · source§

    impl<T> AsFd for Box<T>
    where\n T: AsFd + ?Sized,

    source§

    fn as_fd(&self) -> BorrowedFd<'_>

    Borrows the file descriptor. Read more
    ","AsFd","tuxedo_template_wallet::output_filter::Filter"],["
    1.5.0 · source§

    impl<T, A> AsMut<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_mut(&mut self) -> &mut T

    Converts this type into a mutable reference of the (usually inferred) input type.
    ","AsMut","tuxedo_template_wallet::output_filter::Filter"],["
    1.63.0 · source§

    impl<T> AsRawFd for Box<T>
    where\n T: AsRawFd,

    source§

    fn as_raw_fd(&self) -> i32

    Extracts the raw file descriptor. Read more
    ","AsRawFd","tuxedo_template_wallet::output_filter::Filter"],["
    1.5.0 · source§

    impl<T, A> AsRef<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_ref(&self) -> &T

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> AsyncBufRead for Box<T>
    where\n T: AsyncBufRead + Unpin + ?Sized,

    §

    fn poll_fill_buf(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<&[u8], Error>>

    Attempt to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    §

    fn consume(self: Pin<&mut Box<T>>, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
    ","AsyncBufRead","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> AsyncBufRead for Box<T>
    where\n T: AsyncBufRead + Unpin + ?Sized,

    §

    fn poll_fill_buf(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<&[u8], Error>>

    Attempts to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    §

    fn consume(self: Pin<&mut Box<T>>, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
    ","AsyncBufRead","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<Args, F, A> AsyncFn<Args> for Box<F, A>
    where\n Args: Tuple,\n F: AsyncFn<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn async_call(\n &self,\n args: Args\n) -> <Box<F, A> as AsyncFnMut<Args>>::CallRefFuture<'_>

    🔬This is a nightly-only experimental API. (async_fn_traits)
    Call the AsyncFn, returning a future which may borrow from the called closure.
    ","AsyncFn","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<Args, F, A> AsyncFnMut<Args> for Box<F, A>
    where\n Args: Tuple,\n F: AsyncFnMut<Args> + ?Sized,\n A: Allocator,

    §

    type CallRefFuture<'a> = <F as AsyncFnMut<Args>>::CallRefFuture<'a>\nwhere\n Box<F, A>: 'a

    🔬This is a nightly-only experimental API. (async_fn_traits)
    source§

    extern "rust-call" fn async_call_mut(\n &mut self,\n args: Args\n) -> <Box<F, A> as AsyncFnMut<Args>>::CallRefFuture<'_>

    🔬This is a nightly-only experimental API. (async_fn_traits)
    Call the AsyncFnMut, returning a future which may borrow from the called closure.
    ","AsyncFnMut","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<Args, F, A> AsyncFnOnce<Args> for Box<F, A>
    where\n Args: Tuple,\n F: AsyncFnOnce<Args> + ?Sized,\n A: Allocator,

    §

    type Output = <F as AsyncFnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (async_fn_traits)
    Output type of the called closure’s future.
    §

    type CallOnceFuture = <F as AsyncFnOnce<Args>>::CallOnceFuture

    🔬This is a nightly-only experimental API. (async_fn_traits)
    Future returned by AsyncFnOnce::async_call_once.
    source§

    extern "rust-call" fn async_call_once(\n self,\n args: Args\n) -> <Box<F, A> as AsyncFnOnce<Args>>::CallOnceFuture

    🔬This is a nightly-only experimental API. (async_fn_traits)
    Call the AsyncFnOnce, returning a future which may move out of the called closure.
    ","AsyncFnOnce","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<S> AsyncIterator for Box<S>
    where\n S: AsyncIterator + Unpin + ?Sized,

    §

    type Item = <S as AsyncIterator>::Item

    🔬This is a nightly-only experimental API. (async_iterator)
    The type of items yielded by the async iterator.
    source§

    fn poll_next(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Box<S> as AsyncIterator>::Item>>

    🔬This is a nightly-only experimental API. (async_iterator)
    Attempt to pull out the next value of this async iterator, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the async iterator is exhausted. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    🔬This is a nightly-only experimental API. (async_iterator)
    Returns the bounds on the remaining length of the async iterator. Read more
    ","AsyncIterator","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> AsyncRead for Box<T>
    where\n T: AsyncRead + Unpin + ?Sized,

    §

    fn poll_read(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &mut ReadBuf<'_>\n) -> Poll<Result<(), Error>>

    Attempts to read from the AsyncRead into buf. Read more
    ","AsyncRead","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> AsyncRead for Box<T>
    where\n T: AsyncRead + Unpin + ?Sized,

    §

    fn poll_read(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &mut [u8]\n) -> Poll<Result<usize, Error>>

    Attempt to read from the AsyncRead into buf. Read more
    §

    fn poll_read_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &mut [IoSliceMut<'_>]\n) -> Poll<Result<usize, Error>>

    Attempt to read from the AsyncRead into bufs using vectored\nIO operations. Read more
    ","AsyncRead","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> AsyncSeek for Box<T>
    where\n T: AsyncSeek + Unpin + ?Sized,

    §

    fn poll_seek(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n pos: SeekFrom\n) -> Poll<Result<u64, Error>>

    Attempt to seek to an offset, in bytes, in a stream. Read more
    ","AsyncSeek","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> AsyncSeek for Box<T>
    where\n T: AsyncSeek + Unpin + ?Sized,

    §

    fn start_seek(self: Pin<&mut Box<T>>, pos: SeekFrom) -> Result<(), Error>

    Attempts to seek to an offset, in bytes, in a stream. Read more
    §

    fn poll_complete(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<u64, Error>>

    Waits for a seek operation to complete. Read more
    ","AsyncSeek","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> AsyncWrite for Box<T>
    where\n T: AsyncWrite + Unpin + ?Sized,

    §

    fn poll_write(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &[u8]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from bufs into the object using vectored\nIO operations. Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempt to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_close(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempt to close the object. Read more
    ","AsyncWrite","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> AsyncWrite for Box<T>
    where\n T: AsyncWrite + Unpin + ?Sized,

    §

    fn poll_write(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &[u8]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>]\n) -> Poll<Result<usize, Error>>

    Like poll_write, except that it writes from a slice of buffers. Read more
    §

    fn is_write_vectored(&self) -> bool

    Determines if this writer has an efficient poll_write_vectored\nimplementation. Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempts to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_shutdown(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Initiates or attempts to shut down this writer, returning success when\nthe I/O connection has completely shut down. Read more
    ","AsyncWrite","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<T> Body for Box<T>
    where\n T: Body + Unpin + ?Sized,

    §

    type Data = <T as Body>::Data

    Values yielded by the Body.
    §

    type Error = <T as Body>::Error

    The error type this Body might generate.
    source§

    fn poll_data(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Option<Result<<Box<T> as Body>::Data, <Box<T> as Body>::Error>>>

    Attempt to pull out the next data buffer of this stream.
    source§

    fn poll_trailers(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<Option<HeaderMap>, <Box<T> as Body>::Error>>

    Poll for an optional single HeaderMap of trailers. Read more
    source§

    fn is_end_stream(&self) -> bool

    Returns true when the end of stream has been reached. Read more
    source§

    fn size_hint(&self) -> SizeHint

    Returns the bounds on the remaining length of the stream. Read more
    source§

    fn data(&mut self) -> Data<'_, Self>
    where\n Self: Sized + Unpin,

    Returns future that resolves to next data chunk, if any.
    source§

    fn trailers(&mut self) -> Trailers<'_, Self>
    where\n Self: Sized + Unpin,

    Returns future that resolves to trailers, if any.
    source§

    fn map_data<F, B>(self, f: F) -> MapData<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Data) -> B,\n B: Buf,

    Maps this body’s data value to a different value.
    source§

    fn map_err<F, E>(self, f: F) -> MapErr<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Error) -> E,

    Maps this body’s error value to a different value.
    source§

    fn collect(self) -> Collect<Self>
    where\n Self: Sized,

    Turn this body into Collected body which will collect all the DATA frames\nand trailers.
    ","Body","tuxedo_template_wallet::output_filter::Filter"],["
    1.1.0 · source§

    impl<T, A> Borrow<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    ","Borrow","tuxedo_template_wallet::output_filter::Filter"],["
    1.1.0 · source§

    impl<T, A> BorrowMut<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    ","BorrowMut","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<T> Box<T>

    1.0.0 · source

    pub fn new(x: T) -> Box<T>

    Allocates memory on the heap and then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    §Examples
    \n
    let five = Box::new(5);
    \n
    source

    pub fn new_uninit() -> Box<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new box with uninitialized contents.

    \n
    §Examples
    \n
    #![feature(new_uninit)]\n\nlet mut five = Box::<u32>::new_uninit();\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn new_zeroed() -> Box<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(new_uninit)]\n\nlet zero = Box::<u32>::new_zeroed();\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    1.33.0 · source

    pub fn pin(x: T) -> Pin<Box<T>>

    Constructs a new Pin<Box<T>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin(x)\ndoes the same as Box::into_pin(Box::new(x)). Consider using\ninto_pin if you already have a Box<T>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new.

    \n
    source

    pub fn try_new(x: T) -> Result<Box<T>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory on the heap then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nlet five = Box::try_new(5)?;
    \n
    source

    pub fn try_new_uninit() -> Result<Box<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents on the heap,\nreturning an error if the allocation fails

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet mut five = Box::<u32>::try_new_uninit()?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn try_new_zeroed() -> Result<Box<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes on the heap

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet zero = Box::<u32>::try_new_zeroed()?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    ",0,"tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<T> Box<T>
    where\n T: ?Sized,

    1.4.0 · source

    pub unsafe fn from_raw(raw: *mut T) -> Box<T>

    Constructs a box from a raw pointer.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    §Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n

    The safety conditions are described in the memory layout section.

    \n
    §Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw:

    \n\n
    let x = Box::new(5);\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manually create a Box from scratch by using the global allocator:

    \n\n
    use std::alloc::{alloc, Layout};\n\nunsafe {\n    let ptr = alloc(Layout::new::<i32>()) as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw(ptr);\n}
    \n
    ",0,"tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<T, A> Box<T, A>
    where\n A: Allocator,

    source

    pub fn new_in(x: T, alloc: A) -> Box<T, A>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory in the given allocator then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::new_in(5, System);
    \n
    source

    pub fn try_new_in(x: T, alloc: A) -> Result<Box<T, A>, AllocError>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory in the given allocator then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::try_new_in(5, System)?;
    \n
    source

    pub fn new_uninit_in(alloc: A) -> Box<MaybeUninit<T>, A>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents in the provided allocator.

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::new_uninit_in(System);\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn try_new_uninit_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents in the provided allocator,\nreturning an error if the allocation fails

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::try_new_uninit_in(System)?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn new_zeroed_in(alloc: A) -> Box<MaybeUninit<T>, A>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::new_zeroed_in(System);\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    source

    pub fn try_new_zeroed_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator,\nreturning an error if the allocation fails,

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::try_new_zeroed_in(System)?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    source

    pub fn pin_in(x: T, alloc: A) -> Pin<Box<T, A>>
    where\n A: 'static + Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Pin<Box<T, A>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin_in(x, alloc)\ndoes the same as Box::into_pin(Box::new_in(x, alloc)). Consider using\ninto_pin if you already have a Box<T, A>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new_in.

    \n
    source

    pub fn into_boxed_slice(boxed: Box<T, A>) -> Box<[T], A>

    🔬This is a nightly-only experimental API. (box_into_boxed_slice)

    Converts a Box<T> into a Box<[T]>

    \n

    This conversion does not allocate on the heap and happens in place.

    \n
    source

    pub fn into_inner(boxed: Box<T, A>) -> T

    🔬This is a nightly-only experimental API. (box_into_inner)

    Consumes the Box, returning the wrapped value.

    \n
    §Examples
    \n
    #![feature(box_into_inner)]\n\nlet c = Box::new(5);\n\nassert_eq!(Box::into_inner(c), 5);
    \n
    ",0,"tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<T, A> Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    const: unstable · source

    pub unsafe fn from_raw_in(raw: *mut T, alloc: A) -> Box<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a box from a raw pointer in the given allocator.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    §Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n
    §Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw_with_allocator:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(5, System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manually create a Box from scratch by using the system allocator:

    \n\n
    #![feature(allocator_api, slice_ptr_get)]\n\nuse std::alloc::{Allocator, Layout, System};\n\nunsafe {\n    let ptr = System.allocate(Layout::new::<i32>())?.as_mut_ptr() as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw_in(ptr, System);\n}
    \n
    1.4.0 · source

    pub fn into_raw(b: Box<T, A>) -> *mut T

    Consumes the Box, returning a wrapped raw pointer.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw(b) instead of b.into_raw(). This\nis so that there is no conflict with a method on the inner type.

    \n
    §Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw\nfor automatic cleanup:

    \n\n
    let x = Box::new(String::from(\"Hello\"));\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    use std::alloc::{dealloc, Layout};\nuse std::ptr;\n\nlet x = Box::new(String::from(\"Hello\"));\nlet ptr = Box::into_raw(x);\nunsafe {\n    ptr::drop_in_place(ptr);\n    dealloc(ptr as *mut u8, Layout::new::<String>());\n}
    \n

    Note: This is equivalent to the following:

    \n\n
    let x = Box::new(String::from(\"Hello\"));\nlet ptr = Box::into_raw(x);\nunsafe {\n    drop(Box::from_raw(ptr));\n}
    \n
    source

    pub fn into_raw_with_allocator(b: Box<T, A>) -> (*mut T, A)

    🔬This is a nightly-only experimental API. (allocator_api)

    Consumes the Box, returning a wrapped raw pointer and the allocator.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw_in function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw_with_allocator(b) instead of b.into_raw_with_allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    §Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw_in\nfor automatic cleanup:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(String::from(\"Hello\"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::{Allocator, Layout, System};\nuse std::ptr::{self, NonNull};\n\nlet x = Box::new_in(String::from(\"Hello\"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nunsafe {\n    ptr::drop_in_place(ptr);\n    let non_null = NonNull::new_unchecked(ptr);\n    alloc.deallocate(non_null.cast(), Layout::new::<String>());\n}
    \n
    const: unstable · source

    pub fn allocator(b: &Box<T, A>) -> &A

    🔬This is a nightly-only experimental API. (allocator_api)

    Returns a reference to the underlying allocator.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::allocator(&b) instead of b.allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    1.26.0 · source

    pub fn leak<'a>(b: Box<T, A>) -> &'a mut T
    where\n A: 'a,

    Consumes and leaks the Box, returning a mutable reference,\n&'a mut T. Note that the type T must outlive the chosen lifetime\n'a. If the type has only static references, or none at all, then this\nmay be chosen to be 'static.

    \n

    This function is mainly useful for data that lives for the remainder of\nthe program’s life. Dropping the returned reference will cause a memory\nleak. If this is not acceptable, the reference should first be wrapped\nwith the Box::from_raw function producing a Box. This Box can\nthen be dropped which will properly destroy T and release the\nallocated memory.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::leak(b) instead of b.leak(). This\nis so that there is no conflict with a method on the inner type.

    \n
    §Examples
    \n

    Simple usage:

    \n\n
    let x = Box::new(41);\nlet static_ref: &'static mut usize = Box::leak(x);\n*static_ref += 1;\nassert_eq!(*static_ref, 42);
    \n

    Unsized data:

    \n\n
    let x = vec![1, 2, 3].into_boxed_slice();\nlet static_ref = Box::leak(x);\nstatic_ref[0] = 4;\nassert_eq!(*static_ref, [4, 2, 3]);
    \n
    1.63.0 (const: unstable) · source

    pub fn into_pin(boxed: Box<T, A>) -> Pin<Box<T, A>>
    where\n A: 'static,

    Converts a Box<T> into a Pin<Box<T>>. If T does not implement Unpin, then\n*boxed will be pinned in memory and unable to be moved.

    \n

    This conversion does not allocate on the heap and happens in place.

    \n

    This is also available via From.

    \n

    Constructing and pinning a Box with Box::into_pin(Box::new(x))\ncan also be written more concisely using Box::pin(x).\nThis into_pin method is useful if you already have a Box<T>, or you are\nconstructing a (pinned) Box in a different way than with Box::new.

    \n
    §Notes
    \n

    It’s not recommended that crates add an impl like From<Box<T>> for Pin<T>,\nas it’ll introduce an ambiguity when calling Pin::from.\nA demonstration of such a poor impl is shown below.

    \n\n
    struct Foo; // A type defined in this crate.\nimpl From<Box<()>> for Pin<Foo> {\n    fn from(_: Box<()>) -> Pin<Foo> {\n        Pin::new(Foo)\n    }\n}\n\nlet foo = Box::new(());\nlet bar = Pin::from(foo);
    \n
    ",0,"tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> Buf for Box<T>
    where\n T: Buf + ?Sized,

    §

    fn remaining(&self) -> usize

    Returns the number of bytes between the current position and the end of\nthe buffer. Read more
    §

    fn chunk(&self) -> &[u8]

    Returns a slice starting at the current position and of length between 0\nand Buf::remaining(). Note that this can return shorter slice (this allows\nnon-continuous internal representation). Read more
    §

    fn chunks_vectored<'b>(&'b self, dst: &mut [IoSlice<'b>]) -> usize

    Fills dst with potentially multiple slices starting at self’s\ncurrent position. Read more
    §

    fn advance(&mut self, cnt: usize)

    Advance the internal cursor of the Buf Read more
    §

    fn has_remaining(&self) -> bool

    Returns true if there are any more bytes to consume Read more
    §

    fn copy_to_slice(&mut self, dst: &mut [u8])

    Copies bytes from self into dst. Read more
    §

    fn get_u8(&mut self) -> u8

    Gets an unsigned 8 bit integer from self. Read more
    §

    fn get_i8(&mut self) -> i8

    Gets a signed 8 bit integer from self. Read more
    §

    fn get_u16(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in big-endian byte order. Read more
    §

    fn get_u16_le(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in little-endian byte order. Read more
    §

    fn get_u16_ne(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in native-endian byte order. Read more
    §

    fn get_i16(&mut self) -> i16

    Gets a signed 16 bit integer from self in big-endian byte order. Read more
    §

    fn get_i16_le(&mut self) -> i16

    Gets a signed 16 bit integer from self in little-endian byte order. Read more
    §

    fn get_i16_ne(&mut self) -> i16

    Gets a signed 16 bit integer from self in native-endian byte order. Read more
    §

    fn get_u32(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in the big-endian byte order. Read more
    §

    fn get_u32_le(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in the little-endian byte order. Read more
    §

    fn get_u32_ne(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in native-endian byte order. Read more
    §

    fn get_i32(&mut self) -> i32

    Gets a signed 32 bit integer from self in big-endian byte order. Read more
    §

    fn get_i32_le(&mut self) -> i32

    Gets a signed 32 bit integer from self in little-endian byte order. Read more
    §

    fn get_i32_ne(&mut self) -> i32

    Gets a signed 32 bit integer from self in native-endian byte order. Read more
    §

    fn get_u64(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in big-endian byte order. Read more
    §

    fn get_u64_le(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in little-endian byte order. Read more
    §

    fn get_u64_ne(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in native-endian byte order. Read more
    §

    fn get_i64(&mut self) -> i64

    Gets a signed 64 bit integer from self in big-endian byte order. Read more
    §

    fn get_i64_le(&mut self) -> i64

    Gets a signed 64 bit integer from self in little-endian byte order. Read more
    §

    fn get_i64_ne(&mut self) -> i64

    Gets a signed 64 bit integer from self in native-endian byte order. Read more
    §

    fn get_uint(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in big-endian byte order. Read more
    §

    fn get_uint_le(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in little-endian byte order. Read more
    §

    fn get_uint_ne(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in native-endian byte order. Read more
    §

    fn get_int(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in big-endian byte order. Read more
    §

    fn get_int_le(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in little-endian byte order. Read more
    §

    fn get_int_ne(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in native-endian byte order. Read more
    §

    fn copy_to_bytes(&mut self, len: usize) -> Bytes

    Consumes len bytes inside self and returns new instance of Bytes\nwith this data. Read more
    §

    fn get_u128(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in big-endian byte order. Read more
    §

    fn get_u128_le(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in little-endian byte order. Read more
    §

    fn get_u128_ne(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in native-endian byte order. Read more
    §

    fn get_i128(&mut self) -> i128

    Gets a signed 128 bit integer from self in big-endian byte order. Read more
    §

    fn get_i128_le(&mut self) -> i128

    Gets a signed 128 bit integer from self in little-endian byte order. Read more
    §

    fn get_i128_ne(&mut self) -> i128

    Gets a signed 128 bit integer from self in native-endian byte order. Read more
    §

    fn get_f32(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in big-endian byte order. Read more
    §

    fn get_f32_le(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in little-endian byte order. Read more
    §

    fn get_f32_ne(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in native-endian byte order. Read more
    §

    fn get_f64(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in big-endian byte order. Read more
    §

    fn get_f64_le(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in little-endian byte order. Read more
    §

    fn get_f64_ne(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in native-endian byte order. Read more
    §

    fn take(self, limit: usize) -> Take<Self>
    where\n Self: Sized,

    Creates an adaptor which will read at most limit bytes from self. Read more
    §

    fn chain<U>(self, next: U) -> Chain<Self, U>
    where\n U: Buf,\n Self: Sized,

    Creates an adaptor which will chain this buffer with another. Read more
    §

    fn reader(self) -> Reader<Self>
    where\n Self: Sized,

    Creates an adaptor which implements the Read trait for self. Read more
    ","Buf","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> BufMut for Box<T>
    where\n T: BufMut + ?Sized,

    §

    fn remaining_mut(&self) -> usize

    Returns the number of bytes that can be written from the current\nposition until the end of the buffer is reached. Read more
    §

    fn chunk_mut(&mut self) -> &mut UninitSlice

    Returns a mutable slice starting at the current BufMut position and of\nlength between 0 and BufMut::remaining_mut(). Note that this can be shorter than the\nwhole remainder of the buffer (this allows non-continuous implementation). Read more
    §

    unsafe fn advance_mut(&mut self, cnt: usize)

    Advance the internal cursor of the BufMut Read more
    §

    fn put_slice(&mut self, src: &[u8])

    Transfer bytes into self from src and advance the cursor by the\nnumber of bytes written. Read more
    §

    fn put_u8(&mut self, n: u8)

    Writes an unsigned 8 bit integer to self. Read more
    §

    fn put_i8(&mut self, n: i8)

    Writes a signed 8 bit integer to self. Read more
    §

    fn put_u16(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in big-endian byte order. Read more
    §

    fn put_u16_le(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in little-endian byte order. Read more
    §

    fn put_u16_ne(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in native-endian byte order. Read more
    §

    fn put_i16(&mut self, n: i16)

    Writes a signed 16 bit integer to self in big-endian byte order. Read more
    §

    fn put_i16_le(&mut self, n: i16)

    Writes a signed 16 bit integer to self in little-endian byte order. Read more
    §

    fn put_i16_ne(&mut self, n: i16)

    Writes a signed 16 bit integer to self in native-endian byte order. Read more
    §

    fn put_u32(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in big-endian byte order. Read more
    §

    fn put_u32_le(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in little-endian byte order. Read more
    §

    fn put_u32_ne(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in native-endian byte order. Read more
    §

    fn put_i32(&mut self, n: i32)

    Writes a signed 32 bit integer to self in big-endian byte order. Read more
    §

    fn put_i32_le(&mut self, n: i32)

    Writes a signed 32 bit integer to self in little-endian byte order. Read more
    §

    fn put_i32_ne(&mut self, n: i32)

    Writes a signed 32 bit integer to self in native-endian byte order. Read more
    §

    fn put_u64(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in the big-endian byte order. Read more
    §

    fn put_u64_le(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in little-endian byte order. Read more
    §

    fn put_u64_ne(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in native-endian byte order. Read more
    §

    fn put_i64(&mut self, n: i64)

    Writes a signed 64 bit integer to self in the big-endian byte order. Read more
    §

    fn put_i64_le(&mut self, n: i64)

    Writes a signed 64 bit integer to self in little-endian byte order. Read more
    §

    fn put_i64_ne(&mut self, n: i64)

    Writes a signed 64 bit integer to self in native-endian byte order. Read more
    §

    fn has_remaining_mut(&self) -> bool

    Returns true if there is space in self for more bytes. Read more
    §

    fn put<T>(&mut self, src: T)
    where\n T: Buf,\n Self: Sized,

    Transfer bytes into self from src and advance the cursor by the\nnumber of bytes written. Read more
    §

    fn put_bytes(&mut self, val: u8, cnt: usize)

    Put cnt bytes val into self. Read more
    §

    fn put_u128(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in the big-endian byte order. Read more
    §

    fn put_u128_le(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in little-endian byte order. Read more
    §

    fn put_u128_ne(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in native-endian byte order. Read more
    §

    fn put_i128(&mut self, n: i128)

    Writes a signed 128 bit integer to self in the big-endian byte order. Read more
    §

    fn put_i128_le(&mut self, n: i128)

    Writes a signed 128 bit integer to self in little-endian byte order. Read more
    §

    fn put_i128_ne(&mut self, n: i128)

    Writes a signed 128 bit integer to self in native-endian byte order. Read more
    §

    fn put_uint(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in big-endian byte order. Read more
    §

    fn put_uint_le(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in the little-endian byte order. Read more
    §

    fn put_uint_ne(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in the native-endian byte order. Read more
    §

    fn put_int(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in big-endian byte order. Read more
    §

    fn put_int_le(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in little-endian byte order. Read more
    §

    fn put_int_ne(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in native-endian byte order. Read more
    §

    fn put_f32(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in big-endian byte order. Read more
    §

    fn put_f32_le(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in little-endian byte order. Read more
    §

    fn put_f32_ne(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in native-endian byte order. Read more
    §

    fn put_f64(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in big-endian byte order. Read more
    §

    fn put_f64_le(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in little-endian byte order. Read more
    §

    fn put_f64_ne(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in native-endian byte order. Read more
    §

    fn limit(self, limit: usize) -> Limit<Self>
    where\n Self: Sized,

    Creates an adaptor which can write at most limit bytes to self. Read more
    §

    fn writer(self) -> Writer<Self>
    where\n Self: Sized,

    Creates an adaptor which implements the Write trait for self. Read more
    §

    fn chain_mut<U>(self, next: U) -> Chain<Self, U>
    where\n U: BufMut,\n Self: Sized,

    Creates an adapter which will chain this buffer with another. Read more
    ","BufMut","tuxedo_template_wallet::output_filter::Filter"],["
    1.0.0 · source§

    impl<B> BufRead for Box<B>
    where\n B: BufRead + ?Sized,

    source§

    fn fill_buf(&mut self) -> Result<&[u8], Error>

    Returns the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    source§

    fn consume(&mut self, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to read. Read more
    source§

    fn read_until(&mut self, byte: u8, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes into buf until the delimiter byte or EOF is reached. Read more
    source§

    fn read_line(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until a newline (the 0xA byte) is reached, and append\nthem to the provided String buffer. Read more
    source§

    fn has_data_left(&mut self) -> Result<bool, Error>

    🔬This is a nightly-only experimental API. (buf_read_has_data_left)
    Check if the underlying Read has any data left to be read. Read more
    source§

    fn skip_until(&mut self, byte: u8) -> Result<usize, Error>

    🔬This is a nightly-only experimental API. (bufread_skip_until)
    Skip all bytes until the delimiter byte or EOF is reached. Read more
    1.0.0 · source§

    fn split(self, byte: u8) -> Split<Self>
    where\n Self: Sized,

    Returns an iterator over the contents of this reader split on the byte\nbyte. Read more
    1.0.0 · source§

    fn lines(self) -> Lines<Self>
    where\n Self: Sized,

    Returns an iterator over the lines of this reader. Read more
    ","BufRead","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<T> Clear for Box<T>
    where\n T: Clear,

    source§

    fn clear(&mut self)

    Clear all data in self, retaining the allocated capacithy.
    ","Clear","tuxedo_template_wallet::output_filter::Filter"],["
    1.0.0 · source§

    impl<T, A> Clone for Box<T, A>
    where\n T: Clone,\n A: Allocator + Clone,

    source§

    fn clone(&self) -> Box<T, A>

    Returns a new box with a clone() of this box’s contents.

    \n
    §Examples
    \n
    let x = Box::new(5);\nlet y = x.clone();\n\n// The value is the same\nassert_eq!(x, y);\n\n// But they are unique objects\nassert_ne!(&*x as *const i32, &*y as *const i32);
    \n
    source§

    fn clone_from(&mut self, source: &Box<T, A>)

    Copies source’s contents into self without creating a new allocation.

    \n
    §Examples
    \n
    let x = Box::new(5);\nlet mut y = Box::new(10);\nlet yp: *const i32 = &*y;\n\ny.clone_from(&x);\n\n// The value is the same\nassert_eq!(x, y);\n\n// And no allocation occurred\nassert_eq!(yp, &*y);
    \n
    ","Clone","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> CommandFactory for Box<T>
    where\n T: CommandFactory,

    §

    fn command<'help>() -> Command

    Build a [Command] that can instantiate Self. Read more
    §

    fn command_for_update<'help>() -> Command

    Build a [Command] that can update self. Read more
    ","CommandFactory","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<G, R, A> Coroutine<R> for Box<G, A>
    where\n G: Coroutine<R> + Unpin + ?Sized,\n A: Allocator,

    §

    type Yield = <G as Coroutine<R>>::Yield

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine yields. Read more
    §

    type Return = <G as Coroutine<R>>::Return

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine returns. Read more
    source§

    fn resume(\n self: Pin<&mut Box<G, A>>,\n arg: R\n) -> CoroutineState<<Box<G, A> as Coroutine<R>>::Yield, <Box<G, A> as Coroutine<R>>::Return>

    🔬This is a nightly-only experimental API. (coroutine_trait)
    Resumes the execution of this coroutine. Read more
    ","Coroutine","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> DbExternalities for Box<T>
    where\n T: DbExternalities + ?Sized,

    §

    fn local_storage_set(&mut self, kind: StorageKind, key: &[u8], value: &[u8])

    Sets a value in the local storage. Read more
    §

    fn local_storage_clear(&mut self, kind: StorageKind, key: &[u8])

    Removes a value in the local storage. Read more
    §

    fn local_storage_compare_and_set(\n &mut self,\n kind: StorageKind,\n key: &[u8],\n old_value: Option<&[u8]>,\n new_value: &[u8]\n) -> bool

    Sets a value in the local storage if it matches current value. Read more
    §

    fn local_storage_get(\n &mut self,\n kind: StorageKind,\n key: &[u8]\n) -> Option<Vec<u8>>

    Gets a value from the local storage. Read more
    ","DbExternalities","tuxedo_template_wallet::output_filter::Filter"],["
    1.0.0 · source§

    impl<T, A> Debug for Box<T, A>
    where\n T: Debug + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<S> DebugSecret for Box<S>
    where\n S: DebugSecret + Zeroize,

    source§

    fn debug_secret(f: &mut Formatter<'_>) -> Result<(), Error>

    Format information about the secret’s type. Read more
    ","DebugSecret","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> Decodable for Box<T>
    where\n T: Decodable,

    §

    fn decode(rlp: &Rlp<'_>) -> Result<Box<T>, DecoderError>

    Decode a value from RLP bytes
    ","Decodable","tuxedo_template_wallet::output_filter::Filter"],["
    1.0.0 · source§

    impl<T> Default for Box<T>
    where\n T: Default,

    source§

    fn default() -> Box<T>

    Creates a Box<T>, with the Default value for T.

    \n
    ","Default","tuxedo_template_wallet::output_filter::Filter"],["
    1.0.0 · source§

    impl<T, A> Deref for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    §

    type Target = T

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &T

    Dereferences the value.
    ","Deref","tuxedo_template_wallet::output_filter::Filter"],["
    1.0.0 · source§

    impl<T, A> DerefMut for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn deref_mut(&mut self) -> &mut T

    Mutably dereferences the value.
    ","DerefMut","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<'de, T> Deserialize<'de> for Box<T>
    where\n T: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Box<T>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","tuxedo_template_wallet::output_filter::Filter"],["
    1.0.0 · source§

    impl<T, A> Display for Box<T, A>
    where\n T: Display + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Display","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<I> DoubleEndedFallibleIterator for Box<I>

    source§

    fn next_back(\n &mut self\n) -> Result<Option<<I as FallibleIterator>::Item>, <I as FallibleIterator>::Error>

    Advances the end of the iterator, returning the last value.
    source§

    fn rfold<B, F>(self, init: B, f: F) -> Result<B, Self::Error>
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> Result<B, Self::Error>,

    Applies a function over the elements of the iterator in reverse order, producing a single final value.
    source§

    fn try_rfold<B, E, F>(&mut self, init: B, f: F) -> Result<B, E>
    where\n Self: Sized,\n E: From<Self::Error>,\n F: FnMut(B, Self::Item) -> Result<B, E>,

    Applies a function over the elements of the iterator in reverse, producing a single final value. Read more
    ","DoubleEndedFallibleIterator","tuxedo_template_wallet::output_filter::Filter"],["
    1.0.0 · source§

    impl<I, A> DoubleEndedIterator for Box<I, A>
    where\n I: DoubleEndedIterator + ?Sized,\n A: Allocator,

    source§

    fn next_back(&mut self) -> Option<<I as Iterator>::Item>

    Removes and returns an element from the end of the iterator. Read more
    source§

    fn nth_back(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source§

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator from the back by n elements. Read more
    1.27.0 · source§

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\nelements starting from the back of the iterator. Read more
    1.27.0 · source§

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator’s elements to a single,\nfinal value, starting from the back. Read more
    1.27.0 · source§

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    ","DoubleEndedIterator","tuxedo_template_wallet::output_filter::Filter"],["
    1.0.0 · source§

    impl<T, A> Drop for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    ","Drop","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> Encodable for Box<T>
    where\n T: Encodable + ?Sized,

    §

    fn rlp_append(&self, s: &mut RlpStream)

    Append a value to the stream
    §

    fn rlp_bytes(&self) -> BytesMut

    Get rlp-encoded bytes for this instance
    ","Encodable","tuxedo_template_wallet::output_filter::Filter"],["
    1.8.0 · source§

    impl<T> Error for Box<T>
    where\n T: Error,

    source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source§

    fn provide<'b>(&'b self, request: &mut Request<'b>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    ","Error","tuxedo_template_wallet::output_filter::Filter"],["
    1.0.0 · source§

    impl<I, A> ExactSizeIterator for Box<I, A>
    where\n I: ExactSizeIterator + ?Sized,\n A: Allocator,

    source§

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source§

    fn is_empty(&self) -> bool

    🔬This is a nightly-only experimental API. (exact_size_is_empty)
    Returns true if the iterator is empty. Read more
    ","ExactSizeIterator","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<E> Extension for Box<E>
    where\n E: Extension + ?Sized,

    §

    fn is_enabled(&self) -> bool

    Is this extension enabled?
    §

    fn name(&self) -> &str

    The name of this extension.
    §

    fn params(&self) -> &[Param<'_>]

    The parameters this extension wants to send for negotiation.
    §

    fn configure(\n &mut self,\n params: &[Param<'_>]\n) -> Result<(), Box<dyn Error + Send + Sync>>

    Configure this extension with the parameters received from negotiation.
    §

    fn encode(\n &mut self,\n header: &mut Header,\n data: &mut Storage<'_>\n) -> Result<(), Box<dyn Error + Send + Sync>>

    Encode a frame, given as frame header and payload data.
    §

    fn decode(\n &mut self,\n header: &mut Header,\n data: &mut Vec<u8>\n) -> Result<(), Box<dyn Error + Send + Sync>>

    Decode a frame. Read more
    §

    fn reserved_bits(&self) -> (bool, bool, bool)

    The reserved bits this extension uses.
    ","Extension","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> Externalities for Box<T>
    where\n T: Externalities + ?Sized,

    §

    fn is_validator(&self) -> bool

    Returns if the local node is a potential validator. Read more
    §

    fn network_state(&self) -> Result<OpaqueNetworkState, ()>

    Returns information about the local node’s network state.
    §

    fn timestamp(&mut self) -> Timestamp

    Returns current UNIX timestamp (in millis)
    §

    fn sleep_until(&mut self, deadline: Timestamp)

    Pause the execution until deadline is reached.
    §

    fn random_seed(&mut self) -> [u8; 32]

    Returns a random seed. Read more
    §

    fn http_request_start(\n &mut self,\n method: &str,\n uri: &str,\n meta: &[u8]\n) -> Result<HttpRequestId, ()>

    Initiates a http request given HTTP verb and the URL. Read more
    §

    fn http_request_add_header(\n &mut self,\n request_id: HttpRequestId,\n name: &str,\n value: &str\n) -> Result<(), ()>

    Append header to the request. Read more
    §

    fn http_request_write_body(\n &mut self,\n request_id: HttpRequestId,\n chunk: &[u8],\n deadline: Option<Timestamp>\n) -> Result<(), HttpError>

    Write a chunk of request body. Read more
    §

    fn http_response_wait(\n &mut self,\n ids: &[HttpRequestId],\n deadline: Option<Timestamp>\n) -> Vec<HttpRequestStatus>

    Block and wait for the responses for given requests. Read more
    §

    fn http_response_headers(\n &mut self,\n request_id: HttpRequestId\n) -> Vec<(Vec<u8>, Vec<u8>)>

    Read all response headers. Read more
    §

    fn http_response_read_body(\n &mut self,\n request_id: HttpRequestId,\n buffer: &mut [u8],\n deadline: Option<Timestamp>\n) -> Result<usize, HttpError>

    Read a chunk of body response to given buffer. Read more
    §

    fn set_authorized_nodes(\n &mut self,\n nodes: Vec<OpaquePeerId>,\n authorized_only: bool\n)

    Set the authorized nodes from runtime. Read more
    ","Externalities","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<I> FallibleIterator for Box<I>
    where\n I: FallibleIterator + ?Sized,

    §

    type Item = <I as FallibleIterator>::Item

    The type being iterated over.
    §

    type Error = <I as FallibleIterator>::Error

    The error type.
    source§

    fn next(\n &mut self\n) -> Result<Option<<I as FallibleIterator>::Item>, <I as FallibleIterator>::Error>

    Advances the iterator and returns the next value. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns bounds on the remaining length of the iterator. Read more
    source§

    fn nth(\n &mut self,\n n: usize\n) -> Result<Option<<I as FallibleIterator>::Item>, <I as FallibleIterator>::Error>

    Returns the nth element of the iterator.
    source§

    fn count(self) -> Result<usize, Self::Error>
    where\n Self: Sized,

    Consumes the iterator, returning the number of remaining items.
    source§

    fn last(self) -> Result<Option<Self::Item>, Self::Error>
    where\n Self: Sized,

    Returns the last element of the iterator.
    source§

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n Self: Sized,

    Returns an iterator starting at the same point, but stepping by the given amount at each iteration. Read more
    source§

    fn chain<I>(self, it: I) -> Chain<Self, I>
    where\n I: IntoFallibleIterator<Item = Self::Item, Error = Self::Error>,\n Self: Sized,

    Returns an iterator which yields the elements of this iterator followed\nby another.
    source§

    fn zip<I>(\n self,\n o: I\n) -> Zip<Self, <I as IntoFallibleIterator>::IntoFallibleIter>
    where\n Self: Sized,\n I: IntoFallibleIterator<Error = Self::Error>,

    Returns an iterator that yields pairs of this iterator’s and another\niterator’s values.
    source§

    fn map<F, B>(self, f: F) -> Map<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Result<B, Self::Error>,

    Returns an iterator which applies a fallible transform to the elements\nof the underlying iterator.
    source§

    fn for_each<F>(self, f: F) -> Result<(), Self::Error>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Result<(), Self::Error>,

    Calls a fallible closure on each element of an iterator.
    source§

    fn filter<F>(self, f: F) -> Filter<Self, F>
    where\n Self: Sized,\n F: FnMut(&Self::Item) -> Result<bool, Self::Error>,

    Returns an iterator which uses a predicate to determine which values\nshould be yielded. The predicate may fail; such failures are passed to\nthe caller.
    source§

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Result<Option<B>, Self::Error>,

    Returns an iterator which both filters and maps. The closure may fail;\nsuch failures are passed along to the consumer.
    source§

    fn enumerate(self) -> Enumerate<Self>
    where\n Self: Sized,

    Returns an iterator which yields the current iteration count as well\nas the value.
    source§

    fn peekable(self) -> Peekable<Self>
    where\n Self: Sized,

    Returns an iterator that can peek at the next element without consuming\nit.
    source§

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> Result<bool, Self::Error>,

    Returns an iterator that skips elements based on a predicate.
    source§

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> Result<bool, Self::Error>,

    Returns an iterator that yields elements based on a predicate.
    source§

    fn skip(self, n: usize) -> Skip<Self>
    where\n Self: Sized,

    Returns an iterator which skips the first n values of this iterator.
    source§

    fn take(self, n: usize) -> Take<Self>
    where\n Self: Sized,

    Returns an iterator that yields only the first n values of this\niterator.
    source§

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n Self: Sized,\n F: FnMut(&mut St, Self::Item) -> Result<Option<B>, Self::Error>,

    Returns an iterator which applies a stateful map to values of this\niterator.
    source§

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n Self: Sized,\n U: IntoFallibleIterator<Error = Self::Error>,\n F: FnMut(Self::Item) -> Result<U, Self::Error>,

    Returns an iterator which maps this iterator’s elements to iterators, yielding those iterators’ values.
    source§

    fn fuse(self) -> Fuse<Self>
    where\n Self: Sized,

    Returns an iterator which yields this iterator’s elements and ends after\nthe first Ok(None). Read more
    source§

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n Self: Sized,\n F: FnMut(&Self::Item) -> Result<(), Self::Error>,

    Returns an iterator which passes each element to a closure before returning it.
    source§

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Borrow an iterator rather than consuming it. Read more
    source§

    fn collect<T>(self) -> Result<T, Self::Error>
    where\n T: FromFallibleIterator<Self::Item>,\n Self: Sized,

    Transforms the iterator into a collection. Read more
    source§

    fn partition<B, F>(self, f: F) -> Result<(B, B), Self::Error>
    where\n Self: Sized,\n B: Default + Extend<Self::Item>,\n F: FnMut(&Self::Item) -> Result<bool, Self::Error>,

    Transforms the iterator into two collections, partitioning elements by a closure.
    source§

    fn fold<B, F>(self, init: B, f: F) -> Result<B, Self::Error>
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> Result<B, Self::Error>,

    Applies a function over the elements of the iterator, producing a single\nfinal value.
    source§

    fn try_fold<B, E, F>(&mut self, init: B, f: F) -> Result<B, E>
    where\n Self: Sized,\n E: From<Self::Error>,\n F: FnMut(B, Self::Item) -> Result<B, E>,

    Applies a function over the elements of the iterator, producing a single final value. Read more
    source§

    fn all<F>(&mut self, f: F) -> Result<bool, Self::Error>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Result<bool, Self::Error>,

    Determines if all elements of this iterator match a predicate.
    source§

    fn any<F>(&mut self, f: F) -> Result<bool, Self::Error>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Result<bool, Self::Error>,

    Determines if any element of this iterator matches a predicate.
    source§

    fn find<F>(&mut self, f: F) -> Result<Option<Self::Item>, Self::Error>
    where\n Self: Sized,\n F: FnMut(&Self::Item) -> Result<bool, Self::Error>,

    Returns the first element of the iterator that matches a predicate.
    source§

    fn find_map<B, F>(&mut self, f: F) -> Result<Option<B>, Self::Error>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Result<Option<B>, Self::Error>,

    Applies a function to the elements of the iterator, returning the first non-None result.
    source§

    fn position<F>(&mut self, f: F) -> Result<Option<usize>, Self::Error>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Result<bool, Self::Error>,

    Returns the position of the first element of this iterator that matches\na predicate. The predicate may fail; such failures are returned to the\ncaller.
    source§

    fn max_by_key<B, F>(self, f: F) -> Result<Option<Self::Item>, Self::Error>
    where\n Self: Sized,\n B: Ord,\n F: FnMut(&Self::Item) -> Result<B, Self::Error>,

    Returns the element of the iterator which gives the maximum value from\nthe function.
    source§

    fn max_by<F>(self, f: F) -> Result<Option<Self::Item>, Self::Error>
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Result<Ordering, Self::Error>,

    Returns the element that gives the maximum value with respect to the function.
    source§

    fn min_by_key<B, F>(self, f: F) -> Result<Option<Self::Item>, Self::Error>
    where\n Self: Sized,\n B: Ord,\n F: FnMut(&Self::Item) -> Result<B, Self::Error>,

    Returns the element of the iterator which gives the minimum value from\nthe function.
    source§

    fn min_by<F>(self, f: F) -> Result<Option<Self::Item>, Self::Error>
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Result<Ordering, Self::Error>,

    Returns the element that gives the minimum value with respect to the function.
    source§

    fn unzip<A, B, FromA, FromB>(self) -> Result<(FromA, FromB), Self::Error>
    where\n Self: Sized + FallibleIterator<Item = (A, B)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,

    Converts an iterator of pairs into a pair of containers.
    source§

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n Self: Sized + FallibleIterator<Item = &'a T>,\n T: 'a + Clone,

    Returns an iterator which clones all of its elements.
    source§

    fn partial_cmp<I>(self, other: I) -> Result<Option<Ordering>, Self::Error>
    where\n Self: Sized,\n I: IntoFallibleIterator<Error = Self::Error>,\n Self::Item: PartialOrd<<I as IntoFallibleIterator>::Item>,

    Lexicographically compares the elements of this iterator to that of\nanother.
    source§

    fn eq<I>(self, other: I) -> Result<bool, Self::Error>
    where\n Self: Sized,\n I: IntoFallibleIterator<Error = Self::Error>,\n Self::Item: PartialEq<<I as IntoFallibleIterator>::Item>,

    Determines if the elements of this iterator are equal to those of\nanother.
    source§

    fn ne<I>(self, other: I) -> Result<bool, Self::Error>
    where\n Self: Sized,\n I: IntoFallibleIterator<Error = Self::Error>,\n Self::Item: PartialEq<<I as IntoFallibleIterator>::Item>,

    Determines if the elements of this iterator are not equal to those of\nanother.
    source§

    fn lt<I>(self, other: I) -> Result<bool, Self::Error>
    where\n Self: Sized,\n I: IntoFallibleIterator<Error = Self::Error>,\n Self::Item: PartialOrd<<I as IntoFallibleIterator>::Item>,

    Determines if the elements of this iterator are lexicographically less\nthan those of another.
    source§

    fn le<I>(self, other: I) -> Result<bool, Self::Error>
    where\n Self: Sized,\n I: IntoFallibleIterator<Error = Self::Error>,\n Self::Item: PartialOrd<<I as IntoFallibleIterator>::Item>,

    Determines if the elements of this iterator are lexicographically less\nthan or equal to those of another.
    source§

    fn gt<I>(self, other: I) -> Result<bool, Self::Error>
    where\n Self: Sized,\n I: IntoFallibleIterator<Error = Self::Error>,\n Self::Item: PartialOrd<<I as IntoFallibleIterator>::Item>,

    Determines if the elements of this iterator are lexicographically\ngreater than those of another.
    source§

    fn ge<I>(self, other: I) -> Result<bool, Self::Error>
    where\n Self: Sized,\n I: IntoFallibleIterator<Error = Self::Error>,\n Self::Item: PartialOrd<<I as IntoFallibleIterator>::Item>,

    Determines if the elements of this iterator are lexicographically\ngreater than or equal to those of another.
    source§

    fn iterator(self) -> Iterator<Self>
    where\n Self: Sized,

    Returns a normal (non-fallible) iterator over Result<Item, Error>.
    source§

    fn map_err<B, F>(self, f: F) -> MapErr<Self, F>
    where\n F: FnMut(Self::Error) -> B,\n Self: Sized,

    Returns an iterator which applies a transform to the errors of the\nunderlying iterator.
    ","FallibleIterator","tuxedo_template_wallet::output_filter::Filter"],["
    1.35.0 · source§

    impl<Args, F, A> Fn<Args> for Box<F, A>
    where\n Args: Tuple,\n F: Fn<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call(\n &self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","Fn","tuxedo_template_wallet::output_filter::Filter"],["
    1.35.0 · source§

    impl<Args, F, A> FnMut<Args> for Box<F, A>
    where\n Args: Tuple,\n F: FnMut<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call_mut(\n &mut self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnMut","tuxedo_template_wallet::output_filter::Filter"],["
    1.35.0 · source§

    impl<Args, F, A> FnOnce<Args> for Box<F, A>
    where\n Args: Tuple,\n F: FnOnce<Args> + ?Sized,\n A: Allocator,

    §

    type Output = <F as FnOnce<Args>>::Output

    The returned type after the call operator is used.
    source§

    extern "rust-call" fn call_once(\n self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnOnce","tuxedo_template_wallet::output_filter::Filter"],["
    1.6.0 · source§

    impl<T> From<T> for Box<T>

    source§

    fn from(t: T) -> Box<T>

    Converts a T into a Box<T>

    \n

    The conversion allocates on the heap and moves t\nfrom the stack into it.

    \n
    §Examples
    \n
    let x = 5;\nlet boxed = Box::new(5);\n\nassert_eq!(Box::from(x), boxed);
    \n
    ","From","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> FromArgMatches for Box<T>
    where\n T: FromArgMatches,

    §

    fn from_arg_matches(matches: &ArgMatches) -> Result<Box<T>, Error>

    Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
    §

    fn from_arg_matches_mut(matches: &mut ArgMatches) -> Result<Box<T>, Error>

    Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
    §

    fn update_from_arg_matches(&mut self, matches: &ArgMatches) -> Result<(), Error>

    Assign values from ArgMatches to self.
    §

    fn update_from_arg_matches_mut(\n &mut self,\n matches: &mut ArgMatches\n) -> Result<(), Error>

    Assign values from ArgMatches to self.
    ","FromArgMatches","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<F> FusedFuture for Box<F>
    where\n F: FusedFuture + Unpin + ?Sized,

    §

    fn is_terminated(&self) -> bool

    Returns true if the underlying future should no longer be polled.
    ","FusedFuture","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<S> FusedStream for Box<S>
    where\n S: FusedStream + Unpin + ?Sized,

    §

    fn is_terminated(&self) -> bool

    Returns true if the stream should no longer be polled.
    ","FusedStream","tuxedo_template_wallet::output_filter::Filter"],["
    1.36.0 · source§

    impl<F, A> Future for Box<F, A>
    where\n F: Future + Unpin + ?Sized,\n A: Allocator,

    §

    type Output = <F as Future>::Output

    The type of value produced on completion.
    source§

    fn poll(\n self: Pin<&mut Box<F, A>>,\n cx: &mut Context<'_>\n) -> Poll<<Box<F, A> as Future>::Output>

    Attempt to resolve the future to a final value, registering\nthe current task for wakeup if the value is not yet available. Read more
    ","Future","tuxedo_template_wallet::output_filter::Filter"],["
    1.0.0 · source§

    impl<T, A> Hash for Box<T, A>
    where\n T: Hash + ?Sized,\n A: Allocator,

    source§

    fn hash<H>(&self, state: &mut H)
    where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","tuxedo_template_wallet::output_filter::Filter"],["
    1.22.0 · source§

    impl<T, A> Hasher for Box<T, A>
    where\n T: Hasher + ?Sized,\n A: Allocator,

    source§

    fn finish(&self) -> u64

    Returns the hash value for the values written so far. Read more
    source§

    fn write(&mut self, bytes: &[u8])

    Writes some data into this Hasher. Read more
    source§

    fn write_u8(&mut self, i: u8)

    Writes a single u8 into this hasher.
    source§

    fn write_u16(&mut self, i: u16)

    Writes a single u16 into this hasher.
    source§

    fn write_u32(&mut self, i: u32)

    Writes a single u32 into this hasher.
    source§

    fn write_u64(&mut self, i: u64)

    Writes a single u64 into this hasher.
    source§

    fn write_u128(&mut self, i: u128)

    Writes a single u128 into this hasher.
    source§

    fn write_usize(&mut self, i: usize)

    Writes a single usize into this hasher.
    source§

    fn write_i8(&mut self, i: i8)

    Writes a single i8 into this hasher.
    source§

    fn write_i16(&mut self, i: i16)

    Writes a single i16 into this hasher.
    source§

    fn write_i32(&mut self, i: i32)

    Writes a single i32 into this hasher.
    source§

    fn write_i64(&mut self, i: i64)

    Writes a single i64 into this hasher.
    source§

    fn write_i128(&mut self, i: i128)

    Writes a single i128 into this hasher.
    source§

    fn write_isize(&mut self, i: isize)

    Writes a single isize into this hasher.
    source§

    fn write_length_prefix(&mut self, len: usize)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a length prefix into this hasher, as part of being prefix-free. Read more
    source§

    fn write_str(&mut self, s: &str)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a single str into this hasher. Read more
    ","Hasher","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> IdProvider for Box<T>
    where\n T: IdProvider + ?Sized,

    §

    fn next_id(&self) -> SubscriptionId<'static>

    Returns the next ID for the subscription.
    ","IdProvider","tuxedo_template_wallet::output_filter::Filter"],["
    1.0.0 · source§

    impl<I, A> Iterator for Box<I, A>
    where\n I: Iterator + ?Sized,\n A: Allocator,

    §

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source§

    fn next(&mut self) -> Option<<I as Iterator>::Item>

    Advances the iterator and returns the next value. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source§

    fn nth(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element of the iterator. Read more
    source§

    fn last(self) -> Option<<I as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source§

    fn next_chunk<const N: usize>(\n &mut self\n) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_next_chunk)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 · source§

    fn count(self) -> usize
    where\n Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source§

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator by n elements. Read more
    1.28.0 · source§

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n Self: Sized,

    Creates an iterator starting at the same point, but stepping by\nthe given amount at each iteration. Read more
    1.0.0 · source§

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n Self: Sized,\n U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 · source§

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n Self: Sized,\n U: IntoIterator,

    ‘Zips up’ two iterators into a single iterator of pairs. Read more
    source§

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n Self: Sized,\n G: FnMut() -> Self::Item,

    🔬This is a nightly-only experimental API. (iter_intersperse)
    Creates a new iterator which places an item generated by separator\nbetween adjacent items of the original iterator. Read more
    1.0.0 · source§

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\nelement. Read more
    1.21.0 · source§

    fn for_each<F>(self, f: F)
    where\n Self: Sized,\n F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 · source§

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\nshould be yielded. Read more
    1.0.0 · source§

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 · source§

    fn enumerate(self) -> Enumerate<Self>
    where\n Self: Sized,

    Creates an iterator which gives the current iteration count as well as\nthe next value. Read more
    1.0.0 · source§

    fn peekable(self) -> Peekable<Self>
    where\n Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\nto look at the next element of the iterator without consuming it. See\ntheir documentation for more information. Read more
    1.0.0 · source§

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 · source§

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 · source§

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 · source§

    fn skip(self, n: usize) -> Skip<Self>
    where\n Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 · source§

    fn take(self, n: usize) -> Take<Self>
    where\n Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\nif the underlying iterator ends sooner. Read more
    1.0.0 · source§

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n Self: Sized,\n F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\nunlike fold, produces a new iterator. Read more
    1.0.0 · source§

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n Self: Sized,\n U: IntoIterator,\n F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source§

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n Self: Sized,\n F: FnMut(&[Self::Item; N]) -> R,

    🔬This is a nightly-only experimental API. (iter_map_windows)
    Calls the given function f for each contiguous window of size N over\nself and returns an iterator over the outputs of f. Like slice::windows(),\nthe windows during mapping overlap as well. Read more
    1.0.0 · source§

    fn fuse(self) -> Fuse<Self>
    where\n Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 · source§

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n Self: Sized,\n F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 · source§

    fn collect<B>(self) -> B
    where\n B: FromIterator<Self::Item>,\n Self: Sized,

    Transforms an iterator into a collection. Read more
    source§

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n E: Extend<Self::Item>,\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_collect_into)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 · source§

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n Self: Sized,\n B: Default + Extend<Self::Item>,\n F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source§

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_is_partitioned)
    Checks if the elements of this iterator are partitioned according to the given predicate,\nsuch that all those that return true precede all those that return false. Read more
    1.27.0 · source§

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\nsuccessfully, producing a single, final value. Read more
    1.27.0 · source§

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n Self: Sized,\n F: FnMut(Self::Item) -> R,\n R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\niterator, stopping at the first error and returning that error. Read more
    1.0.0 · source§

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\nreturning the final result. Read more
    1.51.0 · source§

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\noperation. Read more
    source§

    fn try_reduce<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> R,\n R: Try<Output = Self::Item>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (iterator_try_reduce)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\nclosure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 · source§

    fn all<F>(&mut self, f: F) -> bool
    where\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn any<F>(&mut self, f: F) -> bool
    where\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 · source§

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\nthe first non-none result. Read more
    source§

    fn try_find<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n Self: Sized,\n F: FnMut(&Self::Item) -> R,\n R: Try<Output = bool>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (try_find)
    Applies function to the elements of iterator and returns\nthe first true result or the first error. Read more
    1.0.0 · source§

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 · source§

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\nspecified function. Read more
    1.15.0 · source§

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\nspecified comparison function. Read more
    1.6.0 · source§

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\nspecified function. Read more
    1.15.0 · source§

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\nspecified comparison function. Read more
    1.0.0 · source§

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 · source§

    fn copied<'a, T>(self) -> Copied<Self>
    where\n T: 'a + Copy,\n Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 · source§

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n T: 'a + Clone,\n Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source§

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_array_chunks)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 · source§

    fn sum<S>(self) -> S
    where\n Self: Sized,\n S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 · source§

    fn product<P>(self) -> P
    where\n Self: Sized,\n P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source§

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Lexicographically compares the PartialOrd elements of\nthis Iterator with those of another. The comparison works like short-circuit\nevaluation, returning a result without comparing the remaining elements.\nAs soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source§

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn eq<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are equal to those of\nanother. Read more
    source§

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Determines if the elements of this Iterator are equal to those of\nanother with respect to the specified equality function. Read more
    1.5.0 · source§

    fn ne<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\nanother. Read more
    1.5.0 · source§

    fn lt<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless than those of another. Read more
    1.5.0 · source§

    fn le<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless or equal to those of another. Read more
    1.5.0 · source§

    fn gt<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than those of another. Read more
    1.5.0 · source§

    fn ge<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than or equal to those of another. Read more
    source§

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> bool,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source§

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n Self: Sized,\n F: FnMut(Self::Item) -> K,\n K: PartialOrd,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given key extraction\nfunction. Read more
    ","Iterator","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<L, S> Layer<S> for Box<L>
    where\n L: Layer<S>,\n S: Subscriber,

    source§

    fn on_layer(&mut self, subscriber: &mut S)

    Performs late initialization when attaching a Layer to a\n[Subscriber]. Read more
    source§

    fn new_span(&self, attrs: &Attributes<'_>, id: &Id, ctx: Context<'_, S>)

    Notifies this layer that a new span was constructed with the given\nAttributes and Id.
    source§

    fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest

    Registers a new callsite with this layer, returning whether or not\nthe layer is interested in being notified about the callsite, similarly\nto Subscriber::register_callsite. Read more
    source§

    fn enabled(&self, metadata: &Metadata<'_>, ctx: Context<'_, S>) -> bool

    Returns true if this layer is interested in a span or event with the\ngiven metadata in the current Context, similarly to\nSubscriber::enabled. Read more
    source§

    fn on_record(&self, span: &Id, values: &Record<'_>, ctx: Context<'_, S>)

    Notifies this layer that a span with the given Id recorded the given\nvalues.
    source§

    fn on_follows_from(&self, span: &Id, follows: &Id, ctx: Context<'_, S>)

    Notifies this layer that a span with the ID span recorded that it\nfollows from the span with the ID follows.
    source§

    fn on_event(&self, event: &Event<'_>, ctx: Context<'_, S>)

    Notifies this layer that an event has occurred.
    source§

    fn on_enter(&self, id: &Id, ctx: Context<'_, S>)

    Notifies this layer that a span with the given ID was entered.
    source§

    fn on_exit(&self, id: &Id, ctx: Context<'_, S>)

    Notifies this layer that the span with the given ID was exited.
    source§

    fn on_close(&self, id: Id, ctx: Context<'_, S>)

    Notifies this layer that the span with the given ID has been closed.
    source§

    fn on_id_change(&self, old: &Id, new: &Id, ctx: Context<'_, S>)

    Notifies this layer that a span ID has been cloned, and that the\nsubscriber returned a different ID.
    source§

    fn and_then<L>(self, layer: L) -> Layered<L, Self, S>
    where\n L: Layer<S>,\n Self: Sized,

    Composes this layer around the given Layer, returning a Layered\nstruct implementing Layer. Read more
    source§

    fn with_subscriber(self, inner: S) -> Layered<Self, S>
    where\n Self: Sized,

    Composes this Layer with the given Subscriber, returning a\nLayered struct that implements Subscriber. Read more
    source§

    fn with_filter<F>(self, filter: F) -> Filtered<Self, F, S>
    where\n Self: Sized,\n F: Filter<S>,

    Combines self with a Filter, returning a Filtered layer. Read more
    ","Layer","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<Sp> LocalSpawn for Box<Sp>
    where\n Sp: LocalSpawn + ?Sized,

    §

    fn spawn_local_obj(\n &self,\n future: LocalFutureObj<'static, ()>\n) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status_local(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","LocalSpawn","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<T> Log for Box<T>
    where\n T: Log + ?Sized,

    source§

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Determines if a log message with the specified metadata would be\nlogged. Read more
    source§

    fn log(&self, record: &Record<'_>)

    Logs the Record. Read more
    source§

    fn flush(&self)

    Flushes any buffered records.
    ","Log","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> MaxEncodedLen for Box<T>
    where\n T: MaxEncodedLen,

    §

    fn max_encoded_len() -> usize

    Upper bound, in bytes, of the maximum encoded size of this item.
    ","MaxEncodedLen","tuxedo_template_wallet::output_filter::Filter"],["
    1.0.0 · source§

    impl<T, A> Ord for Box<T, A>
    where\n T: Ord + ?Sized,\n A: Allocator,

    source§

    fn cmp(&self, other: &Box<T, A>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Self
    where\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> Parser for Box<T>
    where\n T: Parser,

    §

    fn parse() -> Box<T>

    Parse from std::env::args_os(), [exit][Error::exit] on error.
    §

    fn try_parse() -> Result<Box<T>, Error>

    Parse from std::env::args_os(), return Err on error.
    §

    fn parse_from<I, It>(itr: I) -> Box<T>
    where\n I: IntoIterator<Item = It>,\n It: Into<OsString> + Clone,

    Parse from iterator, [exit][Error::exit] on error.
    §

    fn try_parse_from<I, It>(itr: I) -> Result<Box<T>, Error>
    where\n I: IntoIterator<Item = It>,\n It: Into<OsString> + Clone,

    Parse from iterator, return Err on error.
    §

    fn update_from<I, T>(&mut self, itr: I)
    where\n I: IntoIterator<Item = T>,\n T: Into<OsString> + Clone,

    Update from iterator, [exit][Error::exit] on error.
    §

    fn try_update_from<I, T>(&mut self, itr: I) -> Result<(), Error>
    where\n I: IntoIterator<Item = T>,\n T: Into<OsString> + Clone,

    Update from iterator, return Err on error.
    ","Parser","tuxedo_template_wallet::output_filter::Filter"],["
    1.0.0 · source§

    impl<T, A> PartialEq for Box<T, A>
    where\n T: PartialEq + ?Sized,\n A: Allocator,

    source§

    fn eq(&self, other: &Box<T, A>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &Box<T, A>) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","tuxedo_template_wallet::output_filter::Filter"],["
    1.0.0 · source§

    impl<T, A> PartialOrd for Box<T, A>
    where\n T: PartialOrd + ?Sized,\n A: Allocator,

    source§

    fn partial_cmp(&self, other: &Box<T, A>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    source§

    fn lt(&self, other: &Box<T, A>) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    source§

    fn le(&self, other: &Box<T, A>) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    source§

    fn ge(&self, other: &Box<T, A>) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    source§

    fn gt(&self, other: &Box<T, A>) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    ","PartialOrd","tuxedo_template_wallet::output_filter::Filter"],["
    1.0.0 · source§

    impl<T, A> Pointer for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.
    ","Pointer","tuxedo_template_wallet::output_filter::Filter"],["
    1.0.0 · source§

    impl<R> Read for Box<R>
    where\n R: Read + ?Sized,

    source§

    fn read(&mut self, buf: &mut [u8]) -> Result<usize, Error>

    Pull some bytes from this source into the specified buffer, returning\nhow many bytes were read. Read more
    source§

    fn read_buf(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Pull some bytes from this source into the specified buffer. Read more
    source§

    fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>

    Like read, except that it reads into a slice of buffers. Read more
    source§

    fn is_read_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Reader has an efficient read_vectored\nimplementation. Read more
    source§

    fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes until EOF in this source, placing them into buf. Read more
    source§

    fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until EOF in this source, appending them to buf. Read more
    source§

    fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>

    Read the exact number of bytes required to fill buf. Read more
    source§

    fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Read the exact number of bytes required to fill cursor. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Creates a “by reference” adaptor for this instance of Read. Read more
    1.0.0 · source§

    fn bytes(self) -> Bytes<Self>
    where\n Self: Sized,

    Transforms this Read instance to an Iterator over its bytes. Read more
    1.0.0 · source§

    fn chain<R>(self, next: R) -> Chain<Self, R>
    where\n R: Read,\n Self: Sized,

    Creates an adapter which will chain this stream with another. Read more
    1.0.0 · source§

    fn take(self, limit: u64) -> Take<Self>
    where\n Self: Sized,

    Creates an adapter which will read at most limit bytes from it. Read more
    ","Read","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<R> RngCore for Box<R>
    where\n R: RngCore + ?Sized,

    source§

    fn next_u32(&mut self) -> u32

    Return the next random u32. Read more
    source§

    fn next_u64(&mut self) -> u64

    Return the next random u64. Read more
    source§

    fn fill_bytes(&mut self, dest: &mut [u8])

    Fill dest with random data. Read more
    source§

    fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error>

    Fill dest entirely with random data. Read more
    ","RngCore","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<R> RngCore for Box<R>
    where\n R: RngCore + ?Sized,

    source§

    fn next_u32(&mut self) -> u32

    Return the next random u32. Read more
    source§

    fn next_u64(&mut self) -> u64

    Return the next random u64. Read more
    source§

    fn fill_bytes(&mut self, dest: &mut [u8])

    Fill dest with random data. Read more
    source§

    fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error>

    Fill dest entirely with random data. Read more
    ","RngCore","tuxedo_template_wallet::output_filter::Filter"],["
    1.0.0 · source§

    impl<S> Seek for Box<S>
    where\n S: Seek + ?Sized,

    source§

    fn seek(&mut self, pos: SeekFrom) -> Result<u64, Error>

    Seek to an offset, in bytes, in a stream. Read more
    source§

    fn stream_position(&mut self) -> Result<u64, Error>

    Returns the current seek position from the start of the stream. Read more
    1.55.0 · source§

    fn rewind(&mut self) -> Result<(), Error>

    Rewind to the beginning of a stream. Read more
    source§

    fn stream_len(&mut self) -> Result<u64, Error>

    🔬This is a nightly-only experimental API. (seek_stream_len)
    Returns the length of this stream (in bytes). Read more
    source§

    fn seek_relative(&mut self, offset: i64) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (seek_seek_relative)
    Seeks relative to the current position. Read more
    ","Seek","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<T> Serialize for Box<T>
    where\n T: Serialize + ?Sized,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<S, Request> Service<Request> for Box<S>
    where\n S: Service<Request> + ?Sized,

    §

    type Response = <S as Service<Request>>::Response

    Responses given by the service.
    §

    type Error = <S as Service<Request>>::Error

    Errors produced by the service.
    §

    type Future = <S as Service<Request>>::Future

    The future response value.
    §

    fn poll_ready(\n &mut self,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <S as Service<Request>>::Error>>

    Returns Poll::Ready(Ok(())) when the service is able to process requests. Read more
    §

    fn call(&mut self, request: Request) -> <S as Service<Request>>::Future

    Process the request and return the response asynchronously. Read more
    ","Service","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<S, Item> Sink<Item> for Box<S>
    where\n S: Sink<Item> + Unpin + ?Sized,

    §

    type Error = <S as Sink<Item>>::Error

    The type of value produced by the sink when an error occurs.
    §

    fn poll_ready(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Attempts to prepare the Sink to receive a value. Read more
    §

    fn start_send(\n self: Pin<&mut Box<S>>,\n item: Item\n) -> Result<(), <Box<S> as Sink<Item>>::Error>

    Begin the process of sending a value to the sink.\nEach call to this function must be preceded by a successful call to\npoll_ready which returned Poll::Ready(Ok(())). Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Flush any remaining output from this sink. Read more
    §

    fn poll_close(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Flush any remaining output and close this sink, if necessary. Read more
    ","Sink","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> Source for Box<T>
    where\n T: Source + ?Sized,

    §

    fn register(\n &mut self,\n registry: &Registry,\n token: Token,\n interests: Interest\n) -> Result<(), Error>

    Register self with the given Registry instance. Read more
    §

    fn reregister(\n &mut self,\n registry: &Registry,\n token: Token,\n interests: Interest\n) -> Result<(), Error>

    Re-register self with the given Registry instance. Read more
    §

    fn deregister(&mut self, registry: &Registry) -> Result<(), Error>

    Deregister self from the given Registry instance. Read more
    ","Source","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<Sp> Spawn for Box<Sp>
    where\n Sp: Spawn + ?Sized,

    §

    fn spawn_obj(&self, future: FutureObj<'static, ()>) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","Spawn","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<S> Stream for Box<S>
    where\n S: Stream + Unpin + ?Sized,

    §

    type Item = <S as Stream>::Item

    Values yielded by the stream.
    §

    fn poll_next(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Box<S> as Stream>::Item>>

    Attempt to pull out the next value of this stream, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the stream is exhausted. Read more
    §

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the stream. Read more
    ","Stream","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> Subcommand for Box<T>
    where\n T: Subcommand,

    §

    fn augment_subcommands(cmd: Command) -> Command

    Append to [Command] so it can instantiate Self. Read more
    §

    fn augment_subcommands_for_update(cmd: Command) -> Command

    Append to [Command] so it can update self. Read more
    §

    fn has_subcommand(name: &str) -> bool

    Test whether Self can parse a specific subcommand
    ","Subcommand","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<S> Subscriber for Box<S>
    where\n S: Subscriber + ?Sized,

    §

    fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest

    Registers a new callsite with this subscriber, returning whether or not\nthe subscriber is interested in being notified about the callsite. Read more
    §

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Returns true if a span or event with the specified metadata would be\nrecorded. Read more
    §

    fn max_level_hint(&self) -> Option<LevelFilter>

    Returns the highest verbosity level that this Subscriber will\nenable, or None, if the subscriber does not implement level-based\nfiltering or chooses not to implement this method. Read more
    §

    fn new_span(&self, span: &Attributes<'_>) -> Id

    Visit the construction of a new span, returning a new span ID for the\nspan being constructed. Read more
    §

    fn record(&self, span: &Id, values: &Record<'_>)

    Record a set of values on a span. Read more
    §

    fn record_follows_from(&self, span: &Id, follows: &Id)

    Adds an indication that span follows from the span with the id\nfollows. Read more
    §

    fn event_enabled(&self, event: &Event<'_>) -> bool

    Determine if an [Event] should be recorded. Read more
    §

    fn event(&self, event: &Event<'_>)

    Records that an Event has occurred. Read more
    §

    fn enter(&self, span: &Id)

    Records that a span has been entered. Read more
    §

    fn exit(&self, span: &Id)

    Records that a span has been exited. Read more
    §

    fn clone_span(&self, id: &Id) -> Id

    Notifies the subscriber that a span ID has been cloned. Read more
    §

    fn try_close(&self, id: Id) -> bool

    Notifies the subscriber that a span ID has been dropped, and returns\ntrue if there are now 0 IDs that refer to that span. Read more
    §

    fn drop_span(&self, id: Id)

    👎Deprecated since 0.1.2: use Subscriber::try_close instead
    This method is deprecated. Read more
    §

    fn current_span(&self) -> Current

    Returns a type representing this subscriber’s view of the current span. Read more
    §

    unsafe fn downcast_raw(&self, id: TypeId) -> Option<*const ()>

    If self is the same type as the provided TypeId, returns an untyped\n*const pointer to that type. Otherwise, returns None. Read more
    §

    fn on_register_dispatch(&self, subscriber: &Dispatch)

    Invoked when this subscriber becomes a [Dispatch]. Read more
    ","Subscriber","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> TypeInfo for Box<T>
    where\n T: TypeInfo + 'static + ?Sized,

    §

    type Identity = T

    The type identifying for which type info is provided. Read more
    §

    fn type_info() -> Type

    Returns the static type identifier for Self.
    ","TypeInfo","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<'a, T, F> UnsafeFutureObj<'a, T> for Box<F>
    where\n F: Future<Output = T> + 'a,

    §

    fn into_raw(self) -> *mut dyn Future<Output = T> + 'a

    Convert an owned instance into a (conceptually owned) fat pointer. Read more
    §

    unsafe fn drop(ptr: *mut dyn Future<Output = T> + 'a)

    Drops the future represented by the given fat pointer. Read more
    ","UnsafeFutureObj<'a, T>","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> Value for Box<T>
    where\n T: Value + ?Sized,

    §

    fn record(&self, key: &Field, visitor: &mut dyn Visit)

    Visits this value with the given Visitor.
    ","Value","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> ValueParserFactory for Box<T>
    where\n T: ValueParserFactory + Send + Sync + Clone,\n <T as ValueParserFactory>::Parser: TypedValueParser<Value = T>,

    §

    type Parser = MapValueParser<<T as ValueParserFactory>::Parser, fn(_: T) -> Box<T>>

    Generated parser, usually [ValueParser]. Read more
    §

    fn value_parser() -> <Box<T> as ValueParserFactory>::Parser

    Create the specified [Self::Parser]
    ","ValueParserFactory","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<'a, V> VisitOperator<'a> for Box<V>
    where\n V: VisitOperator<'a> + ?Sized,

    §

    type Output = <V as VisitOperator<'a>>::Output

    The result type of the visitor.
    §

    fn visit_operator(\n &mut self,\n op: &Operator<'a>\n) -> <Box<V> as VisitOperator<'a>>::Output

    Visits the [Operator] op using the given offset. Read more
    §

    fn visit_unreachable(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_nop(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_block(\n &mut self,\n blockty: BlockType\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_loop(\n &mut self,\n blockty: BlockType\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_if(\n &mut self,\n blockty: BlockType\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_else(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_try(\n &mut self,\n blockty: BlockType\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_catch(\n &mut self,\n tag_index: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_throw(\n &mut self,\n tag_index: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_rethrow(\n &mut self,\n relative_depth: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_end(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_br(\n &mut self,\n relative_depth: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_br_if(\n &mut self,\n relative_depth: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_br_table(\n &mut self,\n targets: BrTable<'a>\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_return(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_call(\n &mut self,\n function_index: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_call_indirect(\n &mut self,\n type_index: u32,\n table_index: u32,\n table_byte: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_return_call(\n &mut self,\n function_index: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_return_call_indirect(\n &mut self,\n type_index: u32,\n table_index: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_delegate(\n &mut self,\n relative_depth: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_catch_all(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_drop(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_select(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_typed_select(\n &mut self,\n ty: ValType\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_local_get(\n &mut self,\n local_index: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_local_set(\n &mut self,\n local_index: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_local_tee(\n &mut self,\n local_index: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_global_get(\n &mut self,\n global_index: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_global_set(\n &mut self,\n global_index: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_load(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_load(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_load(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_load(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_load8_s(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_load8_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_load16_s(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_load16_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_load8_s(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_load8_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_load16_s(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_load16_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_load32_s(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_load32_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_store(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_store(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_store(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_store(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_store8(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_store16(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_store8(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_store16(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_store32(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_memory_size(\n &mut self,\n mem: u32,\n mem_byte: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_memory_grow(\n &mut self,\n mem: u32,\n mem_byte: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_const(\n &mut self,\n value: i32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_const(\n &mut self,\n value: i64\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_const(\n &mut self,\n value: Ieee32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_const(\n &mut self,\n value: Ieee64\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_ref_null(\n &mut self,\n hty: HeapType\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_ref_is_null(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_ref_func(\n &mut self,\n function_index: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_eqz(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_eq(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_ne(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_lt_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_lt_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_gt_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_gt_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_le_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_le_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_ge_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_ge_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_eqz(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_eq(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_ne(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_lt_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_lt_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_gt_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_gt_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_le_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_le_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_ge_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_ge_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_eq(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_ne(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_lt(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_gt(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_le(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_ge(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_eq(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_ne(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_lt(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_gt(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_le(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_ge(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_clz(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_ctz(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_popcnt(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_add(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_sub(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_mul(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_div_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_div_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_rem_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_rem_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_and(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_or(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_xor(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_shl(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_shr_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_shr_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_rotl(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_rotr(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_clz(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_ctz(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_popcnt(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_add(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_sub(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_mul(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_div_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_div_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_rem_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_rem_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_and(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_or(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_xor(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_shl(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_shr_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_shr_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_rotl(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_rotr(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_abs(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_neg(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_ceil(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_floor(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_trunc(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_nearest(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_sqrt(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_add(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_sub(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_mul(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_div(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_min(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_max(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_copysign(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_abs(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_neg(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_ceil(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_floor(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_trunc(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_nearest(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_sqrt(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_add(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_sub(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_mul(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_div(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_min(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_max(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_copysign(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_wrap_i64(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_trunc_f32_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_trunc_f32_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_trunc_f64_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_trunc_f64_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_extend_i32_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_extend_i32_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_trunc_f32_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_trunc_f32_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_trunc_f64_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_trunc_f64_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_convert_i32_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_convert_i32_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_convert_i64_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_convert_i64_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_demote_f64(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_convert_i32_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_convert_i32_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_convert_i64_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_convert_i64_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_promote_f32(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_reinterpret_f32(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_reinterpret_f64(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32_reinterpret_i32(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64_reinterpret_i64(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_extend8_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_extend16_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_extend8_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_extend16_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_extend32_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_trunc_sat_f32_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_trunc_sat_f32_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_trunc_sat_f64_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_trunc_sat_f64_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_trunc_sat_f32_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_trunc_sat_f32_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_trunc_sat_f64_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_trunc_sat_f64_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_memory_init(\n &mut self,\n data_index: u32,\n mem: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_data_drop(\n &mut self,\n data_index: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_memory_copy(\n &mut self,\n dst_mem: u32,\n src_mem: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_memory_fill(\n &mut self,\n mem: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_table_init(\n &mut self,\n elem_index: u32,\n table: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_elem_drop(\n &mut self,\n elem_index: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_table_copy(\n &mut self,\n dst_table: u32,\n src_table: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_table_fill(\n &mut self,\n table: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_table_get(\n &mut self,\n table: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_table_set(\n &mut self,\n table: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_table_grow(\n &mut self,\n table: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_table_size(\n &mut self,\n table: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_memory_discard(\n &mut self,\n mem: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_memory_atomic_notify(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_memory_atomic_wait32(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_memory_atomic_wait64(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_atomic_fence(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_load(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_load(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_load8_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_load16_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_load8_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_load16_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_load32_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_store(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_store(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_store8(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_store16(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_store8(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_store16(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_store32(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw_add(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw_add(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw8_add_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw16_add_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw8_add_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw16_add_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw32_add_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw_sub(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw_sub(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw8_sub_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw16_sub_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw8_sub_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw16_sub_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw32_sub_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw_and(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw_and(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw8_and_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw16_and_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw8_and_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw16_and_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw32_and_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw_or(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw_or(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw8_or_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw16_or_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw8_or_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw16_or_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw32_or_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw_xor(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw_xor(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw8_xor_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw16_xor_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw8_xor_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw16_xor_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw32_xor_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw_xchg(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw_xchg(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw8_xchg_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw16_xchg_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw8_xchg_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw16_xchg_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw32_xchg_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw_cmpxchg(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw_cmpxchg(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw8_cmpxchg_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32_atomic_rmw16_cmpxchg_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw8_cmpxchg_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw16_cmpxchg_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64_atomic_rmw32_cmpxchg_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_load(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_load8x8_s(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_load8x8_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_load16x4_s(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_load16x4_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_load32x2_s(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_load32x2_u(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_load8_splat(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_load16_splat(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_load32_splat(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_load64_splat(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_load32_zero(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_load64_zero(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_store(\n &mut self,\n memarg: MemArg\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_load8_lane(\n &mut self,\n memarg: MemArg,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_load16_lane(\n &mut self,\n memarg: MemArg,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_load32_lane(\n &mut self,\n memarg: MemArg,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_load64_lane(\n &mut self,\n memarg: MemArg,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_store8_lane(\n &mut self,\n memarg: MemArg,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_store16_lane(\n &mut self,\n memarg: MemArg,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_store32_lane(\n &mut self,\n memarg: MemArg,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_store64_lane(\n &mut self,\n memarg: MemArg,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_const(\n &mut self,\n value: V128\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_shuffle(\n &mut self,\n lanes: [u8; 16]\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_extract_lane_s(\n &mut self,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_extract_lane_u(\n &mut self,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_replace_lane(\n &mut self,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_extract_lane_s(\n &mut self,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_extract_lane_u(\n &mut self,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_replace_lane(\n &mut self,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_extract_lane(\n &mut self,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_replace_lane(\n &mut self,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_extract_lane(\n &mut self,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_replace_lane(\n &mut self,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_extract_lane(\n &mut self,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_replace_lane(\n &mut self,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_extract_lane(\n &mut self,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_replace_lane(\n &mut self,\n lane: u8\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_swizzle(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_splat(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_splat(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_splat(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_splat(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_splat(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_splat(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_eq(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_ne(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_lt_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_lt_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_gt_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_gt_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_le_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_le_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_ge_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_ge_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_eq(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_ne(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_lt_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_lt_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_gt_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_gt_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_le_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_le_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_ge_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_ge_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_eq(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_ne(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_lt_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_lt_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_gt_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_gt_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_le_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_le_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_ge_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_ge_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_eq(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_ne(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_lt_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_gt_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_le_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_ge_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_eq(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_ne(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_lt(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_gt(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_le(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_ge(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_eq(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_ne(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_lt(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_gt(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_le(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_ge(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_not(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_and(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_andnot(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_or(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_xor(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_bitselect(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_v128_any_true(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_abs(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_neg(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_popcnt(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_all_true(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_bitmask(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_narrow_i16x8_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_narrow_i16x8_u(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_shl(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_shr_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_shr_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_add(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_add_sat_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_add_sat_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_sub(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_sub_sat_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_sub_sat_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_min_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_min_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_max_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_max_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_avgr_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_extadd_pairwise_i8x16_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_extadd_pairwise_i8x16_u(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_abs(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_neg(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_q15mulr_sat_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_all_true(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_bitmask(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_narrow_i32x4_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_narrow_i32x4_u(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_extend_low_i8x16_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_extend_high_i8x16_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_extend_low_i8x16_u(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_extend_high_i8x16_u(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_shl(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_shr_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_shr_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_add(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_add_sat_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_add_sat_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_sub(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_sub_sat_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_sub_sat_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_mul(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_min_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_min_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_max_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_max_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_avgr_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_extmul_low_i8x16_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_extmul_high_i8x16_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_extmul_low_i8x16_u(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_extmul_high_i8x16_u(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_extadd_pairwise_i16x8_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_extadd_pairwise_i16x8_u(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_abs(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_neg(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_all_true(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_bitmask(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_extend_low_i16x8_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_extend_high_i16x8_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_extend_low_i16x8_u(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_extend_high_i16x8_u(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_shl(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_shr_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_shr_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_add(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_sub(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_mul(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_min_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_min_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_max_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_max_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_dot_i16x8_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_extmul_low_i16x8_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_extmul_high_i16x8_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_extmul_low_i16x8_u(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_extmul_high_i16x8_u(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_abs(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_neg(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_all_true(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_bitmask(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_extend_low_i32x4_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_extend_high_i32x4_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_extend_low_i32x4_u(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_extend_high_i32x4_u(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_shl(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_shr_s(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_shr_u(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_add(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_sub(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_mul(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_extmul_low_i32x4_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_extmul_high_i32x4_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_extmul_low_i32x4_u(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_extmul_high_i32x4_u(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_ceil(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_floor(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_trunc(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_nearest(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_abs(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_neg(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_sqrt(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_add(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_sub(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_mul(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_div(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_min(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_max(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_pmin(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_pmax(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_ceil(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_floor(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_trunc(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_nearest(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_abs(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_neg(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_sqrt(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_add(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_sub(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_mul(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_div(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_min(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_max(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_pmin(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_pmax(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_trunc_sat_f32x4_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_trunc_sat_f32x4_u(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_convert_i32x4_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_convert_i32x4_u(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_trunc_sat_f64x2_s_zero(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_trunc_sat_f64x2_u_zero(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_convert_low_i32x4_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_convert_low_i32x4_u(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_demote_f64x2_zero(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_promote_low_f32x4(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_relaxed_swizzle(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_relaxed_trunc_f32x4_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_relaxed_trunc_f32x4_u(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_relaxed_trunc_f64x2_s_zero(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_relaxed_trunc_f64x2_u_zero(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_relaxed_madd(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_relaxed_nmadd(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_relaxed_madd(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_relaxed_nmadd(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i8x16_relaxed_laneselect(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_relaxed_laneselect(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_relaxed_laneselect(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i64x2_relaxed_laneselect(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_relaxed_min(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f32x4_relaxed_max(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_relaxed_min(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_f64x2_relaxed_max(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_relaxed_q15mulr_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i16x8_relaxed_dot_i8x16_i7x16_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_i32x4_relaxed_dot_i8x16_i7x16_add_s(\n &mut self\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_call_ref(\n &mut self,\n hty: HeapType\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_return_call_ref(\n &mut self,\n hty: HeapType\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_ref_as_non_null(&mut self) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_br_on_null(\n &mut self,\n relative_depth: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    §

    fn visit_br_on_non_null(\n &mut self,\n relative_depth: u32\n) -> <Box<V> as VisitOperator<'a>>::Output

    ","VisitOperator<'a>","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> WrapperTypeDecode for Box<T>

    §

    type Wrapped = T

    A wrapped type.
    ","WrapperTypeDecode","tuxedo_template_wallet::output_filter::Filter"],["
    1.0.0 · source§

    impl<W> Write for Box<W>
    where\n W: Write + ?Sized,

    source§

    fn write(&mut self, buf: &[u8]) -> Result<usize, Error>

    Write a buffer into this writer, returning how many bytes were written. Read more
    source§

    fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize, Error>

    Like write, except that it writes from a slice of buffers. Read more
    source§

    fn is_write_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Writer has an efficient write_vectored\nimplementation. Read more
    source§

    fn flush(&mut self) -> Result<(), Error>

    Flush this output stream, ensuring that all intermediately buffered\ncontents reach their destination. Read more
    source§

    fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>

    Attempts to write an entire buffer into this writer. Read more
    source§

    fn write_fmt(&mut self, fmt: Arguments<'_>) -> Result<(), Error>

    Writes a formatted string into this writer, returning any error\nencountered. Read more
    source§

    fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (write_all_vectored)
    Attempts to write multiple buffers into this writer. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Creates a “by reference” adapter for this instance of Write. Read more
    ","Write","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> WriteColor for Box<T>
    where\n T: WriteColor + ?Sized,

    §

    fn supports_color(&self) -> bool

    Returns true if and only if the underlying writer supports colors.
    §

    fn supports_hyperlinks(&self) -> bool

    Returns true if and only if the underlying writer supports hyperlinks. Read more
    §

    fn set_color(&mut self, spec: &ColorSpec) -> Result<(), Error>

    Set the color settings of the writer. Read more
    §

    fn set_hyperlink(&mut self, link: &HyperlinkSpec<'_>) -> Result<(), Error>

    Set the current hyperlink of the writer. Read more
    §

    fn reset(&mut self) -> Result<(), Error>

    Reset the current color settings to their original settings. Read more
    §

    fn is_synchronous(&self) -> bool

    Returns true if and only if the underlying writer must synchronously\ninteract with an end user’s device in order to control colors. By\ndefault, this always returns false. Read more
    ","WriteColor","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<W> WriteFormatted for Box<W>
    where\n W: Write + ?Sized,

    source§

    fn write_formatted<F, N>(&mut self, n: &N, format: &F) -> Result<usize, Error>
    where\n F: Format,\n N: ToFormattedString,

    Formats the provided number according to the provided format and then writes the resulting\nbytes to the object. Meant to be analagous to io::Write’s write_all method or\nfmt::Write’s write_str method. On success, returns the number of bytes written. Read more
    ","WriteFormatted","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<T, U, A> CoerceUnsized<Box<U, A>> for Box<T, A>
    where\n T: Unsize<U> + ?Sized,\n A: Allocator,\n U: ?Sized,

    ","CoerceUnsized>","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> ConstEncodedLen for Box<T>
    where\n T: ConstEncodedLen,

    ","ConstEncodedLen","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<R> CryptoRng for Box<R>
    where\n R: CryptoRng + ?Sized,

    ","CryptoRng","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<R> CryptoRng for Box<R>
    where\n R: CryptoRng + ?Sized,

    ","CryptoRng","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<T, A> DerefPure for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    ","DerefPure","tuxedo_template_wallet::output_filter::Filter"],["
    source§

    impl<T, U> DispatchFromDyn<Box<U>> for Box<T>
    where\n T: Unsize<U> + ?Sized,\n U: ?Sized,

    ","DispatchFromDyn>","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> EncodeLike<T> for Box<T>
    where\n T: Encode,

    ","EncodeLike","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> EncodeLike for Box<T>
    where\n T: Encode + ?Sized,

    ","EncodeLike","tuxedo_template_wallet::output_filter::Filter"],["
    1.0.0 · source§

    impl<T, A> Eq for Box<T, A>
    where\n T: Eq + ?Sized,\n A: Allocator,

    ","Eq","tuxedo_template_wallet::output_filter::Filter"],["
    1.26.0 · source§

    impl<I, A> FusedIterator for Box<I, A>
    where\n I: FusedIterator + ?Sized,\n A: Allocator,

    ","FusedIterator","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> StableDeref for Box<T>
    where\n T: ?Sized,

    ","StableDeref","tuxedo_template_wallet::output_filter::Filter"],["
    1.33.0 · source§

    impl<T, A> Unpin for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    ","Unpin","tuxedo_template_wallet::output_filter::Filter"],["
    §

    impl<T> WrapperTypeEncode for Box<T>
    where\n T: ?Sized,

    ","WrapperTypeEncode","tuxedo_template_wallet::output_filter::Filter"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/type.impl/core/result/enum.Result.js b/type.impl/core/result/enum.Result.js index 05e191f56..b8d16c3f9 100644 --- a/type.impl/core/result/enum.Result.js +++ b/type.impl/core/result/enum.Result.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"tuxedo_core":[["
    source§

    impl<T, E> Result<T, E>

    1.0.0 (const: 1.48.0) · source

    pub const fn is_ok(&self) -> bool

    Returns true if the result is Ok.

    \n
    §Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_ok(), true);\n\nlet x: Result<i32, &str> = Err(\"Some error message\");\nassert_eq!(x.is_ok(), false);
    \n
    1.70.0 · source

    pub fn is_ok_and(self, f: impl FnOnce(T) -> bool) -> bool

    Returns true if the result is Ok and the value inside of it matches a predicate.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.is_ok_and(|x| x > 1), true);\n\nlet x: Result<u32, &str> = Ok(0);\nassert_eq!(x.is_ok_and(|x| x > 1), false);\n\nlet x: Result<u32, &str> = Err(\"hey\");\nassert_eq!(x.is_ok_and(|x| x > 1), false);
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn is_err(&self) -> bool

    Returns true if the result is Err.

    \n
    §Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_err(), false);\n\nlet x: Result<i32, &str> = Err(\"Some error message\");\nassert_eq!(x.is_err(), true);
    \n
    1.70.0 · source

    pub fn is_err_and(self, f: impl FnOnce(E) -> bool) -> bool

    Returns true if the result is Err and the value inside of it matches a predicate.

    \n
    §Examples
    \n
    use std::io::{Error, ErrorKind};\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::NotFound, \"!\"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), true);\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::PermissionDenied, \"!\"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);\n\nlet x: Result<u32, Error> = Ok(123);\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);
    \n
    1.0.0 · source

    pub fn ok(self) -> Option<T>

    Converts from Result<T, E> to Option<T>.

    \n

    Converts self into an Option<T>, consuming self,\nand discarding the error, if any.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.ok(), Some(2));\n\nlet x: Result<u32, &str> = Err(\"Nothing here\");\nassert_eq!(x.ok(), None);
    \n
    1.0.0 · source

    pub fn err(self) -> Option<E>

    Converts from Result<T, E> to Option<E>.

    \n

    Converts self into an Option<E>, consuming self,\nand discarding the success value, if any.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.err(), None);\n\nlet x: Result<u32, &str> = Err(\"Nothing here\");\nassert_eq!(x.err(), Some(\"Nothing here\"));
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn as_ref(&self) -> Result<&T, &E>

    Converts from &Result<T, E> to Result<&T, &E>.

    \n

    Produces a new Result, containing a reference\ninto the original, leaving the original in place.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.as_ref(), Ok(&2));\n\nlet x: Result<u32, &str> = Err(\"Error\");\nassert_eq!(x.as_ref(), Err(&\"Error\"));
    \n
    1.0.0 (const: unstable) · source

    pub fn as_mut(&mut self) -> Result<&mut T, &mut E>

    Converts from &mut Result<T, E> to Result<&mut T, &mut E>.

    \n
    §Examples
    \n
    fn mutate(r: &mut Result<i32, i32>) {\n    match r.as_mut() {\n        Ok(v) => *v = 42,\n        Err(e) => *e = 0,\n    }\n}\n\nlet mut x: Result<i32, i32> = Ok(2);\nmutate(&mut x);\nassert_eq!(x.unwrap(), 42);\n\nlet mut x: Result<i32, i32> = Err(13);\nmutate(&mut x);\nassert_eq!(x.unwrap_err(), 0);
    \n
    1.0.0 · source

    pub fn map<U, F>(self, op: F) -> Result<U, E>
    where\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to Result<U, E> by applying a function to a\ncontained Ok value, leaving an Err value untouched.

    \n

    This function can be used to compose the results of two functions.

    \n
    §Examples
    \n

    Print the numbers on each line of a string multiplied by two.

    \n\n
    let line = \"1\\n2\\n3\\n4\\n\";\n\nfor num in line.lines() {\n    match num.parse::<i32>().map(|i| i * 2) {\n        Ok(n) => println!(\"{n}\"),\n        Err(..) => {}\n    }\n}
    \n
    1.41.0 · source

    pub fn map_or<U, F>(self, default: U, f: F) -> U
    where\n F: FnOnce(T) -> U,

    Returns the provided default (if Err), or\napplies a function to the contained value (if Ok).

    \n

    Arguments passed to map_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use map_or_else,\nwhich is lazily evaluated.

    \n
    §Examples
    \n
    let x: Result<_, &str> = Ok(\"foo\");\nassert_eq!(x.map_or(42, |v| v.len()), 3);\n\nlet x: Result<&str, _> = Err(\"bar\");\nassert_eq!(x.map_or(42, |v| v.len()), 42);
    \n
    1.41.0 · source

    pub fn map_or_else<U, D, F>(self, default: D, f: F) -> U
    where\n D: FnOnce(E) -> U,\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to U by applying fallback function default to\na contained Err value, or function f to a contained Ok value.

    \n

    This function can be used to unpack a successful result\nwhile handling an error.

    \n
    §Examples
    \n
    let k = 21;\n\nlet x : Result<_, &str> = Ok(\"foo\");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 3);\n\nlet x : Result<&str, _> = Err(\"bar\");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 42);
    \n
    1.0.0 · source

    pub fn map_err<F, O>(self, op: O) -> Result<T, F>
    where\n O: FnOnce(E) -> F,

    Maps a Result<T, E> to Result<T, F> by applying a function to a\ncontained Err value, leaving an Ok value untouched.

    \n

    This function can be used to pass through a successful result while handling\nan error.

    \n
    §Examples
    \n
    fn stringify(x: u32) -> String { format!(\"error code: {x}\") }\n\nlet x: Result<u32, u32> = Ok(2);\nassert_eq!(x.map_err(stringify), Ok(2));\n\nlet x: Result<u32, u32> = Err(13);\nassert_eq!(x.map_err(stringify), Err(\"error code: 13\".to_string()));
    \n
    1.76.0 · source

    pub fn inspect<F>(self, f: F) -> Result<T, E>
    where\n F: FnOnce(&T),

    Calls the provided closure with a reference to the contained value (if Ok).

    \n
    §Examples
    \n
    let x: u8 = \"4\"\n    .parse::<u8>()\n    .inspect(|x| println!(\"original: {x}\"))\n    .map(|x| x.pow(3))\n    .expect(\"failed to parse number\");
    \n
    1.76.0 · source

    pub fn inspect_err<F>(self, f: F) -> Result<T, E>
    where\n F: FnOnce(&E),

    Calls the provided closure with a reference to the contained error (if Err).

    \n
    §Examples
    \n
    use std::{fs, io};\n\nfn read() -> io::Result<String> {\n    fs::read_to_string(\"address.txt\")\n        .inspect_err(|e| eprintln!(\"failed to read file: {e}\"))\n}
    \n
    1.47.0 · source

    pub fn as_deref(&self) -> Result<&<T as Deref>::Target, &E>
    where\n T: Deref,

    Converts from Result<T, E> (or &Result<T, E>) to Result<&<T as Deref>::Target, &E>.

    \n

    Coerces the Ok variant of the original Result via Deref\nand returns the new Result.

    \n
    §Examples
    \n
    let x: Result<String, u32> = Ok(\"hello\".to_string());\nlet y: Result<&str, &u32> = Ok(\"hello\");\nassert_eq!(x.as_deref(), y);\n\nlet x: Result<String, u32> = Err(42);\nlet y: Result<&str, &u32> = Err(&42);\nassert_eq!(x.as_deref(), y);
    \n
    1.47.0 · source

    pub fn as_deref_mut(&mut self) -> Result<&mut <T as Deref>::Target, &mut E>
    where\n T: DerefMut,

    Converts from Result<T, E> (or &mut Result<T, E>) to Result<&mut <T as DerefMut>::Target, &mut E>.

    \n

    Coerces the Ok variant of the original Result via DerefMut\nand returns the new Result.

    \n
    §Examples
    \n
    let mut s = \"HELLO\".to_string();\nlet mut x: Result<String, u32> = Ok(\"hello\".to_string());\nlet y: Result<&mut str, &mut u32> = Ok(&mut s);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);\n\nlet mut i = 42;\nlet mut x: Result<String, u32> = Err(42);\nlet y: Result<&mut str, &mut u32> = Err(&mut i);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);
    \n
    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, T>

    Returns an iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(7);\nassert_eq!(x.iter().next(), Some(&7));\n\nlet x: Result<u32, &str> = Err(\"nothing!\");\nassert_eq!(x.iter().next(), None);
    \n
    1.0.0 · source

    pub fn iter_mut(&mut self) -> IterMut<'_, T>

    Returns a mutable iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    §Examples
    \n
    let mut x: Result<u32, &str> = Ok(7);\nmatch x.iter_mut().next() {\n    Some(v) => *v = 40,\n    None => {},\n}\nassert_eq!(x, Ok(40));\n\nlet mut x: Result<u32, &str> = Err(\"nothing!\");\nassert_eq!(x.iter_mut().next(), None);
    \n
    1.4.0 · source

    pub fn expect(self, msg: &str) -> T
    where\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    §Panics
    \n

    Panics if the value is an Err, with a panic message including the\npassed message, and the content of the Err.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nx.expect(\"Testing expect\"); // panics with `Testing expect: emergency failure`
    \n
    §Recommended Message Style
    \n

    We recommend that expect messages are used to describe the reason you\nexpect the Result should be Ok.

    \n\n
    let path = std::env::var(\"IMPORTANT_PATH\")\n    .expect(\"env variable `IMPORTANT_PATH` should be set by `wrapper_script.sh`\");
    \n

    Hint: If you’re having trouble remembering how to phrase expect\nerror messages remember to focus on the word “should” as in “env\nvariable should be set by blah” or “the given binary should be available\nand executable by the current user”.

    \n

    For more detail on expect message styles and the reasoning behind our recommendation please\nrefer to the section on “Common Message\nStyles” in the\nstd::error module docs.

    \n
    1.0.0 · source

    pub fn unwrap(self) -> T
    where\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    §Panics
    \n

    Panics if the value is an Err, with a panic message provided by the\nErr’s value.

    \n
    §Examples
    \n

    Basic usage:

    \n\n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.unwrap(), 2);
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nx.unwrap(); // panics with `emergency failure`
    \n
    1.16.0 · source

    pub fn unwrap_or_default(self) -> T
    where\n T: Default,

    Returns the contained Ok value or a default

    \n

    Consumes the self argument then, if Ok, returns the contained\nvalue, otherwise if Err, returns the default value for that\ntype.

    \n
    §Examples
    \n

    Converts a string to an integer, turning poorly-formed strings\ninto 0 (the default value for integers). parse converts\na string to any other type that implements FromStr, returning an\nErr on error.

    \n\n
    let good_year_from_input = \"1909\";\nlet bad_year_from_input = \"190blarg\";\nlet good_year = good_year_from_input.parse().unwrap_or_default();\nlet bad_year = bad_year_from_input.parse().unwrap_or_default();\n\nassert_eq!(1909, good_year);\nassert_eq!(0, bad_year);
    \n
    1.17.0 · source

    pub fn expect_err(self, msg: &str) -> E
    where\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    §Panics
    \n

    Panics if the value is an Ok, with a panic message including the\npassed message, and the content of the Ok.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(10);\nx.expect_err(\"Testing expect_err\"); // panics with `Testing expect_err: 10`
    \n
    1.0.0 · source

    pub fn unwrap_err(self) -> E
    where\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    §Panics
    \n

    Panics if the value is an Ok, with a custom panic message provided\nby the Ok’s value.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nx.unwrap_err(); // panics with `2`
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nassert_eq!(x.unwrap_err(), \"emergency failure\");
    \n
    source

    pub fn into_ok(self) -> T
    where\n E: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Ok value, but never panics.

    \n

    Unlike unwrap, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap as a maintainability safeguard that will fail\nto compile if the error type of the Result is later changed\nto an error that can actually occur.

    \n
    §Examples
    \n
    \nfn only_good_news() -> Result<String, !> {\n    Ok(\"this is fine\".into())\n}\n\nlet s: String = only_good_news().into_ok();\nprintln!(\"{s}\");
    \n
    source

    pub fn into_err(self) -> E
    where\n T: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Err value, but never panics.

    \n

    Unlike unwrap_err, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap_err as a maintainability safeguard that will fail\nto compile if the ok type of the Result is later changed\nto a type that can actually occur.

    \n
    §Examples
    \n
    \nfn only_bad_news() -> Result<!, String> {\n    Err(\"Oops, it failed\".into())\n}\n\nlet error: String = only_bad_news().into_err();\nprintln!(\"{error}\");
    \n
    1.0.0 · source

    pub fn and<U>(self, res: Result<U, E>) -> Result<U, E>

    Returns res if the result is Ok, otherwise returns the Err value of self.

    \n

    Arguments passed to and are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use and_then, which is\nlazily evaluated.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Err(\"late error\");\nassert_eq!(x.and(y), Err(\"late error\"));\n\nlet x: Result<u32, &str> = Err(\"early error\");\nlet y: Result<&str, &str> = Ok(\"foo\");\nassert_eq!(x.and(y), Err(\"early error\"));\n\nlet x: Result<u32, &str> = Err(\"not a 2\");\nlet y: Result<&str, &str> = Err(\"late error\");\nassert_eq!(x.and(y), Err(\"not a 2\"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Ok(\"different result type\");\nassert_eq!(x.and(y), Ok(\"different result type\"));
    \n
    1.0.0 · source

    pub fn and_then<U, F>(self, op: F) -> Result<U, E>
    where\n F: FnOnce(T) -> Result<U, E>,

    Calls op if the result is Ok, otherwise returns the Err value of self.

    \n

    This function can be used for control flow based on Result values.

    \n
    §Examples
    \n
    fn sq_then_to_string(x: u32) -> Result<String, &'static str> {\n    x.checked_mul(x).map(|sq| sq.to_string()).ok_or(\"overflowed\")\n}\n\nassert_eq!(Ok(2).and_then(sq_then_to_string), Ok(4.to_string()));\nassert_eq!(Ok(1_000_000).and_then(sq_then_to_string), Err(\"overflowed\"));\nassert_eq!(Err(\"not a number\").and_then(sq_then_to_string), Err(\"not a number\"));
    \n

    Often used to chain fallible operations that may return Err.

    \n\n
    use std::{io::ErrorKind, path::Path};\n\n// Note: on Windows \"/\" maps to \"C:\\\"\nlet root_modified_time = Path::new(\"/\").metadata().and_then(|md| md.modified());\nassert!(root_modified_time.is_ok());\n\nlet should_fail = Path::new(\"/bad/path\").metadata().and_then(|md| md.modified());\nassert!(should_fail.is_err());\nassert_eq!(should_fail.unwrap_err().kind(), ErrorKind::NotFound);
    \n
    1.0.0 · source

    pub fn or<F>(self, res: Result<T, F>) -> Result<T, F>

    Returns res if the result is Err, otherwise returns the Ok value of self.

    \n

    Arguments passed to or are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use or_else, which is\nlazily evaluated.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Err(\"late error\");\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err(\"early error\");\nlet y: Result<u32, &str> = Ok(2);\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err(\"not a 2\");\nlet y: Result<u32, &str> = Err(\"late error\");\nassert_eq!(x.or(y), Err(\"late error\"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Ok(100);\nassert_eq!(x.or(y), Ok(2));
    \n
    1.0.0 · source

    pub fn or_else<F, O>(self, op: O) -> Result<T, F>
    where\n O: FnOnce(E) -> Result<T, F>,

    Calls op if the result is Err, otherwise returns the Ok value of self.

    \n

    This function can be used for control flow based on result values.

    \n
    §Examples
    \n
    fn sq(x: u32) -> Result<u32, u32> { Ok(x * x) }\nfn err(x: u32) -> Result<u32, u32> { Err(x) }\n\nassert_eq!(Ok(2).or_else(sq).or_else(sq), Ok(2));\nassert_eq!(Ok(2).or_else(err).or_else(sq), Ok(2));\nassert_eq!(Err(3).or_else(sq).or_else(err), Ok(9));\nassert_eq!(Err(3).or_else(err).or_else(err), Err(3));
    \n
    1.0.0 · source

    pub fn unwrap_or(self, default: T) -> T

    Returns the contained Ok value or a provided default.

    \n

    Arguments passed to unwrap_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use unwrap_or_else,\nwhich is lazily evaluated.

    \n
    §Examples
    \n
    let default = 2;\nlet x: Result<u32, &str> = Ok(9);\nassert_eq!(x.unwrap_or(default), 9);\n\nlet x: Result<u32, &str> = Err(\"error\");\nassert_eq!(x.unwrap_or(default), default);
    \n
    1.0.0 · source

    pub fn unwrap_or_else<F>(self, op: F) -> T
    where\n F: FnOnce(E) -> T,

    Returns the contained Ok value or computes it from a closure.

    \n
    §Examples
    \n
    fn count(x: &str) -> usize { x.len() }\n\nassert_eq!(Ok(2).unwrap_or_else(count), 2);\nassert_eq!(Err(\"foo\").unwrap_or_else(count), 3);
    \n
    1.58.0 · source

    pub unsafe fn unwrap_unchecked(self) -> T

    Returns the contained Ok value, consuming the self value,\nwithout checking that the value is not an Err.

    \n
    §Safety
    \n

    Calling this method on an Err is undefined behavior.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(unsafe { x.unwrap_unchecked() }, 2);
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nunsafe { x.unwrap_unchecked(); } // Undefined behavior!
    \n
    1.58.0 · source

    pub unsafe fn unwrap_err_unchecked(self) -> E

    Returns the contained Err value, consuming the self value,\nwithout checking that the value is not an Ok.

    \n
    §Safety
    \n

    Calling this method on an Ok is undefined behavior.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nunsafe { x.unwrap_err_unchecked() }; // Undefined behavior!
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nassert_eq!(unsafe { x.unwrap_err_unchecked() }, \"emergency failure\");
    \n
    ",0,"tuxedo_core::types::DispatchResult"],["
    1.61.0 · source§

    impl<T, E> Termination for Result<T, E>
    where\n T: Termination,\n E: Debug,

    source§

    fn report(self) -> ExitCode

    Is called to get the representation of the value as status code.\nThis status code is returned to the operating system.
    ","Termination","tuxedo_core::types::DispatchResult"],["
    1.0.0 · source§

    impl<T, E> PartialOrd for Result<T, E>
    where\n T: PartialOrd,\n E: PartialOrd,

    source§

    fn partial_cmp(&self, other: &Result<T, E>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    ","PartialOrd","tuxedo_core::types::DispatchResult"],["
    1.0.0 · source§

    impl<A, E, V> FromIterator<Result<A, E>> for Result<V, E>
    where\n V: FromIterator<A>,

    source§

    fn from_iter<I>(iter: I) -> Result<V, E>
    where\n I: IntoIterator<Item = Result<A, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err occur, a\ncontainer with the values of each Result is returned.

    \n

    Here is an example which increments every integer in a vector,\nchecking for overflow:

    \n\n
    let v = vec![1, 2];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_add(1).ok_or(\"Overflow!\")\n).collect();\nassert_eq!(res, Ok(vec![2, 3]));
    \n

    Here is another example that tries to subtract one from another list\nof integers, this time checking for underflow:

    \n\n
    let v = vec![1, 2, 0];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_sub(1).ok_or(\"Underflow!\")\n).collect();\nassert_eq!(res, Err(\"Underflow!\"));
    \n

    Here is a variation on the previous example, showing that no\nfurther elements are taken from iter after the first Err.

    \n\n
    let v = vec![3, 2, 1, 10];\nlet mut shared = 0;\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32| {\n    shared += x;\n    x.checked_sub(2).ok_or(\"Underflow!\")\n}).collect();\nassert_eq!(res, Err(\"Underflow!\"));\nassert_eq!(shared, 6);
    \n

    Since the third element caused an underflow, no further elements were taken,\nso the final value of shared is 6 (= 3 + 2 + 1), not 16.

    \n
    ","FromIterator>","tuxedo_core::types::DispatchResult"],["
    1.0.0 · source§

    impl<T, E> Hash for Result<T, E>
    where\n T: Hash,\n E: Hash,

    source§

    fn hash<__H>(&self, state: &mut __H)
    where\n __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","tuxedo_core::types::DispatchResult"],["
    1.0.0 · source§

    impl<T, E> Clone for Result<T, E>
    where\n T: Clone,\n E: Clone,

    source§

    fn clone(&self) -> Result<T, E>

    Returns a copy of the value. Read more
    source§

    fn clone_from(&mut self, source: &Result<T, E>)

    Performs copy-assignment from source. Read more
    ","Clone","tuxedo_core::types::DispatchResult"],["
    1.0.0 · source§

    impl<T, E> StructuralPartialEq for Result<T, E>

    ","StructuralPartialEq","tuxedo_core::types::DispatchResult"],["
    1.0.0 · source§

    impl<T, E> Debug for Result<T, E>
    where\n T: Debug,\n E: Debug,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","tuxedo_core::types::DispatchResult"],["
    1.0.0 · source§

    impl<T, E> IntoIterator for Result<T, E>

    source§

    fn into_iter(self) -> IntoIter<T>

    Returns a consuming iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(5);\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, [5]);\n\nlet x: Result<u32, &str> = Err(\"nothing!\");\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, []);
    \n
    §

    type Item = T

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<T>

    Which kind of iterator are we turning this into?
    ","IntoIterator","tuxedo_core::types::DispatchResult"],["
    1.0.0 · source§

    impl<T, E> Eq for Result<T, E>
    where\n T: Eq,\n E: Eq,

    ","Eq","tuxedo_core::types::DispatchResult"],["
    1.16.0 · source§

    impl<T, U, E> Sum<Result<U, E>> for Result<T, E>
    where\n T: Sum<U>,

    source§

    fn sum<I>(iter: I) -> Result<T, E>
    where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the sum of all elements is returned.

    \n
    §Examples
    \n

    This sums up every integer in a vector, rejecting the sum if a negative\nelement is encountered:

    \n\n
    let f = |&x: &i32| if x < 0 { Err(\"Negative element found\") } else { Ok(x) };\nlet v = vec![1, 2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Ok(3));\nlet v = vec![1, -2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Err(\"Negative element found\"));
    \n
    ","Sum>","tuxedo_core::types::DispatchResult"],["
    1.0.0 · source§

    impl<T, E> Ord for Result<T, E>
    where\n T: Ord,\n E: Ord,

    source§

    fn cmp(&self, other: &Result<T, E>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Self
    where\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","tuxedo_core::types::DispatchResult"],["
    1.0.0 · source§

    impl<T, E> Copy for Result<T, E>
    where\n T: Copy,\n E: Copy,

    ","Copy","tuxedo_core::types::DispatchResult"],["
    1.0.0 · source§

    impl<T, E> PartialEq for Result<T, E>
    where\n T: PartialEq,\n E: PartialEq,

    source§

    fn eq(&self, other: &Result<T, E>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","tuxedo_core::types::DispatchResult"],["
    source§

    impl<T, E, F> FromResidual<Result<Infallible, E>> for Result<T, F>
    where\n F: From<E>,

    source§

    fn from_residual(residual: Result<Infallible, E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","tuxedo_core::types::DispatchResult"],["
    source§

    impl<T, E, F> FromResidual<Yeet<E>> for Result<T, F>
    where\n F: From<E>,

    source§

    fn from_residual(_: Yeet<E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","tuxedo_core::types::DispatchResult"],["
    1.16.0 · source§

    impl<T, U, E> Product<Result<U, E>> for Result<T, E>
    where\n T: Product<U>,

    source§

    fn product<I>(iter: I) -> Result<T, E>
    where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the product of all elements is returned.

    \n
    §Examples
    \n

    This multiplies each number in a vector of strings,\nif a string could not be parsed the operation returns Err:

    \n\n
    let nums = vec![\"5\", \"10\", \"1\", \"2\"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert_eq!(total, Ok(100));\nlet nums = vec![\"5\", \"10\", \"one\", \"2\"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert!(total.is_err());
    \n
    ","Product>","tuxedo_core::types::DispatchResult"],["
    source§

    impl<T, E> Try for Result<T, E>

    §

    type Output = T

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value produced by ? when not short-circuiting.
    §

    type Residual = Result<Infallible, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value passed to FromResidual::from_residual\nas part of ? when short-circuiting. Read more
    source§

    fn from_output(output: <Result<T, E> as Try>::Output) -> Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from its Output type. Read more
    source§

    fn branch(\n self\n) -> ControlFlow<<Result<T, E> as Try>::Residual, <Result<T, E> as Try>::Output>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Used in ? to decide whether the operator should produce a value\n(because this returned ControlFlow::Continue)\nor propagate a value back to the caller\n(because this returned ControlFlow::Break). Read more
    ","Try","tuxedo_core::types::DispatchResult"],["
    §

    impl<T, E> Encode for Result<T, E>
    where\n T: Encode,\n E: Encode,

    §

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    §

    fn encode_to<W>(&self, dest: &mut W)
    where\n W: Output + ?Sized,

    Convert self to a slice and append it to the destination.
    §

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    §

    fn using_encoded<R, F>(&self, f: F) -> R
    where\n F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    ","Encode","tuxedo_core::types::DispatchResult"],["
    §

    impl<T, E> MaxEncodedLen for Result<T, E>
    where\n T: MaxEncodedLen,\n E: MaxEncodedLen,

    §

    fn max_encoded_len() -> usize

    Upper bound, in bytes, of the maximum encoded size of this item.
    ","MaxEncodedLen","tuxedo_core::types::DispatchResult"],["
    §

    impl<T, LikeT, E, LikeE> EncodeLike<Result<LikeT, LikeE>> for Result<T, E>
    where\n T: EncodeLike<LikeT>,\n LikeT: Encode,\n E: EncodeLike<LikeE>,\n LikeE: Encode,

    ","EncodeLike>","tuxedo_core::types::DispatchResult"],["
    §

    impl<T, E> Decode for Result<T, E>
    where\n T: Decode,\n E: Decode,

    §

    fn decode<I>(input: &mut I) -> Result<Result<T, E>, Error>
    where\n I: Input,

    Attempt to deserialise the value from input.
    §

    fn decode_into<I>(\n input: &mut I,\n dst: &mut MaybeUninit<Self>\n) -> Result<DecodeFinished, Error>
    where\n I: Input,

    Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
    §

    fn skip<I>(input: &mut I) -> Result<(), Error>
    where\n I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    ","Decode","tuxedo_core::types::DispatchResult"],["
    §

    impl<T, E> TapFallible for Result<T, E>

    §

    type Ok = T

    The interior type used to indicate a successful construction.
    §

    type Err = E

    The interior type used to indicate a failed construction.
    §

    fn tap_ok(self, func: impl FnOnce(&T)) -> Result<T, E>

    Immutably accesses an interior success value. Read more
    §

    fn tap_ok_mut(self, func: impl FnOnce(&mut T)) -> Result<T, E>

    Mutably accesses an interior success value. Read more
    §

    fn tap_err(self, func: impl FnOnce(&E)) -> Result<T, E>

    Immutably accesses an interior failure value. Read more
    §

    fn tap_err_mut(self, func: impl FnOnce(&mut E)) -> Result<T, E>

    Mutably accesses an interior failure value. Read more
    §

    fn tap_ok_dbg(self, func: impl FnOnce(&Self::Ok)) -> Self

    Calls .tap_ok() only in debug builds, and is erased in release builds.
    §

    fn tap_ok_mut_dbg(self, func: impl FnOnce(&mut Self::Ok)) -> Self

    Calls .tap_ok_mut() only in debug builds, and is erased in release\nbuilds.
    §

    fn tap_err_dbg(self, func: impl FnOnce(&Self::Err)) -> Self

    Calls .tap_err() only in debug builds, and is erased in release\nbuilds.
    §

    fn tap_err_mut_dbg(self, func: impl FnOnce(&mut Self::Err)) -> Self

    Calls .tap_err_mut() only in debug builds, and is erased in release\nbuilds.
    ","TapFallible","tuxedo_core::types::DispatchResult"],["
    source§

    impl<'de, T, E> Deserialize<'de> for Result<T, E>
    where\n T: Deserialize<'de>,\n E: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Result<T, E>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","tuxedo_core::types::DispatchResult"],["
    source§

    impl<T, E> Serialize for Result<T, E>
    where\n T: Serialize,\n E: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","tuxedo_core::types::DispatchResult"],["
    §

    impl<T, E> TypeInfo for Result<T, E>
    where\n T: TypeInfo + 'static,\n E: TypeInfo + 'static,

    §

    type Identity = Result<T, E>

    The type identifying for which type info is provided. Read more
    §

    fn type_info() -> Type

    Returns the static type identifier for Self.
    ","TypeInfo","tuxedo_core::types::DispatchResult"],["
    §

    impl<T, E> PassBy for Result<T, E>
    where\n T: Codec,\n E: Codec,

    §

    type PassBy = Codec<Result<T, E>>

    The strategy that should be used to pass the type.
    ","PassBy","tuxedo_core::types::DispatchResult"],["
    source§

    impl<T, E> Context<T, E> for Result<T, E>
    where\n E: StdError + Send + Sync + 'static,

    source§

    fn context<C>(self, context: C) -> Result<T, Error>
    where\n C: Display + Send + Sync + 'static,

    Wrap the error value with additional context.
    source§

    fn with_context<C, F>(self, context: F) -> Result<T, Error>
    where\n C: Display + Send + Sync + 'static,\n F: FnOnce() -> C,

    Wrap the error value with additional context that is evaluated lazily\nonly once an error does occur.
    ","Context","tuxedo_core::types::DispatchResult"],["
    §

    impl<C, T, E> FromParallelIterator<Result<T, E>> for Result<C, E>
    where\n C: FromParallelIterator<T>,\n T: Send,\n E: Send,

    Collect an arbitrary Result-wrapped collection.

    \n

    If any item is Err, then all previous Ok items collected are\ndiscarded, and it returns that error. If there are multiple errors, the\none returned is not deterministic.

    \n
    §

    fn from_par_iter<I>(par_iter: I) -> Result<C, E>
    where\n I: IntoParallelIterator<Item = Result<T, E>>,

    Creates an instance of the collection from the parallel iterator par_iter. Read more
    ","FromParallelIterator>","tuxedo_core::types::DispatchResult"],["
    §

    impl<T, E> IntoParallelIterator for Result<T, E>
    where\n T: Send,

    §

    type Item = T

    The type of item that the parallel iterator will produce.
    §

    type Iter = IntoIter<T>

    The parallel iterator type that will be created.
    §

    fn into_par_iter(self) -> <Result<T, E> as IntoParallelIterator>::Iter

    Converts self into a parallel iterator. Read more
    ","IntoParallelIterator","tuxedo_core::types::DispatchResult"],["
    §

    impl<R, A> RestrictedMath for Result<R, A>
    where\n R: RestrictedMath,\n A: 'static + Copy,

    §

    type Arg = <R as RestrictedMath>::Arg

    Argument for the math operations
    §

    type Value = <R as RestrictedMath>::Value

    Return value, generally the same as Arg
    §

    fn checked_add(\n &self,\n arg: <Result<R, A> as RestrictedMath>::Arg\n) -> Result<Restrict<<Result<R, A> as RestrictedMath>::Value>, <Result<R, A> as RestrictedMath>::Arg>

    Checked addition, see usize::checked_add
    §

    fn checked_sub(\n &self,\n arg: <Result<R, A> as RestrictedMath>::Arg\n) -> Result<Restrict<<Result<R, A> as RestrictedMath>::Value>, <Result<R, A> as RestrictedMath>::Arg>

    Checked subtraction, see usize::checked_sub
    §

    fn checked_mul(\n &self,\n arg: <Result<R, A> as RestrictedMath>::Arg\n) -> Result<Restrict<<Result<R, A> as RestrictedMath>::Value>, <Result<R, A> as RestrictedMath>::Arg>

    Checked multiplication, see usize::checked_mul
    ","RestrictedMath","tuxedo_core::types::DispatchResult"],["
    §

    impl<T, E> ResultExt<T, E> for Result<T, E>

    §

    fn context<X>(self, x: X) -> Result<T, Context<X, E>>

    The method is use to add context information to current operation Read more
    ","ResultExt","tuxedo_core::types::DispatchResult"],["
    source§

    impl<T, E> UnwrapThrowExt<T> for Result<T, E>
    where\n E: Debug,

    source§

    fn expect_throw(self, message: &str) -> T

    Unwrap this container’s T value, or throw an error to JS with the\ngiven message if the T value is unavailable (e.g. an Option<T> is\nNone).
    source§

    fn unwrap_throw(self) -> T

    Unwrap this Option or Result, but instead of panicking on failure,\nthrow an exception to JavaScript.
    ","UnwrapThrowExt","tuxedo_core::types::DispatchResult"],["
    source§

    impl<T, E> ReturnWasmAbi for Result<T, E>
    where\n T: IntoWasmAbi,\n E: Into<JsValue>,\n <T as IntoWasmAbi>::Abi: WasmAbi<Prim3 = (), Prim4 = ()>,

    §

    type Abi = Result<<T as IntoWasmAbi>::Abi, u32>

    Same as IntoWasmAbi::Abi
    source§

    fn return_abi(self) -> <Result<T, E> as ReturnWasmAbi>::Abi

    Same as IntoWasmAbi::into_abi, except that it may throw and never\nreturn in the case of Err.
    ","ReturnWasmAbi","tuxedo_core::types::DispatchResult"]] +"tuxedo_core":[["
    1.0.0 · source§

    impl<T, E> Clone for Result<T, E>
    where\n T: Clone,\n E: Clone,

    source§

    fn clone(&self) -> Result<T, E>

    Returns a copy of the value. Read more
    source§

    fn clone_from(&mut self, source: &Result<T, E>)

    Performs copy-assignment from source. Read more
    ","Clone","tuxedo_core::types::DispatchResult"],["
    source§

    impl<T, E> Context<T, E> for Result<T, E>
    where\n E: StdError + Send + Sync + 'static,

    source§

    fn context<C>(self, context: C) -> Result<T, Error>
    where\n C: Display + Send + Sync + 'static,

    Wrap the error value with additional context.
    source§

    fn with_context<C, F>(self, context: F) -> Result<T, Error>
    where\n C: Display + Send + Sync + 'static,\n F: FnOnce() -> C,

    Wrap the error value with additional context that is evaluated lazily\nonly once an error does occur.
    ","Context","tuxedo_core::types::DispatchResult"],["
    1.0.0 · source§

    impl<T, E> Debug for Result<T, E>
    where\n T: Debug,\n E: Debug,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","tuxedo_core::types::DispatchResult"],["
    §

    impl<T, E> Decode for Result<T, E>
    where\n T: Decode,\n E: Decode,

    §

    fn decode<I>(input: &mut I) -> Result<Result<T, E>, Error>
    where\n I: Input,

    Attempt to deserialise the value from input.
    §

    fn decode_into<I>(\n input: &mut I,\n dst: &mut MaybeUninit<Self>\n) -> Result<DecodeFinished, Error>
    where\n I: Input,

    Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
    §

    fn skip<I>(input: &mut I) -> Result<(), Error>
    where\n I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    ","Decode","tuxedo_core::types::DispatchResult"],["
    source§

    impl<'de, T, E> Deserialize<'de> for Result<T, E>
    where\n T: Deserialize<'de>,\n E: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Result<T, E>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","tuxedo_core::types::DispatchResult"],["
    §

    impl<T, E> Encode for Result<T, E>
    where\n T: Encode,\n E: Encode,

    §

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    §

    fn encode_to<W>(&self, dest: &mut W)
    where\n W: Output + ?Sized,

    Convert self to a slice and append it to the destination.
    §

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    §

    fn using_encoded<R, F>(&self, f: F) -> R
    where\n F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    ","Encode","tuxedo_core::types::DispatchResult"],["
    1.0.0 · source§

    impl<A, E, V> FromIterator<Result<A, E>> for Result<V, E>
    where\n V: FromIterator<A>,

    source§

    fn from_iter<I>(iter: I) -> Result<V, E>
    where\n I: IntoIterator<Item = Result<A, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err occur, a\ncontainer with the values of each Result is returned.

    \n

    Here is an example which increments every integer in a vector,\nchecking for overflow:

    \n\n
    let v = vec![1, 2];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_add(1).ok_or(\"Overflow!\")\n).collect();\nassert_eq!(res, Ok(vec![2, 3]));
    \n

    Here is another example that tries to subtract one from another list\nof integers, this time checking for underflow:

    \n\n
    let v = vec![1, 2, 0];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_sub(1).ok_or(\"Underflow!\")\n).collect();\nassert_eq!(res, Err(\"Underflow!\"));
    \n

    Here is a variation on the previous example, showing that no\nfurther elements are taken from iter after the first Err.

    \n\n
    let v = vec![3, 2, 1, 10];\nlet mut shared = 0;\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32| {\n    shared += x;\n    x.checked_sub(2).ok_or(\"Underflow!\")\n}).collect();\nassert_eq!(res, Err(\"Underflow!\"));\nassert_eq!(shared, 6);
    \n

    Since the third element caused an underflow, no further elements were taken,\nso the final value of shared is 6 (= 3 + 2 + 1), not 16.

    \n
    ","FromIterator>","tuxedo_core::types::DispatchResult"],["
    §

    impl<C, T, E> FromParallelIterator<Result<T, E>> for Result<C, E>
    where\n C: FromParallelIterator<T>,\n T: Send,\n E: Send,

    Collect an arbitrary Result-wrapped collection.

    \n

    If any item is Err, then all previous Ok items collected are\ndiscarded, and it returns that error. If there are multiple errors, the\none returned is not deterministic.

    \n
    §

    fn from_par_iter<I>(par_iter: I) -> Result<C, E>
    where\n I: IntoParallelIterator<Item = Result<T, E>>,

    Creates an instance of the collection from the parallel iterator par_iter. Read more
    ","FromParallelIterator>","tuxedo_core::types::DispatchResult"],["
    source§

    impl<T, E, F> FromResidual<Result<Infallible, E>> for Result<T, F>
    where\n F: From<E>,

    source§

    fn from_residual(residual: Result<Infallible, E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","tuxedo_core::types::DispatchResult"],["
    source§

    impl<T, E, F> FromResidual<Yeet<E>> for Result<T, F>
    where\n F: From<E>,

    source§

    fn from_residual(_: Yeet<E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","tuxedo_core::types::DispatchResult"],["
    1.0.0 · source§

    impl<T, E> Hash for Result<T, E>
    where\n T: Hash,\n E: Hash,

    source§

    fn hash<__H>(&self, state: &mut __H)
    where\n __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","tuxedo_core::types::DispatchResult"],["
    1.0.0 · source§

    impl<T, E> IntoIterator for Result<T, E>

    source§

    fn into_iter(self) -> IntoIter<T>

    Returns a consuming iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(5);\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, [5]);\n\nlet x: Result<u32, &str> = Err(\"nothing!\");\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, []);
    \n
    §

    type Item = T

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<T>

    Which kind of iterator are we turning this into?
    ","IntoIterator","tuxedo_core::types::DispatchResult"],["
    §

    impl<T, E> IntoParallelIterator for Result<T, E>
    where\n T: Send,

    §

    type Item = T

    The type of item that the parallel iterator will produce.
    §

    type Iter = IntoIter<T>

    The parallel iterator type that will be created.
    §

    fn into_par_iter(self) -> <Result<T, E> as IntoParallelIterator>::Iter

    Converts self into a parallel iterator. Read more
    ","IntoParallelIterator","tuxedo_core::types::DispatchResult"],["
    §

    impl<T, E> MaxEncodedLen for Result<T, E>
    where\n T: MaxEncodedLen,\n E: MaxEncodedLen,

    §

    fn max_encoded_len() -> usize

    Upper bound, in bytes, of the maximum encoded size of this item.
    ","MaxEncodedLen","tuxedo_core::types::DispatchResult"],["
    1.0.0 · source§

    impl<T, E> Ord for Result<T, E>
    where\n T: Ord,\n E: Ord,

    source§

    fn cmp(&self, other: &Result<T, E>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Self
    where\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","tuxedo_core::types::DispatchResult"],["
    1.0.0 · source§

    impl<T, E> PartialEq for Result<T, E>
    where\n T: PartialEq,\n E: PartialEq,

    source§

    fn eq(&self, other: &Result<T, E>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","tuxedo_core::types::DispatchResult"],["
    1.0.0 · source§

    impl<T, E> PartialOrd for Result<T, E>
    where\n T: PartialOrd,\n E: PartialOrd,

    source§

    fn partial_cmp(&self, other: &Result<T, E>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    ","PartialOrd","tuxedo_core::types::DispatchResult"],["
    §

    impl<T, E> PassBy for Result<T, E>
    where\n T: Codec,\n E: Codec,

    §

    type PassBy = Codec<Result<T, E>>

    The strategy that should be used to pass the type.
    ","PassBy","tuxedo_core::types::DispatchResult"],["
    1.16.0 · source§

    impl<T, U, E> Product<Result<U, E>> for Result<T, E>
    where\n T: Product<U>,

    source§

    fn product<I>(iter: I) -> Result<T, E>
    where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the product of all elements is returned.

    \n
    §Examples
    \n

    This multiplies each number in a vector of strings,\nif a string could not be parsed the operation returns Err:

    \n\n
    let nums = vec![\"5\", \"10\", \"1\", \"2\"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert_eq!(total, Ok(100));\nlet nums = vec![\"5\", \"10\", \"one\", \"2\"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert!(total.is_err());
    \n
    ","Product>","tuxedo_core::types::DispatchResult"],["
    §

    impl<R, A> RestrictedMath for Result<R, A>
    where\n R: RestrictedMath,\n A: 'static + Copy,

    §

    type Arg = <R as RestrictedMath>::Arg

    Argument for the math operations
    §

    type Value = <R as RestrictedMath>::Value

    Return value, generally the same as Arg
    §

    fn checked_add(\n &self,\n arg: <Result<R, A> as RestrictedMath>::Arg\n) -> Result<Restrict<<Result<R, A> as RestrictedMath>::Value>, <Result<R, A> as RestrictedMath>::Arg>

    Checked addition, see usize::checked_add
    §

    fn checked_sub(\n &self,\n arg: <Result<R, A> as RestrictedMath>::Arg\n) -> Result<Restrict<<Result<R, A> as RestrictedMath>::Value>, <Result<R, A> as RestrictedMath>::Arg>

    Checked subtraction, see usize::checked_sub
    §

    fn checked_mul(\n &self,\n arg: <Result<R, A> as RestrictedMath>::Arg\n) -> Result<Restrict<<Result<R, A> as RestrictedMath>::Value>, <Result<R, A> as RestrictedMath>::Arg>

    Checked multiplication, see usize::checked_mul
    ","RestrictedMath","tuxedo_core::types::DispatchResult"],["
    source§

    impl<T, E> Result<T, E>

    1.0.0 (const: 1.48.0) · source

    pub const fn is_ok(&self) -> bool

    Returns true if the result is Ok.

    \n
    §Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_ok(), true);\n\nlet x: Result<i32, &str> = Err(\"Some error message\");\nassert_eq!(x.is_ok(), false);
    \n
    1.70.0 · source

    pub fn is_ok_and(self, f: impl FnOnce(T) -> bool) -> bool

    Returns true if the result is Ok and the value inside of it matches a predicate.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.is_ok_and(|x| x > 1), true);\n\nlet x: Result<u32, &str> = Ok(0);\nassert_eq!(x.is_ok_and(|x| x > 1), false);\n\nlet x: Result<u32, &str> = Err(\"hey\");\nassert_eq!(x.is_ok_and(|x| x > 1), false);
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn is_err(&self) -> bool

    Returns true if the result is Err.

    \n
    §Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_err(), false);\n\nlet x: Result<i32, &str> = Err(\"Some error message\");\nassert_eq!(x.is_err(), true);
    \n
    1.70.0 · source

    pub fn is_err_and(self, f: impl FnOnce(E) -> bool) -> bool

    Returns true if the result is Err and the value inside of it matches a predicate.

    \n
    §Examples
    \n
    use std::io::{Error, ErrorKind};\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::NotFound, \"!\"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), true);\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::PermissionDenied, \"!\"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);\n\nlet x: Result<u32, Error> = Ok(123);\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);
    \n
    1.0.0 · source

    pub fn ok(self) -> Option<T>

    Converts from Result<T, E> to Option<T>.

    \n

    Converts self into an Option<T>, consuming self,\nand discarding the error, if any.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.ok(), Some(2));\n\nlet x: Result<u32, &str> = Err(\"Nothing here\");\nassert_eq!(x.ok(), None);
    \n
    1.0.0 · source

    pub fn err(self) -> Option<E>

    Converts from Result<T, E> to Option<E>.

    \n

    Converts self into an Option<E>, consuming self,\nand discarding the success value, if any.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.err(), None);\n\nlet x: Result<u32, &str> = Err(\"Nothing here\");\nassert_eq!(x.err(), Some(\"Nothing here\"));
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn as_ref(&self) -> Result<&T, &E>

    Converts from &Result<T, E> to Result<&T, &E>.

    \n

    Produces a new Result, containing a reference\ninto the original, leaving the original in place.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.as_ref(), Ok(&2));\n\nlet x: Result<u32, &str> = Err(\"Error\");\nassert_eq!(x.as_ref(), Err(&\"Error\"));
    \n
    1.0.0 (const: unstable) · source

    pub fn as_mut(&mut self) -> Result<&mut T, &mut E>

    Converts from &mut Result<T, E> to Result<&mut T, &mut E>.

    \n
    §Examples
    \n
    fn mutate(r: &mut Result<i32, i32>) {\n    match r.as_mut() {\n        Ok(v) => *v = 42,\n        Err(e) => *e = 0,\n    }\n}\n\nlet mut x: Result<i32, i32> = Ok(2);\nmutate(&mut x);\nassert_eq!(x.unwrap(), 42);\n\nlet mut x: Result<i32, i32> = Err(13);\nmutate(&mut x);\nassert_eq!(x.unwrap_err(), 0);
    \n
    1.0.0 · source

    pub fn map<U, F>(self, op: F) -> Result<U, E>
    where\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to Result<U, E> by applying a function to a\ncontained Ok value, leaving an Err value untouched.

    \n

    This function can be used to compose the results of two functions.

    \n
    §Examples
    \n

    Print the numbers on each line of a string multiplied by two.

    \n\n
    let line = \"1\\n2\\n3\\n4\\n\";\n\nfor num in line.lines() {\n    match num.parse::<i32>().map(|i| i * 2) {\n        Ok(n) => println!(\"{n}\"),\n        Err(..) => {}\n    }\n}
    \n
    1.41.0 · source

    pub fn map_or<U, F>(self, default: U, f: F) -> U
    where\n F: FnOnce(T) -> U,

    Returns the provided default (if Err), or\napplies a function to the contained value (if Ok).

    \n

    Arguments passed to map_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use map_or_else,\nwhich is lazily evaluated.

    \n
    §Examples
    \n
    let x: Result<_, &str> = Ok(\"foo\");\nassert_eq!(x.map_or(42, |v| v.len()), 3);\n\nlet x: Result<&str, _> = Err(\"bar\");\nassert_eq!(x.map_or(42, |v| v.len()), 42);
    \n
    1.41.0 · source

    pub fn map_or_else<U, D, F>(self, default: D, f: F) -> U
    where\n D: FnOnce(E) -> U,\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to U by applying fallback function default to\na contained Err value, or function f to a contained Ok value.

    \n

    This function can be used to unpack a successful result\nwhile handling an error.

    \n
    §Examples
    \n
    let k = 21;\n\nlet x : Result<_, &str> = Ok(\"foo\");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 3);\n\nlet x : Result<&str, _> = Err(\"bar\");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 42);
    \n
    1.0.0 · source

    pub fn map_err<F, O>(self, op: O) -> Result<T, F>
    where\n O: FnOnce(E) -> F,

    Maps a Result<T, E> to Result<T, F> by applying a function to a\ncontained Err value, leaving an Ok value untouched.

    \n

    This function can be used to pass through a successful result while handling\nan error.

    \n
    §Examples
    \n
    fn stringify(x: u32) -> String { format!(\"error code: {x}\") }\n\nlet x: Result<u32, u32> = Ok(2);\nassert_eq!(x.map_err(stringify), Ok(2));\n\nlet x: Result<u32, u32> = Err(13);\nassert_eq!(x.map_err(stringify), Err(\"error code: 13\".to_string()));
    \n
    1.76.0 · source

    pub fn inspect<F>(self, f: F) -> Result<T, E>
    where\n F: FnOnce(&T),

    Calls a function with a reference to the contained value if Ok.

    \n

    Returns the original result.

    \n
    §Examples
    \n
    let x: u8 = \"4\"\n    .parse::<u8>()\n    .inspect(|x| println!(\"original: {x}\"))\n    .map(|x| x.pow(3))\n    .expect(\"failed to parse number\");
    \n
    1.76.0 · source

    pub fn inspect_err<F>(self, f: F) -> Result<T, E>
    where\n F: FnOnce(&E),

    Calls a function with a reference to the contained value if Err.

    \n

    Returns the original result.

    \n
    §Examples
    \n
    use std::{fs, io};\n\nfn read() -> io::Result<String> {\n    fs::read_to_string(\"address.txt\")\n        .inspect_err(|e| eprintln!(\"failed to read file: {e}\"))\n}
    \n
    1.47.0 · source

    pub fn as_deref(&self) -> Result<&<T as Deref>::Target, &E>
    where\n T: Deref,

    Converts from Result<T, E> (or &Result<T, E>) to Result<&<T as Deref>::Target, &E>.

    \n

    Coerces the Ok variant of the original Result via Deref\nand returns the new Result.

    \n
    §Examples
    \n
    let x: Result<String, u32> = Ok(\"hello\".to_string());\nlet y: Result<&str, &u32> = Ok(\"hello\");\nassert_eq!(x.as_deref(), y);\n\nlet x: Result<String, u32> = Err(42);\nlet y: Result<&str, &u32> = Err(&42);\nassert_eq!(x.as_deref(), y);
    \n
    1.47.0 · source

    pub fn as_deref_mut(&mut self) -> Result<&mut <T as Deref>::Target, &mut E>
    where\n T: DerefMut,

    Converts from Result<T, E> (or &mut Result<T, E>) to Result<&mut <T as DerefMut>::Target, &mut E>.

    \n

    Coerces the Ok variant of the original Result via DerefMut\nand returns the new Result.

    \n
    §Examples
    \n
    let mut s = \"HELLO\".to_string();\nlet mut x: Result<String, u32> = Ok(\"hello\".to_string());\nlet y: Result<&mut str, &mut u32> = Ok(&mut s);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);\n\nlet mut i = 42;\nlet mut x: Result<String, u32> = Err(42);\nlet y: Result<&mut str, &mut u32> = Err(&mut i);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);
    \n
    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, T>

    Returns an iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(7);\nassert_eq!(x.iter().next(), Some(&7));\n\nlet x: Result<u32, &str> = Err(\"nothing!\");\nassert_eq!(x.iter().next(), None);
    \n
    1.0.0 · source

    pub fn iter_mut(&mut self) -> IterMut<'_, T>

    Returns a mutable iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    §Examples
    \n
    let mut x: Result<u32, &str> = Ok(7);\nmatch x.iter_mut().next() {\n    Some(v) => *v = 40,\n    None => {},\n}\nassert_eq!(x, Ok(40));\n\nlet mut x: Result<u32, &str> = Err(\"nothing!\");\nassert_eq!(x.iter_mut().next(), None);
    \n
    1.4.0 · source

    pub fn expect(self, msg: &str) -> T
    where\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    §Panics
    \n

    Panics if the value is an Err, with a panic message including the\npassed message, and the content of the Err.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nx.expect(\"Testing expect\"); // panics with `Testing expect: emergency failure`
    \n
    §Recommended Message Style
    \n

    We recommend that expect messages are used to describe the reason you\nexpect the Result should be Ok.

    \n\n
    let path = std::env::var(\"IMPORTANT_PATH\")\n    .expect(\"env variable `IMPORTANT_PATH` should be set by `wrapper_script.sh`\");
    \n

    Hint: If you’re having trouble remembering how to phrase expect\nerror messages remember to focus on the word “should” as in “env\nvariable should be set by blah” or “the given binary should be available\nand executable by the current user”.

    \n

    For more detail on expect message styles and the reasoning behind our recommendation please\nrefer to the section on “Common Message\nStyles” in the\nstd::error module docs.

    \n
    1.0.0 · source

    pub fn unwrap(self) -> T
    where\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    §Panics
    \n

    Panics if the value is an Err, with a panic message provided by the\nErr’s value.

    \n
    §Examples
    \n

    Basic usage:

    \n\n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.unwrap(), 2);
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nx.unwrap(); // panics with `emergency failure`
    \n
    1.16.0 · source

    pub fn unwrap_or_default(self) -> T
    where\n T: Default,

    Returns the contained Ok value or a default

    \n

    Consumes the self argument then, if Ok, returns the contained\nvalue, otherwise if Err, returns the default value for that\ntype.

    \n
    §Examples
    \n

    Converts a string to an integer, turning poorly-formed strings\ninto 0 (the default value for integers). parse converts\na string to any other type that implements FromStr, returning an\nErr on error.

    \n\n
    let good_year_from_input = \"1909\";\nlet bad_year_from_input = \"190blarg\";\nlet good_year = good_year_from_input.parse().unwrap_or_default();\nlet bad_year = bad_year_from_input.parse().unwrap_or_default();\n\nassert_eq!(1909, good_year);\nassert_eq!(0, bad_year);
    \n
    1.17.0 · source

    pub fn expect_err(self, msg: &str) -> E
    where\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    §Panics
    \n

    Panics if the value is an Ok, with a panic message including the\npassed message, and the content of the Ok.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(10);\nx.expect_err(\"Testing expect_err\"); // panics with `Testing expect_err: 10`
    \n
    1.0.0 · source

    pub fn unwrap_err(self) -> E
    where\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    §Panics
    \n

    Panics if the value is an Ok, with a custom panic message provided\nby the Ok’s value.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nx.unwrap_err(); // panics with `2`
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nassert_eq!(x.unwrap_err(), \"emergency failure\");
    \n
    source

    pub fn into_ok(self) -> T
    where\n E: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Ok value, but never panics.

    \n

    Unlike unwrap, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap as a maintainability safeguard that will fail\nto compile if the error type of the Result is later changed\nto an error that can actually occur.

    \n
    §Examples
    \n
    \nfn only_good_news() -> Result<String, !> {\n    Ok(\"this is fine\".into())\n}\n\nlet s: String = only_good_news().into_ok();\nprintln!(\"{s}\");
    \n
    source

    pub fn into_err(self) -> E
    where\n T: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Err value, but never panics.

    \n

    Unlike unwrap_err, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap_err as a maintainability safeguard that will fail\nto compile if the ok type of the Result is later changed\nto a type that can actually occur.

    \n
    §Examples
    \n
    \nfn only_bad_news() -> Result<!, String> {\n    Err(\"Oops, it failed\".into())\n}\n\nlet error: String = only_bad_news().into_err();\nprintln!(\"{error}\");
    \n
    1.0.0 · source

    pub fn and<U>(self, res: Result<U, E>) -> Result<U, E>

    Returns res if the result is Ok, otherwise returns the Err value of self.

    \n

    Arguments passed to and are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use and_then, which is\nlazily evaluated.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Err(\"late error\");\nassert_eq!(x.and(y), Err(\"late error\"));\n\nlet x: Result<u32, &str> = Err(\"early error\");\nlet y: Result<&str, &str> = Ok(\"foo\");\nassert_eq!(x.and(y), Err(\"early error\"));\n\nlet x: Result<u32, &str> = Err(\"not a 2\");\nlet y: Result<&str, &str> = Err(\"late error\");\nassert_eq!(x.and(y), Err(\"not a 2\"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Ok(\"different result type\");\nassert_eq!(x.and(y), Ok(\"different result type\"));
    \n
    1.0.0 · source

    pub fn and_then<U, F>(self, op: F) -> Result<U, E>
    where\n F: FnOnce(T) -> Result<U, E>,

    Calls op if the result is Ok, otherwise returns the Err value of self.

    \n

    This function can be used for control flow based on Result values.

    \n
    §Examples
    \n
    fn sq_then_to_string(x: u32) -> Result<String, &'static str> {\n    x.checked_mul(x).map(|sq| sq.to_string()).ok_or(\"overflowed\")\n}\n\nassert_eq!(Ok(2).and_then(sq_then_to_string), Ok(4.to_string()));\nassert_eq!(Ok(1_000_000).and_then(sq_then_to_string), Err(\"overflowed\"));\nassert_eq!(Err(\"not a number\").and_then(sq_then_to_string), Err(\"not a number\"));
    \n

    Often used to chain fallible operations that may return Err.

    \n\n
    use std::{io::ErrorKind, path::Path};\n\n// Note: on Windows \"/\" maps to \"C:\\\"\nlet root_modified_time = Path::new(\"/\").metadata().and_then(|md| md.modified());\nassert!(root_modified_time.is_ok());\n\nlet should_fail = Path::new(\"/bad/path\").metadata().and_then(|md| md.modified());\nassert!(should_fail.is_err());\nassert_eq!(should_fail.unwrap_err().kind(), ErrorKind::NotFound);
    \n
    1.0.0 · source

    pub fn or<F>(self, res: Result<T, F>) -> Result<T, F>

    Returns res if the result is Err, otherwise returns the Ok value of self.

    \n

    Arguments passed to or are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use or_else, which is\nlazily evaluated.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Err(\"late error\");\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err(\"early error\");\nlet y: Result<u32, &str> = Ok(2);\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err(\"not a 2\");\nlet y: Result<u32, &str> = Err(\"late error\");\nassert_eq!(x.or(y), Err(\"late error\"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Ok(100);\nassert_eq!(x.or(y), Ok(2));
    \n
    1.0.0 · source

    pub fn or_else<F, O>(self, op: O) -> Result<T, F>
    where\n O: FnOnce(E) -> Result<T, F>,

    Calls op if the result is Err, otherwise returns the Ok value of self.

    \n

    This function can be used for control flow based on result values.

    \n
    §Examples
    \n
    fn sq(x: u32) -> Result<u32, u32> { Ok(x * x) }\nfn err(x: u32) -> Result<u32, u32> { Err(x) }\n\nassert_eq!(Ok(2).or_else(sq).or_else(sq), Ok(2));\nassert_eq!(Ok(2).or_else(err).or_else(sq), Ok(2));\nassert_eq!(Err(3).or_else(sq).or_else(err), Ok(9));\nassert_eq!(Err(3).or_else(err).or_else(err), Err(3));
    \n
    1.0.0 · source

    pub fn unwrap_or(self, default: T) -> T

    Returns the contained Ok value or a provided default.

    \n

    Arguments passed to unwrap_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use unwrap_or_else,\nwhich is lazily evaluated.

    \n
    §Examples
    \n
    let default = 2;\nlet x: Result<u32, &str> = Ok(9);\nassert_eq!(x.unwrap_or(default), 9);\n\nlet x: Result<u32, &str> = Err(\"error\");\nassert_eq!(x.unwrap_or(default), default);
    \n
    1.0.0 · source

    pub fn unwrap_or_else<F>(self, op: F) -> T
    where\n F: FnOnce(E) -> T,

    Returns the contained Ok value or computes it from a closure.

    \n
    §Examples
    \n
    fn count(x: &str) -> usize { x.len() }\n\nassert_eq!(Ok(2).unwrap_or_else(count), 2);\nassert_eq!(Err(\"foo\").unwrap_or_else(count), 3);
    \n
    1.58.0 · source

    pub unsafe fn unwrap_unchecked(self) -> T

    Returns the contained Ok value, consuming the self value,\nwithout checking that the value is not an Err.

    \n
    §Safety
    \n

    Calling this method on an Err is undefined behavior.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(unsafe { x.unwrap_unchecked() }, 2);
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nunsafe { x.unwrap_unchecked(); } // Undefined behavior!
    \n
    1.58.0 · source

    pub unsafe fn unwrap_err_unchecked(self) -> E

    Returns the contained Err value, consuming the self value,\nwithout checking that the value is not an Ok.

    \n
    §Safety
    \n

    Calling this method on an Ok is undefined behavior.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nunsafe { x.unwrap_err_unchecked() }; // Undefined behavior!
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nassert_eq!(unsafe { x.unwrap_err_unchecked() }, \"emergency failure\");
    \n
    ",0,"tuxedo_core::types::DispatchResult"],["
    §

    impl<T, E> ResultExt<T, E> for Result<T, E>

    §

    fn context<X>(self, x: X) -> Result<T, Context<X, E>>

    The method is use to add context information to current operation Read more
    ","ResultExt","tuxedo_core::types::DispatchResult"],["
    source§

    impl<T, E> ReturnWasmAbi for Result<T, E>
    where\n T: IntoWasmAbi,\n E: Into<JsValue>,\n <T as IntoWasmAbi>::Abi: WasmAbi<Prim3 = (), Prim4 = ()>,

    §

    type Abi = Result<<T as IntoWasmAbi>::Abi, u32>

    Same as IntoWasmAbi::Abi
    source§

    fn return_abi(self) -> <Result<T, E> as ReturnWasmAbi>::Abi

    Same as IntoWasmAbi::into_abi, except that it may throw and never\nreturn in the case of Err.
    ","ReturnWasmAbi","tuxedo_core::types::DispatchResult"],["
    source§

    impl<T, E> Serialize for Result<T, E>
    where\n T: Serialize,\n E: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","tuxedo_core::types::DispatchResult"],["
    1.16.0 · source§

    impl<T, U, E> Sum<Result<U, E>> for Result<T, E>
    where\n T: Sum<U>,

    source§

    fn sum<I>(iter: I) -> Result<T, E>
    where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the sum of all elements is returned.

    \n
    §Examples
    \n

    This sums up every integer in a vector, rejecting the sum if a negative\nelement is encountered:

    \n\n
    let f = |&x: &i32| if x < 0 { Err(\"Negative element found\") } else { Ok(x) };\nlet v = vec![1, 2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Ok(3));\nlet v = vec![1, -2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Err(\"Negative element found\"));
    \n
    ","Sum>","tuxedo_core::types::DispatchResult"],["
    §

    impl<T, E> TapFallible for Result<T, E>

    §

    type Ok = T

    The interior type used to indicate a successful construction.
    §

    type Err = E

    The interior type used to indicate a failed construction.
    §

    fn tap_ok(self, func: impl FnOnce(&T)) -> Result<T, E>

    Immutably accesses an interior success value. Read more
    §

    fn tap_ok_mut(self, func: impl FnOnce(&mut T)) -> Result<T, E>

    Mutably accesses an interior success value. Read more
    §

    fn tap_err(self, func: impl FnOnce(&E)) -> Result<T, E>

    Immutably accesses an interior failure value. Read more
    §

    fn tap_err_mut(self, func: impl FnOnce(&mut E)) -> Result<T, E>

    Mutably accesses an interior failure value. Read more
    §

    fn tap_ok_dbg(self, func: impl FnOnce(&Self::Ok)) -> Self

    Calls .tap_ok() only in debug builds, and is erased in release builds.
    §

    fn tap_ok_mut_dbg(self, func: impl FnOnce(&mut Self::Ok)) -> Self

    Calls .tap_ok_mut() only in debug builds, and is erased in release\nbuilds.
    §

    fn tap_err_dbg(self, func: impl FnOnce(&Self::Err)) -> Self

    Calls .tap_err() only in debug builds, and is erased in release\nbuilds.
    §

    fn tap_err_mut_dbg(self, func: impl FnOnce(&mut Self::Err)) -> Self

    Calls .tap_err_mut() only in debug builds, and is erased in release\nbuilds.
    ","TapFallible","tuxedo_core::types::DispatchResult"],["
    1.61.0 · source§

    impl<T, E> Termination for Result<T, E>
    where\n T: Termination,\n E: Debug,

    source§

    fn report(self) -> ExitCode

    Is called to get the representation of the value as status code.\nThis status code is returned to the operating system.
    ","Termination","tuxedo_core::types::DispatchResult"],["
    source§

    impl<T, E> Try for Result<T, E>

    §

    type Output = T

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value produced by ? when not short-circuiting.
    §

    type Residual = Result<Infallible, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value passed to FromResidual::from_residual\nas part of ? when short-circuiting. Read more
    source§

    fn from_output(output: <Result<T, E> as Try>::Output) -> Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from its Output type. Read more
    source§

    fn branch(\n self\n) -> ControlFlow<<Result<T, E> as Try>::Residual, <Result<T, E> as Try>::Output>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Used in ? to decide whether the operator should produce a value\n(because this returned ControlFlow::Continue)\nor propagate a value back to the caller\n(because this returned ControlFlow::Break). Read more
    ","Try","tuxedo_core::types::DispatchResult"],["
    §

    impl<T, E> TypeInfo for Result<T, E>
    where\n T: TypeInfo + 'static,\n E: TypeInfo + 'static,

    §

    type Identity = Result<T, E>

    The type identifying for which type info is provided. Read more
    §

    fn type_info() -> Type

    Returns the static type identifier for Self.
    ","TypeInfo","tuxedo_core::types::DispatchResult"],["
    source§

    impl<T, E> UnwrapThrowExt<T> for Result<T, E>
    where\n E: Debug,

    source§

    fn expect_throw(self, message: &str) -> T

    Unwrap this container’s T value, or throw an error to JS with the\ngiven message if the T value is unavailable (e.g. an Option<T> is\nNone).
    source§

    fn unwrap_throw(self) -> T

    Unwrap this Option or Result, but instead of panicking on failure,\nthrow an exception to JavaScript.
    ","UnwrapThrowExt","tuxedo_core::types::DispatchResult"],["
    1.0.0 · source§

    impl<T, E> Copy for Result<T, E>
    where\n T: Copy,\n E: Copy,

    ","Copy","tuxedo_core::types::DispatchResult"],["
    §

    impl<T, LikeT, E, LikeE> EncodeLike<Result<LikeT, LikeE>> for Result<T, E>
    where\n T: EncodeLike<LikeT>,\n LikeT: Encode,\n E: EncodeLike<LikeE>,\n LikeE: Encode,

    ","EncodeLike>","tuxedo_core::types::DispatchResult"],["
    1.0.0 · source§

    impl<T, E> Eq for Result<T, E>
    where\n T: Eq,\n E: Eq,

    ","Eq","tuxedo_core::types::DispatchResult"],["
    1.0.0 · source§

    impl<T, E> StructuralPartialEq for Result<T, E>

    ","StructuralPartialEq","tuxedo_core::types::DispatchResult"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/type.impl/cumulus_client_consensus_common/struct.ParachainBlockImport.js b/type.impl/cumulus_client_consensus_common/struct.ParachainBlockImport.js index e8991b4f5..10ca3404e 100644 --- a/type.impl/cumulus_client_consensus_common/struct.ParachainBlockImport.js +++ b/type.impl/cumulus_client_consensus_common/struct.ParachainBlockImport.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"parachain_template_node":[["
    §

    impl<Block, BI, BE> ParachainBlockImport<Block, BI, BE>
    where\n Block: Block,\n BE: Backend<Block>,

    pub fn new(inner: BI, backend: Arc<BE>) -> ParachainBlockImport<Block, BI, BE>

    Create a new instance.

    \n

    The number of leaves per level limit is set to LevelLimit::Default.

    \n

    pub fn new_with_limit(\n inner: BI,\n backend: Arc<BE>,\n level_leaves_max: LevelLimit\n) -> ParachainBlockImport<Block, BI, BE>

    Create a new instance with an explicit limit to the number of leaves per level.

    \n

    This function alone doesn’t enforce the limit on levels for old imported blocks,\nthe limit is eventually enforced only when new blocks are imported.

    \n
    ",0,"parachain_template_node::service::ParachainBlockImport"],["
    §

    impl<Block, BI, BE> BlockImport<Block> for ParachainBlockImport<Block, BI, BE>
    where\n Block: Block,\n BI: BlockImport<Block> + Send,\n BE: Backend<Block>,

    §

    type Error = <BI as BlockImport<Block>>::Error

    The error type.
    §

    fn check_block<'life0, 'async_trait>(\n &'life0 mut self,\n block: BlockCheckParams<Block>\n) -> Pin<Box<dyn Future<Output = Result<ImportResult, <ParachainBlockImport<Block, BI, BE> as BlockImport<Block>>::Error>> + Send + 'async_trait>>
    where\n 'life0: 'async_trait,\n ParachainBlockImport<Block, BI, BE>: 'async_trait,

    Check block preconditions.
    §

    fn import_block<'life0, 'async_trait>(\n &'life0 mut self,\n params: BlockImportParams<Block>\n) -> Pin<Box<dyn Future<Output = Result<ImportResult, <ParachainBlockImport<Block, BI, BE> as BlockImport<Block>>::Error>> + Send + 'async_trait>>
    where\n 'life0: 'async_trait,\n ParachainBlockImport<Block, BI, BE>: 'async_trait,

    Import a block.
    ","BlockImport","parachain_template_node::service::ParachainBlockImport"],["
    §

    impl<B, BI, BE> ParachainBlockImportMarker for ParachainBlockImport<B, BI, BE>
    where\n B: Block,

    ","ParachainBlockImportMarker","parachain_template_node::service::ParachainBlockImport"],["
    §

    impl<Block, I, BE> Clone for ParachainBlockImport<Block, I, BE>
    where\n Block: Block,\n I: Clone,

    §

    fn clone(&self) -> ParachainBlockImport<Block, I, BE>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","parachain_template_node::service::ParachainBlockImport"]] +"parachain_template_node":[["
    §

    impl<Block, BI, BE> BlockImport<Block> for ParachainBlockImport<Block, BI, BE>
    where\n Block: Block,\n BI: BlockImport<Block> + Send,\n BE: Backend<Block>,

    §

    type Error = <BI as BlockImport<Block>>::Error

    The error type.
    §

    fn check_block<'life0, 'async_trait>(\n &'life0 mut self,\n block: BlockCheckParams<Block>\n) -> Pin<Box<dyn Future<Output = Result<ImportResult, <ParachainBlockImport<Block, BI, BE> as BlockImport<Block>>::Error>> + Send + 'async_trait>>
    where\n 'life0: 'async_trait,\n ParachainBlockImport<Block, BI, BE>: 'async_trait,

    Check block preconditions.
    §

    fn import_block<'life0, 'async_trait>(\n &'life0 mut self,\n params: BlockImportParams<Block>\n) -> Pin<Box<dyn Future<Output = Result<ImportResult, <ParachainBlockImport<Block, BI, BE> as BlockImport<Block>>::Error>> + Send + 'async_trait>>
    where\n 'life0: 'async_trait,\n ParachainBlockImport<Block, BI, BE>: 'async_trait,

    Import a block.
    ","BlockImport","parachain_template_node::service::ParachainBlockImport"],["
    §

    impl<Block, I, BE> Clone for ParachainBlockImport<Block, I, BE>
    where\n Block: Block,\n I: Clone,

    §

    fn clone(&self) -> ParachainBlockImport<Block, I, BE>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","parachain_template_node::service::ParachainBlockImport"],["
    §

    impl<Block, BI, BE> ParachainBlockImport<Block, BI, BE>
    where\n Block: Block,\n BE: Backend<Block>,

    pub fn new(inner: BI, backend: Arc<BE>) -> ParachainBlockImport<Block, BI, BE>

    Create a new instance.

    \n

    The number of leaves per level limit is set to LevelLimit::Default.

    \n

    pub fn new_with_limit(\n inner: BI,\n backend: Arc<BE>,\n level_leaves_max: LevelLimit\n) -> ParachainBlockImport<Block, BI, BE>

    Create a new instance with an explicit limit to the number of leaves per level.

    \n

    This function alone doesn’t enforce the limit on levels for old imported blocks,\nthe limit is eventually enforced only when new blocks are imported.

    \n
    ",0,"parachain_template_node::service::ParachainBlockImport"],["
    §

    impl<B, BI, BE> ParachainBlockImportMarker for ParachainBlockImport<B, BI, BE>
    where\n B: Block,

    ","ParachainBlockImportMarker","parachain_template_node::service::ParachainBlockImport"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/type.impl/jsonrpsee_core/server/rpc_module/struct.RpcModule.js b/type.impl/jsonrpsee_core/server/rpc_module/struct.RpcModule.js index c34b9a6ef..a19e5c643 100644 --- a/type.impl/jsonrpsee_core/server/rpc_module/struct.RpcModule.js +++ b/type.impl/jsonrpsee_core/server/rpc_module/struct.RpcModule.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"parachain_template_node":[["
    §

    impl<Context> RpcModule<Context>

    pub fn new(ctx: Context) -> RpcModule<Context>

    Create a new module with a given shared Context.

    \n

    pub fn remove_context(self) -> RpcModule<()>

    Transform a module into an RpcModule<()> (unit context).

    \n
    ",0,"parachain_template_node::rpc::RpcExtension"],["
    §

    impl<Context> RpcModule<Context>
    where\n Context: Send + Sync + 'static,

    pub fn register_method<R, F>(\n &mut self,\n method_name: &'static str,\n callback: F\n) -> Result<MethodResourcesBuilder<'_>, Error>
    where\n Context: Send + Sync + 'static,\n R: Serialize,\n F: Fn(Params<'_>, &Context) -> Result<R, Error> + Send + Sync + 'static,

    Register a new synchronous RPC method, which computes the response with the given callback.

    \n

    pub fn register_async_method<R, Fun, Fut>(\n &mut self,\n method_name: &'static str,\n callback: Fun\n) -> Result<MethodResourcesBuilder<'_>, Error>
    where\n R: Serialize + Send + Sync + 'static,\n Fut: Future<Output = Result<R, Error>> + Send,\n Fun: Fn(Params<'static>, Arc<Context>) -> Fut + Clone + Send + Sync + 'static,

    Register a new asynchronous RPC method, which computes the response with the given callback.

    \n

    pub fn register_blocking_method<R, F>(\n &mut self,\n method_name: &'static str,\n callback: F\n) -> Result<MethodResourcesBuilder<'_>, Error>
    where\n Context: Send + Sync + 'static,\n R: Serialize,\n F: Fn(Params<'_>, Arc<Context>) -> Result<R, Error> + Clone + Send + Sync + 'static,

    Register a new blocking synchronous RPC method, which computes the response with the given callback.\nUnlike the regular register_method, this method can block its thread and perform expensive computations.

    \n

    pub fn register_subscription<F>(\n &mut self,\n subscribe_method_name: &'static str,\n notif_method_name: &'static str,\n unsubscribe_method_name: &'static str,\n callback: F\n) -> Result<MethodResourcesBuilder<'_>, Error>
    where\n Context: Send + Sync + 'static,\n F: Fn(Params<'_>, SubscriptionSink, Arc<Context>) -> Result<(), SubscriptionEmptyError> + Send + Sync + 'static,

    Register a new publish/subscribe interface using JSON-RPC notifications.

    \n

    It implements the ethereum pubsub specification\nwith an option to choose custom subscription ID generation.

    \n

    Furthermore, it generates the unsubscribe implementation where a bool is used as\nthe result to indicate whether the subscription was successfully unsubscribed to or not.\nFor instance an unsubscribe call may fail if a non-existent subscriptionID is used in the call.

    \n

    This method ensures that the subscription_method_name and unsubscription_method_name are unique.\nThe notif_method_name argument sets the content of the method field in the JSON document that\nthe server sends back to the client. The uniqueness of this value is not machine checked and it’s up to\nthe user to ensure it is not used in any other [RpcModule] used in the server.

    \n
    §Arguments
    \n
      \n
    • subscription_method_name - name of the method to call to initiate a subscription
    • \n
    • notif_method_name - name of method to be used in the subscription payload (technically a JSON-RPC notification)
    • \n
    • unsubscription_method - name of the method to call to terminate a subscription
    • \n
    • callback - A callback to invoke on each subscription; it takes three parameters:\n
        \n
      • [Params]: JSON-RPC parameters in the subscription call.
      • \n
      • [SubscriptionSink]: A sink to send messages to the subscriber.
      • \n
      • Context: Any type that can be embedded into the [RpcModule].
      • \n
      \n
    • \n
    \n
    §Examples
    \n
    \nuse jsonrpsee_core::server::rpc_module::{RpcModule, SubscriptionSink};\nuse jsonrpsee_core::Error;\n\nlet mut ctx = RpcModule::new(99_usize);\nctx.register_subscription(\"sub\", \"notif_name\", \"unsub\", |params, mut sink, ctx| {\n    let x = match params.one::<usize>() {\n        Ok(x) => x,\n        Err(e) => {\n            let err: Error = e.into();\n            sink.reject(err);\n            return Ok(());\n        }\n    };\n    // Sink is accepted on the first `send` call.\n    std::thread::spawn(move || {\n        let sum = x + (*ctx);\n        let _ = sink.send(&sum);\n    });\n\n    Ok(())\n});
    \n

    pub fn register_alias(\n &mut self,\n alias: &'static str,\n existing_method: &'static str\n) -> Result<(), Error>

    Register an alias for an existing_method. Alias uniqueness is enforced.

    \n
    ",0,"parachain_template_node::rpc::RpcExtension"],["
    §

    impl<Context> Deref for RpcModule<Context>

    §

    type Target = Methods

    The resulting type after dereferencing.
    §

    fn deref(&self) -> &Methods

    Dereferences the value.
    ","Deref","parachain_template_node::rpc::RpcExtension"],["
    §

    impl<Context> Debug for RpcModule<Context>
    where\n Context: Debug,

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","parachain_template_node::rpc::RpcExtension"],["
    §

    impl<Context> DerefMut for RpcModule<Context>

    §

    fn deref_mut(&mut self) -> &mut Methods

    Mutably dereferences the value.
    ","DerefMut","parachain_template_node::rpc::RpcExtension"],["
    §

    impl<Context> Clone for RpcModule<Context>
    where\n Context: Clone,

    §

    fn clone(&self) -> RpcModule<Context>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","parachain_template_node::rpc::RpcExtension"]] +"parachain_template_node":[["
    §

    impl<Context> Clone for RpcModule<Context>
    where\n Context: Clone,

    §

    fn clone(&self) -> RpcModule<Context>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","parachain_template_node::rpc::RpcExtension"],["
    §

    impl<Context> Debug for RpcModule<Context>
    where\n Context: Debug,

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","parachain_template_node::rpc::RpcExtension"],["
    §

    impl<Context> Deref for RpcModule<Context>

    §

    type Target = Methods

    The resulting type after dereferencing.
    §

    fn deref(&self) -> &Methods

    Dereferences the value.
    ","Deref","parachain_template_node::rpc::RpcExtension"],["
    §

    impl<Context> DerefMut for RpcModule<Context>

    §

    fn deref_mut(&mut self) -> &mut Methods

    Mutably dereferences the value.
    ","DerefMut","parachain_template_node::rpc::RpcExtension"],["
    §

    impl<Context> RpcModule<Context>

    pub fn new(ctx: Context) -> RpcModule<Context>

    Create a new module with a given shared Context.

    \n

    pub fn remove_context(self) -> RpcModule<()>

    Transform a module into an RpcModule<()> (unit context).

    \n
    ",0,"parachain_template_node::rpc::RpcExtension"],["
    §

    impl<Context> RpcModule<Context>
    where\n Context: Send + Sync + 'static,

    pub fn register_method<R, F>(\n &mut self,\n method_name: &'static str,\n callback: F\n) -> Result<MethodResourcesBuilder<'_>, Error>
    where\n Context: Send + Sync + 'static,\n R: Serialize,\n F: Fn(Params<'_>, &Context) -> Result<R, Error> + Send + Sync + 'static,

    Register a new synchronous RPC method, which computes the response with the given callback.

    \n

    pub fn register_async_method<R, Fun, Fut>(\n &mut self,\n method_name: &'static str,\n callback: Fun\n) -> Result<MethodResourcesBuilder<'_>, Error>
    where\n R: Serialize + Send + Sync + 'static,\n Fut: Future<Output = Result<R, Error>> + Send,\n Fun: Fn(Params<'static>, Arc<Context>) -> Fut + Clone + Send + Sync + 'static,

    Register a new asynchronous RPC method, which computes the response with the given callback.

    \n

    pub fn register_blocking_method<R, F>(\n &mut self,\n method_name: &'static str,\n callback: F\n) -> Result<MethodResourcesBuilder<'_>, Error>
    where\n Context: Send + Sync + 'static,\n R: Serialize,\n F: Fn(Params<'_>, Arc<Context>) -> Result<R, Error> + Clone + Send + Sync + 'static,

    Register a new blocking synchronous RPC method, which computes the response with the given callback.\nUnlike the regular register_method, this method can block its thread and perform expensive computations.

    \n

    pub fn register_subscription<F>(\n &mut self,\n subscribe_method_name: &'static str,\n notif_method_name: &'static str,\n unsubscribe_method_name: &'static str,\n callback: F\n) -> Result<MethodResourcesBuilder<'_>, Error>
    where\n Context: Send + Sync + 'static,\n F: Fn(Params<'_>, SubscriptionSink, Arc<Context>) -> Result<(), SubscriptionEmptyError> + Send + Sync + 'static,

    Register a new publish/subscribe interface using JSON-RPC notifications.

    \n

    It implements the ethereum pubsub specification\nwith an option to choose custom subscription ID generation.

    \n

    Furthermore, it generates the unsubscribe implementation where a bool is used as\nthe result to indicate whether the subscription was successfully unsubscribed to or not.\nFor instance an unsubscribe call may fail if a non-existent subscriptionID is used in the call.

    \n

    This method ensures that the subscription_method_name and unsubscription_method_name are unique.\nThe notif_method_name argument sets the content of the method field in the JSON document that\nthe server sends back to the client. The uniqueness of this value is not machine checked and it’s up to\nthe user to ensure it is not used in any other [RpcModule] used in the server.

    \n
    §Arguments
    \n
      \n
    • subscription_method_name - name of the method to call to initiate a subscription
    • \n
    • notif_method_name - name of method to be used in the subscription payload (technically a JSON-RPC notification)
    • \n
    • unsubscription_method - name of the method to call to terminate a subscription
    • \n
    • callback - A callback to invoke on each subscription; it takes three parameters:\n
        \n
      • [Params]: JSON-RPC parameters in the subscription call.
      • \n
      • [SubscriptionSink]: A sink to send messages to the subscriber.
      • \n
      • Context: Any type that can be embedded into the [RpcModule].
      • \n
      \n
    • \n
    \n
    §Examples
    \n
    \nuse jsonrpsee_core::server::rpc_module::{RpcModule, SubscriptionSink};\nuse jsonrpsee_core::Error;\n\nlet mut ctx = RpcModule::new(99_usize);\nctx.register_subscription(\"sub\", \"notif_name\", \"unsub\", |params, mut sink, ctx| {\n    let x = match params.one::<usize>() {\n        Ok(x) => x,\n        Err(e) => {\n            let err: Error = e.into();\n            sink.reject(err);\n            return Ok(());\n        }\n    };\n    // Sink is accepted on the first `send` call.\n    std::thread::spawn(move || {\n        let sum = x + (*ctx);\n        let _ = sink.send(&sum);\n    });\n\n    Ok(())\n});
    \n

    pub fn register_alias(\n &mut self,\n alias: &'static str,\n existing_method: &'static str\n) -> Result<(), Error>

    Register an alias for an existing_method. Alias uniqueness is enforced.

    \n
    ",0,"parachain_template_node::rpc::RpcExtension"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/type.impl/parachain_template_node/dev_service/struct.NativeElseWasmExecutor.js b/type.impl/parachain_template_node/dev_service/struct.NativeElseWasmExecutor.js index 0b7dbf825..3fbfa72e7 100644 --- a/type.impl/parachain_template_node/dev_service/struct.NativeElseWasmExecutor.js +++ b/type.impl/parachain_template_node/dev_service/struct.NativeElseWasmExecutor.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"parachain_template_node":[["
    §

    impl<D> NativeElseWasmExecutor<D>
    where\n D: NativeExecutionDispatch,

    pub fn new(\n fallback_method: WasmExecutionMethod,\n default_heap_pages: Option<u64>,\n max_runtime_instances: usize,\n runtime_cache_size: u8\n) -> NativeElseWasmExecutor<D>

    👎Deprecated: use Self::new_with_wasm_executor method instead of it

    Create new instance.

    \n
    §Parameters
    \n

    fallback_method - Method used to execute fallback Wasm code.

    \n

    default_heap_pages - Number of 64KB pages to allocate for Wasm execution. Internally this\nwill be mapped as [HeapAllocStrategy::Static] where default_heap_pages represent the\nstatic number of heap pages to allocate. Defaults to DEFAULT_HEAP_ALLOC_STRATEGY if None\nis provided.

    \n

    max_runtime_instances - The number of runtime instances to keep in memory ready for reuse.

    \n

    runtime_cache_size - The capacity of runtime cache.

    \n

    pub fn new_with_wasm_executor(\n executor: WasmExecutor<ExtendedHostFunctions<(HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions), <D as NativeExecutionDispatch>::ExtendHostFunctions>>\n) -> NativeElseWasmExecutor<D>

    Create a new instance using the given [WasmExecutor].

    \n

    pub fn allow_missing_host_functions(\n &mut self,\n allow_missing_host_functions: bool\n)

    👎Deprecated: use Self::new_with_wasm_executor method instead of it

    Ignore missing function imports if set true.

    \n
    ",0,"parachain_template_node::service::ParachainExecutor"],["
    §

    impl<D> CodeExecutor for NativeElseWasmExecutor<D>
    where\n D: NativeExecutionDispatch + 'static,

    §

    type Error = Error

    Externalities error type.
    §

    fn call(\n &self,\n ext: &mut dyn Externalities,\n runtime_code: &RuntimeCode<'_>,\n method: &str,\n data: &[u8],\n use_native: bool,\n context: CallContext\n) -> (Result<Vec<u8>, Error>, bool)

    Call a given method in the runtime. Read more
    ","CodeExecutor","parachain_template_node::service::ParachainExecutor"],["
    §

    impl<D> GetNativeVersion for NativeElseWasmExecutor<D>
    where\n D: NativeExecutionDispatch,

    §

    fn native_version(&self) -> &NativeVersion

    Returns the version of the native runtime.
    ","GetNativeVersion","parachain_template_node::service::ParachainExecutor"],["
    §

    impl<D> RuntimeVersionOf for NativeElseWasmExecutor<D>
    where\n D: NativeExecutionDispatch,

    §

    fn runtime_version(\n &self,\n ext: &mut dyn Externalities,\n runtime_code: &RuntimeCode<'_>\n) -> Result<RuntimeVersion, Error>

    Extract RuntimeVersion of the given runtime_code.
    ","RuntimeVersionOf","parachain_template_node::service::ParachainExecutor"],["
    §

    impl<D> Clone for NativeElseWasmExecutor<D>
    where\n D: NativeExecutionDispatch,

    §

    fn clone(&self) -> NativeElseWasmExecutor<D>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","parachain_template_node::service::ParachainExecutor"],["
    §

    impl<D> ReadRuntimeVersion for NativeElseWasmExecutor<D>
    where\n D: NativeExecutionDispatch,

    §

    fn read_runtime_version(\n &self,\n wasm_code: &[u8],\n ext: &mut dyn Externalities\n) -> Result<Vec<u8>, String>

    Reads the runtime version information from the given wasm code. Read more
    ","ReadRuntimeVersion","parachain_template_node::service::ParachainExecutor"]] +"parachain_template_node":[["
    §

    impl<D> Clone for NativeElseWasmExecutor<D>
    where\n D: NativeExecutionDispatch,

    §

    fn clone(&self) -> NativeElseWasmExecutor<D>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","parachain_template_node::service::ParachainExecutor"],["
    §

    impl<D> CodeExecutor for NativeElseWasmExecutor<D>
    where\n D: NativeExecutionDispatch + 'static,

    §

    type Error = Error

    Externalities error type.
    §

    fn call(\n &self,\n ext: &mut dyn Externalities,\n runtime_code: &RuntimeCode<'_>,\n method: &str,\n data: &[u8],\n use_native: bool,\n context: CallContext\n) -> (Result<Vec<u8>, Error>, bool)

    Call a given method in the runtime. Read more
    ","CodeExecutor","parachain_template_node::service::ParachainExecutor"],["
    §

    impl<D> GetNativeVersion for NativeElseWasmExecutor<D>
    where\n D: NativeExecutionDispatch,

    §

    fn native_version(&self) -> &NativeVersion

    Returns the version of the native runtime.
    ","GetNativeVersion","parachain_template_node::service::ParachainExecutor"],["
    §

    impl<D> NativeElseWasmExecutor<D>
    where\n D: NativeExecutionDispatch,

    pub fn new(\n fallback_method: WasmExecutionMethod,\n default_heap_pages: Option<u64>,\n max_runtime_instances: usize,\n runtime_cache_size: u8\n) -> NativeElseWasmExecutor<D>

    👎Deprecated: use Self::new_with_wasm_executor method instead of it

    Create new instance.

    \n
    §Parameters
    \n

    fallback_method - Method used to execute fallback Wasm code.

    \n

    default_heap_pages - Number of 64KB pages to allocate for Wasm execution. Internally this\nwill be mapped as [HeapAllocStrategy::Static] where default_heap_pages represent the\nstatic number of heap pages to allocate. Defaults to DEFAULT_HEAP_ALLOC_STRATEGY if None\nis provided.

    \n

    max_runtime_instances - The number of runtime instances to keep in memory ready for reuse.

    \n

    runtime_cache_size - The capacity of runtime cache.

    \n

    pub fn new_with_wasm_executor(\n executor: WasmExecutor<ExtendedHostFunctions<(HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions, HostFunctions), <D as NativeExecutionDispatch>::ExtendHostFunctions>>\n) -> NativeElseWasmExecutor<D>

    Create a new instance using the given [WasmExecutor].

    \n

    pub fn allow_missing_host_functions(\n &mut self,\n allow_missing_host_functions: bool\n)

    👎Deprecated: use Self::new_with_wasm_executor method instead of it

    Ignore missing function imports if set true.

    \n
    ",0,"parachain_template_node::service::ParachainExecutor"],["
    §

    impl<D> ReadRuntimeVersion for NativeElseWasmExecutor<D>
    where\n D: NativeExecutionDispatch,

    §

    fn read_runtime_version(\n &self,\n wasm_code: &[u8],\n ext: &mut dyn Externalities\n) -> Result<Vec<u8>, String>

    Reads the runtime version information from the given wasm code. Read more
    ","ReadRuntimeVersion","parachain_template_node::service::ParachainExecutor"],["
    §

    impl<D> RuntimeVersionOf for NativeElseWasmExecutor<D>
    where\n D: NativeExecutionDispatch,

    §

    fn runtime_version(\n &self,\n ext: &mut dyn Externalities,\n runtime_code: &RuntimeCode<'_>\n) -> Result<RuntimeVersion, Error>

    Extract RuntimeVersion of the given runtime_code.
    ","RuntimeVersionOf","parachain_template_node::service::ParachainExecutor"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/type.impl/primitive_types/struct.H256.js b/type.impl/primitive_types/struct.H256.js index b5158d413..04c628037 100644 --- a/type.impl/primitive_types/struct.H256.js +++ b/type.impl/primitive_types/struct.H256.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"tuxedo_template_wallet":[["
    §

    impl H256

    pub const fn repeat_byte(byte: u8) -> H256

    Returns a new fixed hash where all bits are set to the given byte.

    \n

    pub const fn zero() -> H256

    Returns a new zero-initialized fixed hash.

    \n

    pub const fn len_bytes() -> usize

    Returns the size of this hash in bytes.

    \n

    pub fn as_bytes(&self) -> &[u8]

    Extracts a byte slice containing the entire fixed hash.

    \n

    pub fn as_bytes_mut(&mut self) -> &mut [u8]

    Extracts a mutable byte slice containing the entire fixed hash.

    \n

    pub const fn as_fixed_bytes(&self) -> &[u8; 32]

    Extracts a reference to the byte array containing the entire fixed hash.

    \n

    pub fn as_fixed_bytes_mut(&mut self) -> &mut [u8; 32]

    Extracts a reference to the byte array containing the entire fixed hash.

    \n

    pub const fn to_fixed_bytes(self) -> [u8; 32]

    Returns the inner bytes array.

    \n

    pub fn as_ptr(&self) -> *const u8

    Returns a constant raw pointer to the value.

    \n

    pub fn as_mut_ptr(&mut self) -> *mut u8

    Returns a mutable raw pointer to the value.

    \n

    pub fn assign_from_slice(&mut self, src: &[u8])

    Assign the bytes from the byte slice src to self.

    \n
    §Note
    \n

    The given bytes are interpreted in big endian order.

    \n
    §Panics
    \n

    If the length of src and the number of bytes in self do not match.

    \n

    pub fn from_slice(src: &[u8]) -> H256

    Create a new fixed-hash from the given slice src.

    \n
    §Note
    \n

    The given bytes are interpreted in big endian order.

    \n
    §Panics
    \n

    If the length of src and the number of bytes in Self do not match.

    \n

    pub fn covers(&self, b: &H256) -> bool

    Returns true if all bits set in b are also set in self.

    \n

    pub fn is_zero(&self) -> bool

    Returns true if no bits are set.

    \n
    ",0,"tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl H256

    Utilities using the byteorder crate.

    \n

    pub fn to_low_u64_be(&self) -> u64

    Returns the lowest 8 bytes interpreted as big-endian.

    \n
    §Note
    \n

    For hash type with less than 8 bytes the missing bytes\nare interpreted as being zero.

    \n

    pub fn to_low_u64_le(&self) -> u64

    Returns the lowest 8 bytes interpreted as little-endian.

    \n
    §Note
    \n

    For hash type with less than 8 bytes the missing bytes\nare interpreted as being zero.

    \n

    pub fn to_low_u64_ne(&self) -> u64

    Returns the lowest 8 bytes interpreted as native-endian.

    \n
    §Note
    \n

    For hash type with less than 8 bytes the missing bytes\nare interpreted as being zero.

    \n

    pub fn from_low_u64_be(val: u64) -> H256

    Creates a new hash type from the given u64 value.

    \n
    §Note
    \n
      \n
    • The given u64 value is interpreted as big endian.
    • \n
    • Ignores the most significant bits of the given value\nif the hash type has less than 8 bytes.
    • \n
    \n

    pub fn from_low_u64_le(val: u64) -> H256

    Creates a new hash type from the given u64 value.

    \n
    §Note
    \n
      \n
    • The given u64 value is interpreted as little endian.
    • \n
    • Ignores the most significant bits of the given value\nif the hash type has less than 8 bytes.
    • \n
    \n

    pub fn from_low_u64_ne(val: u64) -> H256

    Creates a new hash type from the given u64 value.

    \n
    §Note
    \n
      \n
    • The given u64 value is interpreted as native endian.
    • \n
    • Ignores the most significant bits of the given value\nif the hash type has less than 8 bytes.
    • \n
    \n
    ",0,"tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl H256

    Utilities using the rand crate.

    \n

    pub fn randomize_using<R>(&mut self, rng: &mut R)
    where\n R: Rng + ?Sized,

    Assign self to a cryptographically random value using the\ngiven random number generator.

    \n

    pub fn randomize(&mut self)

    Assign self to a cryptographically random value.

    \n

    pub fn random_using<R>(rng: &mut R) -> H256
    where\n R: Rng + ?Sized,

    Create a new hash with cryptographically random content using the\ngiven random number generator.

    \n

    pub fn random() -> H256

    Create a new hash with cryptographically random content.

    \n
    ",0,"tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl From<Public> for H256

    §

    fn from(x: Public) -> H256

    Converts to this type from the input type.
    ","From","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl From<Public> for H256

    §

    fn from(x: Public) -> H256

    Converts to this type from the input type.
    ","From","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl PassByInner for H256

    §

    type Inner = [u8; 32]

    The inner type that is wrapped by Self.
    §

    fn inner(&self) -> &<H256 as PassByInner>::Inner

    Returns the reference to the inner type.
    §

    fn into_inner(self) -> <H256 as PassByInner>::Inner

    Consumes self and returns the inner type.
    §

    fn from_inner(inner: <H256 as PassByInner>::Inner) -> H256

    Construct Self from the given inner.
    ","PassByInner","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl PassBy for H256

    §

    type PassBy = Inner<H256, [u8; 32]>

    The strategy that should be used to pass the type.
    ","PassBy","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl Decodable for H256

    §

    fn decode(rlp: &Rlp<'_>) -> Result<H256, DecoderError>

    Decode a value from RLP bytes
    ","Decodable","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl EncodeLike for H256

    ","EncodeLike","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl<'a> From<&'a [u8; 32]> for H256

    §

    fn from(bytes: &'a [u8; 32]) -> H256

    Constructs a hash type from the given reference\nto the bytes array of fixed length.

    \n
    §Note
    \n

    The given bytes are interpreted in big endian order.

    \n
    ","From<&'a [u8; 32]>","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl<'a> From<&'a mut [u8; 32]> for H256

    §

    fn from(bytes: &'a mut [u8; 32]) -> H256

    Constructs a hash type from the given reference\nto the mutable bytes array of fixed length.

    \n
    §Note
    \n

    The given bytes are interpreted in big endian order.

    \n
    ","From<&'a mut [u8; 32]>","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl From<[u8; 32]> for H256

    §

    fn from(bytes: [u8; 32]) -> H256

    Constructs a hash type from the given bytes array of fixed length.

    \n
    §Note
    \n

    The given bytes are interpreted in big endian order.

    \n
    ","From<[u8; 32]>","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl From<H160> for H256

    §

    fn from(value: H160) -> H256

    Converts to this type from the input type.
    ","From","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl Ord for H256

    §

    fn cmp(&self, other: &H256) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Self
    where\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl<I> Index<I> for H256
    where\n I: SliceIndex<[u8]>,

    §

    type Output = <I as SliceIndex<[u8]>>::Output

    The returned type after indexing.
    §

    fn index(&self, index: I) -> &<I as SliceIndex<[u8]>>::Output

    Performs the indexing (container[index]) operation. Read more
    ","Index","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl Hash for H256

    §

    fn hash<H>(&self, state: &mut H)
    where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl Debug for H256

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl Decode for H256

    §

    fn decode<I>(input: &mut I) -> Result<H256, Error>
    where\n I: Input,

    Attempt to deserialise the value from input.
    §

    fn decode_into<I>(\n input: &mut I,\n dst: &mut MaybeUninit<Self>\n) -> Result<DecodeFinished, Error>
    where\n I: Input,

    Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
    §

    fn skip<I>(input: &mut I) -> Result<(), Error>
    where\n I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    ","Decode","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl Serialize for H256

    §

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl BitXor for H256

    §

    type Output = H256

    The resulting type after applying the ^ operator.
    §

    fn bitxor(self, rhs: H256) -> <H256 as BitXor>::Output

    Performs the ^ operation. Read more
    ","BitXor","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl Copy for H256

    ","Copy","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl Display for H256

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Display","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl FromStr for H256

    §

    fn from_str(input: &str) -> Result<H256, FromHexError>

    Creates a hash type instance from the given string.

    \n
    §Note
    \n

    The given input string is interpreted in big endian.

    \n
    §Errors
    \n
      \n
    • When encountering invalid non hex-digits
    • \n
    • Upon empty string input or invalid input length in general
    • \n
    \n
    §

    type Err = FromHexError

    The associated error which can be returned from parsing.
    ","FromStr","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl BitOr for H256

    §

    type Output = H256

    The resulting type after applying the | operator.
    §

    fn bitor(self, rhs: H256) -> <H256 as BitOr>::Output

    Performs the | operation. Read more
    ","BitOr","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl PartialOrd for H256

    §

    fn partial_cmp(&self, other: &H256) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    ","PartialOrd","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl AsRef<[u8]> for H256

    §

    fn as_ref(&self) -> &[u8]

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef<[u8]>","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl BitOrAssign for H256

    §

    fn bitor_assign(&mut self, rhs: H256)

    Performs the |= operation. Read more
    ","BitOrAssign","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl<'r> BitOrAssign<&'r H256> for H256

    §

    fn bitor_assign(&mut self, rhs: &'r H256)

    Performs the |= operation. Read more
    ","BitOrAssign<&'r H256>","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl<'de> Deserialize<'de> for H256

    §

    fn deserialize<D>(\n deserializer: D\n) -> Result<H256, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl<I> IndexMut<I> for H256
    where\n I: SliceIndex<[u8], Output = [u8]>,

    §

    fn index_mut(&mut self, index: I) -> &mut <I as SliceIndex<[u8]>>::Output

    Performs the mutable indexing (container[index]) operation. Read more
    ","IndexMut","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl BitAndAssign for H256

    §

    fn bitand_assign(&mut self, rhs: H256)

    Performs the &= operation. Read more
    ","BitAndAssign","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl<'r> BitAndAssign<&'r H256> for H256

    §

    fn bitand_assign(&mut self, rhs: &'r H256)

    Performs the &= operation. Read more
    ","BitAndAssign<&'r H256>","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl LowerHex for H256

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.
    ","LowerHex","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl<'r> BitXorAssign<&'r H256> for H256

    §

    fn bitxor_assign(&mut self, rhs: &'r H256)

    Performs the ^= operation. Read more
    ","BitXorAssign<&'r H256>","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl BitXorAssign for H256

    §

    fn bitxor_assign(&mut self, rhs: H256)

    Performs the ^= operation. Read more
    ","BitXorAssign","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl Default for H256

    §

    fn default() -> H256

    Returns the “default value” for a type. Read more
    ","Default","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl TypeInfo for H256

    §

    type Identity = H256

    The type identifying for which type info is provided. Read more
    §

    fn type_info() -> Type

    Returns the static type identifier for Self.
    ","TypeInfo","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl Encode for H256

    §

    fn using_encoded<R, F>(&self, f: F) -> R
    where\n F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    §

    fn encode_to<T>(&self, dest: &mut T)
    where\n T: Output + ?Sized,

    Convert self to a slice and append it to the destination.
    §

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    ","Encode","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl BitAnd for H256

    §

    type Output = H256

    The resulting type after applying the & operator.
    §

    fn bitand(self, rhs: H256) -> <H256 as BitAnd>::Output

    Performs the & operation. Read more
    ","BitAnd","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl PartialEq for H256

    §

    fn eq(&self, other: &H256) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl Eq for H256

    ","Eq","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl Clone for H256

    §

    fn clone(&self) -> H256

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl UpperHex for H256

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.
    ","UpperHex","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl AsMut<[u8]> for H256

    §

    fn as_mut(&mut self) -> &mut [u8]

    Converts this type into a mutable reference of the (usually inferred) input type.
    ","AsMut<[u8]>","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl MaxEncodedLen for H256

    §

    fn max_encoded_len() -> usize

    Upper bound, in bytes, of the maximum encoded size of this item.
    ","MaxEncodedLen","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl Encodable for H256

    §

    fn rlp_append(&self, s: &mut RlpStream)

    Append a value to the stream
    §

    fn rlp_bytes(&self) -> BytesMut

    Get rlp-encoded bytes for this instance
    ","Encodable","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl CheckEqual for H256

    §

    fn check_equal(&self, other: &H256)

    Perform the equality check.
    ","CheckEqual","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl From<Keyring> for H256

    §

    fn from(k: Keyring) -> H256

    Converts to this type from the input type.
    ","From","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl From<Keyring> for H256

    §

    fn from(k: Keyring) -> H256

    Converts to this type from the input type.
    ","From","tuxedo_template_wallet::output_filter::TxHash"]] +"tuxedo_template_wallet":[["
    §

    impl AsMut<[u8]> for H256

    §

    fn as_mut(&mut self) -> &mut [u8]

    Converts this type into a mutable reference of the (usually inferred) input type.
    ","AsMut<[u8]>","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl AsRef<[u8]> for H256

    §

    fn as_ref(&self) -> &[u8]

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef<[u8]>","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl BitAnd for H256

    §

    type Output = H256

    The resulting type after applying the & operator.
    §

    fn bitand(self, rhs: H256) -> <H256 as BitAnd>::Output

    Performs the & operation. Read more
    ","BitAnd","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl<'r> BitAndAssign<&'r H256> for H256

    §

    fn bitand_assign(&mut self, rhs: &'r H256)

    Performs the &= operation. Read more
    ","BitAndAssign<&'r H256>","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl BitAndAssign for H256

    §

    fn bitand_assign(&mut self, rhs: H256)

    Performs the &= operation. Read more
    ","BitAndAssign","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl BitOr for H256

    §

    type Output = H256

    The resulting type after applying the | operator.
    §

    fn bitor(self, rhs: H256) -> <H256 as BitOr>::Output

    Performs the | operation. Read more
    ","BitOr","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl<'r> BitOrAssign<&'r H256> for H256

    §

    fn bitor_assign(&mut self, rhs: &'r H256)

    Performs the |= operation. Read more
    ","BitOrAssign<&'r H256>","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl BitOrAssign for H256

    §

    fn bitor_assign(&mut self, rhs: H256)

    Performs the |= operation. Read more
    ","BitOrAssign","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl BitXor for H256

    §

    type Output = H256

    The resulting type after applying the ^ operator.
    §

    fn bitxor(self, rhs: H256) -> <H256 as BitXor>::Output

    Performs the ^ operation. Read more
    ","BitXor","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl<'r> BitXorAssign<&'r H256> for H256

    §

    fn bitxor_assign(&mut self, rhs: &'r H256)

    Performs the ^= operation. Read more
    ","BitXorAssign<&'r H256>","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl BitXorAssign for H256

    §

    fn bitxor_assign(&mut self, rhs: H256)

    Performs the ^= operation. Read more
    ","BitXorAssign","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl CheckEqual for H256

    §

    fn check_equal(&self, other: &H256)

    Perform the equality check.
    ","CheckEqual","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl Clone for H256

    §

    fn clone(&self) -> H256

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl Debug for H256

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl Decodable for H256

    §

    fn decode(rlp: &Rlp<'_>) -> Result<H256, DecoderError>

    Decode a value from RLP bytes
    ","Decodable","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl Decode for H256

    §

    fn decode<I>(input: &mut I) -> Result<H256, Error>
    where\n I: Input,

    Attempt to deserialise the value from input.
    §

    fn decode_into<I>(\n input: &mut I,\n dst: &mut MaybeUninit<Self>\n) -> Result<DecodeFinished, Error>
    where\n I: Input,

    Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
    §

    fn skip<I>(input: &mut I) -> Result<(), Error>
    where\n I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    ","Decode","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl Default for H256

    §

    fn default() -> H256

    Returns the “default value” for a type. Read more
    ","Default","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl<'de> Deserialize<'de> for H256

    §

    fn deserialize<D>(\n deserializer: D\n) -> Result<H256, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl Display for H256

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Display","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl Encodable for H256

    §

    fn rlp_append(&self, s: &mut RlpStream)

    Append a value to the stream
    §

    fn rlp_bytes(&self) -> BytesMut

    Get rlp-encoded bytes for this instance
    ","Encodable","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl Encode for H256

    §

    fn using_encoded<R, F>(&self, f: F) -> R
    where\n F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    §

    fn encode_to<T>(&self, dest: &mut T)
    where\n T: Output + ?Sized,

    Convert self to a slice and append it to the destination.
    §

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    ","Encode","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl<'a> From<&'a [u8; 32]> for H256

    §

    fn from(bytes: &'a [u8; 32]) -> H256

    Constructs a hash type from the given reference\nto the bytes array of fixed length.

    \n
    §Note
    \n

    The given bytes are interpreted in big endian order.

    \n
    ","From<&'a [u8; 32]>","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl<'a> From<&'a mut [u8; 32]> for H256

    §

    fn from(bytes: &'a mut [u8; 32]) -> H256

    Constructs a hash type from the given reference\nto the mutable bytes array of fixed length.

    \n
    §Note
    \n

    The given bytes are interpreted in big endian order.

    \n
    ","From<&'a mut [u8; 32]>","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl From<[u8; 32]> for H256

    §

    fn from(bytes: [u8; 32]) -> H256

    Constructs a hash type from the given bytes array of fixed length.

    \n
    §Note
    \n

    The given bytes are interpreted in big endian order.

    \n
    ","From<[u8; 32]>","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl From<H160> for H256

    §

    fn from(value: H160) -> H256

    Converts to this type from the input type.
    ","From","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl From<Public> for H256

    §

    fn from(x: Public) -> H256

    Converts to this type from the input type.
    ","From","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl From<Public> for H256

    §

    fn from(x: Public) -> H256

    Converts to this type from the input type.
    ","From","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl FromStr for H256

    §

    fn from_str(input: &str) -> Result<H256, FromHexError>

    Creates a hash type instance from the given string.

    \n
    §Note
    \n

    The given input string is interpreted in big endian.

    \n
    §Errors
    \n
      \n
    • When encountering invalid non hex-digits
    • \n
    • Upon empty string input or invalid input length in general
    • \n
    \n
    §

    type Err = FromHexError

    The associated error which can be returned from parsing.
    ","FromStr","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl H256

    Utilities using the byteorder crate.

    \n

    pub fn to_low_u64_be(&self) -> u64

    Returns the lowest 8 bytes interpreted as big-endian.

    \n
    §Note
    \n

    For hash type with less than 8 bytes the missing bytes\nare interpreted as being zero.

    \n

    pub fn to_low_u64_le(&self) -> u64

    Returns the lowest 8 bytes interpreted as little-endian.

    \n
    §Note
    \n

    For hash type with less than 8 bytes the missing bytes\nare interpreted as being zero.

    \n

    pub fn to_low_u64_ne(&self) -> u64

    Returns the lowest 8 bytes interpreted as native-endian.

    \n
    §Note
    \n

    For hash type with less than 8 bytes the missing bytes\nare interpreted as being zero.

    \n

    pub fn from_low_u64_be(val: u64) -> H256

    Creates a new hash type from the given u64 value.

    \n
    §Note
    \n
      \n
    • The given u64 value is interpreted as big endian.
    • \n
    • Ignores the most significant bits of the given value\nif the hash type has less than 8 bytes.
    • \n
    \n

    pub fn from_low_u64_le(val: u64) -> H256

    Creates a new hash type from the given u64 value.

    \n
    §Note
    \n
      \n
    • The given u64 value is interpreted as little endian.
    • \n
    • Ignores the most significant bits of the given value\nif the hash type has less than 8 bytes.
    • \n
    \n

    pub fn from_low_u64_ne(val: u64) -> H256

    Creates a new hash type from the given u64 value.

    \n
    §Note
    \n
      \n
    • The given u64 value is interpreted as native endian.
    • \n
    • Ignores the most significant bits of the given value\nif the hash type has less than 8 bytes.
    • \n
    \n
    ",0,"tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl H256

    Utilities using the rand crate.

    \n

    pub fn randomize_using<R>(&mut self, rng: &mut R)
    where\n R: Rng + ?Sized,

    Assign self to a cryptographically random value using the\ngiven random number generator.

    \n

    pub fn randomize(&mut self)

    Assign self to a cryptographically random value.

    \n

    pub fn random_using<R>(rng: &mut R) -> H256
    where\n R: Rng + ?Sized,

    Create a new hash with cryptographically random content using the\ngiven random number generator.

    \n

    pub fn random() -> H256

    Create a new hash with cryptographically random content.

    \n
    ",0,"tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl H256

    pub const fn repeat_byte(byte: u8) -> H256

    Returns a new fixed hash where all bits are set to the given byte.

    \n

    pub const fn zero() -> H256

    Returns a new zero-initialized fixed hash.

    \n

    pub const fn len_bytes() -> usize

    Returns the size of this hash in bytes.

    \n

    pub fn as_bytes(&self) -> &[u8]

    Extracts a byte slice containing the entire fixed hash.

    \n

    pub fn as_bytes_mut(&mut self) -> &mut [u8]

    Extracts a mutable byte slice containing the entire fixed hash.

    \n

    pub const fn as_fixed_bytes(&self) -> &[u8; 32]

    Extracts a reference to the byte array containing the entire fixed hash.

    \n

    pub fn as_fixed_bytes_mut(&mut self) -> &mut [u8; 32]

    Extracts a reference to the byte array containing the entire fixed hash.

    \n

    pub const fn to_fixed_bytes(self) -> [u8; 32]

    Returns the inner bytes array.

    \n

    pub fn as_ptr(&self) -> *const u8

    Returns a constant raw pointer to the value.

    \n

    pub fn as_mut_ptr(&mut self) -> *mut u8

    Returns a mutable raw pointer to the value.

    \n

    pub fn assign_from_slice(&mut self, src: &[u8])

    Assign the bytes from the byte slice src to self.

    \n
    §Note
    \n

    The given bytes are interpreted in big endian order.

    \n
    §Panics
    \n

    If the length of src and the number of bytes in self do not match.

    \n

    pub fn from_slice(src: &[u8]) -> H256

    Create a new fixed-hash from the given slice src.

    \n
    §Note
    \n

    The given bytes are interpreted in big endian order.

    \n
    §Panics
    \n

    If the length of src and the number of bytes in Self do not match.

    \n

    pub fn covers(&self, b: &H256) -> bool

    Returns true if all bits set in b are also set in self.

    \n

    pub fn is_zero(&self) -> bool

    Returns true if no bits are set.

    \n
    ",0,"tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl Hash for H256

    §

    fn hash<H>(&self, state: &mut H)
    where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl<I> Index<I> for H256
    where\n I: SliceIndex<[u8]>,

    §

    type Output = <I as SliceIndex<[u8]>>::Output

    The returned type after indexing.
    §

    fn index(&self, index: I) -> &<I as SliceIndex<[u8]>>::Output

    Performs the indexing (container[index]) operation. Read more
    ","Index","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl<I> IndexMut<I> for H256
    where\n I: SliceIndex<[u8], Output = [u8]>,

    §

    fn index_mut(&mut self, index: I) -> &mut <I as SliceIndex<[u8]>>::Output

    Performs the mutable indexing (container[index]) operation. Read more
    ","IndexMut","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl LowerHex for H256

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.
    ","LowerHex","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl MaxEncodedLen for H256

    §

    fn max_encoded_len() -> usize

    Upper bound, in bytes, of the maximum encoded size of this item.
    ","MaxEncodedLen","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl Ord for H256

    §

    fn cmp(&self, other: &H256) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Self
    where\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl PartialEq for H256

    §

    fn eq(&self, other: &H256) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl PartialOrd for H256

    §

    fn partial_cmp(&self, other: &H256) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    ","PartialOrd","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl PassBy for H256

    §

    type PassBy = Inner<H256, [u8; 32]>

    The strategy that should be used to pass the type.
    ","PassBy","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl PassByInner for H256

    §

    type Inner = [u8; 32]

    The inner type that is wrapped by Self.
    §

    fn inner(&self) -> &<H256 as PassByInner>::Inner

    Returns the reference to the inner type.
    §

    fn into_inner(self) -> <H256 as PassByInner>::Inner

    Consumes self and returns the inner type.
    §

    fn from_inner(inner: <H256 as PassByInner>::Inner) -> H256

    Construct Self from the given inner.
    ","PassByInner","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl Serialize for H256

    §

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl TypeInfo for H256

    §

    type Identity = H256

    The type identifying for which type info is provided. Read more
    §

    fn type_info() -> Type

    Returns the static type identifier for Self.
    ","TypeInfo","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl UpperHex for H256

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.
    ","UpperHex","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl Copy for H256

    ","Copy","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl EncodeLike for H256

    ","EncodeLike","tuxedo_template_wallet::output_filter::TxHash"],["
    §

    impl Eq for H256

    ","Eq","tuxedo_template_wallet::output_filter::TxHash"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/type.impl/sc_chain_spec/chain_spec/struct.ChainSpec.js b/type.impl/sc_chain_spec/chain_spec/struct.ChainSpec.js index 010936ad0..888485434 100644 --- a/type.impl/sc_chain_spec/chain_spec/struct.ChainSpec.js +++ b/type.impl/sc_chain_spec/chain_spec/struct.ChainSpec.js @@ -1,4 +1,4 @@ (function() {var type_impls = { -"node_template":[["
    §

    impl<G, E> ChainSpec<G, E>

    pub fn boot_nodes(&self) -> &[MultiaddrWithPeerId]

    A list of bootnode addresses.

    \n

    pub fn name(&self) -> &str

    Spec name.

    \n

    pub fn id(&self) -> &str

    Spec id.

    \n

    pub fn telemetry_endpoints(&self) -> &Option<TelemetryEndpoints>

    Telemetry endpoints (if any)

    \n

    pub fn protocol_id(&self) -> Option<&str>

    Network protocol id.

    \n

    pub fn fork_id(&self) -> Option<&str>

    Optional network fork identifier.

    \n

    pub fn properties(&self) -> Map<String, Value>

    Additional loosly-typed properties of the chain.

    \n

    Returns an empty JSON object if ‘properties’ not defined in config

    \n

    pub fn add_boot_node(&mut self, addr: MultiaddrWithPeerId)

    Add a bootnode to the list.

    \n

    pub fn extensions(&self) -> &E

    Returns a reference to the defined chain spec extensions.

    \n

    pub fn extensions_mut(&mut self) -> &mut E

    Returns a mutable reference to the defined chain spec extensions.

    \n

    pub fn from_genesis<F>(\n name: &str,\n id: &str,\n chain_type: ChainType,\n constructor: F,\n boot_nodes: Vec<MultiaddrWithPeerId>,\n telemetry_endpoints: Option<TelemetryEndpoints>,\n protocol_id: Option<&str>,\n fork_id: Option<&str>,\n properties: Option<Map<String, Value>>,\n extensions: E\n) -> ChainSpec<G, E>
    where\n F: Fn() -> G + 'static + Send + Sync,

    Create hardcoded spec.

    \n
    ",0,"node_template::chain_spec::ChainSpec"],["
    §

    impl<G, E> ChainSpec<G, E>
    where\n E: DeserializeOwned,

    pub fn from_json_bytes(\n json: impl Into<Cow<'static, [u8]>>\n) -> Result<ChainSpec<G, E>, String>

    Parse json content into a ChainSpec

    \n

    pub fn from_json_file(path: PathBuf) -> Result<ChainSpec<G, E>, String>

    Parse json file into a ChainSpec

    \n
    ",0,"node_template::chain_spec::ChainSpec"],["
    §

    impl<G, E> ChainSpec<G, E>
    where\n G: RuntimeGenesis,\n E: Serialize + Clone + 'static,

    pub fn as_json(&self, raw: bool) -> Result<String, String>

    Dump to json string.

    \n
    ",0,"node_template::chain_spec::ChainSpec"],["
    §

    impl<G, E> ChainSpec for ChainSpec<G, E>
    where\n G: RuntimeGenesis + 'static,\n E: GetExtension + Serialize + Clone + Send + Sync + 'static,

    §

    fn boot_nodes(&self) -> &[MultiaddrWithPeerId]

    A list of bootnode addresses.
    §

    fn name(&self) -> &str

    Spec name.
    §

    fn id(&self) -> &str

    Spec id.
    §

    fn chain_type(&self) -> ChainType

    Type of the chain.
    §

    fn telemetry_endpoints(&self) -> &Option<TelemetryEndpoints>

    Telemetry endpoints (if any)
    §

    fn protocol_id(&self) -> Option<&str>

    Network protocol id.
    §

    fn fork_id(&self) -> Option<&str>

    Optional network fork identifier. None by default.
    §

    fn properties(&self) -> Map<String, Value>

    Additional loosly-typed properties of the chain. Read more
    §

    fn add_boot_node(&mut self, addr: MultiaddrWithPeerId)

    Add a bootnode to the list.
    §

    fn extensions(&self) -> &dyn GetExtension

    Returns a reference to the defined chain spec extensions.
    §

    fn extensions_mut(&mut self) -> &mut dyn GetExtension

    Returns a mutable reference to the defined chain spec extensions.
    §

    fn as_json(&self, raw: bool) -> Result<String, String>

    Return spec as JSON.
    §

    fn as_storage_builder(&self) -> &dyn BuildStorage

    Return StorageBuilder for this spec.
    §

    fn cloned_box(&self) -> Box<dyn ChainSpec>

    Returns a cloned Box<dyn ChainSpec>.
    §

    fn set_storage(&mut self, storage: Storage)

    Set the storage that should be used by this chain spec. Read more
    §

    fn code_substitutes(&self) -> BTreeMap<String, Vec<u8>>

    Returns code substitutes that should be used for the on chain wasm.
    ","ChainSpec","node_template::chain_spec::ChainSpec"],["
    §

    impl<G, E> BuildStorage for ChainSpec<G, E>
    where\n G: RuntimeGenesis,

    §

    fn assimilate_storage(&self, storage: &mut Storage) -> Result<(), String>

    Assimilate the storage for this module into pre-existing overlays.
    §

    fn build_storage(&self) -> Result<Storage, String>

    Build the storage out of this builder.
    ","BuildStorage","node_template::chain_spec::ChainSpec"],["
    §

    impl<G, E> Clone for ChainSpec<G, E>
    where\n E: Clone,

    §

    fn clone(&self) -> ChainSpec<G, E>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","node_template::chain_spec::ChainSpec"]], -"parachain_template_node":[["
    §

    impl<G, E> ChainSpec<G, E>

    pub fn boot_nodes(&self) -> &[MultiaddrWithPeerId]

    A list of bootnode addresses.

    \n

    pub fn name(&self) -> &str

    Spec name.

    \n

    pub fn id(&self) -> &str

    Spec id.

    \n

    pub fn telemetry_endpoints(&self) -> &Option<TelemetryEndpoints>

    Telemetry endpoints (if any)

    \n

    pub fn protocol_id(&self) -> Option<&str>

    Network protocol id.

    \n

    pub fn fork_id(&self) -> Option<&str>

    Optional network fork identifier.

    \n

    pub fn properties(&self) -> Map<String, Value>

    Additional loosly-typed properties of the chain.

    \n

    Returns an empty JSON object if ‘properties’ not defined in config

    \n

    pub fn add_boot_node(&mut self, addr: MultiaddrWithPeerId)

    Add a bootnode to the list.

    \n

    pub fn extensions(&self) -> &E

    Returns a reference to the defined chain spec extensions.

    \n

    pub fn extensions_mut(&mut self) -> &mut E

    Returns a mutable reference to the defined chain spec extensions.

    \n

    pub fn from_genesis<F>(\n name: &str,\n id: &str,\n chain_type: ChainType,\n constructor: F,\n boot_nodes: Vec<MultiaddrWithPeerId>,\n telemetry_endpoints: Option<TelemetryEndpoints>,\n protocol_id: Option<&str>,\n fork_id: Option<&str>,\n properties: Option<Map<String, Value>>,\n extensions: E\n) -> ChainSpec<G, E>
    where\n F: Fn() -> G + 'static + Send + Sync,

    Create hardcoded spec.

    \n
    ",0,"parachain_template_node::chain_spec::ChainSpec"],["
    §

    impl<G, E> ChainSpec<G, E>
    where\n E: DeserializeOwned,

    pub fn from_json_bytes(\n json: impl Into<Cow<'static, [u8]>>\n) -> Result<ChainSpec<G, E>, String>

    Parse json content into a ChainSpec

    \n

    pub fn from_json_file(path: PathBuf) -> Result<ChainSpec<G, E>, String>

    Parse json file into a ChainSpec

    \n
    ",0,"parachain_template_node::chain_spec::ChainSpec"],["
    §

    impl<G, E> ChainSpec<G, E>
    where\n G: RuntimeGenesis,\n E: Serialize + Clone + 'static,

    pub fn as_json(&self, raw: bool) -> Result<String, String>

    Dump to json string.

    \n
    ",0,"parachain_template_node::chain_spec::ChainSpec"],["
    §

    impl<G, E> ChainSpec for ChainSpec<G, E>
    where\n G: RuntimeGenesis + 'static,\n E: GetExtension + Serialize + Clone + Send + Sync + 'static,

    §

    fn boot_nodes(&self) -> &[MultiaddrWithPeerId]

    A list of bootnode addresses.
    §

    fn name(&self) -> &str

    Spec name.
    §

    fn id(&self) -> &str

    Spec id.
    §

    fn chain_type(&self) -> ChainType

    Type of the chain.
    §

    fn telemetry_endpoints(&self) -> &Option<TelemetryEndpoints>

    Telemetry endpoints (if any)
    §

    fn protocol_id(&self) -> Option<&str>

    Network protocol id.
    §

    fn fork_id(&self) -> Option<&str>

    Optional network fork identifier. None by default.
    §

    fn properties(&self) -> Map<String, Value>

    Additional loosly-typed properties of the chain. Read more
    §

    fn add_boot_node(&mut self, addr: MultiaddrWithPeerId)

    Add a bootnode to the list.
    §

    fn extensions(&self) -> &dyn GetExtension

    Returns a reference to the defined chain spec extensions.
    §

    fn extensions_mut(&mut self) -> &mut dyn GetExtension

    Returns a mutable reference to the defined chain spec extensions.
    §

    fn as_json(&self, raw: bool) -> Result<String, String>

    Return spec as JSON.
    §

    fn as_storage_builder(&self) -> &dyn BuildStorage

    Return StorageBuilder for this spec.
    §

    fn cloned_box(&self) -> Box<dyn ChainSpec>

    Returns a cloned Box<dyn ChainSpec>.
    §

    fn set_storage(&mut self, storage: Storage)

    Set the storage that should be used by this chain spec. Read more
    §

    fn code_substitutes(&self) -> BTreeMap<String, Vec<u8>>

    Returns code substitutes that should be used for the on chain wasm.
    ","ChainSpec","parachain_template_node::chain_spec::ChainSpec"],["
    §

    impl<G, E> BuildStorage for ChainSpec<G, E>
    where\n G: RuntimeGenesis,

    §

    fn assimilate_storage(&self, storage: &mut Storage) -> Result<(), String>

    Assimilate the storage for this module into pre-existing overlays.
    §

    fn build_storage(&self) -> Result<Storage, String>

    Build the storage out of this builder.
    ","BuildStorage","parachain_template_node::chain_spec::ChainSpec"],["
    §

    impl<G, E> Clone for ChainSpec<G, E>
    where\n E: Clone,

    §

    fn clone(&self) -> ChainSpec<G, E>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","parachain_template_node::chain_spec::ChainSpec"]] +"node_template":[["
    §

    impl<G, E, EHF> BuildStorage for ChainSpec<G, E, EHF>
    where\n G: RuntimeGenesis,\n EHF: HostFunctions,

    §

    fn assimilate_storage(&self, storage: &mut Storage) -> Result<(), String>

    Assimilate the storage for this module into pre-existing overlays.
    §

    fn build_storage(&self) -> Result<Storage, String>

    Build the storage out of this builder.
    ","BuildStorage","node_template::chain_spec::ChainSpec"],["
    §

    impl<G, E, EHF> ChainSpec for ChainSpec<G, E, EHF>
    where\n G: RuntimeGenesis + 'static,\n E: GetExtension + Serialize + Clone + Send + Sync + 'static,\n EHF: HostFunctions,

    §

    fn boot_nodes(&self) -> &[MultiaddrWithPeerId]

    A list of bootnode addresses.
    §

    fn name(&self) -> &str

    Spec name.
    §

    fn id(&self) -> &str

    Spec id.
    §

    fn chain_type(&self) -> ChainType

    Type of the chain.
    §

    fn telemetry_endpoints(&self) -> &Option<TelemetryEndpoints>

    Telemetry endpoints (if any)
    §

    fn protocol_id(&self) -> Option<&str>

    Network protocol id.
    §

    fn fork_id(&self) -> Option<&str>

    Optional network fork identifier. None by default.
    §

    fn properties(&self) -> Map<String, Value>

    Additional loosly-typed properties of the chain. Read more
    §

    fn add_boot_node(&mut self, addr: MultiaddrWithPeerId)

    Add a bootnode to the list.
    §

    fn extensions(&self) -> &dyn GetExtension

    Returns a reference to the defined chain spec extensions.
    §

    fn extensions_mut(&mut self) -> &mut dyn GetExtension

    Returns a mutable reference to the defined chain spec extensions.
    §

    fn as_json(&self, raw: bool) -> Result<String, String>

    Return spec as JSON.
    §

    fn as_storage_builder(&self) -> &dyn BuildStorage

    Return StorageBuilder for this spec.
    §

    fn cloned_box(&self) -> Box<dyn ChainSpec>

    Returns a cloned Box<dyn ChainSpec>.
    §

    fn set_storage(&mut self, storage: Storage)

    Set the storage that should be used by this chain spec. Read more
    §

    fn code_substitutes(&self) -> BTreeMap<String, Vec<u8>>

    Returns code substitutes that should be used for the on chain wasm.
    ","ChainSpec","node_template::chain_spec::ChainSpec"],["
    §

    impl<G, E, EHF> Clone for ChainSpec<G, E, EHF>
    where\n E: Clone,

    §

    fn clone(&self) -> ChainSpec<G, E, EHF>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","node_template::chain_spec::ChainSpec"],["
    §

    impl<G, E, EHF> ChainSpec<G, E, EHF>

    pub fn boot_nodes(&self) -> &[MultiaddrWithPeerId]

    A list of bootnode addresses.

    \n

    pub fn name(&self) -> &str

    Spec name.

    \n

    pub fn id(&self) -> &str

    Spec id.

    \n

    pub fn telemetry_endpoints(&self) -> &Option<TelemetryEndpoints>

    Telemetry endpoints (if any)

    \n

    pub fn protocol_id(&self) -> Option<&str>

    Network protocol id.

    \n

    pub fn fork_id(&self) -> Option<&str>

    Optional network fork identifier.

    \n

    pub fn properties(&self) -> Map<String, Value>

    Additional loosly-typed properties of the chain.

    \n

    Returns an empty JSON object if ‘properties’ not defined in config

    \n

    pub fn add_boot_node(&mut self, addr: MultiaddrWithPeerId)

    Add a bootnode to the list.

    \n

    pub fn extensions(&self) -> &E

    Returns a reference to the defined chain spec extensions.

    \n

    pub fn extensions_mut(&mut self) -> &mut E

    Returns a mutable reference to the defined chain spec extensions.

    \n

    pub fn from_genesis<F>(\n name: &str,\n id: &str,\n chain_type: ChainType,\n constructor: F,\n boot_nodes: Vec<MultiaddrWithPeerId>,\n telemetry_endpoints: Option<TelemetryEndpoints>,\n protocol_id: Option<&str>,\n fork_id: Option<&str>,\n properties: Option<Map<String, Value>>,\n extensions: E,\n code: &[u8]\n) -> ChainSpec<G, E, EHF>
    where\n F: Fn() -> G + 'static + Send + Sync,

    👎Deprecated: from_genesis is planned to be removed in May 2024. Use builder() instead.

    Create hardcoded spec.

    \n

    pub fn builder(code: &[u8], extensions: E) -> ChainSpecBuilder<G, E, EHF>

    Provides a ChainSpec builder.

    \n
    ",0,"node_template::chain_spec::ChainSpec"],["
    §

    impl<G, E, EHF> ChainSpec<G, E, EHF>

    pub fn from_json_bytes(\n json: impl Into<Cow<'static, [u8]>>\n) -> Result<ChainSpec<G, E, EHF>, String>

    Parse json content into a ChainSpec

    \n

    pub fn from_json_file(path: PathBuf) -> Result<ChainSpec<G, E, EHF>, String>

    Parse json file into a ChainSpec

    \n
    ",0,"node_template::chain_spec::ChainSpec"],["
    §

    impl<G, E, EHF> ChainSpec<G, E, EHF>
    where\n G: RuntimeGenesis,\n E: Serialize + Clone + 'static,\n EHF: HostFunctions,

    pub fn as_json(&self, raw: bool) -> Result<String, String>

    Dump the chain specification to JSON string.

    \n
    ",0,"node_template::chain_spec::ChainSpec"]], +"parachain_template_node":[["
    §

    impl<G, E, EHF> BuildStorage for ChainSpec<G, E, EHF>
    where\n G: RuntimeGenesis,\n EHF: HostFunctions,

    §

    fn assimilate_storage(&self, storage: &mut Storage) -> Result<(), String>

    Assimilate the storage for this module into pre-existing overlays.
    §

    fn build_storage(&self) -> Result<Storage, String>

    Build the storage out of this builder.
    ","BuildStorage","parachain_template_node::chain_spec::ChainSpec"],["
    §

    impl<G, E, EHF> ChainSpec for ChainSpec<G, E, EHF>
    where\n G: RuntimeGenesis + 'static,\n E: GetExtension + Serialize + Clone + Send + Sync + 'static,\n EHF: HostFunctions,

    §

    fn boot_nodes(&self) -> &[MultiaddrWithPeerId]

    A list of bootnode addresses.
    §

    fn name(&self) -> &str

    Spec name.
    §

    fn id(&self) -> &str

    Spec id.
    §

    fn chain_type(&self) -> ChainType

    Type of the chain.
    §

    fn telemetry_endpoints(&self) -> &Option<TelemetryEndpoints>

    Telemetry endpoints (if any)
    §

    fn protocol_id(&self) -> Option<&str>

    Network protocol id.
    §

    fn fork_id(&self) -> Option<&str>

    Optional network fork identifier. None by default.
    §

    fn properties(&self) -> Map<String, Value>

    Additional loosly-typed properties of the chain. Read more
    §

    fn add_boot_node(&mut self, addr: MultiaddrWithPeerId)

    Add a bootnode to the list.
    §

    fn extensions(&self) -> &dyn GetExtension

    Returns a reference to the defined chain spec extensions.
    §

    fn extensions_mut(&mut self) -> &mut dyn GetExtension

    Returns a mutable reference to the defined chain spec extensions.
    §

    fn as_json(&self, raw: bool) -> Result<String, String>

    Return spec as JSON.
    §

    fn as_storage_builder(&self) -> &dyn BuildStorage

    Return StorageBuilder for this spec.
    §

    fn cloned_box(&self) -> Box<dyn ChainSpec>

    Returns a cloned Box<dyn ChainSpec>.
    §

    fn set_storage(&mut self, storage: Storage)

    Set the storage that should be used by this chain spec. Read more
    §

    fn code_substitutes(&self) -> BTreeMap<String, Vec<u8>>

    Returns code substitutes that should be used for the on chain wasm.
    ","ChainSpec","parachain_template_node::chain_spec::ChainSpec"],["
    §

    impl<G, E, EHF> Clone for ChainSpec<G, E, EHF>
    where\n E: Clone,

    §

    fn clone(&self) -> ChainSpec<G, E, EHF>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","parachain_template_node::chain_spec::ChainSpec"],["
    §

    impl<G, E, EHF> ChainSpec<G, E, EHF>

    pub fn boot_nodes(&self) -> &[MultiaddrWithPeerId]

    A list of bootnode addresses.

    \n

    pub fn name(&self) -> &str

    Spec name.

    \n

    pub fn id(&self) -> &str

    Spec id.

    \n

    pub fn telemetry_endpoints(&self) -> &Option<TelemetryEndpoints>

    Telemetry endpoints (if any)

    \n

    pub fn protocol_id(&self) -> Option<&str>

    Network protocol id.

    \n

    pub fn fork_id(&self) -> Option<&str>

    Optional network fork identifier.

    \n

    pub fn properties(&self) -> Map<String, Value>

    Additional loosly-typed properties of the chain.

    \n

    Returns an empty JSON object if ‘properties’ not defined in config

    \n

    pub fn add_boot_node(&mut self, addr: MultiaddrWithPeerId)

    Add a bootnode to the list.

    \n

    pub fn extensions(&self) -> &E

    Returns a reference to the defined chain spec extensions.

    \n

    pub fn extensions_mut(&mut self) -> &mut E

    Returns a mutable reference to the defined chain spec extensions.

    \n

    pub fn from_genesis<F>(\n name: &str,\n id: &str,\n chain_type: ChainType,\n constructor: F,\n boot_nodes: Vec<MultiaddrWithPeerId>,\n telemetry_endpoints: Option<TelemetryEndpoints>,\n protocol_id: Option<&str>,\n fork_id: Option<&str>,\n properties: Option<Map<String, Value>>,\n extensions: E,\n code: &[u8]\n) -> ChainSpec<G, E, EHF>
    where\n F: Fn() -> G + 'static + Send + Sync,

    👎Deprecated: from_genesis is planned to be removed in May 2024. Use builder() instead.

    Create hardcoded spec.

    \n

    pub fn builder(code: &[u8], extensions: E) -> ChainSpecBuilder<G, E, EHF>

    Provides a ChainSpec builder.

    \n
    ",0,"parachain_template_node::chain_spec::ChainSpec"],["
    §

    impl<G, E, EHF> ChainSpec<G, E, EHF>

    pub fn from_json_bytes(\n json: impl Into<Cow<'static, [u8]>>\n) -> Result<ChainSpec<G, E, EHF>, String>

    Parse json content into a ChainSpec

    \n

    pub fn from_json_file(path: PathBuf) -> Result<ChainSpec<G, E, EHF>, String>

    Parse json file into a ChainSpec

    \n
    ",0,"parachain_template_node::chain_spec::ChainSpec"],["
    §

    impl<G, E, EHF> ChainSpec<G, E, EHF>
    where\n G: RuntimeGenesis,\n E: Serialize + Clone + 'static,\n EHF: HostFunctions,

    pub fn as_json(&self, raw: bool) -> Result<String, String>

    Dump the chain specification to JSON string.

    \n
    ",0,"parachain_template_node::chain_spec::ChainSpec"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/type.impl/sc_consensus/longest_chain/struct.LongestChain.js b/type.impl/sc_consensus/longest_chain/struct.LongestChain.js index c9564e774..728292026 100644 --- a/type.impl/sc_consensus/longest_chain/struct.LongestChain.js +++ b/type.impl/sc_consensus/longest_chain/struct.LongestChain.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"parachain_template_node":[["
    §

    impl<B, Block> LongestChain<B, Block>
    where\n B: Backend<Block>,\n Block: Block,

    pub fn new(backend: Arc<B>) -> LongestChain<B, Block>

    Instantiate a new LongestChain for Backend B

    \n
    ",0,"parachain_template_node::dev_service::FullSelectChain"],["
    §

    impl<B, Block> SelectChain<Block> for LongestChain<B, Block>
    where\n B: Backend<Block>,\n Block: Block,

    §

    fn leaves<'life0, 'async_trait>(\n &'life0 self\n) -> Pin<Box<dyn Future<Output = Result<Vec<<Block as Block>::Hash>, Error>> + Send + 'async_trait>>
    where\n 'life0: 'async_trait,\n LongestChain<B, Block>: 'async_trait,

    Get all leaves of the chain, i.e. block hashes that have no children currently.\nLeaves that can never be finalized will not be returned.
    §

    fn best_chain<'life0, 'async_trait>(\n &'life0 self\n) -> Pin<Box<dyn Future<Output = Result<<Block as Block>::Header, Error>> + Send + 'async_trait>>
    where\n 'life0: 'async_trait,\n LongestChain<B, Block>: 'async_trait,

    Among those leaves deterministically pick one chain as the generally\nbest chain to author new blocks upon and probably (but not necessarily)\nfinalize.
    §

    fn finality_target<'life0, 'async_trait>(\n &'life0 self,\n base_hash: <Block as Block>::Hash,\n maybe_max_number: Option<<<Block as Block>::Header as Header>::Number>\n) -> Pin<Box<dyn Future<Output = Result<<Block as Block>::Hash, Error>> + Send + 'async_trait>>
    where\n 'life0: 'async_trait,\n LongestChain<B, Block>: 'async_trait,

    Get the best descendent of base_hash that we should attempt to\nfinalize next, if any. It is valid to return the given base_hash\nitself if no better descendent exists.
    ","SelectChain","parachain_template_node::dev_service::FullSelectChain"],["
    §

    impl<B, Block> Clone for LongestChain<B, Block>

    §

    fn clone(&self) -> LongestChain<B, Block>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","parachain_template_node::dev_service::FullSelectChain"]] +"parachain_template_node":[["
    §

    impl<B, Block> Clone for LongestChain<B, Block>

    §

    fn clone(&self) -> LongestChain<B, Block>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","parachain_template_node::dev_service::FullSelectChain"],["
    §

    impl<B, Block> LongestChain<B, Block>
    where\n B: Backend<Block>,\n Block: Block,

    pub fn new(backend: Arc<B>) -> LongestChain<B, Block>

    Instantiate a new LongestChain for Backend B

    \n
    ",0,"parachain_template_node::dev_service::FullSelectChain"],["
    §

    impl<B, Block> SelectChain<Block> for LongestChain<B, Block>
    where\n B: Backend<Block>,\n Block: Block,

    §

    fn leaves<'life0, 'async_trait>(\n &'life0 self\n) -> Pin<Box<dyn Future<Output = Result<Vec<<Block as Block>::Hash>, Error>> + Send + 'async_trait>>
    where\n 'life0: 'async_trait,\n LongestChain<B, Block>: 'async_trait,

    Get all leaves of the chain, i.e. block hashes that have no children currently.\nLeaves that can never be finalized will not be returned.
    §

    fn best_chain<'life0, 'async_trait>(\n &'life0 self\n) -> Pin<Box<dyn Future<Output = Result<<Block as Block>::Header, Error>> + Send + 'async_trait>>
    where\n 'life0: 'async_trait,\n LongestChain<B, Block>: 'async_trait,

    Among those leaves deterministically pick one chain as the generally\nbest chain to author new blocks upon and probably (but not necessarily)\nfinalize.
    §

    fn finality_target<'life0, 'async_trait>(\n &'life0 self,\n base_hash: <Block as Block>::Hash,\n maybe_max_number: Option<<<Block as Block>::Header as Header>::Number>\n) -> Pin<Box<dyn Future<Output = Result<<Block as Block>::Hash, Error>> + Send + 'async_trait>>
    where\n 'life0: 'async_trait,\n LongestChain<B, Block>: 'async_trait,

    Get the best descendent of base_hash that we should attempt to\nfinalize next, if any. It is valid to return the given base_hash\nitself if no better descendent exists.
    ","SelectChain","parachain_template_node::dev_service::FullSelectChain"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/type.impl/sp_runtime/generic/block/struct.Block.js b/type.impl/sp_runtime/generic/block/struct.Block.js index 0f0a4f057..9188a88c0 100644 --- a/type.impl/sp_runtime/generic/block/struct.Block.js +++ b/type.impl/sp_runtime/generic/block/struct.Block.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"tuxedo_template_runtime":[["
    §

    impl<Header, Extrinsic> TypeInfo for Block<Header, Extrinsic>
    where\n Header: TypeInfo + 'static,\n Vec<Extrinsic>: TypeInfo + 'static,\n Extrinsic: TypeInfo + 'static,

    §

    type Identity = Block<Header, Extrinsic>

    The type identifying for which type info is provided. Read more
    §

    fn type_info() -> Type

    Returns the static type identifier for Self.
    ","TypeInfo","tuxedo_template_runtime::opaque::Block","tuxedo_template_runtime::Block"],["
    §

    impl<Header, Extrinsic> Decode for Block<Header, Extrinsic>
    where\n Header: Decode,\n Vec<Extrinsic>: Decode,

    §

    fn decode<__CodecInputEdqy>(\n __codec_input_edqy: &mut __CodecInputEdqy\n) -> Result<Block<Header, Extrinsic>, Error>
    where\n __CodecInputEdqy: Input,

    Attempt to deserialise the value from input.
    §

    fn decode_into<I>(\n input: &mut I,\n dst: &mut MaybeUninit<Self>\n) -> Result<DecodeFinished, Error>
    where\n I: Input,

    Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
    §

    fn skip<I>(input: &mut I) -> Result<(), Error>
    where\n I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    ","Decode","tuxedo_template_runtime::opaque::Block","tuxedo_template_runtime::Block"],["
    §

    impl<Header, Extrinsic> Encode for Block<Header, Extrinsic>
    where\n Header: Encode,\n Vec<Extrinsic>: Encode,

    §

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    §

    fn encode_to<__CodecOutputEdqy>(\n &self,\n __codec_dest_edqy: &mut __CodecOutputEdqy\n)
    where\n __CodecOutputEdqy: Output + ?Sized,

    Convert self to a slice and append it to the destination.
    §

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    §

    fn using_encoded<R, F>(&self, f: F) -> R
    where\n F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    ","Encode","tuxedo_template_runtime::opaque::Block","tuxedo_template_runtime::Block"],["
    §

    impl<'de, Header, Extrinsic> Deserialize<'de> for Block<Header, Extrinsic>
    where\n Header: Deserialize<'de>,\n Extrinsic: Deserialize<'de>,

    §

    fn deserialize<__D>(\n __deserializer: __D\n) -> Result<Block<Header, Extrinsic>, <__D as Deserializer<'de>>::Error>
    where\n __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","tuxedo_template_runtime::opaque::Block","tuxedo_template_runtime::Block"],["
    §

    impl<Header, Extrinsic> Eq for Block<Header, Extrinsic>
    where\n Header: Eq,\n Extrinsic: Eq,

    ","Eq","tuxedo_template_runtime::opaque::Block","tuxedo_template_runtime::Block"],["
    §

    impl<Header, Extrinsic> Block for Block<Header, Extrinsic>
    where\n Extrinsic: MaybeSerialize + Member + Codec + Extrinsic,\n Header: Header + MaybeSerializeDeserialize,

    §

    type Extrinsic = Extrinsic

    Type for extrinsics.
    §

    type Header = Header

    Header type.
    §

    type Hash = <<Block<Header, Extrinsic> as Block>::Header as Header>::Hash

    Block hash type.
    §

    fn header(&self) -> &<Block<Header, Extrinsic> as Block>::Header

    Returns a reference to the header.
    §

    fn extrinsics(&self) -> &[<Block<Header, Extrinsic> as Block>::Extrinsic]

    Returns a reference to the list of extrinsics.
    §

    fn deconstruct(\n self\n) -> (<Block<Header, Extrinsic> as Block>::Header, Vec<<Block<Header, Extrinsic> as Block>::Extrinsic>)

    Split the block into header and list of extrinsics.
    §

    fn new(\n header: <Block<Header, Extrinsic> as Block>::Header,\n extrinsics: Vec<<Block<Header, Extrinsic> as Block>::Extrinsic>\n) -> Block<Header, Extrinsic>

    Creates new block from header and extrinsics.
    §

    fn encode_from(\n header: &<Block<Header, Extrinsic> as Block>::Header,\n extrinsics: &[<Block<Header, Extrinsic> as Block>::Extrinsic]\n) -> Vec<u8>

    Creates an encoded block from the given header and extrinsics without requiring the\ncreation of an instance.
    §

    fn hash(&self) -> Self::Hash

    Returns the hash of the block.
    ","Block","tuxedo_template_runtime::opaque::Block","tuxedo_template_runtime::Block"],["
    §

    impl<Header, Extrinsic> EncodeLike for Block<Header, Extrinsic>
    where\n Header: Encode,\n Vec<Extrinsic>: Encode,

    ","EncodeLike","tuxedo_template_runtime::opaque::Block","tuxedo_template_runtime::Block"],["
    §

    impl<Header, Extrinsic> StructuralPartialEq for Block<Header, Extrinsic>

    ","StructuralPartialEq","tuxedo_template_runtime::opaque::Block","tuxedo_template_runtime::Block"],["
    §

    impl<Header, Extrinsic> Debug for Block<Header, Extrinsic>
    where\n Header: Debug,\n Extrinsic: Debug,

    §

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","tuxedo_template_runtime::opaque::Block","tuxedo_template_runtime::Block"],["
    §

    impl<Header, Extrinsic> Serialize for Block<Header, Extrinsic>
    where\n Header: Serialize,\n Extrinsic: Serialize,

    §

    fn serialize<__S>(\n &self,\n __serializer: __S\n) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where\n __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","tuxedo_template_runtime::opaque::Block","tuxedo_template_runtime::Block"],["
    §

    impl<Header, Extrinsic> PartialEq for Block<Header, Extrinsic>
    where\n Header: PartialEq,\n Extrinsic: PartialEq,

    §

    fn eq(&self, other: &Block<Header, Extrinsic>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","tuxedo_template_runtime::opaque::Block","tuxedo_template_runtime::Block"],["
    §

    impl<Header, Extrinsic> Clone for Block<Header, Extrinsic>
    where\n Header: Clone,\n Extrinsic: Clone,

    §

    fn clone(&self) -> Block<Header, Extrinsic>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","tuxedo_template_runtime::opaque::Block","tuxedo_template_runtime::Block"]] +"tuxedo_core":[["
    §

    impl<Header, Extrinsic> Block for Block<Header, Extrinsic>
    where\n Extrinsic: MaybeSerialize + Member + Codec + Extrinsic,\n Header: Header + MaybeSerializeDeserialize,

    §

    type Extrinsic = Extrinsic

    Type for extrinsics.
    §

    type Header = Header

    Header type.
    §

    type Hash = <<Block<Header, Extrinsic> as Block>::Header as Header>::Hash

    Block hash type.
    §

    fn header(&self) -> &<Block<Header, Extrinsic> as Block>::Header

    Returns a reference to the header.
    §

    fn extrinsics(&self) -> &[<Block<Header, Extrinsic> as Block>::Extrinsic]

    Returns a reference to the list of extrinsics.
    §

    fn deconstruct(\n self\n) -> (<Block<Header, Extrinsic> as Block>::Header, Vec<<Block<Header, Extrinsic> as Block>::Extrinsic>)

    Split the block into header and list of extrinsics.
    §

    fn new(\n header: <Block<Header, Extrinsic> as Block>::Header,\n extrinsics: Vec<<Block<Header, Extrinsic> as Block>::Extrinsic>\n) -> Block<Header, Extrinsic>

    Creates new block from header and extrinsics.
    §

    fn encode_from(\n header: &<Block<Header, Extrinsic> as Block>::Header,\n extrinsics: &[<Block<Header, Extrinsic> as Block>::Extrinsic]\n) -> Vec<u8>

    Creates an encoded block from the given header and extrinsics without requiring the\ncreation of an instance.
    §

    fn hash(&self) -> Self::Hash

    Returns the hash of the block.
    ","Block","tuxedo_core::types::Block","tuxedo_core::types::OpaqueBlock"],["
    §

    impl<Header, Extrinsic> Clone for Block<Header, Extrinsic>
    where\n Header: Clone,\n Extrinsic: Clone,

    §

    fn clone(&self) -> Block<Header, Extrinsic>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","tuxedo_core::types::Block","tuxedo_core::types::OpaqueBlock"],["
    §

    impl<Header, Extrinsic> Debug for Block<Header, Extrinsic>
    where\n Header: Debug,\n Extrinsic: Debug,

    §

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","tuxedo_core::types::Block","tuxedo_core::types::OpaqueBlock"],["
    §

    impl<Header, Extrinsic> Decode for Block<Header, Extrinsic>
    where\n Header: Decode,\n Vec<Extrinsic>: Decode,

    §

    fn decode<__CodecInputEdqy>(\n __codec_input_edqy: &mut __CodecInputEdqy\n) -> Result<Block<Header, Extrinsic>, Error>
    where\n __CodecInputEdqy: Input,

    Attempt to deserialise the value from input.
    §

    fn decode_into<I>(\n input: &mut I,\n dst: &mut MaybeUninit<Self>\n) -> Result<DecodeFinished, Error>
    where\n I: Input,

    Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
    §

    fn skip<I>(input: &mut I) -> Result<(), Error>
    where\n I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    ","Decode","tuxedo_core::types::Block","tuxedo_core::types::OpaqueBlock"],["
    §

    impl<'de, Header, Extrinsic> Deserialize<'de> for Block<Header, Extrinsic>
    where\n Header: Deserialize<'de>,\n Extrinsic: Deserialize<'de>,

    §

    fn deserialize<__D>(\n __deserializer: __D\n) -> Result<Block<Header, Extrinsic>, <__D as Deserializer<'de>>::Error>
    where\n __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","tuxedo_core::types::Block","tuxedo_core::types::OpaqueBlock"],["
    §

    impl<Header, Extrinsic> Encode for Block<Header, Extrinsic>
    where\n Header: Encode,\n Vec<Extrinsic>: Encode,

    §

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    §

    fn encode_to<__CodecOutputEdqy>(\n &self,\n __codec_dest_edqy: &mut __CodecOutputEdqy\n)
    where\n __CodecOutputEdqy: Output + ?Sized,

    Convert self to a slice and append it to the destination.
    §

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    §

    fn using_encoded<R, F>(&self, f: F) -> R
    where\n F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    ","Encode","tuxedo_core::types::Block","tuxedo_core::types::OpaqueBlock"],["
    §

    impl<Header, Extrinsic> PartialEq for Block<Header, Extrinsic>
    where\n Header: PartialEq,\n Extrinsic: PartialEq,

    §

    fn eq(&self, other: &Block<Header, Extrinsic>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","tuxedo_core::types::Block","tuxedo_core::types::OpaqueBlock"],["
    §

    impl<Header, Extrinsic> Serialize for Block<Header, Extrinsic>
    where\n Header: Serialize,\n Extrinsic: Serialize,

    §

    fn serialize<__S>(\n &self,\n __serializer: __S\n) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where\n __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","tuxedo_core::types::Block","tuxedo_core::types::OpaqueBlock"],["
    §

    impl<Header, Extrinsic> TypeInfo for Block<Header, Extrinsic>
    where\n Header: TypeInfo + 'static,\n Vec<Extrinsic>: TypeInfo + 'static,\n Extrinsic: TypeInfo + 'static,

    §

    type Identity = Block<Header, Extrinsic>

    The type identifying for which type info is provided. Read more
    §

    fn type_info() -> Type

    Returns the static type identifier for Self.
    ","TypeInfo","tuxedo_core::types::Block","tuxedo_core::types::OpaqueBlock"],["
    §

    impl<Header, Extrinsic> EncodeLike for Block<Header, Extrinsic>
    where\n Header: Encode,\n Vec<Extrinsic>: Encode,

    ","EncodeLike","tuxedo_core::types::Block","tuxedo_core::types::OpaqueBlock"],["
    §

    impl<Header, Extrinsic> Eq for Block<Header, Extrinsic>
    where\n Header: Eq,\n Extrinsic: Eq,

    ","Eq","tuxedo_core::types::Block","tuxedo_core::types::OpaqueBlock"],["
    §

    impl<Header, Extrinsic> StructuralPartialEq for Block<Header, Extrinsic>

    ","StructuralPartialEq","tuxedo_core::types::Block","tuxedo_core::types::OpaqueBlock"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/type.impl/sp_runtime/generic/header/struct.Header.js b/type.impl/sp_runtime/generic/header/struct.Header.js index 0776af84c..525b7edfb 100644 --- a/type.impl/sp_runtime/generic/header/struct.Header.js +++ b/type.impl/sp_runtime/generic/header/struct.Header.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"tuxedo_template_runtime":[["
    §

    impl<Number, Hash> Header<Number, Hash>
    where\n Number: Member + Hash + Copy + MaybeDisplay + AtLeast32BitUnsigned + Codec + Into<U256> + TryFrom<U256>,\n Hash: Hash,

    pub fn hash(&self) -> <Hash as Hash>::Output

    Convenience helper for computing the hash of the header without having\nto import the trait.

    \n
    ",0,"tuxedo_template_runtime::Header"],["
    §

    impl<Number, Hash> TypeInfo for Header<Number, Hash>
    where\n Number: Copy + Into<U256> + TryFrom<U256> + HasCompact + TypeInfo + 'static,\n Hash: Hash + 'static,\n <Hash as Hash>::Output: TypeInfo + 'static,

    §

    type Identity = Header<Number, Hash>

    The type identifying for which type info is provided. Read more
    §

    fn type_info() -> Type

    Returns the static type identifier for Self.
    ","TypeInfo","tuxedo_template_runtime::Header"],["
    §

    impl<Number, Hash> Decode for Header<Number, Hash>
    where\n Number: Copy + Into<U256> + TryFrom<U256> + HasCompact,\n Hash: Hash,\n <Hash as Hash>::Output: Decode,

    §

    fn decode<__CodecInputEdqy>(\n __codec_input_edqy: &mut __CodecInputEdqy\n) -> Result<Header<Number, Hash>, Error>
    where\n __CodecInputEdqy: Input,

    Attempt to deserialise the value from input.
    §

    fn decode_into<I>(\n input: &mut I,\n dst: &mut MaybeUninit<Self>\n) -> Result<DecodeFinished, Error>
    where\n I: Input,

    Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
    §

    fn skip<I>(input: &mut I) -> Result<(), Error>
    where\n I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    ","Decode","tuxedo_template_runtime::Header"],["
    §

    impl<Number, Hash> Encode for Header<Number, Hash>
    where\n Number: Copy + Into<U256> + TryFrom<U256> + HasCompact,\n Hash: Hash,\n <Hash as Hash>::Output: Encode,

    §

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    §

    fn encode_to<__CodecOutputEdqy>(\n &self,\n __codec_dest_edqy: &mut __CodecOutputEdqy\n)
    where\n __CodecOutputEdqy: Output + ?Sized,

    Convert self to a slice and append it to the destination.
    §

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    §

    fn using_encoded<R, F>(&self, f: F) -> R
    where\n F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    ","Encode","tuxedo_template_runtime::Header"],["
    §

    impl<'de, Number, Hash> Deserialize<'de> for Header<Number, Hash>
    where\n Number: Copy + Into<U256> + TryFrom<U256>,\n Hash: Hash,\n <Hash as Hash>::Output: Deserialize<'de>,

    §

    fn deserialize<__D>(\n __deserializer: __D\n) -> Result<Header<Number, Hash>, <__D as Deserializer<'de>>::Error>
    where\n __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","tuxedo_template_runtime::Header"],["
    §

    impl<Number, Hash> Eq for Header<Number, Hash>
    where\n Number: Eq + Copy + Into<U256> + TryFrom<U256>,\n Hash: Eq + Hash,\n <Hash as Hash>::Output: Eq,

    ","Eq","tuxedo_template_runtime::Header"],["
    §

    impl<Number, Hash> Header for Header<Number, Hash>
    where\n Number: Member + MaybeSerializeDeserialize + MaybeFromStr + Debug + Default + Hash + MaybeDisplay + AtLeast32BitUnsigned + FullCodec + Copy + MaxEncodedLen + Into<U256> + TryFrom<U256> + TypeInfo,\n Hash: Hash,

    §

    type Number = Number

    Header number.
    §

    type Hash = <Hash as Hash>::Output

    Header hash type
    §

    type Hashing = Hash

    Hashing algorithm
    §

    fn new(\n number: <Header<Number, Hash> as Header>::Number,\n extrinsics_root: <Header<Number, Hash> as Header>::Hash,\n state_root: <Header<Number, Hash> as Header>::Hash,\n parent_hash: <Header<Number, Hash> as Header>::Hash,\n digest: Digest\n) -> Header<Number, Hash>

    Creates new header.
    §

    fn number(&self) -> &<Header<Number, Hash> as Header>::Number

    Returns a reference to the header number.
    §

    fn set_number(&mut self, num: <Header<Number, Hash> as Header>::Number)

    Sets the header number.
    §

    fn extrinsics_root(&self) -> &<Header<Number, Hash> as Header>::Hash

    Returns a reference to the extrinsics root.
    §

    fn set_extrinsics_root(&mut self, root: <Header<Number, Hash> as Header>::Hash)

    Sets the extrinsic root.
    §

    fn state_root(&self) -> &<Header<Number, Hash> as Header>::Hash

    Returns a reference to the state root.
    §

    fn set_state_root(&mut self, root: <Header<Number, Hash> as Header>::Hash)

    Sets the state root.
    §

    fn parent_hash(&self) -> &<Header<Number, Hash> as Header>::Hash

    Returns a reference to the parent hash.
    §

    fn set_parent_hash(&mut self, hash: <Header<Number, Hash> as Header>::Hash)

    Sets the parent hash.
    §

    fn digest(&self) -> &Digest

    Returns a reference to the digest.
    §

    fn digest_mut(&mut self) -> &mut Digest

    Get a mutable reference to the digest.
    §

    fn hash(&self) -> Self::Hash

    Returns the hash of the header.
    ","Header","tuxedo_template_runtime::Header"],["
    §

    impl<Number, Hash> EncodeLike for Header<Number, Hash>
    where\n Number: Copy + Into<U256> + TryFrom<U256> + HasCompact,\n Hash: Hash,\n <Hash as Hash>::Output: Encode,

    ","EncodeLike","tuxedo_template_runtime::Header"],["
    §

    impl<Number, Hash> StructuralPartialEq for Header<Number, Hash>
    where\n Number: Copy + Into<U256> + TryFrom<U256>,\n Hash: Hash,

    ","StructuralPartialEq","tuxedo_template_runtime::Header"],["
    §

    impl<Number, Hash> Debug for Header<Number, Hash>
    where\n Number: Copy + Into<U256> + TryFrom<U256> + Debug,\n Hash: Hash + Debug,

    §

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","tuxedo_template_runtime::Header"],["
    §

    impl<Number, Hash> Serialize for Header<Number, Hash>
    where\n Number: Copy + Into<U256> + TryFrom<U256>,\n Hash: Hash,\n <Hash as Hash>::Output: Serialize,

    §

    fn serialize<__S>(\n &self,\n __serializer: __S\n) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where\n __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","tuxedo_template_runtime::Header"],["
    §

    impl<Number, Hash> PartialEq for Header<Number, Hash>
    where\n Number: PartialEq + Copy + Into<U256> + TryFrom<U256>,\n Hash: PartialEq + Hash,\n <Hash as Hash>::Output: PartialEq,

    §

    fn eq(&self, other: &Header<Number, Hash>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","tuxedo_template_runtime::Header"],["
    §

    impl<Number, Hash> Clone for Header<Number, Hash>
    where\n Number: Clone + Copy + Into<U256> + TryFrom<U256>,\n Hash: Clone + Hash,\n <Hash as Hash>::Output: Clone,

    §

    fn clone(&self) -> Header<Number, Hash>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","tuxedo_template_runtime::Header"]] +"tuxedo_core":[["
    §

    impl<Number, Hash> Clone for Header<Number, Hash>
    where\n Number: Clone + Copy + Into<U256> + TryFrom<U256>,\n Hash: Clone + Hash,\n <Hash as Hash>::Output: Clone,

    §

    fn clone(&self) -> Header<Number, Hash>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","tuxedo_core::types::Header"],["
    §

    impl<Number, Hash> Debug for Header<Number, Hash>
    where\n Number: Copy + Into<U256> + TryFrom<U256> + Debug,\n Hash: Hash + Debug,

    §

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","tuxedo_core::types::Header"],["
    §

    impl<Number, Hash> Decode for Header<Number, Hash>
    where\n Number: Copy + Into<U256> + TryFrom<U256> + HasCompact,\n Hash: Hash,\n <Hash as Hash>::Output: Decode,

    §

    fn decode<__CodecInputEdqy>(\n __codec_input_edqy: &mut __CodecInputEdqy\n) -> Result<Header<Number, Hash>, Error>
    where\n __CodecInputEdqy: Input,

    Attempt to deserialise the value from input.
    §

    fn decode_into<I>(\n input: &mut I,\n dst: &mut MaybeUninit<Self>\n) -> Result<DecodeFinished, Error>
    where\n I: Input,

    Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
    §

    fn skip<I>(input: &mut I) -> Result<(), Error>
    where\n I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    ","Decode","tuxedo_core::types::Header"],["
    §

    impl<'de, Number, Hash> Deserialize<'de> for Header<Number, Hash>
    where\n Number: Copy + Into<U256> + TryFrom<U256>,\n Hash: Hash,\n <Hash as Hash>::Output: Deserialize<'de>,

    §

    fn deserialize<__D>(\n __deserializer: __D\n) -> Result<Header<Number, Hash>, <__D as Deserializer<'de>>::Error>
    where\n __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","tuxedo_core::types::Header"],["
    §

    impl<Number, Hash> Encode for Header<Number, Hash>
    where\n Number: Copy + Into<U256> + TryFrom<U256> + HasCompact,\n Hash: Hash,\n <Hash as Hash>::Output: Encode,

    §

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    §

    fn encode_to<__CodecOutputEdqy>(\n &self,\n __codec_dest_edqy: &mut __CodecOutputEdqy\n)
    where\n __CodecOutputEdqy: Output + ?Sized,

    Convert self to a slice and append it to the destination.
    §

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    §

    fn using_encoded<R, F>(&self, f: F) -> R
    where\n F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    ","Encode","tuxedo_core::types::Header"],["
    §

    impl<Number, Hash> Header<Number, Hash>
    where\n Number: Member + Hash + Copy + MaybeDisplay + AtLeast32BitUnsigned + Codec + Into<U256> + TryFrom<U256>,\n Hash: Hash,

    pub fn hash(&self) -> <Hash as Hash>::Output

    Convenience helper for computing the hash of the header without having\nto import the trait.

    \n
    ",0,"tuxedo_core::types::Header"],["
    §

    impl<Number, Hash> Header for Header<Number, Hash>
    where\n Number: Member + MaybeSerializeDeserialize + MaybeFromStr + Debug + Default + Hash + MaybeDisplay + AtLeast32BitUnsigned + FullCodec + Copy + MaxEncodedLen + Into<U256> + TryFrom<U256> + TypeInfo,\n Hash: Hash,

    §

    type Number = Number

    Header number.
    §

    type Hash = <Hash as Hash>::Output

    Header hash type
    §

    type Hashing = Hash

    Hashing algorithm
    §

    fn new(\n number: <Header<Number, Hash> as Header>::Number,\n extrinsics_root: <Header<Number, Hash> as Header>::Hash,\n state_root: <Header<Number, Hash> as Header>::Hash,\n parent_hash: <Header<Number, Hash> as Header>::Hash,\n digest: Digest\n) -> Header<Number, Hash>

    Creates new header.
    §

    fn number(&self) -> &<Header<Number, Hash> as Header>::Number

    Returns a reference to the header number.
    §

    fn set_number(&mut self, num: <Header<Number, Hash> as Header>::Number)

    Sets the header number.
    §

    fn extrinsics_root(&self) -> &<Header<Number, Hash> as Header>::Hash

    Returns a reference to the extrinsics root.
    §

    fn set_extrinsics_root(&mut self, root: <Header<Number, Hash> as Header>::Hash)

    Sets the extrinsic root.
    §

    fn state_root(&self) -> &<Header<Number, Hash> as Header>::Hash

    Returns a reference to the state root.
    §

    fn set_state_root(&mut self, root: <Header<Number, Hash> as Header>::Hash)

    Sets the state root.
    §

    fn parent_hash(&self) -> &<Header<Number, Hash> as Header>::Hash

    Returns a reference to the parent hash.
    §

    fn set_parent_hash(&mut self, hash: <Header<Number, Hash> as Header>::Hash)

    Sets the parent hash.
    §

    fn digest(&self) -> &Digest

    Returns a reference to the digest.
    §

    fn digest_mut(&mut self) -> &mut Digest

    Get a mutable reference to the digest.
    §

    fn hash(&self) -> Self::Hash

    Returns the hash of the header.
    ","Header","tuxedo_core::types::Header"],["
    §

    impl<Number, Hash> PartialEq for Header<Number, Hash>
    where\n Number: PartialEq + Copy + Into<U256> + TryFrom<U256>,\n Hash: PartialEq + Hash,\n <Hash as Hash>::Output: PartialEq,

    §

    fn eq(&self, other: &Header<Number, Hash>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","tuxedo_core::types::Header"],["
    §

    impl<Number, Hash> Serialize for Header<Number, Hash>
    where\n Number: Copy + Into<U256> + TryFrom<U256>,\n Hash: Hash,\n <Hash as Hash>::Output: Serialize,

    §

    fn serialize<__S>(\n &self,\n __serializer: __S\n) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where\n __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","tuxedo_core::types::Header"],["
    §

    impl<Number, Hash> TypeInfo for Header<Number, Hash>
    where\n Number: Copy + Into<U256> + TryFrom<U256> + HasCompact + TypeInfo + 'static,\n Hash: Hash + 'static,\n <Hash as Hash>::Output: TypeInfo + 'static,

    §

    type Identity = Header<Number, Hash>

    The type identifying for which type info is provided. Read more
    §

    fn type_info() -> Type

    Returns the static type identifier for Self.
    ","TypeInfo","tuxedo_core::types::Header"],["
    §

    impl<Number, Hash> EncodeLike for Header<Number, Hash>
    where\n Number: Copy + Into<U256> + TryFrom<U256> + HasCompact,\n Hash: Hash,\n <Hash as Hash>::Output: Encode,

    ","EncodeLike","tuxedo_core::types::Header"],["
    §

    impl<Number, Hash> Eq for Header<Number, Hash>
    where\n Number: Eq + Copy + Into<U256> + TryFrom<U256>,\n Hash: Eq + Hash,\n <Hash as Hash>::Output: Eq,

    ","Eq","tuxedo_core::types::Header"],["
    §

    impl<Number, Hash> StructuralPartialEq for Header<Number, Hash>
    where\n Number: Copy + Into<U256> + TryFrom<U256>,\n Hash: Hash,

    ","StructuralPartialEq","tuxedo_core::types::Header"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/type.impl/sp_runtime/traits/struct.BlakeTwo256.js b/type.impl/sp_runtime/traits/struct.BlakeTwo256.js index 90574d8c7..17bd00a65 100644 --- a/type.impl/sp_runtime/traits/struct.BlakeTwo256.js +++ b/type.impl/sp_runtime/traits/struct.BlakeTwo256.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"tuxedo_template_runtime":[["
    §

    impl TypeInfo for BlakeTwo256

    §

    type Identity = BlakeTwo256

    The type identifying for which type info is provided. Read more
    §

    fn type_info() -> Type

    Returns the static type identifier for Self.
    ","TypeInfo","tuxedo_template_runtime::opaque::Hash"],["
    §

    impl<'de> Deserialize<'de> for BlakeTwo256

    §

    fn deserialize<__D>(\n __deserializer: __D\n) -> Result<BlakeTwo256, <__D as Deserializer<'de>>::Error>
    where\n __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","tuxedo_template_runtime::opaque::Hash"],["
    §

    impl Hasher for BlakeTwo256

    §

    type Out = H256

    The output type of the Hasher
    §

    type StdHasher = Hash256StdHasher

    What to use to build HashMaps with this Hasher.
    §

    const LENGTH: usize = 32usize

    The length in bytes of the Hasher output.
    §

    fn hash(s: &[u8]) -> <BlakeTwo256 as Hasher>::Out

    Compute the hash of the provided slice of bytes returning the Out type of the Hasher.
    ","Hasher","tuxedo_template_runtime::opaque::Hash"],["
    §

    impl Eq for BlakeTwo256

    ","Eq","tuxedo_template_runtime::opaque::Hash"],["
    §

    impl StructuralPartialEq for BlakeTwo256

    ","StructuralPartialEq","tuxedo_template_runtime::opaque::Hash"],["
    §

    impl Debug for BlakeTwo256

    §

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","tuxedo_template_runtime::opaque::Hash"],["
    §

    impl Hash for BlakeTwo256

    §

    type Output = H256

    The hash type produced.
    §

    fn ordered_trie_root(\n input: Vec<Vec<u8>>,\n version: StateVersion\n) -> <BlakeTwo256 as Hash>::Output

    The ordered Patricia tree root of the given input.
    §

    fn trie_root(\n input: Vec<(Vec<u8>, Vec<u8>)>,\n version: StateVersion\n) -> <BlakeTwo256 as Hash>::Output

    The Patricia tree root of the given mapping.
    §

    fn hash(s: &[u8]) -> Self::Output

    Produce the hash of some byte-slice.
    §

    fn hash_of<S>(s: &S) -> Self::Output
    where\n S: Encode,

    Produce the hash of some codec-encodable value.
    ","Hash","tuxedo_template_runtime::opaque::Hash"],["
    §

    impl Serialize for BlakeTwo256

    §

    fn serialize<__S>(\n &self,\n __serializer: __S\n) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where\n __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","tuxedo_template_runtime::opaque::Hash"],["
    §

    impl PartialEq for BlakeTwo256

    §

    fn eq(&self, other: &BlakeTwo256) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","tuxedo_template_runtime::opaque::Hash"],["
    §

    impl Clone for BlakeTwo256

    §

    fn clone(&self) -> BlakeTwo256

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","tuxedo_template_runtime::opaque::Hash"]] +"tuxedo_core":[["
    §

    impl Clone for BlakeTwo256

    §

    fn clone(&self) -> BlakeTwo256

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","tuxedo_core::types::Hash"],["
    §

    impl Debug for BlakeTwo256

    §

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","tuxedo_core::types::Hash"],["
    §

    impl<'de> Deserialize<'de> for BlakeTwo256

    §

    fn deserialize<__D>(\n __deserializer: __D\n) -> Result<BlakeTwo256, <__D as Deserializer<'de>>::Error>
    where\n __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","tuxedo_core::types::Hash"],["
    §

    impl Hash for BlakeTwo256

    §

    type Output = H256

    The hash type produced.
    §

    fn ordered_trie_root(\n input: Vec<Vec<u8>>,\n version: StateVersion\n) -> <BlakeTwo256 as Hash>::Output

    The ordered Patricia tree root of the given input.
    §

    fn trie_root(\n input: Vec<(Vec<u8>, Vec<u8>)>,\n version: StateVersion\n) -> <BlakeTwo256 as Hash>::Output

    The Patricia tree root of the given mapping.
    §

    fn hash(s: &[u8]) -> Self::Output

    Produce the hash of some byte-slice.
    §

    fn hash_of<S>(s: &S) -> Self::Output
    where\n S: Encode,

    Produce the hash of some codec-encodable value.
    ","Hash","tuxedo_core::types::Hash"],["
    §

    impl Hasher for BlakeTwo256

    §

    type Out = H256

    The output type of the Hasher
    §

    type StdHasher = Hash256StdHasher

    What to use to build HashMaps with this Hasher.
    §

    const LENGTH: usize = 32usize

    The length in bytes of the Hasher output.
    §

    fn hash(s: &[u8]) -> <BlakeTwo256 as Hasher>::Out

    Compute the hash of the provided slice of bytes returning the Out type of the Hasher.
    ","Hasher","tuxedo_core::types::Hash"],["
    §

    impl PartialEq for BlakeTwo256

    §

    fn eq(&self, other: &BlakeTwo256) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","tuxedo_core::types::Hash"],["
    §

    impl Serialize for BlakeTwo256

    §

    fn serialize<__S>(\n &self,\n __serializer: __S\n) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where\n __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","tuxedo_core::types::Hash"],["
    §

    impl TypeInfo for BlakeTwo256

    §

    type Identity = BlakeTwo256

    The type identifying for which type info is provided. Read more
    §

    fn type_info() -> Type

    Returns the static type identifier for Self.
    ","TypeInfo","tuxedo_core::types::Hash"],["
    §

    impl Eq for BlakeTwo256

    ","Eq","tuxedo_core::types::Hash"],["
    §

    impl StructuralPartialEq for BlakeTwo256

    ","StructuralPartialEq","tuxedo_core::types::Hash"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/type.impl/std/primitive.tuple.js b/type.impl/std/primitive.tuple.js index 0b175244b..75d99ff87 100644 --- a/type.impl/std/primitive.tuple.js +++ b/type.impl/std/primitive.tuple.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"tuxedo_template_wallet":[["
    §

    impl<T, F, A1, R> IntoFunc<T, (Caller<'_, T>, A1), R> for F
    where\n F: Fn(Caller<'_, T>, A1) -> R + Send + Sync + 'static,\n A1: WasmTy,\n R: WasmRet,

    ","IntoFunc, A1), R>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, R> IntoFunc<T, (Caller<'_, T>, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15), R> for F
    where\n F: Fn(Caller<'_, T>, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n A7: WasmTy,\n A8: WasmTy,\n A9: WasmTy,\n A10: WasmTy,\n A11: WasmTy,\n A12: WasmTy,\n A13: WasmTy,\n A14: WasmTy,\n A15: WasmTy,\n R: WasmRet,

    ","IntoFunc, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15), R>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, R> IntoFunc<T, (A1, A2, A3, A4), R> for F
    where\n F: Fn(A1, A2, A3, A4) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n R: WasmRet,

    ","IntoFunc","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, A7, A8, R> IntoFunc<T, (A1, A2, A3, A4, A5, A6, A7, A8), R> for F
    where\n F: Fn(A1, A2, A3, A4, A5, A6, A7, A8) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n A7: WasmTy,\n A8: WasmTy,\n R: WasmRet,

    ","IntoFunc","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, A7, A8, A9, R> IntoFunc<T, (A1, A2, A3, A4, A5, A6, A7, A8, A9), R> for F
    where\n F: Fn(A1, A2, A3, A4, A5, A6, A7, A8, A9) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n A7: WasmTy,\n A8: WasmTy,\n A9: WasmTy,\n R: WasmRet,

    ","IntoFunc","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, R> IntoFunc<T, (Caller<'_, T>, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11), R> for F
    where\n F: Fn(Caller<'_, T>, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n A7: WasmTy,\n A8: WasmTy,\n A9: WasmTy,\n A10: WasmTy,\n A11: WasmTy,\n R: WasmRet,

    ","IntoFunc, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11), R>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, R> IntoFunc<T, (Caller<'_, T>, A1, A2, A3, A4, A5, A6), R> for F
    where\n F: Fn(Caller<'_, T>, A1, A2, A3, A4, A5, A6) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n R: WasmRet,

    ","IntoFunc, A1, A2, A3, A4, A5, A6), R>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, R> IntoFunc<T, (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16), R> for F
    where\n F: Fn(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n A7: WasmTy,\n A8: WasmTy,\n A9: WasmTy,\n A10: WasmTy,\n A11: WasmTy,\n A12: WasmTy,\n A13: WasmTy,\n A14: WasmTy,\n A15: WasmTy,\n A16: WasmTy,\n R: WasmRet,

    ","IntoFunc","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, R> IntoFunc<T, (Caller<'_, T>, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13), R> for F
    where\n F: Fn(Caller<'_, T>, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n A7: WasmTy,\n A8: WasmTy,\n A9: WasmTy,\n A10: WasmTy,\n A11: WasmTy,\n A12: WasmTy,\n A13: WasmTy,\n R: WasmRet,

    ","IntoFunc, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13), R>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, A7, A8, A9, R> IntoFunc<T, (Caller<'_, T>, A1, A2, A3, A4, A5, A6, A7, A8, A9), R> for F
    where\n F: Fn(Caller<'_, T>, A1, A2, A3, A4, A5, A6, A7, A8, A9) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n A7: WasmTy,\n A8: WasmTy,\n A9: WasmTy,\n R: WasmRet,

    ","IntoFunc, A1, A2, A3, A4, A5, A6, A7, A8, A9), R>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, R> IntoFunc<T, (Caller<'_, T>, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10), R> for F
    where\n F: Fn(Caller<'_, T>, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n A7: WasmTy,\n A8: WasmTy,\n A9: WasmTy,\n A10: WasmTy,\n R: WasmRet,

    ","IntoFunc, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10), R>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, A7, A8, R> IntoFunc<T, (Caller<'_, T>, A1, A2, A3, A4, A5, A6, A7, A8), R> for F
    where\n F: Fn(Caller<'_, T>, A1, A2, A3, A4, A5, A6, A7, A8) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n A7: WasmTy,\n A8: WasmTy,\n R: WasmRet,

    ","IntoFunc, A1, A2, A3, A4, A5, A6, A7, A8), R>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, R> IntoFunc<T, (Caller<'_, T>, A1, A2, A3), R> for F
    where\n F: Fn(Caller<'_, T>, A1, A2, A3) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n R: WasmRet,

    ","IntoFunc, A1, A2, A3), R>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, R> IntoFunc<T, (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14), R> for F
    where\n F: Fn(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n A7: WasmTy,\n A8: WasmTy,\n A9: WasmTy,\n A10: WasmTy,\n A11: WasmTy,\n A12: WasmTy,\n A13: WasmTy,\n A14: WasmTy,\n R: WasmRet,

    ","IntoFunc","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, R> IntoFunc<T, (Caller<'_, T>, A1, A2, A3, A4, A5), R> for F
    where\n F: Fn(Caller<'_, T>, A1, A2, A3, A4, A5) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n R: WasmRet,

    ","IntoFunc, A1, A2, A3, A4, A5), R>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, R> IntoFunc<T, (Caller<'_, T>,), R> for F
    where\n F: Fn(Caller<'_, T>) -> R + Send + Sync + 'static,\n R: WasmRet,

    ","IntoFunc,), R>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, R> IntoFunc<T, (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13), R> for F
    where\n F: Fn(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n A7: WasmTy,\n A8: WasmTy,\n A9: WasmTy,\n A10: WasmTy,\n A11: WasmTy,\n A12: WasmTy,\n A13: WasmTy,\n R: WasmRet,

    ","IntoFunc","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, A7, R> IntoFunc<T, (Caller<'_, T>, A1, A2, A3, A4, A5, A6, A7), R> for F
    where\n F: Fn(Caller<'_, T>, A1, A2, A3, A4, A5, A6, A7) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n A7: WasmTy,\n R: WasmRet,

    ","IntoFunc, A1, A2, A3, A4, A5, A6, A7), R>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, R> IntoFunc<T, (Caller<'_, T>, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14), R> for F
    where\n F: Fn(Caller<'_, T>, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n A7: WasmTy,\n A8: WasmTy,\n A9: WasmTy,\n A10: WasmTy,\n A11: WasmTy,\n A12: WasmTy,\n A13: WasmTy,\n A14: WasmTy,\n R: WasmRet,

    ","IntoFunc, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14), R>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, R> IntoFunc<T, (A1,), R> for F
    where\n F: Fn(A1) -> R + Send + Sync + 'static,\n A1: WasmTy,\n R: WasmRet,

    ","IntoFunc","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, R> IntoFunc<T, (Caller<'_, T>, A1, A2), R> for F
    where\n F: Fn(Caller<'_, T>, A1, A2) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n R: WasmRet,

    ","IntoFunc, A1, A2), R>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, R> IntoFunc<T, (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12), R> for F
    where\n F: Fn(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n A7: WasmTy,\n A8: WasmTy,\n A9: WasmTy,\n A10: WasmTy,\n A11: WasmTy,\n A12: WasmTy,\n R: WasmRet,

    ","IntoFunc","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, R> IntoFunc<T, (A1, A2, A3, A4, A5), R> for F
    where\n F: Fn(A1, A2, A3, A4, A5) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n R: WasmRet,

    ","IntoFunc","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, R> IntoFunc<T, (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15), R> for F
    where\n F: Fn(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n A7: WasmTy,\n A8: WasmTy,\n A9: WasmTy,\n A10: WasmTy,\n A11: WasmTy,\n A12: WasmTy,\n A13: WasmTy,\n A14: WasmTy,\n A15: WasmTy,\n R: WasmRet,

    ","IntoFunc","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, A7, R> IntoFunc<T, (A1, A2, A3, A4, A5, A6, A7), R> for F
    where\n F: Fn(A1, A2, A3, A4, A5, A6, A7) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n A7: WasmTy,\n R: WasmRet,

    ","IntoFunc","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, R> IntoFunc<T, (A1, A2), R> for F
    where\n F: Fn(A1, A2) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n R: WasmRet,

    ","IntoFunc","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, R> IntoFunc<T, (Caller<'_, T>, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16), R> for F
    where\n F: Fn(Caller<'_, T>, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n A7: WasmTy,\n A8: WasmTy,\n A9: WasmTy,\n A10: WasmTy,\n A11: WasmTy,\n A12: WasmTy,\n A13: WasmTy,\n A14: WasmTy,\n A15: WasmTy,\n A16: WasmTy,\n R: WasmRet,

    ","IntoFunc, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16), R>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, R> IntoFunc<T, (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11), R> for F
    where\n F: Fn(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n A7: WasmTy,\n A8: WasmTy,\n A9: WasmTy,\n A10: WasmTy,\n A11: WasmTy,\n R: WasmRet,

    ","IntoFunc","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, R> IntoFunc<T, (A1, A2, A3, A4, A5, A6), R> for F
    where\n F: Fn(A1, A2, A3, A4, A5, A6) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n R: WasmRet,

    ","IntoFunc","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, R> IntoFunc<T, (Caller<'_, T>, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12), R> for F
    where\n F: Fn(Caller<'_, T>, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n A7: WasmTy,\n A8: WasmTy,\n A9: WasmTy,\n A10: WasmTy,\n A11: WasmTy,\n A12: WasmTy,\n R: WasmRet,

    ","IntoFunc, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12), R>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, R> IntoFunc<T, (Caller<'_, T>, A1, A2, A3, A4), R> for F
    where\n F: Fn(Caller<'_, T>, A1, A2, A3, A4) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n R: WasmRet,

    ","IntoFunc, A1, A2, A3, A4), R>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, R> IntoFunc<T, (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10), R> for F
    where\n F: Fn(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n A7: WasmTy,\n A8: WasmTy,\n A9: WasmTy,\n A10: WasmTy,\n R: WasmRet,

    ","IntoFunc","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, R> IntoFunc<T, (A1, A2, A3), R> for F
    where\n F: Fn(A1, A2, A3) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n R: WasmRet,

    ","IntoFunc","tuxedo_template_wallet::output_filter::OutputInfo"],["
    source§

    impl<IT, A, FromA> MultiUnzip<(FromA,)> for IT
    where\n IT: Iterator<Item = (A,)>,\n FromA: Default + Extend<A>,

    source§

    fn multiunzip(self) -> (FromA,)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA,)>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    source§

    impl<IT, A, FromA, B, FromB, C, FromC, D, FromD, E, FromE, F, FromF, G, FromG, H, FromH, I, FromI, J, FromJ> MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI, FromJ)> for IT
    where\n IT: Iterator<Item = (A, B, C, D, E, F, G, H, I, J)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n FromC: Default + Extend<C>,\n FromD: Default + Extend<D>,\n FromE: Default + Extend<E>,\n FromF: Default + Extend<F>,\n FromG: Default + Extend<G>,\n FromH: Default + Extend<H>,\n FromI: Default + Extend<I>,\n FromJ: Default + Extend<J>,

    source§

    fn multiunzip(\n self\n) -> (FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI, FromJ)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI, FromJ)>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    source§

    impl<IT, A, FromA, B, FromB, C, FromC, D, FromD, E, FromE, F, FromF, G, FromG, H, FromH, I, FromI, J, FromJ, K, FromK> MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI, FromJ, FromK)> for IT
    where\n IT: Iterator<Item = (A, B, C, D, E, F, G, H, I, J, K)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n FromC: Default + Extend<C>,\n FromD: Default + Extend<D>,\n FromE: Default + Extend<E>,\n FromF: Default + Extend<F>,\n FromG: Default + Extend<G>,\n FromH: Default + Extend<H>,\n FromI: Default + Extend<I>,\n FromJ: Default + Extend<J>,\n FromK: Default + Extend<K>,

    source§

    fn multiunzip(\n self\n) -> (FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI, FromJ, FromK)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI, FromJ, FromK)>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    source§

    impl<IT, A, FromA, B, FromB, C, FromC, D, FromD, E, FromE, F, FromF> MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF)> for IT
    where\n IT: Iterator<Item = (A, B, C, D, E, F)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n FromC: Default + Extend<C>,\n FromD: Default + Extend<D>,\n FromE: Default + Extend<E>,\n FromF: Default + Extend<F>,

    source§

    fn multiunzip(self) -> (FromA, FromB, FromC, FromD, FromE, FromF)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF)>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    source§

    impl<IT, A, FromA, B, FromB, C, FromC, D, FromD, E, FromE, F, FromF, G, FromG, H, FromH, I, FromI> MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI)> for IT
    where\n IT: Iterator<Item = (A, B, C, D, E, F, G, H, I)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n FromC: Default + Extend<C>,\n FromD: Default + Extend<D>,\n FromE: Default + Extend<E>,\n FromF: Default + Extend<F>,\n FromG: Default + Extend<G>,\n FromH: Default + Extend<H>,\n FromI: Default + Extend<I>,

    source§

    fn multiunzip(\n self\n) -> (FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI)>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    source§

    impl<IT, A, FromA, B, FromB, C, FromC, D, FromD, E, FromE> MultiUnzip<(FromA, FromB, FromC, FromD, FromE)> for IT
    where\n IT: Iterator<Item = (A, B, C, D, E)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n FromC: Default + Extend<C>,\n FromD: Default + Extend<D>,\n FromE: Default + Extend<E>,

    source§

    fn multiunzip(self) -> (FromA, FromB, FromC, FromD, FromE)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA, FromB, FromC, FromD, FromE)>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    source§

    impl<IT, A, FromA, B, FromB> MultiUnzip<(FromA, FromB)> for IT
    where\n IT: Iterator<Item = (A, B)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,

    source§

    fn multiunzip(self) -> (FromA, FromB)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA, FromB)>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    source§

    impl<IT, A, FromA, B, FromB, C, FromC> MultiUnzip<(FromA, FromB, FromC)> for IT
    where\n IT: Iterator<Item = (A, B, C)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n FromC: Default + Extend<C>,

    source§

    fn multiunzip(self) -> (FromA, FromB, FromC)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA, FromB, FromC)>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    source§

    impl<IT, A, FromA, B, FromB, C, FromC, D, FromD> MultiUnzip<(FromA, FromB, FromC, FromD)> for IT
    where\n IT: Iterator<Item = (A, B, C, D)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n FromC: Default + Extend<C>,\n FromD: Default + Extend<D>,

    source§

    fn multiunzip(self) -> (FromA, FromB, FromC, FromD)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA, FromB, FromC, FromD)>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    source§

    impl<IT, A, FromA, B, FromB, C, FromC, D, FromD, E, FromE, F, FromF, G, FromG> MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG)> for IT
    where\n IT: Iterator<Item = (A, B, C, D, E, F, G)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n FromC: Default + Extend<C>,\n FromD: Default + Extend<D>,\n FromE: Default + Extend<E>,\n FromF: Default + Extend<F>,\n FromG: Default + Extend<G>,

    source§

    fn multiunzip(self) -> (FromA, FromB, FromC, FromD, FromE, FromF, FromG)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG)>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    source§

    impl<IT, A, FromA, B, FromB, C, FromC, D, FromD, E, FromE, F, FromF, G, FromG, H, FromH> MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH)> for IT
    where\n IT: Iterator<Item = (A, B, C, D, E, F, G, H)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n FromC: Default + Extend<C>,\n FromD: Default + Extend<D>,\n FromE: Default + Extend<E>,\n FromF: Default + Extend<F>,\n FromG: Default + Extend<G>,\n FromH: Default + Extend<H>,

    source§

    fn multiunzip(self) -> (FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH)>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    source§

    impl<IT, A, FromA, B, FromB, C, FromC, D, FromD, E, FromE, F, FromF, G, FromG, H, FromH, I, FromI, J, FromJ, K, FromK, L, FromL> MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI, FromJ, FromK, FromL)> for IT
    where\n IT: Iterator<Item = (A, B, C, D, E, F, G, H, I, J, K, L)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n FromC: Default + Extend<C>,\n FromD: Default + Extend<D>,\n FromE: Default + Extend<E>,\n FromF: Default + Extend<F>,\n FromG: Default + Extend<G>,\n FromH: Default + Extend<H>,\n FromI: Default + Extend<I>,\n FromJ: Default + Extend<J>,\n FromK: Default + Extend<K>,\n FromL: Default + Extend<L>,

    ","MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI, FromJ, FromK, FromL)>","tuxedo_template_wallet::output_filter::OutputInfo"]] +"tuxedo_template_wallet":[["
    source§

    impl<IT, A, FromA> MultiUnzip<(FromA,)> for IT
    where\n IT: Iterator<Item = (A,)>,\n FromA: Default + Extend<A>,

    source§

    fn multiunzip(self) -> (FromA,)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA,)>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    source§

    impl<IT, A, FromA, B, FromB> MultiUnzip<(FromA, FromB)> for IT
    where\n IT: Iterator<Item = (A, B)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,

    source§

    fn multiunzip(self) -> (FromA, FromB)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA, FromB)>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    source§

    impl<IT, A, FromA, B, FromB, C, FromC> MultiUnzip<(FromA, FromB, FromC)> for IT
    where\n IT: Iterator<Item = (A, B, C)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n FromC: Default + Extend<C>,

    source§

    fn multiunzip(self) -> (FromA, FromB, FromC)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA, FromB, FromC)>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    source§

    impl<IT, A, FromA, B, FromB, C, FromC, D, FromD> MultiUnzip<(FromA, FromB, FromC, FromD)> for IT
    where\n IT: Iterator<Item = (A, B, C, D)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n FromC: Default + Extend<C>,\n FromD: Default + Extend<D>,

    source§

    fn multiunzip(self) -> (FromA, FromB, FromC, FromD)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA, FromB, FromC, FromD)>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    source§

    impl<IT, A, FromA, B, FromB, C, FromC, D, FromD, E, FromE> MultiUnzip<(FromA, FromB, FromC, FromD, FromE)> for IT
    where\n IT: Iterator<Item = (A, B, C, D, E)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n FromC: Default + Extend<C>,\n FromD: Default + Extend<D>,\n FromE: Default + Extend<E>,

    source§

    fn multiunzip(self) -> (FromA, FromB, FromC, FromD, FromE)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA, FromB, FromC, FromD, FromE)>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    source§

    impl<IT, A, FromA, B, FromB, C, FromC, D, FromD, E, FromE, F, FromF> MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF)> for IT
    where\n IT: Iterator<Item = (A, B, C, D, E, F)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n FromC: Default + Extend<C>,\n FromD: Default + Extend<D>,\n FromE: Default + Extend<E>,\n FromF: Default + Extend<F>,

    source§

    fn multiunzip(self) -> (FromA, FromB, FromC, FromD, FromE, FromF)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF)>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    source§

    impl<IT, A, FromA, B, FromB, C, FromC, D, FromD, E, FromE, F, FromF, G, FromG> MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG)> for IT
    where\n IT: Iterator<Item = (A, B, C, D, E, F, G)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n FromC: Default + Extend<C>,\n FromD: Default + Extend<D>,\n FromE: Default + Extend<E>,\n FromF: Default + Extend<F>,\n FromG: Default + Extend<G>,

    source§

    fn multiunzip(self) -> (FromA, FromB, FromC, FromD, FromE, FromF, FromG)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG)>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    source§

    impl<IT, A, FromA, B, FromB, C, FromC, D, FromD, E, FromE, F, FromF, G, FromG, H, FromH> MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH)> for IT
    where\n IT: Iterator<Item = (A, B, C, D, E, F, G, H)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n FromC: Default + Extend<C>,\n FromD: Default + Extend<D>,\n FromE: Default + Extend<E>,\n FromF: Default + Extend<F>,\n FromG: Default + Extend<G>,\n FromH: Default + Extend<H>,

    source§

    fn multiunzip(self) -> (FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH)>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    source§

    impl<IT, A, FromA, B, FromB, C, FromC, D, FromD, E, FromE, F, FromF, G, FromG, H, FromH, I, FromI> MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI)> for IT
    where\n IT: Iterator<Item = (A, B, C, D, E, F, G, H, I)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n FromC: Default + Extend<C>,\n FromD: Default + Extend<D>,\n FromE: Default + Extend<E>,\n FromF: Default + Extend<F>,\n FromG: Default + Extend<G>,\n FromH: Default + Extend<H>,\n FromI: Default + Extend<I>,

    source§

    fn multiunzip(\n self\n) -> (FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI)>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    source§

    impl<IT, A, FromA, B, FromB, C, FromC, D, FromD, E, FromE, F, FromF, G, FromG, H, FromH, I, FromI, J, FromJ> MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI, FromJ)> for IT
    where\n IT: Iterator<Item = (A, B, C, D, E, F, G, H, I, J)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n FromC: Default + Extend<C>,\n FromD: Default + Extend<D>,\n FromE: Default + Extend<E>,\n FromF: Default + Extend<F>,\n FromG: Default + Extend<G>,\n FromH: Default + Extend<H>,\n FromI: Default + Extend<I>,\n FromJ: Default + Extend<J>,

    source§

    fn multiunzip(\n self\n) -> (FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI, FromJ)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI, FromJ)>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    source§

    impl<IT, A, FromA, B, FromB, C, FromC, D, FromD, E, FromE, F, FromF, G, FromG, H, FromH, I, FromI, J, FromJ, K, FromK> MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI, FromJ, FromK)> for IT
    where\n IT: Iterator<Item = (A, B, C, D, E, F, G, H, I, J, K)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n FromC: Default + Extend<C>,\n FromD: Default + Extend<D>,\n FromE: Default + Extend<E>,\n FromF: Default + Extend<F>,\n FromG: Default + Extend<G>,\n FromH: Default + Extend<H>,\n FromI: Default + Extend<I>,\n FromJ: Default + Extend<J>,\n FromK: Default + Extend<K>,

    source§

    fn multiunzip(\n self\n) -> (FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI, FromJ, FromK)

    Unzip this iterator into multiple collections.
    ","MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI, FromJ, FromK)>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    source§

    impl<IT, A, FromA, B, FromB, C, FromC, D, FromD, E, FromE, F, FromF, G, FromG, H, FromH, I, FromI, J, FromJ, K, FromK, L, FromL> MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI, FromJ, FromK, FromL)> for IT
    where\n IT: Iterator<Item = (A, B, C, D, E, F, G, H, I, J, K, L)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n FromC: Default + Extend<C>,\n FromD: Default + Extend<D>,\n FromE: Default + Extend<E>,\n FromF: Default + Extend<F>,\n FromG: Default + Extend<G>,\n FromH: Default + Extend<H>,\n FromI: Default + Extend<I>,\n FromJ: Default + Extend<J>,\n FromK: Default + Extend<K>,\n FromL: Default + Extend<L>,

    ","MultiUnzip<(FromA, FromB, FromC, FromD, FromE, FromF, FromG, FromH, FromI, FromJ, FromK, FromL)>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, R> IntoFunc<T, (A1,), R> for F
    where\n F: Fn(A1) -> R + Send + Sync + 'static,\n A1: WasmTy,\n R: WasmRet,

    ","IntoFunc","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, R> IntoFunc<T, (A1, A2), R> for F
    where\n F: Fn(A1, A2) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n R: WasmRet,

    ","IntoFunc","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, R> IntoFunc<T, (A1, A2, A3), R> for F
    where\n F: Fn(A1, A2, A3) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n R: WasmRet,

    ","IntoFunc","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, R> IntoFunc<T, (A1, A2, A3, A4), R> for F
    where\n F: Fn(A1, A2, A3, A4) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n R: WasmRet,

    ","IntoFunc","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, R> IntoFunc<T, (A1, A2, A3, A4, A5), R> for F
    where\n F: Fn(A1, A2, A3, A4, A5) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n R: WasmRet,

    ","IntoFunc","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, R> IntoFunc<T, (A1, A2, A3, A4, A5, A6), R> for F
    where\n F: Fn(A1, A2, A3, A4, A5, A6) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n R: WasmRet,

    ","IntoFunc","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, A7, R> IntoFunc<T, (A1, A2, A3, A4, A5, A6, A7), R> for F
    where\n F: Fn(A1, A2, A3, A4, A5, A6, A7) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n A7: WasmTy,\n R: WasmRet,

    ","IntoFunc","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, A7, A8, R> IntoFunc<T, (A1, A2, A3, A4, A5, A6, A7, A8), R> for F
    where\n F: Fn(A1, A2, A3, A4, A5, A6, A7, A8) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n A7: WasmTy,\n A8: WasmTy,\n R: WasmRet,

    ","IntoFunc","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, A7, A8, A9, R> IntoFunc<T, (A1, A2, A3, A4, A5, A6, A7, A8, A9), R> for F
    where\n F: Fn(A1, A2, A3, A4, A5, A6, A7, A8, A9) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n A7: WasmTy,\n A8: WasmTy,\n A9: WasmTy,\n R: WasmRet,

    ","IntoFunc","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, R> IntoFunc<T, (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10), R> for F
    where\n F: Fn(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n A7: WasmTy,\n A8: WasmTy,\n A9: WasmTy,\n A10: WasmTy,\n R: WasmRet,

    ","IntoFunc","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, R> IntoFunc<T, (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11), R> for F
    where\n F: Fn(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n A7: WasmTy,\n A8: WasmTy,\n A9: WasmTy,\n A10: WasmTy,\n A11: WasmTy,\n R: WasmRet,

    ","IntoFunc","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, R> IntoFunc<T, (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12), R> for F
    where\n F: Fn(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n A7: WasmTy,\n A8: WasmTy,\n A9: WasmTy,\n A10: WasmTy,\n A11: WasmTy,\n A12: WasmTy,\n R: WasmRet,

    ","IntoFunc","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, R> IntoFunc<T, (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13), R> for F
    where\n F: Fn(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n A7: WasmTy,\n A8: WasmTy,\n A9: WasmTy,\n A10: WasmTy,\n A11: WasmTy,\n A12: WasmTy,\n A13: WasmTy,\n R: WasmRet,

    ","IntoFunc","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, R> IntoFunc<T, (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14), R> for F
    where\n F: Fn(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n A7: WasmTy,\n A8: WasmTy,\n A9: WasmTy,\n A10: WasmTy,\n A11: WasmTy,\n A12: WasmTy,\n A13: WasmTy,\n A14: WasmTy,\n R: WasmRet,

    ","IntoFunc","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, R> IntoFunc<T, (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15), R> for F
    where\n F: Fn(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n A7: WasmTy,\n A8: WasmTy,\n A9: WasmTy,\n A10: WasmTy,\n A11: WasmTy,\n A12: WasmTy,\n A13: WasmTy,\n A14: WasmTy,\n A15: WasmTy,\n R: WasmRet,

    ","IntoFunc","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, R> IntoFunc<T, (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16), R> for F
    where\n F: Fn(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n A7: WasmTy,\n A8: WasmTy,\n A9: WasmTy,\n A10: WasmTy,\n A11: WasmTy,\n A12: WasmTy,\n A13: WasmTy,\n A14: WasmTy,\n A15: WasmTy,\n A16: WasmTy,\n R: WasmRet,

    ","IntoFunc","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, R> IntoFunc<T, (Caller<'_, T>,), R> for F
    where\n F: Fn(Caller<'_, T>) -> R + Send + Sync + 'static,\n R: WasmRet,

    ","IntoFunc,), R>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, R> IntoFunc<T, (Caller<'_, T>, A1), R> for F
    where\n F: Fn(Caller<'_, T>, A1) -> R + Send + Sync + 'static,\n A1: WasmTy,\n R: WasmRet,

    ","IntoFunc, A1), R>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, R> IntoFunc<T, (Caller<'_, T>, A1, A2), R> for F
    where\n F: Fn(Caller<'_, T>, A1, A2) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n R: WasmRet,

    ","IntoFunc, A1, A2), R>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, R> IntoFunc<T, (Caller<'_, T>, A1, A2, A3), R> for F
    where\n F: Fn(Caller<'_, T>, A1, A2, A3) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n R: WasmRet,

    ","IntoFunc, A1, A2, A3), R>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, R> IntoFunc<T, (Caller<'_, T>, A1, A2, A3, A4), R> for F
    where\n F: Fn(Caller<'_, T>, A1, A2, A3, A4) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n R: WasmRet,

    ","IntoFunc, A1, A2, A3, A4), R>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, R> IntoFunc<T, (Caller<'_, T>, A1, A2, A3, A4, A5), R> for F
    where\n F: Fn(Caller<'_, T>, A1, A2, A3, A4, A5) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n R: WasmRet,

    ","IntoFunc, A1, A2, A3, A4, A5), R>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, R> IntoFunc<T, (Caller<'_, T>, A1, A2, A3, A4, A5, A6), R> for F
    where\n F: Fn(Caller<'_, T>, A1, A2, A3, A4, A5, A6) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n R: WasmRet,

    ","IntoFunc, A1, A2, A3, A4, A5, A6), R>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, A7, R> IntoFunc<T, (Caller<'_, T>, A1, A2, A3, A4, A5, A6, A7), R> for F
    where\n F: Fn(Caller<'_, T>, A1, A2, A3, A4, A5, A6, A7) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n A7: WasmTy,\n R: WasmRet,

    ","IntoFunc, A1, A2, A3, A4, A5, A6, A7), R>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, A7, A8, R> IntoFunc<T, (Caller<'_, T>, A1, A2, A3, A4, A5, A6, A7, A8), R> for F
    where\n F: Fn(Caller<'_, T>, A1, A2, A3, A4, A5, A6, A7, A8) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n A7: WasmTy,\n A8: WasmTy,\n R: WasmRet,

    ","IntoFunc, A1, A2, A3, A4, A5, A6, A7, A8), R>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, A7, A8, A9, R> IntoFunc<T, (Caller<'_, T>, A1, A2, A3, A4, A5, A6, A7, A8, A9), R> for F
    where\n F: Fn(Caller<'_, T>, A1, A2, A3, A4, A5, A6, A7, A8, A9) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n A7: WasmTy,\n A8: WasmTy,\n A9: WasmTy,\n R: WasmRet,

    ","IntoFunc, A1, A2, A3, A4, A5, A6, A7, A8, A9), R>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, R> IntoFunc<T, (Caller<'_, T>, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10), R> for F
    where\n F: Fn(Caller<'_, T>, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n A7: WasmTy,\n A8: WasmTy,\n A9: WasmTy,\n A10: WasmTy,\n R: WasmRet,

    ","IntoFunc, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10), R>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, R> IntoFunc<T, (Caller<'_, T>, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11), R> for F
    where\n F: Fn(Caller<'_, T>, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n A7: WasmTy,\n A8: WasmTy,\n A9: WasmTy,\n A10: WasmTy,\n A11: WasmTy,\n R: WasmRet,

    ","IntoFunc, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11), R>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, R> IntoFunc<T, (Caller<'_, T>, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12), R> for F
    where\n F: Fn(Caller<'_, T>, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n A7: WasmTy,\n A8: WasmTy,\n A9: WasmTy,\n A10: WasmTy,\n A11: WasmTy,\n A12: WasmTy,\n R: WasmRet,

    ","IntoFunc, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12), R>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, R> IntoFunc<T, (Caller<'_, T>, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13), R> for F
    where\n F: Fn(Caller<'_, T>, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n A7: WasmTy,\n A8: WasmTy,\n A9: WasmTy,\n A10: WasmTy,\n A11: WasmTy,\n A12: WasmTy,\n A13: WasmTy,\n R: WasmRet,

    ","IntoFunc, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13), R>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, R> IntoFunc<T, (Caller<'_, T>, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14), R> for F
    where\n F: Fn(Caller<'_, T>, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n A7: WasmTy,\n A8: WasmTy,\n A9: WasmTy,\n A10: WasmTy,\n A11: WasmTy,\n A12: WasmTy,\n A13: WasmTy,\n A14: WasmTy,\n R: WasmRet,

    ","IntoFunc, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14), R>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, R> IntoFunc<T, (Caller<'_, T>, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15), R> for F
    where\n F: Fn(Caller<'_, T>, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n A7: WasmTy,\n A8: WasmTy,\n A9: WasmTy,\n A10: WasmTy,\n A11: WasmTy,\n A12: WasmTy,\n A13: WasmTy,\n A14: WasmTy,\n A15: WasmTy,\n R: WasmRet,

    ","IntoFunc, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15), R>","tuxedo_template_wallet::output_filter::OutputInfo"],["
    §

    impl<T, F, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, R> IntoFunc<T, (Caller<'_, T>, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16), R> for F
    where\n F: Fn(Caller<'_, T>, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16) -> R + Send + Sync + 'static,\n A1: WasmTy,\n A2: WasmTy,\n A3: WasmTy,\n A4: WasmTy,\n A5: WasmTy,\n A6: WasmTy,\n A7: WasmTy,\n A8: WasmTy,\n A9: WasmTy,\n A10: WasmTy,\n A11: WasmTy,\n A12: WasmTy,\n A13: WasmTy,\n A14: WasmTy,\n A15: WasmTy,\n A16: WasmTy,\n R: WasmRet,

    ","IntoFunc, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16), R>","tuxedo_template_wallet::output_filter::OutputInfo"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/type.impl/std/primitive.u32.js b/type.impl/std/primitive.u32.js index b70b49744..ba45bfb7d 100644 --- a/type.impl/std/primitive.u32.js +++ b/type.impl/std/primitive.u32.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"tuxedo_template_runtime":[] +"tuxedo_core":[] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/type.impl/tuxedo_core/executive/struct.Executive.js b/type.impl/tuxedo_core/executive/struct.Executive.js index 09eb66358..1258a3722 100644 --- a/type.impl/tuxedo_core/executive/struct.Executive.js +++ b/type.impl/tuxedo_core/executive/struct.Executive.js @@ -1,3 +1,4 @@ (function() {var type_impls = { -"tuxedo_template_runtime":[["
    source§

    impl<B, V, C> Executive<B, V, C>
    where\n B: Block<Extrinsic = Transaction<V, C>>,\n V: Verifier,\n C: ConstraintChecker<V>,

    source

    pub fn validate_tuxedo_transaction(\n transaction: &Transaction<V, C>\n) -> Result<ValidTransaction, UtxoError<<C as ConstraintChecker<V>>::Error>>

    Does pool-style validation of a tuxedo transaction.\nDoes not commit anything to storage.\nThis returns Ok even if some inputs are still missing because the tagged transaction pool can handle that.\nWe later check that there are no missing inputs in apply_tuxedo_transaction

    \n
    source

    pub fn apply_tuxedo_transaction(\n transaction: Transaction<V, C>\n) -> Result<(), UtxoError<<C as ConstraintChecker<V>>::Error>>

    Does full verification and application of tuxedo transactions.\nMost of the validation happens in the call to validate_tuxedo_transaction.\nOnce those checks are done we make sure there are no missing inputs and then update storage.

    \n
    source

    pub fn block_height() -> <<B as Block>::Header as Header>::Number
    where\n <B as Block>::Header: Header,

    A helper function that allows tuxedo runtimes to read the current block height

    \n
    source

    pub fn open_block(header: &<B as Block>::Header)

    source

    pub fn apply_extrinsic(\n extrinsic: <B as Block>::Extrinsic\n) -> Result<Result<(), DispatchError>, TransactionValidityError>

    source

    pub fn close_block() -> <B as Block>::Header

    source

    pub fn execute_block(block: B)

    source

    pub fn validate_transaction(\n source: TransactionSource,\n tx: <B as Block>::Extrinsic,\n block_hash: <B as Block>::Hash\n) -> Result<ValidTransaction, TransactionValidityError>

    source

    pub fn inherent_extrinsics(data: InherentData) -> Vec<<B as Block>::Extrinsic>

    source

    pub fn check_inherents(block: B, data: InherentData) -> CheckInherentsResult

    ",0,"tuxedo_template_runtime::Executive"],["
    source§

    impl<B, V, C> ParachainExecutiveExtension<<B as Block>::Header> for Executive<B, V, C>
    where\n B: Block,

    source§

    fn collect_collation_info(header: &<B as Block>::Header) -> CollationInfo

    ","ParachainExecutiveExtension<::Header>","tuxedo_template_runtime::Executive"]] +"tuxedo_parachain_runtime":[["
    source§

    impl<V, C> Executive<V, C>
    where\n V: Verifier,\n C: ConstraintChecker,\n Block<Header<u32, BlakeTwo256>, Transaction<V, C>>: Block<Extrinsic = Transaction<V, C>, Hash = H256>,\n Transaction<V, C>: Extrinsic,

    source

    pub fn validate_tuxedo_transaction(\n transaction: &Transaction<V, C>\n) -> Result<ValidTransaction, UtxoError<<C as ConstraintChecker>::Error>>

    Does pool-style validation of a tuxedo transaction.\nDoes not commit anything to storage.\nThis returns Ok even if some inputs are still missing because the tagged transaction pool can handle that.\nWe later check that there are no missing inputs in apply_tuxedo_transaction

    \n
    source

    pub fn apply_tuxedo_transaction(\n transaction: Transaction<V, C>\n) -> Result<(), UtxoError<<C as ConstraintChecker>::Error>>

    Does full verification and application of tuxedo transactions.\nMost of the validation happens in the call to validate_tuxedo_transaction.\nOnce those checks are done we make sure there are no missing inputs and then update storage.

    \n
    source

    pub fn block_height() -> u32

    A helper function that allows tuxedo runtimes to read the current block height

    \n
    source

    pub fn open_block(header: &Header<u32, BlakeTwo256>)

    source

    pub fn apply_extrinsic(\n extrinsic: Transaction<V, C>\n) -> Result<Result<(), DispatchError>, TransactionValidityError>

    source

    pub fn close_block() -> Header<u32, BlakeTwo256>

    source

    pub fn execute_block(block: Block<Header<u32, BlakeTwo256>, Transaction<V, C>>)

    source

    pub fn validate_transaction(\n source: TransactionSource,\n tx: Transaction<V, C>,\n block_hash: <Block<Header<u32, BlakeTwo256>, Transaction<V, C>> as Block>::Hash\n) -> Result<ValidTransaction, TransactionValidityError>

    source

    pub fn inherent_extrinsics(data: InherentData) -> Vec<Transaction<V, C>>

    source

    pub fn check_inherents(\n block: Block<Header<u32, BlakeTwo256>, Transaction<V, C>>,\n data: InherentData\n) -> CheckInherentsResult

    ",0,"tuxedo_parachain_runtime::Executive"],["
    source§

    impl<V, C> ParachainExecutiveExtension for Executive<V, C>

    source§

    fn collect_collation_info(header: &Header<u32, BlakeTwo256>) -> CollationInfo

    ","ParachainExecutiveExtension","tuxedo_parachain_runtime::Executive"]], +"tuxedo_template_runtime":[["
    source§

    impl<V, C> Executive<V, C>
    where\n V: Verifier,\n C: ConstraintChecker,\n Block<Header<u32, BlakeTwo256>, Transaction<V, C>>: Block<Extrinsic = Transaction<V, C>, Hash = H256>,\n Transaction<V, C>: Extrinsic,

    source

    pub fn validate_tuxedo_transaction(\n transaction: &Transaction<V, C>\n) -> Result<ValidTransaction, UtxoError<<C as ConstraintChecker>::Error>>

    Does pool-style validation of a tuxedo transaction.\nDoes not commit anything to storage.\nThis returns Ok even if some inputs are still missing because the tagged transaction pool can handle that.\nWe later check that there are no missing inputs in apply_tuxedo_transaction

    \n
    source

    pub fn apply_tuxedo_transaction(\n transaction: Transaction<V, C>\n) -> Result<(), UtxoError<<C as ConstraintChecker>::Error>>

    Does full verification and application of tuxedo transactions.\nMost of the validation happens in the call to validate_tuxedo_transaction.\nOnce those checks are done we make sure there are no missing inputs and then update storage.

    \n
    source

    pub fn block_height() -> u32

    A helper function that allows tuxedo runtimes to read the current block height

    \n
    source

    pub fn open_block(header: &Header<u32, BlakeTwo256>)

    source

    pub fn apply_extrinsic(\n extrinsic: Transaction<V, C>\n) -> Result<Result<(), DispatchError>, TransactionValidityError>

    source

    pub fn close_block() -> Header<u32, BlakeTwo256>

    source

    pub fn execute_block(block: Block<Header<u32, BlakeTwo256>, Transaction<V, C>>)

    source

    pub fn validate_transaction(\n source: TransactionSource,\n tx: Transaction<V, C>,\n block_hash: <Block<Header<u32, BlakeTwo256>, Transaction<V, C>> as Block>::Hash\n) -> Result<ValidTransaction, TransactionValidityError>

    source

    pub fn inherent_extrinsics(data: InherentData) -> Vec<Transaction<V, C>>

    source

    pub fn check_inherents(\n block: Block<Header<u32, BlakeTwo256>, Transaction<V, C>>,\n data: InherentData\n) -> CheckInherentsResult

    ",0,"tuxedo_template_runtime::Executive"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/type.impl/tuxedo_core/genesis/struct.TuxedoGenesisConfig.js b/type.impl/tuxedo_core/genesis/struct.TuxedoGenesisConfig.js deleted file mode 100644 index 0892c17a0..000000000 --- a/type.impl/tuxedo_core/genesis/struct.TuxedoGenesisConfig.js +++ /dev/null @@ -1,3 +0,0 @@ -(function() {var type_impls = { -"tuxedo_template_runtime":[["
    source§

    impl<V, C> TuxedoGenesisConfig<V, C>

    source

    pub fn new(\n wasm_binary: Vec<u8>,\n genesis_transactions: Vec<Transaction<V, C>>\n) -> TuxedoGenesisConfig<V, C>

    Create a new TuxedoGenesisConfig from a WASM binary and a list of transactions.\nMake sure to pass the transactions in order: the inherents should be first, then the extrinsics.

    \n
    source

    pub fn get_transaction(&self, i: usize) -> Option<&Transaction<V, C>>

    ",0,"tuxedo_template_runtime::genesis::RuntimeGenesisConfig"],["
    source§

    impl<'de, V, C> Deserialize<'de> for TuxedoGenesisConfig<V, C>
    where\n V: Deserialize<'de>,\n C: Deserialize<'de>,

    source§

    fn deserialize<__D>(\n __deserializer: __D\n) -> Result<TuxedoGenesisConfig<V, C>, <__D as Deserializer<'de>>::Error>
    where\n __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","tuxedo_template_runtime::genesis::RuntimeGenesisConfig"],["
    source§

    impl<V, C> Serialize for TuxedoGenesisConfig<V, C>
    where\n V: Serialize,\n C: Serialize,

    source§

    fn serialize<__S>(\n &self,\n __serializer: __S\n) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where\n __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","tuxedo_template_runtime::genesis::RuntimeGenesisConfig"],["
    source§

    impl<V, C> BuildStorage for TuxedoGenesisConfig<V, C>
    where\n V: Verifier,\n C: ConstraintChecker<V>,\n Transaction<V, C>: Encode,\n Output<V>: Encode,

    source§

    fn assimilate_storage(&self, storage: &mut Storage) -> Result<(), String>

    Assimilate the storage into the genesis block.\nThis is done by inserting the genesis extrinsics into the genesis block, along with their outputs.

    \n
    §

    fn build_storage(&self) -> Result<Storage, String>

    Build the storage out of this builder.
    ","BuildStorage","tuxedo_template_runtime::genesis::RuntimeGenesisConfig"]] -};if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/type.impl/tuxedo_core/types/struct.Output.js b/type.impl/tuxedo_core/types/struct.Output.js index 8784b168e..29f031fb0 100644 --- a/type.impl/tuxedo_core/types/struct.Output.js +++ b/type.impl/tuxedo_core/types/struct.Output.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"tuxedo_template_runtime":[["
    source§

    impl<V, V1, P> From<(P, V1)> for Output<V>
    where\n V1: Into<V>,\n P: Into<DynamicallyTypedData>,

    source§

    fn from(values: (P, V1)) -> Output<V>

    Converts to this type from the input type.
    ","From<(P, V1)>","tuxedo_template_runtime::Output"],["
    source§

    impl<V> From<DynamicallyTypedData> for Output<V>
    where\n V: Default,

    source§

    fn from(payload: DynamicallyTypedData) -> Output<V>

    Converts to this type from the input type.
    ","From","tuxedo_template_runtime::Output"],["
    source§

    impl<V> EncodeLike for Output<V>
    where\n V: Encode,

    ","EncodeLike","tuxedo_template_runtime::Output"],["
    source§

    impl<V> Decode for Output<V>
    where\n V: Decode,

    source§

    fn decode<__CodecInputEdqy>(\n __codec_input_edqy: &mut __CodecInputEdqy\n) -> Result<Output<V>, Error>
    where\n __CodecInputEdqy: Input,

    Attempt to deserialise the value from input.
    §

    fn decode_into<I>(\n input: &mut I,\n dst: &mut MaybeUninit<Self>\n) -> Result<DecodeFinished, Error>
    where\n I: Input,

    Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
    §

    fn skip<I>(input: &mut I) -> Result<(), Error>
    where\n I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    ","Decode","tuxedo_template_runtime::Output"],["
    source§

    impl<V> Encode for Output<V>
    where\n V: Encode,

    source§

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    source§

    fn encode_to<__CodecOutputEdqy>(\n &self,\n __codec_dest_edqy: &mut __CodecOutputEdqy\n)
    where\n __CodecOutputEdqy: Output + ?Sized,

    Convert self to a slice and append it to the destination.
    §

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    §

    fn using_encoded<R, F>(&self, f: F) -> R
    where\n F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    ","Encode","tuxedo_template_runtime::Output"],["
    source§

    impl<'de, V> Deserialize<'de> for Output<V>
    where\n V: Deserialize<'de>,

    source§

    fn deserialize<__D>(\n __deserializer: __D\n) -> Result<Output<V>, <__D as Deserializer<'de>>::Error>
    where\n __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","tuxedo_template_runtime::Output"],["
    source§

    impl<V> StructuralPartialEq for Output<V>

    ","StructuralPartialEq","tuxedo_template_runtime::Output"],["
    source§

    impl<V> Serialize for Output<V>
    where\n V: Serialize,

    source§

    fn serialize<__S>(\n &self,\n __serializer: __S\n) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where\n __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","tuxedo_template_runtime::Output"],["
    source§

    impl<V> Debug for Output<V>
    where\n V: Debug,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","tuxedo_template_runtime::Output"],["
    source§

    impl<V> Eq for Output<V>
    where\n V: Eq,

    ","Eq","tuxedo_template_runtime::Output"],["
    source§

    impl<V> PartialEq for Output<V>
    where\n V: PartialEq,

    source§

    fn eq(&self, other: &Output<V>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","tuxedo_template_runtime::Output"],["
    source§

    impl<V> TypeInfo for Output<V>
    where\n V: TypeInfo + 'static,

    §

    type Identity = Output<V>

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    ","TypeInfo","tuxedo_template_runtime::Output"],["
    source§

    impl<V> Clone for Output<V>
    where\n V: Clone,

    source§

    fn clone(&self) -> Output<V>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","tuxedo_template_runtime::Output"]] +"tuxedo_template_runtime":[["
    source§

    impl<V> Clone for Output<V>
    where\n V: Clone,

    source§

    fn clone(&self) -> Output<V>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","tuxedo_template_runtime::Output"],["
    source§

    impl<V> Debug for Output<V>
    where\n V: Debug,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","tuxedo_template_runtime::Output"],["
    source§

    impl<V> Decode for Output<V>
    where\n V: Decode,

    source§

    fn decode<__CodecInputEdqy>(\n __codec_input_edqy: &mut __CodecInputEdqy\n) -> Result<Output<V>, Error>
    where\n __CodecInputEdqy: Input,

    Attempt to deserialise the value from input.
    §

    fn decode_into<I>(\n input: &mut I,\n dst: &mut MaybeUninit<Self>\n) -> Result<DecodeFinished, Error>
    where\n I: Input,

    Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
    §

    fn skip<I>(input: &mut I) -> Result<(), Error>
    where\n I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    ","Decode","tuxedo_template_runtime::Output"],["
    source§

    impl<'de, V> Deserialize<'de> for Output<V>
    where\n V: Deserialize<'de>,

    source§

    fn deserialize<__D>(\n __deserializer: __D\n) -> Result<Output<V>, <__D as Deserializer<'de>>::Error>
    where\n __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","tuxedo_template_runtime::Output"],["
    source§

    impl<V> Encode for Output<V>
    where\n V: Encode,

    source§

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    source§

    fn encode_to<__CodecOutputEdqy>(\n &self,\n __codec_dest_edqy: &mut __CodecOutputEdqy\n)
    where\n __CodecOutputEdqy: Output + ?Sized,

    Convert self to a slice and append it to the destination.
    §

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    §

    fn using_encoded<R, F>(&self, f: F) -> R
    where\n F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    ","Encode","tuxedo_template_runtime::Output"],["
    source§

    impl<V, V1, P> From<(P, V1)> for Output<V>
    where\n V1: Into<V>,\n P: Into<DynamicallyTypedData>,

    source§

    fn from(values: (P, V1)) -> Output<V>

    Converts to this type from the input type.
    ","From<(P, V1)>","tuxedo_template_runtime::Output"],["
    source§

    impl<V> From<DynamicallyTypedData> for Output<V>
    where\n V: Default,

    source§

    fn from(payload: DynamicallyTypedData) -> Output<V>

    Converts to this type from the input type.
    ","From","tuxedo_template_runtime::Output"],["
    source§

    impl<V> PartialEq for Output<V>
    where\n V: PartialEq,

    source§

    fn eq(&self, other: &Output<V>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","tuxedo_template_runtime::Output"],["
    source§

    impl<V> Serialize for Output<V>
    where\n V: Serialize,

    source§

    fn serialize<__S>(\n &self,\n __serializer: __S\n) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where\n __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","tuxedo_template_runtime::Output"],["
    source§

    impl<V> TypeInfo for Output<V>
    where\n V: TypeInfo + 'static,

    §

    type Identity = Output<V>

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    ","TypeInfo","tuxedo_template_runtime::Output"],["
    source§

    impl<V> EncodeLike for Output<V>
    where\n V: Encode,

    ","EncodeLike","tuxedo_template_runtime::Output"],["
    source§

    impl<V> Eq for Output<V>
    where\n V: Eq,

    ","Eq","tuxedo_template_runtime::Output"],["
    source§

    impl<V> StructuralPartialEq for Output<V>

    ","StructuralPartialEq","tuxedo_template_runtime::Output"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/type.impl/tuxedo_core/types/struct.Transaction.js b/type.impl/tuxedo_core/types/struct.Transaction.js index ad115bb5e..4ef801bdd 100644 --- a/type.impl/tuxedo_core/types/struct.Transaction.js +++ b/type.impl/tuxedo_core/types/struct.Transaction.js @@ -1,3 +1,4 @@ (function() {var type_impls = { -"tuxedo_template_runtime":[["
    source§

    impl<V, C> Transaction<V, C>
    where\n V: Clone,\n C: Clone,

    source

    pub fn transform<D>(&self) -> Transaction<V, D>
    where\n D: From<C>,

    A helper function for transforming a transaction generic over one\nkind of constraint checker into a transaction generic over another type\nof constraint checker. This is useful when moving up and down the aggregation tree.

    \n
    ",0,"tuxedo_template_runtime::Transaction"],["
    source§

    impl<V, C> Decode for Transaction<V, C>
    where\n V: Decode,\n C: Decode,

    source§

    fn decode<I>(input: &mut I) -> Result<Transaction<V, C>, Error>
    where\n I: Input,

    Attempt to deserialise the value from input.
    §

    fn decode_into<I>(\n input: &mut I,\n dst: &mut MaybeUninit<Self>\n) -> Result<DecodeFinished, Error>
    where\n I: Input,

    Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
    §

    fn skip<I>(input: &mut I) -> Result<(), Error>
    where\n I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    ","Decode","tuxedo_template_runtime::Transaction"],["
    source§

    impl<V, C> Encode for Transaction<V, C>
    where\n V: Encode,\n C: Encode,

    source§

    fn encode_to<T>(&self, dest: &mut T)
    where\n T: Output + ?Sized,

    Convert self to a slice and append it to the destination.
    §

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    §

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    §

    fn using_encoded<R, F>(&self, f: F) -> R
    where\n F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    ","Encode","tuxedo_template_runtime::Transaction"],["
    source§

    impl<'de, V, C> Deserialize<'de> for Transaction<V, C>
    where\n V: Deserialize<'de>,\n C: Deserialize<'de>,

    source§

    fn deserialize<__D>(\n __deserializer: __D\n) -> Result<Transaction<V, C>, <__D as Deserializer<'de>>::Error>
    where\n __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","tuxedo_template_runtime::Transaction"],["
    source§

    impl<V, C> StructuralPartialEq for Transaction<V, C>

    ","StructuralPartialEq","tuxedo_template_runtime::Transaction"],["
    source§

    impl<V, C> Serialize for Transaction<V, C>
    where\n V: Serialize,\n C: Serialize,

    source§

    fn serialize<__S>(\n &self,\n __serializer: __S\n) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where\n __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","tuxedo_template_runtime::Transaction"],["
    source§

    impl<V, C> Debug for Transaction<V, C>
    where\n V: Debug,\n C: Debug,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","tuxedo_template_runtime::Transaction"],["
    source§

    impl<V, C> Default for Transaction<V, C>
    where\n V: Default,\n C: Default,

    source§

    fn default() -> Transaction<V, C>

    Returns the “default value” for a type. Read more
    ","Default","tuxedo_template_runtime::Transaction"],["
    source§

    impl<V, C> Eq for Transaction<V, C>
    where\n V: Eq,\n C: Eq,

    ","Eq","tuxedo_template_runtime::Transaction"],["
    source§

    impl<V, C> PartialEq for Transaction<V, C>
    where\n V: PartialEq,\n C: PartialEq,

    source§

    fn eq(&self, other: &Transaction<V, C>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","tuxedo_template_runtime::Transaction"],["
    source§

    impl<V, C> TypeInfo for Transaction<V, C>
    where\n Vec<Output<V>>: TypeInfo + 'static,\n C: TypeInfo + 'static,\n V: TypeInfo + 'static,

    §

    type Identity = Transaction<V, C>

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    ","TypeInfo","tuxedo_template_runtime::Transaction"],["
    source§

    impl<V, C> Clone for Transaction<V, C>
    where\n V: Clone,\n C: Clone,

    source§

    fn clone(&self) -> Transaction<V, C>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","tuxedo_template_runtime::Transaction"],["
    source§

    impl<V, C> Extrinsic for Transaction<V, C>
    where\n C: TypeInfo + ConstraintChecker<V> + 'static,\n V: TypeInfo + Verifier + 'static,

    §

    type Call = Transaction<V, C>

    The function call.
    §

    type SignaturePayload = ()

    The payload we carry for signed extrinsics. Read more
    source§

    fn new(\n data: Transaction<V, C>,\n _: Option<<Transaction<V, C> as Extrinsic>::SignaturePayload>\n) -> Option<Transaction<V, C>>

    Create new instance of the extrinsic. Read more
    source§

    fn is_signed(&self) -> Option<bool>

    Is this Extrinsic signed?\nIf no information are available about signed/unsigned, None should be returned.
    ","Extrinsic","tuxedo_template_runtime::Transaction"]] +"tuxedo_parachain_runtime":[["
    source§

    impl<V, C> Clone for Transaction<V, C>
    where\n V: Clone,\n C: Clone,

    source§

    fn clone(&self) -> Transaction<V, C>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","tuxedo_parachain_runtime::Transaction"],["
    source§

    impl<V, C> Debug for Transaction<V, C>
    where\n V: Debug,\n C: Debug,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","tuxedo_parachain_runtime::Transaction"],["
    source§

    impl<V, C> Decode for Transaction<V, C>
    where\n V: Decode,\n C: Decode,

    source§

    fn decode<I>(input: &mut I) -> Result<Transaction<V, C>, Error>
    where\n I: Input,

    Attempt to deserialise the value from input.
    §

    fn decode_into<I>(\n input: &mut I,\n dst: &mut MaybeUninit<Self>\n) -> Result<DecodeFinished, Error>
    where\n I: Input,

    Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
    §

    fn skip<I>(input: &mut I) -> Result<(), Error>
    where\n I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    ","Decode","tuxedo_parachain_runtime::Transaction"],["
    source§

    impl<V, C> Default for Transaction<V, C>
    where\n V: Default,\n C: Default,

    source§

    fn default() -> Transaction<V, C>

    Returns the “default value” for a type. Read more
    ","Default","tuxedo_parachain_runtime::Transaction"],["
    source§

    impl<'de, V, C> Deserialize<'de> for Transaction<V, C>
    where\n V: Deserialize<'de>,\n C: Deserialize<'de>,

    source§

    fn deserialize<__D>(\n __deserializer: __D\n) -> Result<Transaction<V, C>, <__D as Deserializer<'de>>::Error>
    where\n __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","tuxedo_parachain_runtime::Transaction"],["
    source§

    impl<V, C> Encode for Transaction<V, C>
    where\n V: Encode,\n C: Encode,

    source§

    fn encode_to<T>(&self, dest: &mut T)
    where\n T: Output + ?Sized,

    Convert self to a slice and append it to the destination.
    §

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    §

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    §

    fn using_encoded<R, F>(&self, f: F) -> R
    where\n F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    ","Encode","tuxedo_parachain_runtime::Transaction"],["
    source§

    impl<V, C> Extrinsic for Transaction<V, C>
    where\n C: TypeInfo + ConstraintChecker + 'static,\n V: TypeInfo + Verifier + 'static,

    §

    type Call = Transaction<V, C>

    The function call.
    §

    type SignaturePayload = ()

    The payload we carry for signed extrinsics. Read more
    source§

    fn new(\n data: Transaction<V, C>,\n _: Option<<Transaction<V, C> as Extrinsic>::SignaturePayload>\n) -> Option<Transaction<V, C>>

    Create new instance of the extrinsic. Read more
    source§

    fn is_signed(&self) -> Option<bool>

    Is this Extrinsic signed?\nIf no information are available about signed/unsigned, None should be returned.
    ","Extrinsic","tuxedo_parachain_runtime::Transaction"],["
    source§

    impl<V, C> PartialEq for Transaction<V, C>
    where\n V: PartialEq,\n C: PartialEq,

    source§

    fn eq(&self, other: &Transaction<V, C>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","tuxedo_parachain_runtime::Transaction"],["
    source§

    impl<V, C> Serialize for Transaction<V, C>
    where\n V: Serialize,\n C: Serialize,

    source§

    fn serialize<__S>(\n &self,\n __serializer: __S\n) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where\n __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","tuxedo_parachain_runtime::Transaction"],["
    source§

    impl<V, C> Transaction<V, C>
    where\n V: Clone,\n C: Clone,

    source

    pub fn transform<D>(&self) -> Transaction<V, D>
    where\n D: From<C>,

    A helper function for transforming a transaction generic over one\nkind of constraint checker into a transaction generic over another type\nof constraint checker. This is useful when moving up and down the aggregation tree.

    \n
    ",0,"tuxedo_parachain_runtime::Transaction"],["
    source§

    impl<V, C> TypeInfo for Transaction<V, C>
    where\n Vec<Output<V>>: TypeInfo + 'static,\n C: TypeInfo + 'static,\n V: TypeInfo + 'static,

    §

    type Identity = Transaction<V, C>

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    ","TypeInfo","tuxedo_parachain_runtime::Transaction"],["
    source§

    impl<V, C> Eq for Transaction<V, C>
    where\n V: Eq,\n C: Eq,

    ","Eq","tuxedo_parachain_runtime::Transaction"],["
    source§

    impl<V, C> StructuralPartialEq for Transaction<V, C>

    ","StructuralPartialEq","tuxedo_parachain_runtime::Transaction"]], +"tuxedo_template_runtime":[["
    source§

    impl<V, C> Clone for Transaction<V, C>
    where\n V: Clone,\n C: Clone,

    source§

    fn clone(&self) -> Transaction<V, C>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","tuxedo_template_runtime::Transaction"],["
    source§

    impl<V, C> Debug for Transaction<V, C>
    where\n V: Debug,\n C: Debug,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","tuxedo_template_runtime::Transaction"],["
    source§

    impl<V, C> Decode for Transaction<V, C>
    where\n V: Decode,\n C: Decode,

    source§

    fn decode<I>(input: &mut I) -> Result<Transaction<V, C>, Error>
    where\n I: Input,

    Attempt to deserialise the value from input.
    §

    fn decode_into<I>(\n input: &mut I,\n dst: &mut MaybeUninit<Self>\n) -> Result<DecodeFinished, Error>
    where\n I: Input,

    Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
    §

    fn skip<I>(input: &mut I) -> Result<(), Error>
    where\n I: Input,

    Attempt to skip the encoded value from input. Read more
    §

    fn encoded_fixed_size() -> Option<usize>

    Returns the fixed encoded size of the type. Read more
    ","Decode","tuxedo_template_runtime::Transaction"],["
    source§

    impl<V, C> Default for Transaction<V, C>
    where\n V: Default,\n C: Default,

    source§

    fn default() -> Transaction<V, C>

    Returns the “default value” for a type. Read more
    ","Default","tuxedo_template_runtime::Transaction"],["
    source§

    impl<'de, V, C> Deserialize<'de> for Transaction<V, C>
    where\n V: Deserialize<'de>,\n C: Deserialize<'de>,

    source§

    fn deserialize<__D>(\n __deserializer: __D\n) -> Result<Transaction<V, C>, <__D as Deserializer<'de>>::Error>
    where\n __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","tuxedo_template_runtime::Transaction"],["
    source§

    impl<V, C> Encode for Transaction<V, C>
    where\n V: Encode,\n C: Encode,

    source§

    fn encode_to<T>(&self, dest: &mut T)
    where\n T: Output + ?Sized,

    Convert self to a slice and append it to the destination.
    §

    fn size_hint(&self) -> usize

    If possible give a hint of expected size of the encoding. Read more
    §

    fn encode(&self) -> Vec<u8>

    Convert self to an owned vector.
    §

    fn using_encoded<R, F>(&self, f: F) -> R
    where\n F: FnOnce(&[u8]) -> R,

    Convert self to a slice and then invoke the given closure with it.
    §

    fn encoded_size(&self) -> usize

    Calculates the encoded size. Read more
    ","Encode","tuxedo_template_runtime::Transaction"],["
    source§

    impl<V, C> Extrinsic for Transaction<V, C>
    where\n C: TypeInfo + ConstraintChecker + 'static,\n V: TypeInfo + Verifier + 'static,

    §

    type Call = Transaction<V, C>

    The function call.
    §

    type SignaturePayload = ()

    The payload we carry for signed extrinsics. Read more
    source§

    fn new(\n data: Transaction<V, C>,\n _: Option<<Transaction<V, C> as Extrinsic>::SignaturePayload>\n) -> Option<Transaction<V, C>>

    Create new instance of the extrinsic. Read more
    source§

    fn is_signed(&self) -> Option<bool>

    Is this Extrinsic signed?\nIf no information are available about signed/unsigned, None should be returned.
    ","Extrinsic","tuxedo_template_runtime::Transaction"],["
    source§

    impl<V, C> PartialEq for Transaction<V, C>
    where\n V: PartialEq,\n C: PartialEq,

    source§

    fn eq(&self, other: &Transaction<V, C>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","tuxedo_template_runtime::Transaction"],["
    source§

    impl<V, C> Serialize for Transaction<V, C>
    where\n V: Serialize,\n C: Serialize,

    source§

    fn serialize<__S>(\n &self,\n __serializer: __S\n) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where\n __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","tuxedo_template_runtime::Transaction"],["
    source§

    impl<V, C> Transaction<V, C>
    where\n V: Clone,\n C: Clone,

    source

    pub fn transform<D>(&self) -> Transaction<V, D>
    where\n D: From<C>,

    A helper function for transforming a transaction generic over one\nkind of constraint checker into a transaction generic over another type\nof constraint checker. This is useful when moving up and down the aggregation tree.

    \n
    ",0,"tuxedo_template_runtime::Transaction"],["
    source§

    impl<V, C> TypeInfo for Transaction<V, C>
    where\n Vec<Output<V>>: TypeInfo + 'static,\n C: TypeInfo + 'static,\n V: TypeInfo + 'static,

    §

    type Identity = Transaction<V, C>

    The type identifying for which type info is provided. Read more
    source§

    fn type_info() -> Type

    Returns the static type identifier for Self.
    ","TypeInfo","tuxedo_template_runtime::Transaction"],["
    source§

    impl<V, C> Eq for Transaction<V, C>
    where\n V: Eq,\n C: Eq,

    ","Eq","tuxedo_template_runtime::Transaction"],["
    source§

    impl<V, C> StructuralPartialEq for Transaction<V, C>

    ","StructuralPartialEq","tuxedo_template_runtime::Transaction"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/type.impl/tuxedo_core/types/type.Block.js b/type.impl/tuxedo_core/types/type.Block.js new file mode 100644 index 000000000..4830a7f66 --- /dev/null +++ b/type.impl/tuxedo_core/types/type.Block.js @@ -0,0 +1,4 @@ +(function() {var type_impls = { +"tuxedo_parachain_runtime":[], +"tuxedo_template_runtime":[] +};if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/type.impl/tuxedo_core/types/type.Hash.js b/type.impl/tuxedo_core/types/type.Hash.js new file mode 100644 index 000000000..ba45bfb7d --- /dev/null +++ b/type.impl/tuxedo_core/types/type.Hash.js @@ -0,0 +1,3 @@ +(function() {var type_impls = { +"tuxedo_core":[] +};if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file