Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(blobs): Limit blob txs to ones with full network representation #39

Merged
merged 1 commit into from
Jun 24, 2024

Conversation

ryanschneider
Copy link
Contributor

📝 Summary

This is an alternative to the no-fwd-blobs branch that filters blobs depending on whether or not they have the BlobTxSidecar available. If the sidecar is available then the blob is in the correct network representation form and can be collected and forwarded, otherwise the blob data is incomplete and shouldn't be forwarded.

2024-06-21T09:17:06.111-0700	DEBUG	processTx	{"tx_hash": "0x82161fd324f41f29fa8fdf0720938b946b37ea7f6fa051f74305dbd384ed624d", "source": "alchemy"}
2024-06-21T09:17:06.112-0700	DEBUG	error: invalid blob transaction	{"tx_hash": "0x82161fd324f41f29fa8fdf0720938b946b37ea7f6fa051f74305dbd384ed624d", "source": "alchemy", "reason": "missing blob sidecar"}

Notably the "full" newPendingTransactions subscription from Alchemy and Quiknode returns the incomplete blob. This is probably an upstream geth bug I'll see if it's possible for the subscription to contain the sidecar.

I haven't been able to test other node sources, but hopefully they return the full network representation.

⛱ Motivation and Context

Blobs come in two forms, there's the PoolTransactions network representation used in the mempool, and the blobless TransactionPayload format used in block bodies.

📚 References


✅ I have run these commands

  • make lint
  • make test
  • go mod tidy

@ryanschneider ryanschneider requested a review from metachris June 21, 2024 16:38
Copy link
Contributor

@metachris metachris left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks!

@metachris metachris merged commit 6167658 into main Jun 24, 2024
2 checks passed
@metachris metachris deleted the filter-invalid-blobs branch June 24, 2024 06:57
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.

2 participants