feat: add #[serde(default)] to accessList field in TxEip4844 #2477
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.
Motivation
When deserializing EIP-4844 transactions, the
accessList
field may be missing from some sources or networks. Without a default, deserialization fails if the field is absent, even though an empty access list is a valid default per the spec. This causes compatibility issues, especially when working with networks or tooling that omit this field.Solution
This PR adds
#[serde(default)]
to theaccessList
field in theTxEip4844
struct. This ensures that if the field is missing during deserialization, it will default to an empty access list, improving compatibility and robustness. No breaking changes are introduced, and this aligns with how similar fields are handled in other transaction types.You can copy and paste this into your PR description. If you want to check the box for tests or documentation, you can do so as appropriate for your changes. Let me know if you want to add more details or context!
PR Checklist