package validation import ( "github.com/filecoin-project/specs-actors/actors/runtime" vstate "github.com/filecoin-project/chain-validation/state" ) type Factories struct { *Applier } var _ vstate.Factories = &Factories{} func NewFactories() *Factories { return &Factories{} } func (f *Factories) NewStateAndApplier(syscalls runtime.Syscalls) (vstate.VMWrapper, vstate.Applier) { st := NewState() return st, NewApplier(st, syscalls) } func (f *Factories) NewKeyManager() vstate.KeyManager { return newKeyManager() } func (f *Factories) NewValidationConfig() vstate.ValidationConfig { trackGas := true checkExit := true checkRet := true checkState := true return NewConfig(trackGas, checkExit, checkRet, checkState) }