-
Notifications
You must be signed in to change notification settings - Fork 352
Open
Labels
A-test-testsArea: tests for execution spec testsArea: tests for execution spec testsC-enhanceCategory: a request for an improvementCategory: a request for an improvementF-osakaFork: osakaFork: osaka
Description
Extra Test Cases EIP-7918
Blob base fee bounded by execution cost
-
From: feat(tests): EIP-7918 - Blob base fee bounded by execution cost execution-spec-tests#1685 (comment), I think that we need to create a test with this value != 0, and we would need to bring back the intermediate block, to insert the appropriate number of blobs, but then we also need to be careful of
parent_base_fee_per_gas
. I think one way to do it would be to fill this intermediate block with transactions so that we reach exactly half of the gas limit, so thatparent.parent.base_fee_per_gas == parent.base_fee_per_gas
. -
chore(tests): update EIP-4844 tests to be dynamic with regards to the reserve price (EIP-7918) #1567
- 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
- Base fee exactly at reserve price boundary
- 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?)
- Verify reserve price =
- Boundary Conditions
- 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
- Standard EIP-4844 behavior:
- 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
- Modified calculation:
- 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.
spencer-tb
Metadata
Metadata
Assignees
Labels
A-test-testsArea: tests for execution spec testsArea: tests for execution spec testsC-enhanceCategory: a request for an improvementCategory: a request for an improvementF-osakaFork: osakaFork: osaka