stacks-network / stacks-network/stacks-core

block replay RPC: expose `problematic_skipped` on replayed transactions

Open
#7,465 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
3.1k
Forks
762
Avg merge
4d 6h
Merged PRs (30d)
76

Description

The replay endpoint should expose the problematic_skipped receipt field in the block replay RPC response (RPCReplayedBlockTransaction) so downstream consumers can distinguish Epoch 4.0 problematic-skipped transactions from ordinary aborted transactions.

Consumers that derive transaction status from replay output (e.g. the Stacks Mesh API) currently classify a transaction by decoding result_hex and checking post_condition_aborted. A problematic-skipped transaction replays as:

  • result_hex = (err none) (a ResponseError)
  • post_condition_aborted = false
  • events = []

which is indistinguishable from a genuine abort_by_response transaction whose result happens to be (err none). There is no heuristic that can safely tell these apart, so skipped transactions get mislabeled as aborted.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Search for the RPCReplayedBlockTransaction definition and the block replay RPC response construction. Trace how problematic_skipped is represented in replayed transaction receipts, then expose that field so consumers can distinguish skipped transactions from ordinary aborted transactions. Verify the response still reports result_hex, post_condition_aborted, and events consistently.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
api, blockchain
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
64/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.