pub trait BridgeRuntimeFilterCall<Call> {
// Required method
fn validate(call: &Call) -> TransactionValidity;
}
Expand description
A duplication of the FilterCall
trait.
We need this trait in order to be able to implement it for the messages pallet, since the implementation is done outside of the pallet crate.
Required Methods§
sourcefn validate(call: &Call) -> TransactionValidity
fn validate(call: &Call) -> TransactionValidity
Checks if a runtime call is valid.
Implementations on Foreign Types§
source§impl<T, I: 'static> BridgeRuntimeFilterCall<<T as Config>::RuntimeCall> for Pallet<T, I>where
T: Config<I>,
T::RuntimeCall: ParachainsCallSubtype<T, I>,
impl<T, I: 'static> BridgeRuntimeFilterCall<<T as Config>::RuntimeCall> for Pallet<T, I>where T: Config<I>, T::RuntimeCall: ParachainsCallSubtype<T, I>,
fn validate(call: &T::RuntimeCall) -> TransactionValidity
source§impl<T: Config<I>, I: 'static> BridgeRuntimeFilterCall<<T as Config>::RuntimeCall> for Pallet<T, I>where
T::RuntimeCall: MessagesCallSubType<T, I>,
impl<T: Config<I>, I: 'static> BridgeRuntimeFilterCall<<T as Config>::RuntimeCall> for Pallet<T, I>where T::RuntimeCall: MessagesCallSubType<T, I>,
source§fn validate(call: &T::RuntimeCall) -> TransactionValidity
fn validate(call: &T::RuntimeCall) -> TransactionValidity
Validate messages in order to avoid “mining” messages delivery and delivery confirmation transactions, that are delivering outdated messages/confirmations. Without this validation, even honest relayers may lose their funds if there are multiple relays running and submitting the same messages/confirmations.