core/vm: fix condition

This commit is contained in:
Felix Lange 2025-06-10 16:10:26 +02:00
parent b2e78c4861
commit 370af2ed06

View file

@ -27,14 +27,16 @@ import (
// CheckInitCodeSize checks the size of contract initcode against the protocol-defined limit. // CheckInitCodeSize checks the size of contract initcode against the protocol-defined limit.
func CheckInitCodeSize(rules *params.Rules, size uint64) error { func CheckInitCodeSize(rules *params.Rules, size uint64) error {
switch { if rules.IsOsaka {
case rules.IsOsaka && size > params.MaxInitCodeSizeOsaka: if size > params.MaxInitCodeSizeOsaka {
return fmt.Errorf("%w: code size %v limit %v", ErrMaxInitCodeSizeExceeded, size, params.MaxInitCodeSizeOsaka) return fmt.Errorf("%w: code size %v limit %v", ErrMaxInitCodeSizeExceeded, size, params.MaxInitCodeSizeOsaka)
case rules.IsShanghai && size > params.MaxInitCodeSize:
return fmt.Errorf("%w: code size %v limit %v", ErrMaxInitCodeSizeExceeded, size, params.MaxInitCodeSize)
default:
return nil
} }
} else if rules.IsShanghai {
if size > params.MaxInitCodeSize {
return fmt.Errorf("%w: code size %v limit %v", ErrMaxInitCodeSizeExceeded, size, params.MaxInitCodeSize)
}
}
return nil
} }
// calcMemSize64 calculates the required memory size, and returns // calcMemSize64 calculates the required memory size, and returns