diff --git a/eth/tracers/native/types.go b/eth/tracers/native/types.go index a3755bef4..454084c3e 100644 --- a/eth/tracers/native/types.go +++ b/eth/tracers/native/types.go @@ -116,7 +116,10 @@ func getLogValueHex(stack *vm.Stack, memory *vm.Memory) string { return hex.EncodeToString(memory.Data()[offset : offset+length]) } func (t *OpsTracer) isPrecompiled(env *vm.EVM, addr common.Address) bool { - activePrecompiles := vm.ActivePrecompiles(env.ChainConfig().Rules(env.Context.BlockNumber)) + // `isPostMerge` is stolen from internal/ethapi/api.go + isPostMerge := env.Context.Difficulty.Cmp(common.Big0) == 0 + activePrecompiles := vm.ActivePrecompiles( + env.ChainConfig().Rules(env.Context.BlockNumber, isPostMerge)) for _, p := range activePrecompiles { if p == addr { diff --git a/go.sum b/go.sum index 5ef6be435..e2c212fb9 100644 --- a/go.sum +++ b/go.sum @@ -656,6 +656,8 @@ google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ij google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.26.0 h1:2dTRdpdFEEhJYQD8EMLB61nnrzSCTbG38PhqdhvOltg= google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.1 h1:zvIju4sqAGvwKspUQOhwnpcqSbzi7/H6QomNNjTL4sk= +google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=