diff options
author | Martin Holst Swende <martin@swende.se> | 2019-05-02 20:50:23 +0800 |
---|---|---|
committer | Felix Lange <fjl@users.noreply.github.com> | 2019-05-02 20:50:23 +0800 |
commit | 5036992b0665c5b454ef7005b09a86895df63551 (patch) | |
tree | 0d9d1473e91a12057fb71fe1d3390e3992516dfc /les | |
parent | 4c90efdf57ce87edf0d855c8cec10525875a6ab1 (diff) | |
download | go-tangerine-5036992b0665c5b454ef7005b09a86895df63551.tar go-tangerine-5036992b0665c5b454ef7005b09a86895df63551.tar.gz go-tangerine-5036992b0665c5b454ef7005b09a86895df63551.tar.bz2 go-tangerine-5036992b0665c5b454ef7005b09a86895df63551.tar.lz go-tangerine-5036992b0665c5b454ef7005b09a86895df63551.tar.xz go-tangerine-5036992b0665c5b454ef7005b09a86895df63551.tar.zst go-tangerine-5036992b0665c5b454ef7005b09a86895df63551.zip |
eth, les: add error when accessing missing block state (#18346)
This change makes getBalance, getCode, getStorageAt, getProof,
call, getTransactionCount return an error if the block number in
the request doesn't exist. getHeaderByNumber still returns null
for missing headers.
Diffstat (limited to 'les')
-rw-r--r-- | les/api_backend.go | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/les/api_backend.go b/les/api_backend.go index 4fe352136..589cf572d 100644 --- a/les/api_backend.go +++ b/les/api_backend.go @@ -18,6 +18,7 @@ package les import ( "context" + "errors" "math/big" "github.com/ethereum/go-ethereum/accounts" @@ -78,9 +79,12 @@ func (b *LesApiBackend) BlockByNumber(ctx context.Context, blockNr rpc.BlockNumb func (b *LesApiBackend) StateAndHeaderByNumber(ctx context.Context, blockNr rpc.BlockNumber) (*state.StateDB, *types.Header, error) { header, err := b.HeaderByNumber(ctx, blockNr) - if header == nil || err != nil { + if err != nil { return nil, nil, err } + if header == nil { + return nil, nil, errors.New("header not found") + } return light.NewState(ctx, header, b.eth.odr), header, nil } |