pub trait MessageLane:
'static
+ Clone
+ Send
+ Sync {
type LaneId: Clone + Send + Sync + Labeled;
type MessagesProof: Clone + Debug + Send + Sync;
type MessagesReceivingProof: Clone + Debug + Send + Sync;
type SourceChainBalance: AtLeast32BitUnsigned + Clone + Copy + Debug + PartialOrd + Sub<Output = Self::SourceChainBalance> + SaturatingAdd + Zero + Send + Sync;
type SourceHeaderNumber: BlockNumberBase;
type SourceHeaderHash: Clone + Debug + Default + PartialEq + Send + Sync;
type TargetHeaderNumber: BlockNumberBase;
type TargetHeaderHash: Clone + Debug + Default + PartialEq + Send + Sync;
const SOURCE_NAME: &'static str;
const TARGET_NAME: &'static str;
}
Expand description
One-way message lane.
Required Associated Constants§
Sourceconst SOURCE_NAME: &'static str
const SOURCE_NAME: &'static str
Name of the messages source.
Sourceconst TARGET_NAME: &'static str
const TARGET_NAME: &'static str
Name of the messages target.
Required Associated Types§
Sourcetype SourceChainBalance: AtLeast32BitUnsigned + Clone + Copy + Debug + PartialOrd + Sub<Output = Self::SourceChainBalance> + SaturatingAdd + Zero + Send + Sync
type SourceChainBalance: AtLeast32BitUnsigned + Clone + Copy + Debug + PartialOrd + Sub<Output = Self::SourceChainBalance> + SaturatingAdd + Zero + Send + Sync
The type of the source chain token balance, that is used to:
- pay transaction fees;
- pay message delivery and dispatch fee;
- pay relayer rewards.
Sourcetype SourceHeaderNumber: BlockNumberBase
type SourceHeaderNumber: BlockNumberBase
Number of the source header.
Sourcetype SourceHeaderHash: Clone + Debug + Default + PartialEq + Send + Sync
type SourceHeaderHash: Clone + Debug + Default + PartialEq + Send + Sync
Hash of the source header.
Sourcetype TargetHeaderNumber: BlockNumberBase
type TargetHeaderNumber: BlockNumberBase
Number of the target header.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.