Skip to content

Commit 0a4002e

Browse files
committed
core/state: simplify state logger
1 parent 9432163 commit 0a4002e

File tree

1 file changed

+22
-20
lines changed

1 file changed

+22
-20
lines changed

core/state/statedb_logger.go

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -28,56 +28,58 @@ import (
2828

2929
type stateDBLogger struct {
3030
*StateDB
31-
logger *tracing.Hooks
31+
hooks *tracing.Hooks
3232
}
3333

34-
func newStateDBLogger(db *StateDB, logger *tracing.Hooks) *stateDBLogger {
35-
s := &stateDBLogger{db, logger}
36-
34+
func newStateDBLogger(db *StateDB, hooks *tracing.Hooks) *stateDBLogger {
35+
s := &stateDBLogger{db, hooks}
36+
if s.hooks == nil {
37+
s.hooks = new(tracing.Hooks)
38+
}
3739
db.SetBurnCallback(func(address common.Address, amount *uint256.Int) {
38-
if s.logger != nil && s.logger.OnBalanceChange != nil {
39-
s.logger.OnBalanceChange(address, amount.ToBig(), new(big.Int), tracing.BalanceDecreaseSelfdestructBurn)
40+
if s.hooks.OnBalanceChange != nil {
41+
s.hooks.OnBalanceChange(address, amount.ToBig(), new(big.Int), tracing.BalanceDecreaseSelfdestructBurn)
4042
}
4143
})
4244
return s
4345
}
4446

4547
func (s *stateDBLogger) AddBalance(address common.Address, amount *uint256.Int, reason tracing.BalanceChangeReason) uint256.Int {
4648
prev := s.StateDB.AddBalance(address, amount, reason)
47-
if s.logger != nil && s.logger.OnBalanceChange != nil {
49+
if s.hooks.OnBalanceChange != nil {
4850
newBalance := new(uint256.Int).Add(&prev, amount)
49-
s.logger.OnBalanceChange(address, prev.ToBig(), newBalance.ToBig(), reason)
51+
s.hooks.OnBalanceChange(address, prev.ToBig(), newBalance.ToBig(), reason)
5052
}
5153
return prev
5254
}
5355

5456
func (s *stateDBLogger) SetNonce(address common.Address, nonce uint64) {
5557
s.StateDB.SetNonce(address, nonce)
56-
if s.logger != nil && s.logger.OnNonceChange != nil {
57-
s.logger.OnNonceChange(address, nonce-1, nonce)
58+
if s.hooks.OnNonceChange != nil {
59+
s.hooks.OnNonceChange(address, nonce-1, nonce)
5860
}
5961
}
6062

6163
func (s *stateDBLogger) SetCode(address common.Address, code []byte) {
6264
s.StateDB.SetCode(address, code)
63-
if s.logger != nil && s.logger.OnCodeChange != nil {
64-
s.logger.OnCodeChange(address, types.EmptyCodeHash, nil, crypto.Keccak256Hash(code), code)
65+
if s.hooks.OnCodeChange != nil {
66+
s.hooks.OnCodeChange(address, types.EmptyCodeHash, nil, crypto.Keccak256Hash(code), code)
6567
}
6668
}
6769

6870
func (s *stateDBLogger) SetState(address common.Address, key common.Hash, value common.Hash) common.Hash {
6971
prev := s.StateDB.SetState(address, key, value)
70-
if s.logger != nil && s.logger.OnStorageChange != nil && prev != value {
71-
s.logger.OnStorageChange(address, key, prev, value)
72+
if s.hooks.OnStorageChange != nil && prev != value {
73+
s.hooks.OnStorageChange(address, key, prev, value)
7274
}
7375
return prev
7476
}
7577

7678
func (s *stateDBLogger) SelfDestruct(address common.Address) uint256.Int {
7779
prev := s.StateDB.SelfDestruct(address)
7880
if !prev.IsZero() {
79-
if s.logger != nil && s.logger.OnBalanceChange != nil {
80-
s.logger.OnBalanceChange(address, prev.ToBig(), new(big.Int), tracing.BalanceDecreaseSelfdestruct)
81+
if s.hooks.OnBalanceChange != nil {
82+
s.hooks.OnBalanceChange(address, prev.ToBig(), new(big.Int), tracing.BalanceDecreaseSelfdestruct)
8183
}
8284
}
8385
return prev
@@ -86,8 +88,8 @@ func (s *stateDBLogger) SelfDestruct(address common.Address) uint256.Int {
8688
func (s *stateDBLogger) Selfdestruct6780(address common.Address) uint256.Int {
8789
prev := s.StateDB.Selfdestruct6780(address)
8890
if !prev.IsZero() {
89-
if s.logger != nil && s.logger.OnBalanceChange != nil {
90-
s.logger.OnBalanceChange(address, prev.ToBig(), new(big.Int), tracing.BalanceDecreaseSelfdestruct)
91+
if s.hooks.OnBalanceChange != nil {
92+
s.hooks.OnBalanceChange(address, prev.ToBig(), new(big.Int), tracing.BalanceDecreaseSelfdestruct)
9193
}
9294
}
9395
return prev
@@ -96,7 +98,7 @@ func (s *stateDBLogger) Selfdestruct6780(address common.Address) uint256.Int {
9698
func (s *stateDBLogger) AddLog(log *types.Log) {
9799
// The inner will modify the log (add fields), so invoke that first
98100
s.StateDB.AddLog(log)
99-
if s.logger != nil && s.logger.OnLog != nil {
100-
s.logger.OnLog(log)
101+
if s.hooks.OnLog != nil {
102+
s.hooks.OnLog(log)
101103
}
102104
}

0 commit comments

Comments
 (0)