pub trait VersionChangeNotifier {
    // Required methods
    fn start(
        location: &MultiLocation,
        query_id: QueryId,
        max_weight: Weight,
        context: &XcmContext
    ) -> XcmResult;
    fn stop(location: &MultiLocation, context: &XcmContext) -> XcmResult;
    fn is_subscribed(location: &MultiLocation) -> bool;
}
Expand description

Trait for a type which handles notifying a destination of XCM version changes.

Required Methods§

source

fn start( location: &MultiLocation, query_id: QueryId, max_weight: Weight, context: &XcmContext ) -> XcmResult

Start notifying location should the XCM version of this chain change.

When it does, this type should ensure a QueryResponse message is sent with the given query_id & max_weight and with a response of Response::Version. This should happen until/unless stop is called with the correct query_id.

If the location has an ongoing notification and when this function is called, then an error should be returned.

source

fn stop(location: &MultiLocation, context: &XcmContext) -> XcmResult

Stop notifying location should the XCM change. Returns an error if there is no existing notification set up.

source

fn is_subscribed(location: &MultiLocation) -> bool

Return true if a location is subscribed to XCM version changes.

Implementations on Foreign Types§

source§

impl VersionChangeNotifier for ()

Implementors§