MCPcopy
hub / github.com/bnb-chain/bsc / compareStateObjects

Function compareStateObjects

core/state/state_test.go:257–303  ·  view source on GitHub ↗
(so0, so1 *stateObject, t *testing.T)

Source from the content-addressed store, hash-verified

255}
256
257func compareStateObjects(so0, so1 *stateObject, t *testing.T) {
258 if so0.Address() != so1.Address() {
259 t.Fatalf("Address mismatch: have %v, want %v", so0.address, so1.address)
260 }
261 if so0.Balance().Cmp(so1.Balance()) != 0 {
262 t.Fatalf("Balance mismatch: have %v, want %v", so0.Balance(), so1.Balance())
263 }
264 if so0.Nonce() != so1.Nonce() {
265 t.Fatalf("Nonce mismatch: have %v, want %v", so0.Nonce(), so1.Nonce())
266 }
267 if so0.data.Root != so1.data.Root {
268 t.Errorf("Root mismatch: have %x, want %x", so0.data.Root[:], so1.data.Root[:])
269 }
270 if !bytes.Equal(so0.CodeHash(), so1.CodeHash()) {
271 t.Fatalf("CodeHash mismatch: have %v, want %v", so0.CodeHash(), so1.CodeHash())
272 }
273 if !bytes.Equal(so0.code, so1.code) {
274 t.Fatalf("Code mismatch: have %v, want %v", so0.code, so1.code)
275 }
276
277 if len(so1.dirtyStorage) != len(so0.dirtyStorage) {
278 t.Errorf("Dirty storage size mismatch: have %d, want %d", len(so1.dirtyStorage), len(so0.dirtyStorage))
279 }
280 for k, v := range so1.dirtyStorage {
281 if so0.dirtyStorage[k] != v {
282 t.Errorf("Dirty storage key %x mismatch: have %v, want %v", k, so0.dirtyStorage[k], v)
283 }
284 }
285 for k, v := range so0.dirtyStorage {
286 if so1.dirtyStorage[k] != v {
287 t.Errorf("Dirty storage key %x mismatch: have %v, want none.", k, v)
288 }
289 }
290 if len(so1.originStorage) != len(so0.originStorage) {
291 t.Errorf("Origin storage size mismatch: have %d, want %d", len(so1.originStorage), len(so0.originStorage))
292 }
293 for k, v := range so1.originStorage {
294 if so0.originStorage[k] != v {
295 t.Errorf("Origin storage key %x mismatch: have %v, want %v", k, so0.originStorage[k], v)
296 }
297 }
298 for k, v := range so0.originStorage {
299 if so1.originStorage[k] != v {
300 t.Errorf("Origin storage key %x mismatch: have %v, want none.", k, v)
301 }
302 }
303}

Callers 1

TestSnapshot2Function · 0.85

Calls 8

ErrorfMethod · 0.80
CodeHashMethod · 0.80
AddressMethod · 0.65
NonceMethod · 0.65
EqualMethod · 0.65
FatalfMethod · 0.45
CmpMethod · 0.45
BalanceMethod · 0.45

Tested by

no test coverage detected