referrerpolicy=no-referrer-when-downgrade
staging_xcm_executor::traits

Trait WeightTrader

Source
pub trait WeightTrader: Sized {
    // Required methods
    fn new() -> Self;
    fn buy_weight(
        &mut self,
        weight: Weight,
        payment: AssetsInHolding,
        context: &XcmContext,
    ) -> Result<AssetsInHolding, XcmError>;

    // Provided method
    fn refund_weight(
        &mut self,
        _weight: Weight,
        _context: &XcmContext,
    ) -> Option<Asset> { ... }
}
Expand description

Charge for weight in order to execute XCM.

A WeightTrader may also be put into a tuple, in which case the default behavior of buy_weight and refund_weight would be to attempt to call each tuple element’s own implementation of these two functions, in the order of which they appear in the tuple, returning early when a successful result is returned.

Required Methods§

Source

fn new() -> Self

Create a new trader instance.

Source

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.

Provided Methods§

Source

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.

Default implementation refunds nothing.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl WeightTrader for ()

Source§

fn new() -> Self

Source§

fn buy_weight( &mut self, weight: Weight, payment: AssetsInHolding, context: &XcmContext, ) -> Result<AssetsInHolding, XcmError>

Source§

fn refund_weight( &mut self, weight: Weight, context: &XcmContext, ) -> Option<Asset>

Source§

impl<TupleElement0: WeightTrader> WeightTrader for (TupleElement0,)

Source§

fn new() -> Self

Source§

fn buy_weight( &mut self, weight: Weight, payment: AssetsInHolding, context: &XcmContext, ) -> Result<AssetsInHolding, XcmError>

Source§

fn refund_weight( &mut self, weight: Weight, context: &XcmContext, ) -> Option<Asset>

Source§

impl<TupleElement0: WeightTrader, TupleElement1: WeightTrader> WeightTrader for (TupleElement0, TupleElement1)

Source§

fn new() -> Self

Source§

fn buy_weight( &mut self, weight: Weight, payment: AssetsInHolding, context: &XcmContext, ) -> Result<AssetsInHolding, XcmError>

Source§

fn refund_weight( &mut self, weight: Weight, context: &XcmContext, ) -> Option<Asset>

Source§

impl<TupleElement0: WeightTrader, TupleElement1: WeightTrader, TupleElement2: WeightTrader> WeightTrader for (TupleElement0, TupleElement1, TupleElement2)

Source§

fn new() -> Self

Source§

fn buy_weight( &mut self, weight: Weight, payment: AssetsInHolding, context: &XcmContext, ) -> Result<AssetsInHolding, XcmError>

Source§

fn refund_weight( &mut self, weight: Weight, context: &XcmContext, ) -> Option<Asset>

Source§

impl<TupleElement0: WeightTrader, TupleElement1: WeightTrader, TupleElement2: WeightTrader, TupleElement3: WeightTrader> WeightTrader for (TupleElement0, TupleElement1, TupleElement2, TupleElement3)

Source§

fn new() -> Self

Source§

fn buy_weight( &mut self, weight: Weight, payment: AssetsInHolding, context: &XcmContext, ) -> Result<AssetsInHolding, XcmError>

Source§

fn refund_weight( &mut self, weight: Weight, context: &XcmContext, ) -> Option<Asset>

Source§

impl<TupleElement0: WeightTrader, TupleElement1: WeightTrader, TupleElement2: WeightTrader, TupleElement3: WeightTrader, TupleElement4: WeightTrader> WeightTrader for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4)

Source§

fn new() -> Self

Source§

fn buy_weight( &mut self, weight: Weight, payment: AssetsInHolding, context: &XcmContext, ) -> Result<AssetsInHolding, XcmError>

Source§

fn refund_weight( &mut self, weight: Weight, context: &XcmContext, ) -> Option<Asset>

Source§

impl<TupleElement0: WeightTrader, TupleElement1: WeightTrader, TupleElement2: WeightTrader, TupleElement3: WeightTrader, TupleElement4: WeightTrader, TupleElement5: WeightTrader> WeightTrader for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5)

Source§

fn new() -> Self

Source§

fn buy_weight( &mut self, weight: Weight, payment: AssetsInHolding, context: &XcmContext, ) -> Result<AssetsInHolding, XcmError>

Source§

fn refund_weight( &mut self, weight: Weight, context: &XcmContext, ) -> Option<Asset>

Source§

impl<TupleElement0: WeightTrader, TupleElement1: WeightTrader, TupleElement2: WeightTrader, TupleElement3: WeightTrader, TupleElement4: WeightTrader, TupleElement5: WeightTrader, TupleElement6: WeightTrader> WeightTrader for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6)

Source§

fn new() -> Self

Source§

fn buy_weight( &mut self, weight: Weight, payment: AssetsInHolding, context: &XcmContext, ) -> Result<AssetsInHolding, XcmError>

Source§

fn refund_weight( &mut self, weight: Weight, context: &XcmContext, ) -> Option<Asset>

Source§

impl<TupleElement0: WeightTrader, TupleElement1: WeightTrader, TupleElement2: WeightTrader, TupleElement3: WeightTrader, TupleElement4: WeightTrader, TupleElement5: WeightTrader, TupleElement6: WeightTrader, TupleElement7: WeightTrader> WeightTrader for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7)

Source§

fn new() -> Self

Source§

fn buy_weight( &mut self, weight: Weight, payment: AssetsInHolding, context: &XcmContext, ) -> Result<AssetsInHolding, XcmError>

Source§

fn refund_weight( &mut self, weight: Weight, context: &XcmContext, ) -> Option<Asset>

Source§

impl<TupleElement0: WeightTrader, TupleElement1: WeightTrader, TupleElement2: WeightTrader, TupleElement3: WeightTrader, TupleElement4: WeightTrader, TupleElement5: WeightTrader, TupleElement6: WeightTrader, TupleElement7: WeightTrader, TupleElement8: WeightTrader> WeightTrader for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8)

Source§

fn new() -> Self

Source§

fn buy_weight( &mut self, weight: Weight, payment: AssetsInHolding, context: &XcmContext, ) -> Result<AssetsInHolding, XcmError>

Source§

fn refund_weight( &mut self, weight: Weight, context: &XcmContext, ) -> Option<Asset>

Source§

impl<TupleElement0: WeightTrader, TupleElement1: WeightTrader, TupleElement2: WeightTrader, TupleElement3: WeightTrader, TupleElement4: WeightTrader, TupleElement5: WeightTrader, TupleElement6: WeightTrader, TupleElement7: WeightTrader, TupleElement8: WeightTrader, TupleElement9: WeightTrader> WeightTrader for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9)

Source§

fn new() -> Self

Source§

fn buy_weight( &mut self, weight: Weight, payment: AssetsInHolding, context: &XcmContext, ) -> Result<AssetsInHolding, XcmError>

Source§

fn refund_weight( &mut self, weight: Weight, context: &XcmContext, ) -> Option<Asset>

Source§

impl<TupleElement0: WeightTrader, TupleElement1: WeightTrader, TupleElement2: WeightTrader, TupleElement3: WeightTrader, TupleElement4: WeightTrader, TupleElement5: WeightTrader, TupleElement6: WeightTrader, TupleElement7: WeightTrader, TupleElement8: WeightTrader, TupleElement9: WeightTrader, TupleElement10: WeightTrader> WeightTrader for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10)

Source§

fn new() -> Self

Source§

fn buy_weight( &mut self, weight: Weight, payment: AssetsInHolding, context: &XcmContext, ) -> Result<AssetsInHolding, XcmError>

Source§

fn refund_weight( &mut self, weight: Weight, context: &XcmContext, ) -> Option<Asset>

Source§

impl<TupleElement0: WeightTrader, TupleElement1: WeightTrader, TupleElement2: WeightTrader, TupleElement3: WeightTrader, TupleElement4: WeightTrader, TupleElement5: WeightTrader, TupleElement6: WeightTrader, TupleElement7: WeightTrader, TupleElement8: WeightTrader, TupleElement9: WeightTrader, TupleElement10: WeightTrader, TupleElement11: WeightTrader> WeightTrader for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11)

Source§

fn new() -> Self

Source§

fn buy_weight( &mut self, weight: Weight, payment: AssetsInHolding, context: &XcmContext, ) -> Result<AssetsInHolding, XcmError>

Source§

fn refund_weight( &mut self, weight: Weight, context: &XcmContext, ) -> Option<Asset>

Source§

impl<TupleElement0: WeightTrader, TupleElement1: WeightTrader, TupleElement2: WeightTrader, TupleElement3: WeightTrader, TupleElement4: WeightTrader, TupleElement5: WeightTrader, TupleElement6: WeightTrader, TupleElement7: WeightTrader, TupleElement8: WeightTrader, TupleElement9: WeightTrader, TupleElement10: WeightTrader, TupleElement11: WeightTrader, TupleElement12: WeightTrader> WeightTrader for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12)

Source§

fn new() -> Self

Source§

fn buy_weight( &mut self, weight: Weight, payment: AssetsInHolding, context: &XcmContext, ) -> Result<AssetsInHolding, XcmError>

Source§

fn refund_weight( &mut self, weight: Weight, context: &XcmContext, ) -> Option<Asset>

Source§

impl<TupleElement0: WeightTrader, TupleElement1: WeightTrader, TupleElement2: WeightTrader, TupleElement3: WeightTrader, TupleElement4: WeightTrader, TupleElement5: WeightTrader, TupleElement6: WeightTrader, TupleElement7: WeightTrader, TupleElement8: WeightTrader, TupleElement9: WeightTrader, TupleElement10: WeightTrader, TupleElement11: WeightTrader, TupleElement12: WeightTrader, TupleElement13: WeightTrader> WeightTrader for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13)

Source§

fn new() -> Self

Source§

fn buy_weight( &mut self, weight: Weight, payment: AssetsInHolding, context: &XcmContext, ) -> Result<AssetsInHolding, XcmError>

Source§

fn refund_weight( &mut self, weight: Weight, context: &XcmContext, ) -> Option<Asset>

Source§

impl<TupleElement0: WeightTrader, TupleElement1: WeightTrader, TupleElement2: WeightTrader, TupleElement3: WeightTrader, TupleElement4: WeightTrader, TupleElement5: WeightTrader, TupleElement6: WeightTrader, TupleElement7: WeightTrader, TupleElement8: WeightTrader, TupleElement9: WeightTrader, TupleElement10: WeightTrader, TupleElement11: WeightTrader, TupleElement12: WeightTrader, TupleElement13: WeightTrader, TupleElement14: WeightTrader> WeightTrader for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14)

Source§

fn new() -> Self

Source§

fn buy_weight( &mut self, weight: Weight, payment: AssetsInHolding, context: &XcmContext, ) -> Result<AssetsInHolding, XcmError>

Source§

fn refund_weight( &mut self, weight: Weight, context: &XcmContext, ) -> Option<Asset>

Source§

impl<TupleElement0: WeightTrader, TupleElement1: WeightTrader, TupleElement2: WeightTrader, TupleElement3: WeightTrader, TupleElement4: WeightTrader, TupleElement5: WeightTrader, TupleElement6: WeightTrader, TupleElement7: WeightTrader, TupleElement8: WeightTrader, TupleElement9: WeightTrader, TupleElement10: WeightTrader, TupleElement11: WeightTrader, TupleElement12: WeightTrader, TupleElement13: WeightTrader, TupleElement14: WeightTrader, TupleElement15: WeightTrader> WeightTrader for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15)

Source§

fn new() -> Self

Source§

fn buy_weight( &mut self, weight: Weight, payment: AssetsInHolding, context: &XcmContext, ) -> Result<AssetsInHolding, XcmError>

Source§

fn refund_weight( &mut self, weight: Weight, context: &XcmContext, ) -> Option<Asset>

Source§

impl<TupleElement0: WeightTrader, TupleElement1: WeightTrader, TupleElement2: WeightTrader, TupleElement3: WeightTrader, TupleElement4: WeightTrader, TupleElement5: WeightTrader, TupleElement6: WeightTrader, TupleElement7: WeightTrader, TupleElement8: WeightTrader, TupleElement9: WeightTrader, TupleElement10: WeightTrader, TupleElement11: WeightTrader, TupleElement12: WeightTrader, TupleElement13: WeightTrader, TupleElement14: WeightTrader, TupleElement15: WeightTrader, TupleElement16: WeightTrader> WeightTrader for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16)

Source§

fn new() -> Self

Source§

fn buy_weight( &mut self, weight: Weight, payment: AssetsInHolding, context: &XcmContext, ) -> Result<AssetsInHolding, XcmError>

Source§

fn refund_weight( &mut self, weight: Weight, context: &XcmContext, ) -> Option<Asset>

Source§

impl<TupleElement0: WeightTrader, TupleElement1: WeightTrader, TupleElement2: WeightTrader, TupleElement3: WeightTrader, TupleElement4: WeightTrader, TupleElement5: WeightTrader, TupleElement6: WeightTrader, TupleElement7: WeightTrader, TupleElement8: WeightTrader, TupleElement9: WeightTrader, TupleElement10: WeightTrader, TupleElement11: WeightTrader, TupleElement12: WeightTrader, TupleElement13: WeightTrader, TupleElement14: WeightTrader, TupleElement15: WeightTrader, TupleElement16: WeightTrader, TupleElement17: WeightTrader> WeightTrader for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17)

Source§

fn new() -> Self

Source§

fn buy_weight( &mut self, weight: Weight, payment: AssetsInHolding, context: &XcmContext, ) -> Result<AssetsInHolding, XcmError>

Source§

fn refund_weight( &mut self, weight: Weight, context: &XcmContext, ) -> Option<Asset>

Source§

impl<TupleElement0: WeightTrader, TupleElement1: WeightTrader, TupleElement2: WeightTrader, TupleElement3: WeightTrader, TupleElement4: WeightTrader, TupleElement5: WeightTrader, TupleElement6: WeightTrader, TupleElement7: WeightTrader, TupleElement8: WeightTrader, TupleElement9: WeightTrader, TupleElement10: WeightTrader, TupleElement11: WeightTrader, TupleElement12: WeightTrader, TupleElement13: WeightTrader, TupleElement14: WeightTrader, TupleElement15: WeightTrader, TupleElement16: WeightTrader, TupleElement17: WeightTrader, TupleElement18: WeightTrader> WeightTrader for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18)

Source§

fn new() -> Self

Source§

fn buy_weight( &mut self, weight: Weight, payment: AssetsInHolding, context: &XcmContext, ) -> Result<AssetsInHolding, XcmError>

Source§

fn refund_weight( &mut self, weight: Weight, context: &XcmContext, ) -> Option<Asset>

Source§

impl<TupleElement0: WeightTrader, TupleElement1: WeightTrader, TupleElement2: WeightTrader, TupleElement3: WeightTrader, TupleElement4: WeightTrader, TupleElement5: WeightTrader, TupleElement6: WeightTrader, TupleElement7: WeightTrader, TupleElement8: WeightTrader, TupleElement9: WeightTrader, TupleElement10: WeightTrader, TupleElement11: WeightTrader, TupleElement12: WeightTrader, TupleElement13: WeightTrader, TupleElement14: WeightTrader, TupleElement15: WeightTrader, TupleElement16: WeightTrader, TupleElement17: WeightTrader, TupleElement18: WeightTrader, TupleElement19: WeightTrader> WeightTrader for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19)

Source§

fn new() -> Self

Source§

fn buy_weight( &mut self, weight: Weight, payment: AssetsInHolding, context: &XcmContext, ) -> Result<AssetsInHolding, XcmError>

Source§

fn refund_weight( &mut self, weight: Weight, context: &XcmContext, ) -> Option<Asset>

Source§

impl<TupleElement0: WeightTrader, TupleElement1: WeightTrader, TupleElement2: WeightTrader, TupleElement3: WeightTrader, TupleElement4: WeightTrader, TupleElement5: WeightTrader, TupleElement6: WeightTrader, TupleElement7: WeightTrader, TupleElement8: WeightTrader, TupleElement9: WeightTrader, TupleElement10: WeightTrader, TupleElement11: WeightTrader, TupleElement12: WeightTrader, TupleElement13: WeightTrader, TupleElement14: WeightTrader, TupleElement15: WeightTrader, TupleElement16: WeightTrader, TupleElement17: WeightTrader, TupleElement18: WeightTrader, TupleElement19: WeightTrader, TupleElement20: WeightTrader> WeightTrader for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20)

Source§

fn new() -> Self

Source§

fn buy_weight( &mut self, weight: Weight, payment: AssetsInHolding, context: &XcmContext, ) -> Result<AssetsInHolding, XcmError>

Source§

fn refund_weight( &mut self, weight: Weight, context: &XcmContext, ) -> Option<Asset>

Source§

impl<TupleElement0: WeightTrader, TupleElement1: WeightTrader, TupleElement2: WeightTrader, TupleElement3: WeightTrader, TupleElement4: WeightTrader, TupleElement5: WeightTrader, TupleElement6: WeightTrader, TupleElement7: WeightTrader, TupleElement8: WeightTrader, TupleElement9: WeightTrader, TupleElement10: WeightTrader, TupleElement11: WeightTrader, TupleElement12: WeightTrader, TupleElement13: WeightTrader, TupleElement14: WeightTrader, TupleElement15: WeightTrader, TupleElement16: WeightTrader, TupleElement17: WeightTrader, TupleElement18: WeightTrader, TupleElement19: WeightTrader, TupleElement20: WeightTrader, TupleElement21: WeightTrader> WeightTrader for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21)

Source§

fn new() -> Self

Source§

fn buy_weight( &mut self, weight: Weight, payment: AssetsInHolding, context: &XcmContext, ) -> Result<AssetsInHolding, XcmError>

Source§

fn refund_weight( &mut self, weight: Weight, context: &XcmContext, ) -> Option<Asset>

Source§

impl<TupleElement0: WeightTrader, TupleElement1: WeightTrader, TupleElement2: WeightTrader, TupleElement3: WeightTrader, TupleElement4: WeightTrader, TupleElement5: WeightTrader, TupleElement6: WeightTrader, TupleElement7: WeightTrader, TupleElement8: WeightTrader, TupleElement9: WeightTrader, TupleElement10: WeightTrader, TupleElement11: WeightTrader, TupleElement12: WeightTrader, TupleElement13: WeightTrader, TupleElement14: WeightTrader, TupleElement15: WeightTrader, TupleElement16: WeightTrader, TupleElement17: WeightTrader, TupleElement18: WeightTrader, TupleElement19: WeightTrader, TupleElement20: WeightTrader, TupleElement21: WeightTrader, TupleElement22: WeightTrader> WeightTrader for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22)

Source§

fn new() -> Self

Source§

fn buy_weight( &mut self, weight: Weight, payment: AssetsInHolding, context: &XcmContext, ) -> Result<AssetsInHolding, XcmError>

Source§

fn refund_weight( &mut self, weight: Weight, context: &XcmContext, ) -> Option<Asset>

Source§

impl<TupleElement0: WeightTrader, TupleElement1: WeightTrader, TupleElement2: WeightTrader, TupleElement3: WeightTrader, TupleElement4: WeightTrader, TupleElement5: WeightTrader, TupleElement6: WeightTrader, TupleElement7: WeightTrader, TupleElement8: WeightTrader, TupleElement9: WeightTrader, TupleElement10: WeightTrader, TupleElement11: WeightTrader, TupleElement12: WeightTrader, TupleElement13: WeightTrader, TupleElement14: WeightTrader, TupleElement15: WeightTrader, TupleElement16: WeightTrader, TupleElement17: WeightTrader, TupleElement18: WeightTrader, TupleElement19: WeightTrader, TupleElement20: WeightTrader, TupleElement21: WeightTrader, TupleElement22: WeightTrader, TupleElement23: WeightTrader> WeightTrader for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23)

Source§

fn new() -> Self

Source§

fn buy_weight( &mut self, weight: Weight, payment: AssetsInHolding, context: &XcmContext, ) -> Result<AssetsInHolding, XcmError>

Source§

fn refund_weight( &mut self, weight: Weight, context: &XcmContext, ) -> Option<Asset>

Source§

impl<TupleElement0: WeightTrader, TupleElement1: WeightTrader, TupleElement2: WeightTrader, TupleElement3: WeightTrader, TupleElement4: WeightTrader, TupleElement5: WeightTrader, TupleElement6: WeightTrader, TupleElement7: WeightTrader, TupleElement8: WeightTrader, TupleElement9: WeightTrader, TupleElement10: WeightTrader, TupleElement11: WeightTrader, TupleElement12: WeightTrader, TupleElement13: WeightTrader, TupleElement14: WeightTrader, TupleElement15: WeightTrader, TupleElement16: WeightTrader, TupleElement17: WeightTrader, TupleElement18: WeightTrader, TupleElement19: WeightTrader, TupleElement20: WeightTrader, TupleElement21: WeightTrader, TupleElement22: WeightTrader, TupleElement23: WeightTrader, TupleElement24: WeightTrader> WeightTrader for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23, TupleElement24)

Source§

fn new() -> Self

Source§

fn buy_weight( &mut self, weight: Weight, payment: AssetsInHolding, context: &XcmContext, ) -> Result<AssetsInHolding, XcmError>

Source§

fn refund_weight( &mut self, weight: Weight, context: &XcmContext, ) -> Option<Asset>

Source§

impl<TupleElement0: WeightTrader, TupleElement1: WeightTrader, TupleElement2: WeightTrader, TupleElement3: WeightTrader, TupleElement4: WeightTrader, TupleElement5: WeightTrader, TupleElement6: WeightTrader, TupleElement7: WeightTrader, TupleElement8: WeightTrader, TupleElement9: WeightTrader, TupleElement10: WeightTrader, TupleElement11: WeightTrader, TupleElement12: WeightTrader, TupleElement13: WeightTrader, TupleElement14: WeightTrader, TupleElement15: WeightTrader, TupleElement16: WeightTrader, TupleElement17: WeightTrader, TupleElement18: WeightTrader, TupleElement19: WeightTrader, TupleElement20: WeightTrader, TupleElement21: WeightTrader, TupleElement22: WeightTrader, TupleElement23: WeightTrader, TupleElement24: WeightTrader, TupleElement25: WeightTrader> WeightTrader for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23, TupleElement24, TupleElement25)

Source§

fn new() -> Self

Source§

fn buy_weight( &mut self, weight: Weight, payment: AssetsInHolding, context: &XcmContext, ) -> Result<AssetsInHolding, XcmError>

Source§

fn refund_weight( &mut self, weight: Weight, context: &XcmContext, ) -> Option<Asset>

Source§

impl<TupleElement0: WeightTrader, TupleElement1: WeightTrader, TupleElement2: WeightTrader, TupleElement3: WeightTrader, TupleElement4: WeightTrader, TupleElement5: WeightTrader, TupleElement6: WeightTrader, TupleElement7: WeightTrader, TupleElement8: WeightTrader, TupleElement9: WeightTrader, TupleElement10: WeightTrader, TupleElement11: WeightTrader, TupleElement12: WeightTrader, TupleElement13: WeightTrader, TupleElement14: WeightTrader, TupleElement15: WeightTrader, TupleElement16: WeightTrader, TupleElement17: WeightTrader, TupleElement18: WeightTrader, TupleElement19: WeightTrader, TupleElement20: WeightTrader, TupleElement21: WeightTrader, TupleElement22: WeightTrader, TupleElement23: WeightTrader, TupleElement24: WeightTrader, TupleElement25: WeightTrader, TupleElement26: WeightTrader> WeightTrader for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23, TupleElement24, TupleElement25, TupleElement26)

Source§

fn new() -> Self

Source§

fn buy_weight( &mut self, weight: Weight, payment: AssetsInHolding, context: &XcmContext, ) -> Result<AssetsInHolding, XcmError>

Source§

fn refund_weight( &mut self, weight: Weight, context: &XcmContext, ) -> Option<Asset>

Source§

impl<TupleElement0: WeightTrader, TupleElement1: WeightTrader, TupleElement2: WeightTrader, TupleElement3: WeightTrader, TupleElement4: WeightTrader, TupleElement5: WeightTrader, TupleElement6: WeightTrader, TupleElement7: WeightTrader, TupleElement8: WeightTrader, TupleElement9: WeightTrader, TupleElement10: WeightTrader, TupleElement11: WeightTrader, TupleElement12: WeightTrader, TupleElement13: WeightTrader, TupleElement14: WeightTrader, TupleElement15: WeightTrader, TupleElement16: WeightTrader, TupleElement17: WeightTrader, TupleElement18: WeightTrader, TupleElement19: WeightTrader, TupleElement20: WeightTrader, TupleElement21: WeightTrader, TupleElement22: WeightTrader, TupleElement23: WeightTrader, TupleElement24: WeightTrader, TupleElement25: WeightTrader, TupleElement26: WeightTrader, TupleElement27: WeightTrader> WeightTrader for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23, TupleElement24, TupleElement25, TupleElement26, TupleElement27)

Source§

fn new() -> Self

Source§

fn buy_weight( &mut self, weight: Weight, payment: AssetsInHolding, context: &XcmContext, ) -> Result<AssetsInHolding, XcmError>

Source§

fn refund_weight( &mut self, weight: Weight, context: &XcmContext, ) -> Option<Asset>

Source§

impl<TupleElement0: WeightTrader, TupleElement1: WeightTrader, TupleElement2: WeightTrader, TupleElement3: WeightTrader, TupleElement4: WeightTrader, TupleElement5: WeightTrader, TupleElement6: WeightTrader, TupleElement7: WeightTrader, TupleElement8: WeightTrader, TupleElement9: WeightTrader, TupleElement10: WeightTrader, TupleElement11: WeightTrader, TupleElement12: WeightTrader, TupleElement13: WeightTrader, TupleElement14: WeightTrader, TupleElement15: WeightTrader, TupleElement16: WeightTrader, TupleElement17: WeightTrader, TupleElement18: WeightTrader, TupleElement19: WeightTrader, TupleElement20: WeightTrader, TupleElement21: WeightTrader, TupleElement22: WeightTrader, TupleElement23: WeightTrader, TupleElement24: WeightTrader, TupleElement25: WeightTrader, TupleElement26: WeightTrader, TupleElement27: WeightTrader, TupleElement28: WeightTrader> WeightTrader for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23, TupleElement24, TupleElement25, TupleElement26, TupleElement27, TupleElement28)

Source§

fn new() -> Self

Source§

fn buy_weight( &mut self, weight: Weight, payment: AssetsInHolding, context: &XcmContext, ) -> Result<AssetsInHolding, XcmError>

Source§

fn refund_weight( &mut self, weight: Weight, context: &XcmContext, ) -> Option<Asset>

Source§

impl<TupleElement0: WeightTrader, TupleElement1: WeightTrader, TupleElement2: WeightTrader, TupleElement3: WeightTrader, TupleElement4: WeightTrader, TupleElement5: WeightTrader, TupleElement6: WeightTrader, TupleElement7: WeightTrader, TupleElement8: WeightTrader, TupleElement9: WeightTrader, TupleElement10: WeightTrader, TupleElement11: WeightTrader, TupleElement12: WeightTrader, TupleElement13: WeightTrader, TupleElement14: WeightTrader, TupleElement15: WeightTrader, TupleElement16: WeightTrader, TupleElement17: WeightTrader, TupleElement18: WeightTrader, TupleElement19: WeightTrader, TupleElement20: WeightTrader, TupleElement21: WeightTrader, TupleElement22: WeightTrader, TupleElement23: WeightTrader, TupleElement24: WeightTrader, TupleElement25: WeightTrader, TupleElement26: WeightTrader, TupleElement27: WeightTrader, TupleElement28: WeightTrader, TupleElement29: WeightTrader> WeightTrader for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23, TupleElement24, TupleElement25, TupleElement26, TupleElement27, TupleElement28, TupleElement29)

Source§

fn new() -> Self

Source§

fn buy_weight( &mut self, weight: Weight, payment: AssetsInHolding, context: &XcmContext, ) -> Result<AssetsInHolding, XcmError>

Source§

fn refund_weight( &mut self, weight: Weight, context: &XcmContext, ) -> Option<Asset>

Implementors§

impl<AccountId: Eq, FeeCharger: ChargeWeightInFungibles<AccountId, ConcreteAssets>, Matcher: MatchesFungibles<ConcreteAssets::AssetId, ConcreteAssets::Balance>, ConcreteAssets: Mutate<AccountId> + Balanced<AccountId>, HandleRefund: TakeRevenue> WeightTrader for TakeFirstAssetTrader<AccountId, FeeCharger, Matcher, ConcreteAssets, HandleRefund>

impl<Target: Get<Fungibles::AssetId>, SwapCredit: SwapCreditT<AccountId, Balance = Fungibles::Balance, AssetKind = Fungibles::AssetId, Credit = Credit<AccountId, Fungibles>>, WeightToFee: WeightToFeeT<Balance = Fungibles::Balance>, Fungibles: Balanced<AccountId>, FungiblesAssetMatcher: MatchesFungibles<Fungibles::AssetId, Fungibles::Balance>, OnUnbalanced: OnUnbalancedT<Credit<AccountId, Fungibles>>, AccountId> WeightTrader for SwapFirstAssetTrader<Target, SwapCredit, WeightToFee, Fungibles, FungiblesAssetMatcher, OnUnbalanced, AccountId>
where Fungibles::Balance: Into<u128>,

impl<T: Get<(AssetId, u128, u128)>, R: TakeRevenue> WeightTrader for FixedRateOfFungible<T, R>

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>