Skip to content

Conversation

@ap211unitech
Copy link
Contributor

📝 Description

This PR improves how nested extrinsics are evaluated by accurately determining the actual execution result of wrapped and batched calls.

In Substrate, wrapper extrinsics (such as Utility::batch*, Proxy::*, Multisig::*, and Sudo::*) may succeed at the outer level while the real success or failure is determined by their inner calls. This change introduces proper detection and traversal of such nested calls to derive the correct success value.

What this PR does

  • Identifies wrapper / batch extrinsics that delegate execution to inner calls
  • Recursively inspects nested calls to extract the true dispatch result
  • Correctly differentiates between successful and failed inner extrinsics
  • Aligns indexed success semantics with actual runtime behavior

Why this matters

Without this logic, wrapped extrinsics could be incorrectly marked as successful even when an inner call fails. This fix ensures accurate indexing, analytics, and downstream consumers that rely on correct extrinsic success status.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

1 participant