feat(blobs): Limit blob txs to ones with full network representation #39
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.
📝 Summary
This is an alternative to the
no-fwd-blobs
branch that filters blobs depending on whether or not they have theBlobTxSidecar
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.Notably the "full"
newPendingTransactions
subscription from Alchemy and Quiknode returns the incomplete blob. This is probably an upstreamgeth
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 bloblessTransactionPayload
format used in block bodies.📚 References
✅ I have run these commands
make lint
make test
go mod tidy