diff --git a/core/genesis.go b/core/genesis.go index 54ec15cba4..b70c88b908 100644 --- a/core/genesis.go +++ b/core/genesis.go @@ -145,7 +145,6 @@ func (ga *GenesisAlloc) deriveHash() (common.Hash, error) { // Also, the genesis state specification will be flushed as well. func (ga *GenesisAlloc) flush(db ethdb.Database, triedb *trie.Database, blockhash common.Hash, bcLogger BlockchainLogger) error { statedb, err := state.New(types.EmptyRootHash, state.NewDatabaseWithNodeDB(db, triedb), nil) - statedb.SetLogger(bcLogger) if err != nil { return err } diff --git a/eth/tracers/firehose.go b/eth/tracers/firehose.go index fc0211ef68..f1decd30cb 100644 --- a/eth/tracers/firehose.go +++ b/eth/tracers/firehose.go @@ -732,7 +732,14 @@ func (f *Firehose) OnLog(l *types.Log) { } func (f *Firehose) OnNewAccount(a common.Address) { - f.ensureInBlockAndInTrxAndInCall() + f.ensureInBlockOrTrx() + if f.transaction == nil { + // We receive OnNewAccount on finalization of the block which means there is no + // transaction active. In that case, we do not track the account creation because + // the "old" Firehose didn't but mainly because we don't have `AccountCreation` at + // the block level so what can we do... + return + } if f.isPrecompiledAddr(a) { return