Skip to content

Conversation

@karlb
Copy link

@karlb karlb commented Jan 13, 2026

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.

@karlb karlb marked this pull request as ready for review January 13, 2026 15:23
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.
@karlb karlb force-pushed the karlb/eth69-support branch from fdfa5c9 to 72c0151 Compare January 19, 2026 09:53
@palango palango added this to the Jovian milestone Jan 19, 2026
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.

3 participants