pub struct UsingComponents<WeightToFee: WeightToFeeT<Balance = <Fungible as Inspect<AccountId>>::Balance>, AssetIdValue: Get<Location>, AccountId, Fungible: Balanced<AccountId> + Inspect<AccountId>, OnUnbalanced: OnUnbalancedT<Credit<AccountId, Fungible>>>(/* private fields */);Expand description
Weight trader which uses the configured WeightToFee to set the right price for weight and then
places any weight bought into the right account.
Trait Implementations§
Source§impl<WeightToFee: WeightToFeeT<Balance = <Fungible as Inspect<AccountId>>::Balance>, AssetId: Get<Location>, AccountId, Fungible: Balanced<AccountId> + Inspect<AccountId>, OnUnbalanced: OnUnbalancedT<Credit<AccountId, Fungible>>> Drop for UsingComponents<WeightToFee, AssetId, AccountId, Fungible, OnUnbalanced>
impl<WeightToFee: WeightToFeeT<Balance = <Fungible as Inspect<AccountId>>::Balance>, AssetId: Get<Location>, AccountId, Fungible: Balanced<AccountId> + Inspect<AccountId>, OnUnbalanced: OnUnbalancedT<Credit<AccountId, Fungible>>> Drop for UsingComponents<WeightToFee, AssetId, AccountId, Fungible, OnUnbalanced>
Source§impl<WeightToFee: WeightToFeeT<Balance = <Fungible as Inspect<AccountId>>::Balance>, AssetIdValue: Get<Location>, AccountId, Fungible: Balanced<AccountId> + Inspect<AccountId>, OnUnbalanced: OnUnbalancedT<Credit<AccountId, Fungible>>> WeightTrader for UsingComponents<WeightToFee, AssetIdValue, AccountId, Fungible, OnUnbalanced>
impl<WeightToFee: WeightToFeeT<Balance = <Fungible as Inspect<AccountId>>::Balance>, AssetIdValue: Get<Location>, AccountId, Fungible: Balanced<AccountId> + Inspect<AccountId>, OnUnbalanced: OnUnbalancedT<Credit<AccountId, Fungible>>> WeightTrader for UsingComponents<WeightToFee, AssetIdValue, AccountId, Fungible, OnUnbalanced>
Source§fn buy_weight(
&mut self,
weight: Weight,
payment: AssetsInHolding,
context: &XcmContext,
) -> Result<AssetsInHolding, XcmError>
fn buy_weight( &mut self, weight: Weight, payment: AssetsInHolding, context: &XcmContext, ) -> Result<AssetsInHolding, XcmError>
Purchase execution weight credit in return for up to a given
payment. If less of the
payment is required then the surplus is returned. If the payment cannot be used to pay
for the weight, then an error is returned.Source§fn refund_weight(
&mut self,
weight: Weight,
context: &XcmContext,
) -> Option<Asset>
fn refund_weight( &mut self, weight: Weight, context: &XcmContext, ) -> Option<Asset>
Attempt a refund of
weight into some asset. The caller does not guarantee that the weight
was purchased using buy_weight. Read moreAuto Trait Implementations§
impl<WeightToFee, AssetIdValue, AccountId, Fungible, OnUnbalanced> Freeze for UsingComponents<WeightToFee, AssetIdValue, AccountId, Fungible, OnUnbalanced>
impl<WeightToFee, AssetIdValue, AccountId, Fungible, OnUnbalanced> RefUnwindSafe for UsingComponents<WeightToFee, AssetIdValue, AccountId, Fungible, OnUnbalanced>where
<Fungible as Inspect<AccountId>>::Balance: RefUnwindSafe,
WeightToFee: RefUnwindSafe,
AssetIdValue: RefUnwindSafe,
AccountId: RefUnwindSafe,
Fungible: RefUnwindSafe,
OnUnbalanced: RefUnwindSafe,
impl<WeightToFee, AssetIdValue, AccountId, Fungible, OnUnbalanced> Send for UsingComponents<WeightToFee, AssetIdValue, AccountId, Fungible, OnUnbalanced>
impl<WeightToFee, AssetIdValue, AccountId, Fungible, OnUnbalanced> Sync for UsingComponents<WeightToFee, AssetIdValue, AccountId, Fungible, OnUnbalanced>
impl<WeightToFee, AssetIdValue, AccountId, Fungible, OnUnbalanced> Unpin for UsingComponents<WeightToFee, AssetIdValue, AccountId, Fungible, OnUnbalanced>
impl<WeightToFee, AssetIdValue, AccountId, Fungible, OnUnbalanced> UnwindSafe for UsingComponents<WeightToFee, AssetIdValue, AccountId, Fungible, OnUnbalanced>where
<Fungible as Inspect<AccountId>>::Balance: UnwindSafe,
WeightToFee: UnwindSafe,
AssetIdValue: UnwindSafe,
AccountId: UnwindSafe,
Fungible: UnwindSafe,
OnUnbalanced: UnwindSafe,
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
Source§impl<T, U> DefensiveTruncateInto<U> for Twhere
U: DefensiveTruncateFrom<T>,
impl<T, U> DefensiveTruncateInto<U> for Twhere
U: DefensiveTruncateFrom<T>,
Source§fn defensive_truncate_into(self) -> U
fn defensive_truncate_into(self) -> U
Defensively truncate a value and convert it into its bounded form.
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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 moreSource§impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
fn into_tuple(self) -> Dest
Source§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
Source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
Source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
Source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
Consume self to return an equivalent value of
T. Read moreSource§impl<T, U> TryIntoKey<U> for Twhere
U: TryFromKey<T>,
impl<T, U> TryIntoKey<U> for Twhere
U: TryFromKey<T>,
type Error = <U as TryFromKey<T>>::Error
fn try_into_key(self) -> Result<U, <U as TryFromKey<T>>::Error>
Source§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
Source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
The counterpart to
unchecked_from.Source§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
Source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of
T.