Skip to content

fix(fuzz): preserve stateless transactions - #15814

Merged
mablr merged 2 commits into
masterfrom
steven/fix-stateless-transactions
Jul 23, 2026
Merged

fix(fuzz): preserve stateless transactions#15814
mablr merged 2 commits into
masterfrom
steven/fix-stateless-transactions

Conversation

@stevencartavia

Copy link
Copy Markdown
Member

Stateless fuzzing generates complete transactions but previously discarded everything except calldata. This meant values such as msg.value were not preserved consistently across execution, corpus storage, counterexamples, and replay.

This PR carries a complete BasicTxDetails through the stateless fuzzing path. It also keeps existing failure artifacts replayable.

This is PR 1 because a shared transaction representation is the foundation for unifying stateless and invariant fuzzing around sequences. Follow-up PRs will unify transaction generation and dictionaries, sequence generation and mutation, and finally the execution campaign. Those architectural changes are intentionally out of scope here.

Part of OSS-252

@mablr mablr left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@mattsse mattsse left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@mablr
mablr merged commit fa181c8 into master Jul 23, 2026
20 checks passed
@github-project-automation github-project-automation Bot moved this to Done in Foundry Jul 23, 2026
@mablr
mablr deleted the steven/fix-stateless-transactions branch July 23, 2026 15:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants