Skip to content

Separate PooledTransactionElement into variants #4238

Closed

Description

Describe the feature

With the introduction of EIP-4844, signed transactions must have a blob sidecar when obtained from the network. Decoding EIP-4844 transactions should then require that a blob sidecar is present. Currently, PooledTransactionElement may include a 4844 variant (part of its Transaction/TransactionSigned variant) that does not have a sidecar.

pub enum PooledTransactionElement {
    /// Legacy transaction variant
    Legacy {
        /// The inner transaction data
        transaction: TxLegacy,
        /// The hash
        hash: TxHash,
        /// The signature
        signature: Signature
    },
    /// EIP-2930 transaction variant
    Eip2930 {
        /// The inner transaction data
        transaction: TxEip2930,
        /// The hash
        hash: TxHash,
        /// The signature
        signature: Signature,
    },
    /// EIP-1559 transaction variant
    Eip1559 {
        /// The inner transaction data
        transaction: TxEip1559,
        /// The hash
        hash: TxHash,
        /// The signature
        signature: Signature,
    },
    /// EIP-4844 transaction variant
    Eip4844 {
        /// The inner transaction data
        transaction: TxEip4844,
        /// The hash
        hash: TxHash,
        /// The signature
        signature: Signature,
        /// The blob sidecar
        sidecar: BlobSidecar,
    }
}

Additional context

No response

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

Labels

A-utilsRelated to commonly used utilitiesC-enhancementNew feature or request

Type

No type

Projects

  • Status

    Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions