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.
Create a new trader instance.
Purchase execution weight credit in return for up to a given fee
. If less of the fee is required
then the surplus is returned. If the fee
cannot be used to pay for the weight
, then an error is
returned.
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.
impl<TupleElement0: WeightTrader, TupleElement1: WeightTrader, TupleElement2: WeightTrader, TupleElement3: WeightTrader, TupleElement4: WeightTrader, TupleElement5: WeightTrader> WeightTrader for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5)
impl<TupleElement0: WeightTrader, TupleElement1: WeightTrader, TupleElement2: WeightTrader, TupleElement3: WeightTrader, TupleElement4: WeightTrader, TupleElement5: WeightTrader, TupleElement6: WeightTrader> WeightTrader for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)