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

    // Provided method
    fn refund_weight(
        &mut self,
        _weight: Weight,
        _context: &XcmContext
    ) -> Option<MultiAsset> { ... }
}
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: Assets, context: &XcmContext ) -> Result<Assets, 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<MultiAsset>

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.

Implementations on Foreign Types§

source§

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

source§

fn new() -> Self

source§

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

source§

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

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: Assets, context: &XcmContext ) -> Result<Assets, XcmError>

source§

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

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: Assets, context: &XcmContext ) -> Result<Assets, XcmError>

source§

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

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: Assets, context: &XcmContext ) -> Result<Assets, XcmError>

source§

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

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: Assets, context: &XcmContext ) -> Result<Assets, XcmError>

source§

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

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: Assets, context: &XcmContext ) -> Result<Assets, XcmError>

source§

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

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: Assets, context: &XcmContext ) -> Result<Assets, XcmError>

source§

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

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: Assets, context: &XcmContext ) -> Result<Assets, XcmError>

source§

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

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: Assets, context: &XcmContext ) -> Result<Assets, XcmError>

source§

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

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: Assets, context: &XcmContext ) -> Result<Assets, XcmError>

source§

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

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: Assets, context: &XcmContext ) -> Result<Assets, XcmError>

source§

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

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: Assets, context: &XcmContext ) -> Result<Assets, XcmError>

source§

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

source§

impl WeightTrader for ()

source§

fn new() -> Self

source§

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

source§

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

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: Assets, context: &XcmContext ) -> Result<Assets, XcmError>

source§

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

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: Assets, context: &XcmContext ) -> Result<Assets, XcmError>

source§

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

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: Assets, context: &XcmContext ) -> Result<Assets, XcmError>

source§

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

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: Assets, context: &XcmContext ) -> Result<Assets, XcmError>

source§

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

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: Assets, context: &XcmContext ) -> Result<Assets, XcmError>

source§

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

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: Assets, context: &XcmContext ) -> Result<Assets, XcmError>

source§

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

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: Assets, context: &XcmContext ) -> Result<Assets, XcmError>

source§

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

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: Assets, context: &XcmContext ) -> Result<Assets, XcmError>

source§

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

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: Assets, context: &XcmContext ) -> Result<Assets, XcmError>

source§

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

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: Assets, context: &XcmContext ) -> Result<Assets, XcmError>

source§

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

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: Assets, context: &XcmContext ) -> Result<Assets, XcmError>

source§

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

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: Assets, context: &XcmContext ) -> Result<Assets, XcmError>

source§

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

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: Assets, context: &XcmContext ) -> Result<Assets, XcmError>

source§

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

source§

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

source§

fn new() -> Self

source§

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

source§

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

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: Assets, context: &XcmContext ) -> Result<Assets, XcmError>

source§

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

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: Assets, context: &XcmContext ) -> Result<Assets, XcmError>

source§

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

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: Assets, context: &XcmContext ) -> Result<Assets, XcmError>

source§

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

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: Assets, context: &XcmContext ) -> Result<Assets, XcmError>

source§

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

Implementors§