Skip to content

test(tempo): fuzz transaction serialization - #4977

Draft
brendanjryan wants to merge 4 commits into
wevm:mainfrom
brendanjryan:brendanjryan/tempo-transaction-codec-fuzz
Draft

test(tempo): fuzz transaction serialization#4977
brendanjryan wants to merge 4 commits into
wevm:mainfrom
brendanjryan:brendanjryan/tempo-transaction-codec-fuzz

Conversation

@brendanjryan

Copy link
Copy Markdown
Collaborator

Motivation

Tempo transaction envelopes combine nested calls, configurable fees, access lists, parallel nonces, validity windows, and multiple token representations. Example-based cases cover individual shapes but do not exercise their cross-product or canonical encoding behavior. This change is stacked on #4974.

Summary

  • add fast-check generators for canonical Tempo transaction envelopes
  • compare viem serialization byte-for-byte with the ox reference codec
  • verify serialize-deserialize-serialize stability across generated envelopes
  • reject generated 0x76 and 0x78 envelopes with invalid RLP field counts
  • include transaction envelopes in the Tempo fuzzing runbook

Key design considerations

  • keep codec properties pure and deterministic for high CI iteration counts
  • generate only protocol-valid cross-field combinations so shrinking preserves useful failures
  • cover boundary values including zero and maximum-width integer fields

@changeset-bot

changeset-bot Bot commented Aug 6, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: ea738bc

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@vercel

vercel Bot commented Aug 6, 2026

Copy link
Copy Markdown

@brendanjryan is attempting to deploy a commit to the Wevm Team on Vercel.

A member of the Team first needs to authorize it.

@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Added@​fast-check/​vitest@​0.4.110010010086100
Addedprool@​0.2.148810010095100
Addedfast-check@​4.9.010010010089100

View full report

@pkg-pr-new

pkg-pr-new Bot commented Aug 6, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/viem@4977

commit: ea738bc

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant