diff --git a/eth/api_backend.go b/eth/api_backend.go index 91f392f94f..ce4a428aa0 100644 --- a/eth/api_backend.go +++ b/eth/api_backend.go @@ -20,6 +20,7 @@ import ( "context" "math/big" + "errors" "github.com/ethereum/go-ethereum/accounts" "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common/math" @@ -90,6 +91,10 @@ func (b *EthApiBackend) StateAndHeaderByNumber(ctx context.Context, blockNr rpc. // Otherwise resolve the block number and return its state header, err := b.HeaderByNumber(ctx, blockNr) if header == nil || err != nil { + //if the error is nil, let's create a generic error message instead of returning a fully null result + if err == nil { + err = errors.New("blockchain header is nil") + } return nil, nil, err } stateDb, err := b.eth.BlockChain().StateAt(header.Root)