diff --git a/core/genesis.go b/core/genesis.go index 2673334e9e..13d4addd7e 100644 --- a/core/genesis.go +++ b/core/genesis.go @@ -514,6 +514,11 @@ func (g *Genesis) toBlockWithRoot(root common.Hash) *types.Block { if head.BlobGasUsed == nil { head.BlobGasUsed = new(uint64) } + } else { + if g.ExcessBlobGas != nil { + log.Warn("Invalid genesis, unexpected ExcessBlobGas set before Cancun, allowing it for testing purposes") + head.ExcessBlobGas = g.ExcessBlobGas + } } if conf.IsPrague(num, g.Timestamp) { head.RequestsHash = &types.EmptyRequestsHash diff --git a/tests/block_test.go b/tests/block_test.go index 03b7acd50d..5664086f0e 100644 --- a/tests/block_test.go +++ b/tests/block_test.go @@ -81,7 +81,9 @@ func TestExecutionSpecBlocktests(t *testing.T) { } bt := new(testMatcher) + // These tests require us to handle scenarios where a system contract is not deployed at a fork bt.skipLoad(".*prague/eip7251_consolidations/contract_deployment/test_system_contract_deployment.json") + bt.skipLoad(".*prague/eip7251_consolidations/test_system_contract_deployment.json") bt.skipLoad(".*prague/eip7002_el_triggerable_withdrawals/contract_deployment/test_system_contract_deployment.json") bt.skipLoad(".*prague/eip7002_el_triggerable_withdrawals/test_system_contract_deployment.json") diff --git a/tests/transaction_test.go b/tests/transaction_test.go index 0548afee1c..73ee3aa16a 100644 --- a/tests/transaction_test.go +++ b/tests/transaction_test.go @@ -70,7 +70,7 @@ func TestExecutionSpecTransaction(t *testing.T) { st := new(testMatcher) // Emptiness of authorization list is only validated during the tx precheck - st.skipLoad("^prague/eip7702_set_code_tx/empty_authorization_list.json") + st.skipLoad("^prague/eip7702_set_code_tx/test_empty_authorization_list.json") st.walk(t, executionSpecTransactionTestDir, func(t *testing.T, name string, test *TransactionTest) { if err := st.checkFailure(t, test.Run()); err != nil {