cmd/evm, core: fixes for eels tests@v20.0.0 release

This commit is contained in:
spencer-tb 2026-07-02 16:22:47 +01:00 committed by Gary Rong
parent 2919267b64
commit 7bb496d580
3 changed files with 37 additions and 28 deletions

View file

@ -4127,6 +4127,8 @@ func TestEIP7702(t *testing.T) {
Nonce: 0, Nonce: 0,
Balance: big.NewInt(0), Balance: big.NewInt(0),
}, },
params.WithdrawalQueueAddress: {Code: params.WithdrawalQueueCode},
params.ConsolidationQueueAddress: {Code: params.ConsolidationQueueCode},
}, },
} }
@ -4431,8 +4433,12 @@ func TestGetCanonicalReceipt(t *testing.T) {
address = crypto.PubkeyToAddress(key.PublicKey) address = crypto.PubkeyToAddress(key.PublicKey)
funds = big.NewInt(1000000000000000000) funds = big.NewInt(1000000000000000000)
gspec = &Genesis{ gspec = &Genesis{
Config: params.MergedTestChainConfig, Config: params.MergedTestChainConfig,
Alloc: types.GenesisAlloc{address: {Balance: funds}}, Alloc: types.GenesisAlloc{
address: {Balance: funds},
params.WithdrawalQueueAddress: {Code: params.WithdrawalQueueCode},
params.ConsolidationQueueAddress: {Code: params.ConsolidationQueueCode},
},
BaseFee: big.NewInt(params.InitialBaseFee), BaseFee: big.NewInt(params.InitialBaseFee),
} }
signer = types.LatestSigner(gspec.Config) signer = types.LatestSigner(gspec.Config)

View file

@ -188,6 +188,14 @@ func PostExecution(ctx context.Context, config *params.ChainConfig, number *big.
rules := config.Rules(number, true, time) // IsMerge is always true rules := config.Rules(number, true, time) // IsMerge is always true
// Read requests if Prague is enabled. // Read requests if Prague is enabled.
if config.IsPrague(number, time) { if config.IsPrague(number, time) {
// EIP-7002, EIP-7251: the block is invalid if either requests
// contract has no code, as an empty system call result is
// indistinguishable from a successful call returning no requests.
for _, addr := range []common.Address{params.WithdrawalQueueAddress, params.ConsolidationQueueAddress} {
if evm.StateDB.GetCodeSize(addr) == 0 {
return nil, nil, fmt.Errorf("requests contract %v has no code", addr)
}
}
requests = [][]byte{} requests = [][]byte{}
// EIP-6110 // EIP-6110
if err := ParseDepositLogs(&requests, allLogs, config); err != nil { if err := ParseDepositLogs(&requests, allLogs, config); err != nil {

View file

@ -487,7 +487,7 @@ var Forks = map[string]*params.ChainConfig{
BlobScheduleConfig: &params.BlobScheduleConfig{ BlobScheduleConfig: &params.BlobScheduleConfig{
Cancun: params.DefaultCancunBlobConfig, Cancun: params.DefaultCancunBlobConfig,
Prague: params.DefaultPragueBlobConfig, Prague: params.DefaultPragueBlobConfig,
BPO1: bpo1BlobConfig, BPO1: params.DefaultBPO1BlobConfig,
}, },
}, },
"OsakaToBPO1AtTime15k": { "OsakaToBPO1AtTime15k": {
@ -515,7 +515,7 @@ var Forks = map[string]*params.ChainConfig{
BlobScheduleConfig: &params.BlobScheduleConfig{ BlobScheduleConfig: &params.BlobScheduleConfig{
Cancun: params.DefaultCancunBlobConfig, Cancun: params.DefaultCancunBlobConfig,
Prague: params.DefaultPragueBlobConfig, Prague: params.DefaultPragueBlobConfig,
BPO1: bpo1BlobConfig, BPO1: params.DefaultBPO1BlobConfig,
}, },
}, },
"BPO2": { "BPO2": {
@ -544,8 +544,8 @@ var Forks = map[string]*params.ChainConfig{
BlobScheduleConfig: &params.BlobScheduleConfig{ BlobScheduleConfig: &params.BlobScheduleConfig{
Cancun: params.DefaultCancunBlobConfig, Cancun: params.DefaultCancunBlobConfig,
Prague: params.DefaultPragueBlobConfig, Prague: params.DefaultPragueBlobConfig,
BPO1: bpo1BlobConfig, BPO1: params.DefaultBPO1BlobConfig,
BPO2: bpo2BlobConfig, BPO2: params.DefaultBPO2BlobConfig,
}, },
}, },
"BPO1ToBPO2AtTime15k": { "BPO1ToBPO2AtTime15k": {
@ -574,8 +574,8 @@ var Forks = map[string]*params.ChainConfig{
BlobScheduleConfig: &params.BlobScheduleConfig{ BlobScheduleConfig: &params.BlobScheduleConfig{
Cancun: params.DefaultCancunBlobConfig, Cancun: params.DefaultCancunBlobConfig,
Prague: params.DefaultPragueBlobConfig, Prague: params.DefaultPragueBlobConfig,
BPO1: bpo1BlobConfig, BPO1: params.DefaultBPO1BlobConfig,
BPO2: bpo2BlobConfig, BPO2: params.DefaultBPO2BlobConfig,
}, },
}, },
"BPO3": { "BPO3": {
@ -605,8 +605,8 @@ var Forks = map[string]*params.ChainConfig{
BlobScheduleConfig: &params.BlobScheduleConfig{ BlobScheduleConfig: &params.BlobScheduleConfig{
Cancun: params.DefaultCancunBlobConfig, Cancun: params.DefaultCancunBlobConfig,
Prague: params.DefaultPragueBlobConfig, Prague: params.DefaultPragueBlobConfig,
BPO1: bpo1BlobConfig, BPO1: params.DefaultBPO1BlobConfig,
BPO2: bpo2BlobConfig, BPO2: params.DefaultBPO2BlobConfig,
BPO3: params.DefaultBPO3BlobConfig, BPO3: params.DefaultBPO3BlobConfig,
}, },
}, },
@ -637,8 +637,8 @@ var Forks = map[string]*params.ChainConfig{
BlobScheduleConfig: &params.BlobScheduleConfig{ BlobScheduleConfig: &params.BlobScheduleConfig{
Cancun: params.DefaultCancunBlobConfig, Cancun: params.DefaultCancunBlobConfig,
Prague: params.DefaultPragueBlobConfig, Prague: params.DefaultPragueBlobConfig,
BPO1: bpo1BlobConfig, BPO1: params.DefaultBPO1BlobConfig,
BPO2: bpo2BlobConfig, BPO2: params.DefaultBPO2BlobConfig,
BPO3: params.DefaultBPO3BlobConfig, BPO3: params.DefaultBPO3BlobConfig,
}, },
}, },
@ -670,8 +670,8 @@ var Forks = map[string]*params.ChainConfig{
BlobScheduleConfig: &params.BlobScheduleConfig{ BlobScheduleConfig: &params.BlobScheduleConfig{
Cancun: params.DefaultCancunBlobConfig, Cancun: params.DefaultCancunBlobConfig,
Prague: params.DefaultPragueBlobConfig, Prague: params.DefaultPragueBlobConfig,
BPO1: bpo1BlobConfig, BPO1: params.DefaultBPO1BlobConfig,
BPO2: bpo2BlobConfig, BPO2: params.DefaultBPO2BlobConfig,
BPO3: params.DefaultBPO3BlobConfig, BPO3: params.DefaultBPO3BlobConfig,
BPO4: params.DefaultBPO4BlobConfig, BPO4: params.DefaultBPO4BlobConfig,
}, },
@ -704,8 +704,8 @@ var Forks = map[string]*params.ChainConfig{
BlobScheduleConfig: &params.BlobScheduleConfig{ BlobScheduleConfig: &params.BlobScheduleConfig{
Cancun: params.DefaultCancunBlobConfig, Cancun: params.DefaultCancunBlobConfig,
Prague: params.DefaultPragueBlobConfig, Prague: params.DefaultPragueBlobConfig,
BPO1: bpo1BlobConfig, BPO1: params.DefaultBPO1BlobConfig,
BPO2: bpo2BlobConfig, BPO2: params.DefaultBPO2BlobConfig,
BPO3: params.DefaultBPO3BlobConfig, BPO3: params.DefaultBPO3BlobConfig,
BPO4: params.DefaultBPO4BlobConfig, BPO4: params.DefaultBPO4BlobConfig,
}, },
@ -739,8 +739,8 @@ var Forks = map[string]*params.ChainConfig{
BlobScheduleConfig: &params.BlobScheduleConfig{ BlobScheduleConfig: &params.BlobScheduleConfig{
Cancun: params.DefaultCancunBlobConfig, Cancun: params.DefaultCancunBlobConfig,
Prague: params.DefaultPragueBlobConfig, Prague: params.DefaultPragueBlobConfig,
BPO1: bpo1BlobConfig, BPO1: params.DefaultBPO1BlobConfig,
BPO2: bpo2BlobConfig, BPO2: params.DefaultBPO2BlobConfig,
BPO3: params.DefaultBPO3BlobConfig, BPO3: params.DefaultBPO3BlobConfig,
BPO4: params.DefaultBPO4BlobConfig, BPO4: params.DefaultBPO4BlobConfig,
}, },
@ -793,16 +793,11 @@ var Forks = map[string]*params.ChainConfig{
}, },
} }
var bpo1BlobConfig = &params.BlobConfig{ func init() {
Target: 9, // Execution-spec-tests fixtures use the historical upgrade names for
Max: 14, // the EIP150 and EIP158 rulesets.
UpdateFraction: 8832827, Forks["TangerineWhistle"] = Forks["EIP150"]
} Forks["SpuriousDragon"] = Forks["EIP158"]
var bpo2BlobConfig = &params.BlobConfig{
Target: 14,
Max: 21,
UpdateFraction: 13739630,
} }
// AvailableForks returns the set of defined fork names // AvailableForks returns the set of defined fork names