From d5ea97d4ecc22cb700f93c82bb8f9446b05b8622 Mon Sep 17 00:00:00 2001 From: Susanoo <40375298+diwufeiwen@users.noreply.github.com> Date: Thu, 1 Jul 2021 10:01:22 +0800 Subject: [PATCH] fix vm bug: network version check (#4482) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: 一页素书 <2931107265@qq.com> Co-authored-by: Mike <41407352+hunjixin@users.noreply.github.com> --- pkg/consensus/call_invoke.go | 2 +- pkg/vm/vmcontext/runtime_adapter.go | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/pkg/consensus/call_invoke.go b/pkg/consensus/call_invoke.go index 945123ec04..6162b3febe 100644 --- a/pkg/consensus/call_invoke.go +++ b/pkg/consensus/call_invoke.go @@ -85,7 +85,7 @@ func (c *Expected) CallWithGas(ctx context.Context, msg *types.UnsignedMessage, NtwkVersionGetter: c.fork.GetNtwkVersion, Rnd: &rnd, BaseFee: ts.At(0).ParentBaseFee, - Epoch: ts.Height() + 1, + Epoch: ts.Height(), GasPriceSchedule: c.gasPirceSchedule, PRoot: stateRoot, Bsstore: c.bstore, diff --git a/pkg/vm/vmcontext/runtime_adapter.go b/pkg/vm/vmcontext/runtime_adapter.go index 8e8d2782a8..666d1b6b9c 100644 --- a/pkg/vm/vmcontext/runtime_adapter.go +++ b/pkg/vm/vmcontext/runtime_adapter.go @@ -153,7 +153,8 @@ func (a *runtimeAdapter) NetworkVersion() network.Version { func (a *runtimeAdapter) GetRandomnessFromBeacon(personalization crypto.DomainSeparationTag, randEpoch abi.ChainEpoch, entropy []byte) abi.Randomness { var err error var res []byte - if randEpoch > a.ctx.vm.vmOption.Fork.GetForkUpgrade().UpgradeHyperdriveHeight { + + if a.ctx.vm.vmOption.NtwkVersionGetter(a.ctx.vm.context, randEpoch) >= network.Version13 { res, err = a.ctx.randSource.GetBeaconRandomnessLookingForward(a.Context(), personalization, randEpoch, entropy) } else { res, err = a.ctx.randSource.GetBeaconRandomnessLookingBack(a.Context(), personalization, randEpoch, entropy)