From 66fc14ad584df686ad750f426f4937c7a5a4b363 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Mon, 29 Jan 2024 12:55:25 +0100 Subject: [PATCH] core/state: do not journal preimages We do not strictly need to journal preimages: preimages are stored and served for the benefit of remote RPC users, e.g. for debugging solidity storage. There is no 'consensus requirement' for these keys to be reverted in case of reverted scopes. --- core/state/journal.go | 21 --------------------- core/state/statedb.go | 1 - 2 files changed, 22 deletions(-) diff --git a/core/state/journal.go b/core/state/journal.go index 927c5f07cc..d5c5eb3525 100644 --- a/core/state/journal.go +++ b/core/state/journal.go @@ -160,10 +160,6 @@ func (j *journal) JournalLog(txHash common.Hash) { j.append(addLogChange{txhash: txHash}) } -func (j *journal) JournalAddPreimage(hash common.Hash) { - j.append(addPreimageChange{hash: hash}) -} - func (j *journal) JournalCreate(addr common.Address) { j.append(createObjectChange{account: &addr}) } @@ -265,9 +261,6 @@ type ( addLogChange struct { txhash common.Hash } - addPreimageChange struct { - hash common.Hash - } touchChange struct { account *common.Address } @@ -456,20 +449,6 @@ func (ch addLogChange) copy() journalEntry { } } -func (ch addPreimageChange) revert(s *StateDB) { - delete(s.preimages, ch.hash) -} - -func (ch addPreimageChange) dirtied() *common.Address { - return nil -} - -func (ch addPreimageChange) copy() journalEntry { - return addPreimageChange{ - hash: ch.hash, - } -} - func (ch accessListAddAccountChange) revert(s *StateDB) { /* One important invariant here, is that whenever a (addr, slot) is added, if the diff --git a/core/state/statedb.go b/core/state/statedb.go index fedf740f42..a5eb7edf40 100644 --- a/core/state/statedb.go +++ b/core/state/statedb.go @@ -282,7 +282,6 @@ func (s *StateDB) Logs() []*types.Log { // AddPreimage records a SHA3 preimage seen by the VM. func (s *StateDB) AddPreimage(hash common.Hash, preimage []byte) { if _, ok := s.preimages[hash]; !ok { - s.journal.JournalAddPreimage(hash) s.preimages[hash] = slices.Clone(preimage) } }