Skip to content

Commit 3380364

Browse files
committed
core/state: also check created-flag in rando-test
1 parent 903bf51 commit 3380364

File tree

2 files changed

+16
-12
lines changed

2 files changed

+16
-12
lines changed

core/state/state_object.go

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -459,22 +459,22 @@ func (s *stateObject) setBalance(amount *uint256.Int) {
459459

460460
func (s *stateObject) deepCopy(db *StateDB) *stateObject {
461461
obj := &stateObject{
462-
db: db,
463-
address: s.address,
464-
addrHash: s.addrHash,
465-
origin: s.origin,
466-
data: s.data,
462+
db: db,
463+
address: s.address,
464+
addrHash: s.addrHash,
465+
origin: s.origin,
466+
data: s.data,
467+
code: s.code,
468+
originStorage: s.originStorage.Copy(),
469+
pendingStorage: s.pendingStorage.Copy(),
470+
dirtyStorage: s.dirtyStorage.Copy(),
471+
dirtyCode: s.dirtyCode,
472+
selfDestructed: s.selfDestructed,
473+
newContract: s.newContract,
467474
}
468475
if s.trie != nil {
469476
obj.trie = db.db.CopyTrie(s.trie)
470477
}
471-
obj.code = s.code
472-
obj.originStorage = s.originStorage.Copy()
473-
obj.pendingStorage = s.pendingStorage.Copy()
474-
obj.dirtyStorage = s.dirtyStorage.Copy()
475-
obj.dirtyCode = s.dirtyCode
476-
obj.selfDestructed = s.selfDestructed
477-
obj.newContract = s.newContract
478478
return obj
479479
}
480480

core/state/statedb_test.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -601,6 +601,10 @@ func (test *snapshotTest) checkEqual(state, checkstate *StateDB) error {
601601
checkeq("GetCode", state.GetCode(addr), checkstate.GetCode(addr))
602602
checkeq("GetCodeHash", state.GetCodeHash(addr), checkstate.GetCodeHash(addr))
603603
checkeq("GetCodeSize", state.GetCodeSize(addr), checkstate.GetCodeSize(addr))
604+
// Check created-flag
605+
if obj := state.getStateObject(addr); obj != nil {
606+
checkeq("IsNewContract", obj.newContract, checkstate.getStateObject(addr).newContract)
607+
}
604608
// Check storage.
605609
if obj := state.getStateObject(addr); obj != nil {
606610
forEachStorage(state, addr, func(key, value common.Hash) bool {

0 commit comments

Comments
 (0)