pub trait Config: Config {
    type AdminOrigin: EnsureOrigin<Self::RuntimeOrigin>;
    type RuntimeEvent: From<Event<Self>> + IsType<<Self as Config>::RuntimeEvent>;
    type Message: LpMessageForwarded<Domain = Domain> + Clone + Debug + PartialEq + Eq + MaxEncodedLen + TypeInfo + FullCodec;
    type MessageSender: MessageSender<Middleware = Self::RouterId, Origin = DomainAddress, Message = Self::Message>;
    type MessageReceiver: MessageReceiver<Middleware = Self::RouterId, Origin = DomainAddress, Message = Self::Message>;
    type RouterId: Parameter + MaxEncodedLen;
}
Expand description

Configuration trait of this pallet.

The main purpose of this trait is to act as an interface between this pallet and the runtime in which it is embedded in. A type, function, or constant in this trait is essentially left to be configured by the runtime that includes this pallet.

Consequently, a runtime that wants to include this pallet must implement this trait.

Required Associated Types§

source

type AdminOrigin: EnsureOrigin<Self::RuntimeOrigin>

Required origin for configuring domain forwarding.

source

type RuntimeEvent: From<Event<Self>> + IsType<<Self as Config>::RuntimeEvent>

The event type.

source

type Message: LpMessageForwarded<Domain = Domain> + Clone + Debug + PartialEq + Eq + MaxEncodedLen + TypeInfo + FullCodec

The Liquidity Pools message type.

source

type MessageSender: MessageSender<Middleware = Self::RouterId, Origin = DomainAddress, Message = Self::Message>

The entity of the messages coming from this chain.

source

type MessageReceiver: MessageReceiver<Middleware = Self::RouterId, Origin = DomainAddress, Message = Self::Message>

The entity which acts on unwrapped messages.

source

type RouterId: Parameter + MaxEncodedLen

An identification of a router.

Object Safety§

This trait is not object safe.

Implementors§