Skip to content

rpc: bound transaction decoding in trace_rawTransaction #24320

Description

@yperbasis

trace_rawTransaction calls types.DecodeWrappedTransaction(encodedTx) before any method-specific size or allocation bound. Large authorization lists can therefore be materialized before tracing starts. See TraceAPIImpl.RawTransaction.

This is a separate follow-up to #24315, which protects transaction submission. The trace namespace must be enabled explicitly. The 128 KiB limit used by transaction submission is txpool admission policy; tracing needs its own documented bound because it does not submit the transaction to the pool.

Suggested scope:

  • Choose a tracing-specific size or allocation bound and enforce it before decoding.
  • Add a regression test for a large authorization list, with a control that reaches tracing within the chosen bound.
  • Cover canonical and RLP-enveloped inputs, and check compatibility with transactions above the txpool admission limit.

Verified by source inspection. A new end-to-end OOM reproduction has not been run for the tracing method.

Activity

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

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions