eth: clarify the error string on getlogs failure (#24617)

This PR makes the errors we spit out a bit more clear about what block is problematic.
This commit is contained in:
Martin Holst Swende 2022-03-31 21:16:03 +02:00 committed by GitHub
parent 3fd16af5a9
commit 1e973a96b4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -19,6 +19,7 @@ package eth
import ( import (
"context" "context"
"errors" "errors"
"fmt"
"math/big" "math/big"
"time" "time"
@ -185,11 +186,11 @@ func (b *EthAPIBackend) GetLogs(ctx context.Context, hash common.Hash) ([][]*typ
db := b.eth.ChainDb() db := b.eth.ChainDb()
number := rawdb.ReadHeaderNumber(db, hash) number := rawdb.ReadHeaderNumber(db, hash)
if number == nil { if number == nil {
return nil, errors.New("failed to get block number from hash") return nil, fmt.Errorf("failed to get block number for hash %#x", hash)
} }
logs := rawdb.ReadLogs(db, hash, *number, b.eth.blockchain.Config()) logs := rawdb.ReadLogs(db, hash, *number, b.eth.blockchain.Config())
if logs == nil { if logs == nil {
return nil, errors.New("failed to get logs for block") return nil, fmt.Errorf("failed to get logs for block #%d (0x%s)", *number, hash.TerminalString())
} }
return logs, nil return logs, nil
} }