I believe ValidateSerializedTxn should be returning (or at least
wrapping) types.RlpTooBig instead of creating a new error when the
transaction exceeds max size, since this is the error the txpool
actually checks for:
61706714c3/txpool/txpool_grpc_server.go (L204)
Before this change the ImportResult for an oversized tx would be
INTERNAL_ERROR; after this change it will be INVALID, which seems more
appropriate.
Co-authored-by: Alex Sharov <AskAlexSharov@gmail.com>
shanghai changes to txpool.
intrinsic gas updated to match the new version in Erigon.
unsure if the `isShanghai` check is robust enough or there would be a
better way to approach this.
as we're now visiting the txpool multiple times during mining we need a
way to ensure we're not trying to include the same transactions twice
and to only get new data each time. This seems a simple way to achieve
this, but if there would be a better way let me know.