eth/protocols/eth: Handle CeloDynamicFeeTxV2 receipts with BaseFee #456
+72
−0
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.
celo-rebase-15 introduced eth/69 support, so we need this to make syncing work.
The eth/69 implementation added a new Receipt struct in eth/protocols/eth/receipt.go for network protocol encoding/decoding. This struct was missing support for CeloDynamicFeeTxV2 (CIP-64) receipts which include an extra BaseFee field.
When receiving receipts from peers running older versions that encode receipts using types.Receipt (which includes BaseFee for CeloDynamicFeeTxV2Type), the decoding would fail with "rlp: call of ListEnd not positioned at EOL" because the BaseFee field was not being consumed.
The base fee in the receipts is optional because we only added it during the L2 migration.