diff --git a/core/state/statedb.go b/core/state/statedb.go index 2230b10ef06e..8ad25a582442 100644 --- a/core/state/statedb.go +++ b/core/state/statedb.go @@ -502,7 +502,7 @@ func (self *StateDB) Copy() *StateDB { refund: self.refund, logs: make(map[common.Hash][]*types.Log, len(self.logs)), logSize: self.logSize, - preimages: make(map[common.Hash][]byte), + preimages: make(map[common.Hash][]byte, len(self.preimages)), journal: newJournal(), } // Copy the dirty states, logs, and preimages diff --git a/core/state/statedb_test.go b/core/state/statedb_test.go index cbd5bc75e75f..69392d972e87 100644 --- a/core/state/statedb_test.go +++ b/core/state/statedb_test.go @@ -276,6 +276,15 @@ func newTestAction(addr common.Address, r *rand.Rand) testAction { }, args: make([]int64, 1), }, + { + name: "AddPreimage", + fn: func(a testAction, s *StateDB) { + preimage := []byte{1} + hash := common.BytesToHash(preimage) + s.AddPreimage(hash, preimage) + }, + args: make([]int64, 1), + }, } action := actions[r.Intn(len(actions))] var nameargs []string