mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-30 15:11:02 +00:00
[XCM] Treat recursion limit error as transient in the MQ (#4202)
Changes: - Add new error variant `ProcessMessageError::StackLimitReached` and treat XCM error `ExceedsStackLimit` as such. --------- Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> Co-authored-by: Branislav Kontur <bkontur@gmail.com>
This commit is contained in:
committed by
GitHub
parent
b801d001e8
commit
0770417880
@@ -46,6 +46,8 @@ pub enum ProcessMessageError {
|
||||
/// the case that a queue is re-serviced within the same block after *yielding*. A queue is
|
||||
/// not required to *yield* again when it is being re-serviced withing the same block.
|
||||
Yield,
|
||||
/// The message could not be processed for reaching the stack depth limit.
|
||||
StackLimitReached,
|
||||
}
|
||||
|
||||
/// Can process messages from a specific origin.
|
||||
@@ -96,6 +98,8 @@ pub trait ServiceQueues {
|
||||
/// - `weight_limit`: The maximum amount of dynamic weight that this call can use.
|
||||
///
|
||||
/// Returns the dynamic weight used by this call; is never greater than `weight_limit`.
|
||||
/// Should only be called in top-level runtime entry points like `on_initialize` or `on_idle`.
|
||||
/// Otherwise, stack depth limit errors may be miss-handled.
|
||||
fn service_queues(weight_limit: Weight) -> Weight;
|
||||
|
||||
/// Executes a message that could not be executed by [`Self::service_queues()`] because it was
|
||||
|
||||
Reference in New Issue
Block a user