Address review
This commit is contained in:
parent
673f558ba5
commit
e6117c49ef
@ -110,6 +110,9 @@ func (t *TipSetExecutor) ApplyBlocks(ctx context.Context, sm *stmgr.StateManager
|
|||||||
}
|
}
|
||||||
|
|
||||||
if os.Getenv("LOTUS_USE_FVM_EXPERIMENTAL") == "1" {
|
if os.Getenv("LOTUS_USE_FVM_EXPERIMENTAL") == "1" {
|
||||||
|
// This is needed so that the FVM does not have to duplicate the genesis vesting schedule, one
|
||||||
|
// of the components of the circ supply calc.
|
||||||
|
// This field is NOT needed by the Lotus VM, and also NOT needed by the FVM from v15 onwards.
|
||||||
filVested, err := sm.GetFilVested(ctx, e)
|
filVested, err := sm.GetFilVested(ctx, e)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
@ -70,6 +70,7 @@ func (sm *StateManager) Call(ctx context.Context, msg *types.Message, ts *types.
|
|||||||
pheight = ts.Height() - 1
|
pheight = ts.Height() - 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Since we're simulating a future message, pretend we're applying it in the "next" tipset
|
||||||
vmHeight := pheight + 1
|
vmHeight := pheight + 1
|
||||||
bstate := ts.ParentState()
|
bstate := ts.ParentState()
|
||||||
|
|
||||||
@ -127,7 +128,7 @@ func (sm *StateManager) Call(ctx context.Context, msg *types.Message, ts *types.
|
|||||||
|
|
||||||
stTree, err := sm.StateTree(bstate)
|
stTree, err := sm.StateTree(bstate)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, xerrors.Errorf("failed to load state tree: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
fromActor, err := stTree.GetActor(msg.From)
|
fromActor, err := stTree.GetActor(msg.From)
|
||||||
@ -193,6 +194,7 @@ func (sm *StateManager) CallWithGas(ctx context.Context, msg *types.Message, pri
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Since we're simulating a future message, pretend we're applying it in the "next" tipset
|
||||||
vmHeight := ts.Height() + 1
|
vmHeight := ts.Height() + 1
|
||||||
|
|
||||||
stateCid, _, err := sm.TipSetState(ctx, ts)
|
stateCid, _, err := sm.TipSetState(ctx, ts)
|
||||||
@ -246,6 +248,8 @@ func (sm *StateManager) CallWithGas(ctx context.Context, msg *types.Message, pri
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// We flush to get the VM's view of the state tree after applying the above messages
|
||||||
|
// This is needed to get the correct nonce from the actor state to match the VM
|
||||||
stateCid, err = vmi.Flush(ctx)
|
stateCid, err = vmi.Flush(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, xerrors.Errorf("flushing vm: %w", err)
|
return nil, xerrors.Errorf("flushing vm: %w", err)
|
||||||
|
@ -274,6 +274,7 @@ func (vm *FVM) ApplyMessage(ctx context.Context, cmsg types.ChainMsg) (*ApplyRet
|
|||||||
GasBurned: 0,
|
GasBurned: 0,
|
||||||
},
|
},
|
||||||
// TODO: do these eventually, not consensus critical
|
// TODO: do these eventually, not consensus critical
|
||||||
|
// https://github.com/filecoin-project/ref-fvm/issues/318
|
||||||
ActorErr: nil,
|
ActorErr: nil,
|
||||||
ExecutionTrace: types.ExecutionTrace{},
|
ExecutionTrace: types.ExecutionTrace{},
|
||||||
Duration: time.Since(start),
|
Duration: time.Since(start),
|
||||||
@ -299,6 +300,7 @@ func (vm *FVM) ApplyImplicitMessage(ctx context.Context, cmsg *types.Message) (*
|
|||||||
},
|
},
|
||||||
GasCosts: nil,
|
GasCosts: nil,
|
||||||
// TODO: do these eventually, not consensus critical
|
// TODO: do these eventually, not consensus critical
|
||||||
|
// https://github.com/filecoin-project/ref-fvm/issues/318
|
||||||
ActorErr: nil,
|
ActorErr: nil,
|
||||||
ExecutionTrace: types.ExecutionTrace{},
|
ExecutionTrace: types.ExecutionTrace{},
|
||||||
Duration: time.Since(start),
|
Duration: time.Since(start),
|
||||||
|
Loading…
Reference in New Issue
Block a user