referrerpolicy=no-referrer-when-downgrade

Trait DenyExecution

Source
pub trait DenyExecution {
    // Required method
    fn deny_execution<RuntimeCall>(
        origin: &Location,
        instructions: &mut [Instruction<RuntimeCall>],
        max_weight: Weight,
        properties: &mut Properties,
    ) -> Result<(), ProcessMessageError>;
}
Expand description

Trait to determine whether the execution engine should not execute a given XCM.

Can be amalgamated into a tuple to have multiple traits. If any of the tuple elements returns Err(ProcessMessageError), the execution stops. Else, Ok(()) is returned if all elements accept the message.

Required Methods§

Source

fn deny_execution<RuntimeCall>( origin: &Location, instructions: &mut [Instruction<RuntimeCall>], max_weight: Weight, properties: &mut Properties, ) -> Result<(), ProcessMessageError>

Returns Ok(()) if there is no reason to deny execution, while Err(ProcessMessageError) indicates there is a reason to deny execution.

  • origin: The origin (sender) of the message.
  • instructions: The message itself.
  • max_weight: The (possibly over-) estimation of the weight of execution of the message.
  • properties: Various pre-established properties of the message which may be mutated by this API.

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.

Implementations on Foreign Types§

Source§

impl DenyExecution for ()

Source§

fn deny_execution<RuntimeCall>( origin: &Location, instructions: &mut [Instruction<RuntimeCall>], max_weight: Weight, properties: &mut Properties, ) -> Result<(), ProcessMessageError>

Source§

impl<TupleElement0: DenyExecution> DenyExecution for (TupleElement0,)

Source§

fn deny_execution<RuntimeCall>( origin: &Location, instructions: &mut [Instruction<RuntimeCall>], max_weight: Weight, properties: &mut Properties, ) -> Result<(), ProcessMessageError>

Source§

impl<TupleElement0: DenyExecution, TupleElement1: DenyExecution> DenyExecution for (TupleElement0, TupleElement1)

Source§

fn deny_execution<RuntimeCall>( origin: &Location, instructions: &mut [Instruction<RuntimeCall>], max_weight: Weight, properties: &mut Properties, ) -> Result<(), ProcessMessageError>

Source§

impl<TupleElement0: DenyExecution, TupleElement1: DenyExecution, TupleElement2: DenyExecution> DenyExecution for (TupleElement0, TupleElement1, TupleElement2)

Source§

fn deny_execution<RuntimeCall>( origin: &Location, instructions: &mut [Instruction<RuntimeCall>], max_weight: Weight, properties: &mut Properties, ) -> Result<(), ProcessMessageError>

Source§

impl<TupleElement0: DenyExecution, TupleElement1: DenyExecution, TupleElement2: DenyExecution, TupleElement3: DenyExecution> DenyExecution for (TupleElement0, TupleElement1, TupleElement2, TupleElement3)

Source§

fn deny_execution<RuntimeCall>( origin: &Location, instructions: &mut [Instruction<RuntimeCall>], max_weight: Weight, properties: &mut Properties, ) -> Result<(), ProcessMessageError>

Source§

impl<TupleElement0: DenyExecution, TupleElement1: DenyExecution, TupleElement2: DenyExecution, TupleElement3: DenyExecution, TupleElement4: DenyExecution> DenyExecution for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4)

Source§

fn deny_execution<RuntimeCall>( origin: &Location, instructions: &mut [Instruction<RuntimeCall>], max_weight: Weight, properties: &mut Properties, ) -> Result<(), ProcessMessageError>

Source§

impl<TupleElement0: DenyExecution, TupleElement1: DenyExecution, TupleElement2: DenyExecution, TupleElement3: DenyExecution, TupleElement4: DenyExecution, TupleElement5: DenyExecution> DenyExecution for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5)

Source§

fn deny_execution<RuntimeCall>( origin: &Location, instructions: &mut [Instruction<RuntimeCall>], max_weight: Weight, properties: &mut Properties, ) -> Result<(), ProcessMessageError>

Source§

impl<TupleElement0: DenyExecution, TupleElement1: DenyExecution, TupleElement2: DenyExecution, TupleElement3: DenyExecution, TupleElement4: DenyExecution, TupleElement5: DenyExecution, TupleElement6: DenyExecution> DenyExecution for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6)

Source§

fn deny_execution<RuntimeCall>( origin: &Location, instructions: &mut [Instruction<RuntimeCall>], max_weight: Weight, properties: &mut Properties, ) -> Result<(), ProcessMessageError>

Source§

impl<TupleElement0: DenyExecution, TupleElement1: DenyExecution, TupleElement2: DenyExecution, TupleElement3: DenyExecution, TupleElement4: DenyExecution, TupleElement5: DenyExecution, TupleElement6: DenyExecution, TupleElement7: DenyExecution> DenyExecution for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7)

Source§

fn deny_execution<RuntimeCall>( origin: &Location, instructions: &mut [Instruction<RuntimeCall>], max_weight: Weight, properties: &mut Properties, ) -> Result<(), ProcessMessageError>

Source§

impl<TupleElement0: DenyExecution, TupleElement1: DenyExecution, TupleElement2: DenyExecution, TupleElement3: DenyExecution, TupleElement4: DenyExecution, TupleElement5: DenyExecution, TupleElement6: DenyExecution, TupleElement7: DenyExecution, TupleElement8: DenyExecution> DenyExecution for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8)

Source§

fn deny_execution<RuntimeCall>( origin: &Location, instructions: &mut [Instruction<RuntimeCall>], max_weight: Weight, properties: &mut Properties, ) -> Result<(), ProcessMessageError>

Source§

impl<TupleElement0: DenyExecution, TupleElement1: DenyExecution, TupleElement2: DenyExecution, TupleElement3: DenyExecution, TupleElement4: DenyExecution, TupleElement5: DenyExecution, TupleElement6: DenyExecution, TupleElement7: DenyExecution, TupleElement8: DenyExecution, TupleElement9: DenyExecution> DenyExecution for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9)

Source§

fn deny_execution<RuntimeCall>( origin: &Location, instructions: &mut [Instruction<RuntimeCall>], max_weight: Weight, properties: &mut Properties, ) -> Result<(), ProcessMessageError>

Implementors§