pub trait MessagesBridge<Payload, LaneId> {
type Error: Debug;
type SendMessageArgs;
// Required methods
fn validate_message(
lane: LaneId,
message: &Payload,
) -> Result<Self::SendMessageArgs, Self::Error>;
fn send_message(message: Self::SendMessageArgs) -> SendMessageArtifacts;
}
Expand description
Messages bridge API to be used from other pallets.
Required Associated Types§
Sourcetype SendMessageArgs
type SendMessageArgs
Intermediary structure returned by validate_message()
.
It can than be passed to send_message()
in order to actually send the message
on the bridge.
Required Methods§
Sourcefn validate_message(
lane: LaneId,
message: &Payload,
) -> Result<Self::SendMessageArgs, Self::Error>
fn validate_message( lane: LaneId, message: &Payload, ) -> Result<Self::SendMessageArgs, Self::Error>
Check if the message can be sent over the bridge.
Sourcefn send_message(message: Self::SendMessageArgs) -> SendMessageArtifacts
fn send_message(message: Self::SendMessageArgs) -> SendMessageArtifacts
Send message over the bridge.
Returns unique message nonce or error if send has failed.
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.