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.
func CheckInitCodeSize(rules *params.Rules, size uint64) error {
switch {
case rules.IsOsaka && 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
if rules.IsOsaka {
if size > params.MaxInitCodeSizeOsaka {
return fmt.Errorf("%w: code size %v limit %v", ErrMaxInitCodeSizeExceeded, size, params.MaxInitCodeSizeOsaka)
}
} 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