stacks-network / stacks-network/stacks-core
block replay RPC: expose `problematic_skipped` on replayed transactions
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)(aResponseError)post_condition_aborted=falseevents=[]
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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