Skip to content

Make synthesis limit tracking robust against function calls - #3344

Open
vicsn wants to merge 2 commits into
stagingfrom
fix_synthesis_limit_tracking
Open

Make synthesis limit tracking robust against function calls#3344
vicsn wants to merge 2 commits into
stagingfrom
fix_synthesis_limit_tracking

Conversation

@vicsn

@vicsn vicsn commented Jul 30, 2026

Copy link
Copy Markdown
Collaborator

Motivation

Our synthesis limit tracking was not robust in the presence of function calls (which reset limits).

Test Plan

Appropriate unit tests were added.

Backwards compatibility

This PR changes transaction validity and should therefore technically be ConsensusVersion guarded. However, the change lives deep in the VM logic which is supposed to be stateless, which makes this quite hard to do.[1] Fortunately, only explicitly maliciously crafted transactions become invalid, which has a low probability of happening in practice at the moment so IMO we can forego this effort.

[1] In fn verify_deployment, we would have to set artifically high synthesis limits, and then build out a new execute pipeline to perform a synthesis limit check just until the first function call.

@vicsn
vicsn requested review from Antonio95 and mohammadfawaz July 30, 2026 11:51
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