From 17a93a67b9cf3409b47e4e01797b2416cb6d234c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Leszko?= Date: Wed, 16 Feb 2022 16:39:12 +0100 Subject: [PATCH] Fix nil pointer in the block header logs --- CHANGELOG_PENDING.md | 1 + eth/blockwatch/block_watcher.go | 7 ++++++- eth/blockwatch/block_watcher_test.go | 2 ++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG_PENDING.md b/CHANGELOG_PENDING.md index a1c5ad4c19..93f5cfe9cf 100644 --- a/CHANGELOG_PENDING.md +++ b/CHANGELOG_PENDING.md @@ -15,6 +15,7 @@ #### Transcoder ### Bug Fixes 🐞 +- \#2267 Fix nil pointer in the block header logs (@leszko) #### General diff --git a/eth/blockwatch/block_watcher.go b/eth/blockwatch/block_watcher.go index 084676ec8f..c097b58017 100644 --- a/eth/blockwatch/block_watcher.go +++ b/eth/blockwatch/block_watcher.go @@ -637,7 +637,12 @@ func (w *Watcher) enrichWithL1BlockNumber(header *MiniHeader) (*MiniHeader, erro if header == nil || header.L1BlockNumber != nil { return header, nil } - return w.client.HeaderByHash(header.Hash) + fetchedBlock, err := w.client.HeaderByHash(header.Hash) + if err != nil { + return header, err + } + header.L1BlockNumber = fetchedBlock.L1BlockNumber + return header, nil } func isUnknownBlockErr(err error) bool { diff --git a/eth/blockwatch/block_watcher_test.go b/eth/blockwatch/block_watcher_test.go index 7fc05df17f..f94f68b413 100644 --- a/eth/blockwatch/block_watcher_test.go +++ b/eth/blockwatch/block_watcher_test.go @@ -527,6 +527,7 @@ func TestEnrichWithL1_One(t *testing.T) { header := &MiniHeader{ Number: big.NewInt(FakeBlockNumber), Hash: common.HexToHash(FakeHash), + Logs: []types.Log{logStub}, } events := []*Event{{BlockHeader: header}} @@ -536,6 +537,7 @@ func TestEnrichWithL1_One(t *testing.T) { assert.Equal(common.HexToHash(FakeHash), res[0].BlockHeader.Hash) assert.Equal(big.NewInt(FakeBlockNumber), res[0].BlockHeader.Number) assert.Equal(big.NewInt(FakeL1BlockNumber), res[0].BlockHeader.L1BlockNumber) + assert.Contains(res[0].BlockHeader.Logs, logStub) } func TestEnrichWithL1_Multiple(t *testing.T) {