Feature - Stricter ABI and runtime constraints#7113
Merged
Lichtso merged 5 commits intoanza-xyz:masterfrom Aug 5, 2025
Merged
Conversation
|
The Firedancer team maintains a line-for-line reimplementation of the |
36ebb8a to
7a1bb37
Compare
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #7113 +/- ##
========================================
Coverage 82.8% 82.8%
========================================
Files 801 801
Lines 363392 363579 +187
========================================
+ Hits 300960 301119 +159
- Misses 62432 62460 +28 🚀 New features to boost your workflow:
|
7a1bb37 to
0b635ec
Compare
LucasSte
reviewed
Aug 1, 2025
0b635ec to
6e84f6b
Compare
6e84f6b to
fff7be9
Compare
LucasSte
approved these changes
Aug 5, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
It has been tricky to fuzz account data direct mapping because it comes with a lot of observable behavior changes which lead to expected divergence. However, telling expected and unexpected divergence apart has been problematic, especially as some unexpected divergence was declared to be expected by mistake.
Summary of Changes
All the observable behavior changes as specified in SIMD-0219 are moved into a feature gate called
stricter_abi_and_runtime_constraints. The serialization vs mapping is toggled by a separate flag calledaccount_data_direct_mapping. Meaning there are now three code paths:stricter_abi_and_runtime_constraintsOFF, (account_data_direct_mappingis ignored) in which only the old checks apply, account data is de/serialized and comparedstricter_abi_and_runtime_constraintsON, butaccount_data_direct_mappingOFF in which both old and new checks apply, account data is de/serializedstricter_abi_and_runtime_constraintsON, andaccount_data_direct_mappingON in which only the new checks apply, account data is mappedFeature Gate Issue: #16