diff --git a/chain/vm/vm.go b/chain/vm/vm.go index 15119b64c..3f240b369 100644 --- a/chain/vm/vm.go +++ b/chain/vm/vm.go @@ -300,10 +300,6 @@ func (vm *VM) ApplyMessage(ctx context.Context, msg *types.Message) (*ApplyRet, } st := vm.cstate - if err := st.Snapshot(ctx); err != nil { - return nil, xerrors.Errorf("snapshot failed: %w", err) - } - defer st.ClearSnapshot() fromActor, err := st.GetActor(msg.From) if err != nil { @@ -345,6 +341,11 @@ func (vm *VM) ApplyMessage(ctx context.Context, msg *types.Message) (*ApplyRet, fromActor.Nonce++ + if err := st.Snapshot(ctx); err != nil { + return nil, xerrors.Errorf("snapshot failed: %w", err) + } + defer st.ClearSnapshot() + ret, actorErr, rt := vm.send(ctx, msg, nil, msgGasCost) { diff --git a/go.mod b/go.mod index f6895fdf0..02a3ebb31 100644 --- a/go.mod +++ b/go.mod @@ -11,7 +11,7 @@ require ( github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d // indirect github.com/coreos/go-systemd/v22 v22.0.0 github.com/docker/go-units v0.4.0 - github.com/filecoin-project/chain-validation v0.0.6-0.20200320152444-bfb4394521b8 + github.com/filecoin-project/chain-validation v0.0.6-0.20200320210432-2793319e9867 github.com/filecoin-project/filecoin-ffi v0.0.0-20200304181354-4446ff8a1bb9 github.com/filecoin-project/go-address v0.0.2-0.20200218010043-eb9bb40ed5be github.com/filecoin-project/go-amt-ipld/v2 v2.0.1-0.20200131012142-05d80eeccc5e diff --git a/go.sum b/go.sum index 019b68a78..1d1481fc2 100644 --- a/go.sum +++ b/go.sum @@ -98,8 +98,8 @@ github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1 github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= github.com/fatih/color v1.8.0 h1:5bzFgL+oy7JITMTxUPJ00n7VxmYd/PdMp5mHFX40/RY= github.com/fatih/color v1.8.0/go.mod h1:3l45GVGkyrnYNl9HoIjnp2NnNWvh6hLAqD8yTfGjnw8= -github.com/filecoin-project/chain-validation v0.0.6-0.20200320152444-bfb4394521b8 h1:NLTuKShFWpt2Tlx+/pRGDuYqqI4q6O0Pdpl85/Ax5WI= -github.com/filecoin-project/chain-validation v0.0.6-0.20200320152444-bfb4394521b8/go.mod h1:YTLxUr6gOZpkUaXzLe7OZ4s1dpfJGp2FY/J2/K5DJqc= +github.com/filecoin-project/chain-validation v0.0.6-0.20200320210432-2793319e9867 h1:6+9Khz+vidBfWG7xQ6a2uRpLnd3RhMVcOwJxu3XhvgI= +github.com/filecoin-project/chain-validation v0.0.6-0.20200320210432-2793319e9867/go.mod h1:YTLxUr6gOZpkUaXzLe7OZ4s1dpfJGp2FY/J2/K5DJqc= github.com/filecoin-project/go-address v0.0.0-20200107215422-da8eea2842b5 h1:/MmWluswvDIbuPvBct4q6HeQgVm62O2DzWYTB38kt4A= github.com/filecoin-project/go-address v0.0.0-20200107215422-da8eea2842b5/go.mod h1:SAOwJoakQ8EPjwNIsiakIQKsoKdkcbx8U3IapgCg9R0= github.com/filecoin-project/go-address v0.0.2-0.20200218010043-eb9bb40ed5be h1:TooKBwR/g8jG0hZ3lqe9S5sy2vTUcLOZLlz3M5wGn2E=