Skip to content

feat(tests): additional test cases for eip-7918 #1563

@marioevz

Description

@marioevz

Extra Test Cases EIP-7918

Blob base fee bounded by execution cost


  • EIP-4844 Intergration
  • EIP-7840 - blob schedule test cases?
  • Reserve Price Activation/Deactivation
    • Boundary Conditions
      • Base fee exactly at reserve price boundary BLOB_BASE_COST * base_fee = GAS_PER_BLOB * blob_base_fee
      • Base fee just below boundary (reserve inactive)
      • Base fee just above boundary (reserve active)
      • Multiple transitions between active/inactive states
    • Reserve Price Calculation
      • Verify reserve price = BLOB_BASE_COST * base_fee_per_gas) / GAS_PER_BLOB
      • Test with various base fee values 1, 7, 16, 100, 1000, 10000, etc
      • Edge case: base_fee_per_gas = 0 (should this be possible?)
  • Excess Blob Gas Calculations
    • Update Basic EIP-4844 tests
    • Update All EIP-4844 tests using intermediate "dummy genesis" block
    • Normal Mode (Reserve Inactive)
      • Standard EIP-4844 behavior: excess_blob_gas + blob_gas_used - TARGET_BLOB_GAS_PER_BLOCK
      • Various blob counts 0, target/2, target, target+1, max, account for max blob per tx limit of 6 for Osaka
    • Reserve Mode (Reserve Active)
      • Modified calculation: excess_blob_gas + blob_gas_used * (max - target) / max
      • Verify no subtraction of TARGET_BLOB_GAS_PER_BLOCK
      • Different blob counts with reserve price active like above, account for max blob per tx limit
  • Multi Block Tests
    • Multiple blocks in normal/reserve mode only
    • Fee convergence in each mode
    • Mode switching: normal -> reserve -> normal etc
    • Base fee changes triggering mode switches between blocks
    • Gradual increase to max/target blobs per block.
    • Zero blob cases:
      • Start in reserve then have block with zero blobs, should stay in reserve
      • Start in normal then have blocks with zero blobs, should switch to reserve

Please comment any additional test cases or edit the issue and add more.

Metadata

Metadata

Assignees

Labels

A-test-testsArea: tests for execution spec testsC-enhanceCategory: a request for an improvementF-osakaFork: osaka

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions