Trait xcm_executor::traits::WeightTrader[][src]

pub trait WeightTrader: Sized {
    fn new() -> Self;
fn buy_weight(
        &mut self,
        weight: Weight,
        payment: Assets
    ) -> Result<Assets, XcmError>; fn refund_weight(&mut self, _weight: Weight) -> 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

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.

Provided methods

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

Implementors