mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-20 02:42:27 +00:00
core/state: also check created-flag in rando-test
This commit is contained in:
parent
903bf512a9
commit
3380364a4a
2 changed files with 16 additions and 12 deletions
|
|
@ -459,22 +459,22 @@ func (s *stateObject) setBalance(amount *uint256.Int) {
|
||||||
|
|
||||||
func (s *stateObject) deepCopy(db *StateDB) *stateObject {
|
func (s *stateObject) deepCopy(db *StateDB) *stateObject {
|
||||||
obj := &stateObject{
|
obj := &stateObject{
|
||||||
db: db,
|
db: db,
|
||||||
address: s.address,
|
address: s.address,
|
||||||
addrHash: s.addrHash,
|
addrHash: s.addrHash,
|
||||||
origin: s.origin,
|
origin: s.origin,
|
||||||
data: s.data,
|
data: s.data,
|
||||||
|
code: s.code,
|
||||||
|
originStorage: s.originStorage.Copy(),
|
||||||
|
pendingStorage: s.pendingStorage.Copy(),
|
||||||
|
dirtyStorage: s.dirtyStorage.Copy(),
|
||||||
|
dirtyCode: s.dirtyCode,
|
||||||
|
selfDestructed: s.selfDestructed,
|
||||||
|
newContract: s.newContract,
|
||||||
}
|
}
|
||||||
if s.trie != nil {
|
if s.trie != nil {
|
||||||
obj.trie = db.db.CopyTrie(s.trie)
|
obj.trie = db.db.CopyTrie(s.trie)
|
||||||
}
|
}
|
||||||
obj.code = s.code
|
|
||||||
obj.originStorage = s.originStorage.Copy()
|
|
||||||
obj.pendingStorage = s.pendingStorage.Copy()
|
|
||||||
obj.dirtyStorage = s.dirtyStorage.Copy()
|
|
||||||
obj.dirtyCode = s.dirtyCode
|
|
||||||
obj.selfDestructed = s.selfDestructed
|
|
||||||
obj.newContract = s.newContract
|
|
||||||
return obj
|
return obj
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -601,6 +601,10 @@ func (test *snapshotTest) checkEqual(state, checkstate *StateDB) error {
|
||||||
checkeq("GetCode", state.GetCode(addr), checkstate.GetCode(addr))
|
checkeq("GetCode", state.GetCode(addr), checkstate.GetCode(addr))
|
||||||
checkeq("GetCodeHash", state.GetCodeHash(addr), checkstate.GetCodeHash(addr))
|
checkeq("GetCodeHash", state.GetCodeHash(addr), checkstate.GetCodeHash(addr))
|
||||||
checkeq("GetCodeSize", state.GetCodeSize(addr), checkstate.GetCodeSize(addr))
|
checkeq("GetCodeSize", state.GetCodeSize(addr), checkstate.GetCodeSize(addr))
|
||||||
|
// Check created-flag
|
||||||
|
if obj := state.getStateObject(addr); obj != nil {
|
||||||
|
checkeq("IsNewContract", obj.newContract, checkstate.getStateObject(addr).newContract)
|
||||||
|
}
|
||||||
// Check storage.
|
// Check storage.
|
||||||
if obj := state.getStateObject(addr); obj != nil {
|
if obj := state.getStateObject(addr); obj != nil {
|
||||||
forEachStorage(state, addr, func(key, value common.Hash) bool {
|
forEachStorage(state, addr, func(key, value common.Hash) bool {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue