EIP-4844 Testing Using Execution-Spec-Tests

  • Comprises all Execution Layer updates:
    • Blob Type (3) Transactions (Minimal version)
    • BLOBHASH opcode
    • ExcessDataGas, DataGasUsed header fields
    • Point Evaluation Precompile

Blob Transactions Testing Overview

  • Tests all possible valid blob combinations in a given tx/block
    • Single transaction maxing out amount of blobs
    • Multiple transactions maxing out amount of blobs in a block
  • Test all invalid combinations up to max blobs + 1
    • Single transaction blob overflow
    • Multiple transaction blob overflow
  • Test valid and invalid max_fee_per_data_gas in a transaction
  • Test intrinsically invalid blob transactions (account balance)
  • Versioned hash tests
  • Blob tx contract creation
  • Test all opcodes that access transaction attributes (e.g. GASPRICE)

BLOBHASH Opcode Testing Overview

  • Test behavior on multiple valid and invalid indexes
  • Tests gascost on multiple indexes
  • Test behavior on multiple blob transactions per block
  • Test behavior on different contexts (CALL, DELEGATECALL, etc.)

Blob Header Fields Extension Testing Overview

  • Test valid and invalid values in the header to verify block append and rejection
  • Test correct excess data gas calculation given combinations of parent blob values
  • Test correct data gas used values given combination of blobs in block

Point Evaluation Precompile Testing Overview

EIP-4844 Testing Using Execution-Spec-Tests Comprises all Execution Layer updates: Blob Type (3) Transactions (Minimal version) BLOBHASH opcode ExcessDataGas, DataGasUsed header fields Point Evaluation Precompile Blob Transactions Testing Overview Tests all possible valid blob combinations in a given tx/block Single transaction maxing out amount of blobs Multiple transactions maxing out amount of blobs in a block Test all invalid combinations up to max blobs + 1 Single transaction blob overflow Multiple transaction blob overflow Test valid and invalid max_fee_per_data_gas in a transaction Test intrinsically invalid blob transactions (account balance) Versioned hash tests Blob tx contract creation Test all opcodes that access transaction attributes (e.g. GASPRICE) BLOBHASH Opcode Testing Overview Test behavior on multiple valid and invalid indexes Tests gascost on multiple indexes Test behavior on multiple blob transactions per block Test behavior on different contexts (CALL, DELEGATECALL, etc.) Blob Header Fields Extension Testing Overview Test valid and invalid values in the header to verify block append and rejection Test correct excess data gas calculation given combinations of parent blob values Test correct data gas used values given combination of blobs in block Point Evaluation Precompile Testing Overview