diff options
author | gary rong <garyrong0905@gmail.com> | 2019-07-23 21:52:24 +0800 |
---|---|---|
committer | Péter Szilágyi <peterke@gmail.com> | 2019-07-23 21:52:24 +0800 |
commit | 530f78e22de9580c3779d33fd0e3b3c8e677c8d0 (patch) | |
tree | b58ab931e139c69a1e2b9dbc005efda23bca02e7 /eth | |
parent | 57d9c93dcdf8341088abdf322d0f7a2787768ec6 (diff) | |
download | go-tangerine-530f78e22de9580c3779d33fd0e3b3c8e677c8d0.tar go-tangerine-530f78e22de9580c3779d33fd0e3b3c8e677c8d0.tar.gz go-tangerine-530f78e22de9580c3779d33fd0e3b3c8e677c8d0.tar.bz2 go-tangerine-530f78e22de9580c3779d33fd0e3b3c8e677c8d0.tar.lz go-tangerine-530f78e22de9580c3779d33fd0e3b3c8e677c8d0.tar.xz go-tangerine-530f78e22de9580c3779d33fd0e3b3c8e677c8d0.tar.zst go-tangerine-530f78e22de9580c3779d33fd0e3b3c8e677c8d0.zip |
eth, internal, les: add getHeaderBy* APIs (#19669)
* eth, interal, les: add getHeaderBy* APIs
* internal: address the comment
* eth, internal, les: getHeader nits, missing TD, console callable
Diffstat (limited to 'eth')
-rw-r--r-- | eth/api_backend.go | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/eth/api_backend.go b/eth/api_backend.go index ee5b51cf5..708e5afaf 100644 --- a/eth/api_backend.go +++ b/eth/api_backend.go @@ -59,44 +59,44 @@ func (b *EthAPIBackend) SetHead(number uint64) { b.eth.blockchain.SetHead(number) } -func (b *EthAPIBackend) HeaderByNumber(ctx context.Context, blockNr rpc.BlockNumber) (*types.Header, error) { +func (b *EthAPIBackend) HeaderByNumber(ctx context.Context, number rpc.BlockNumber) (*types.Header, error) { // Pending block is only known by the miner - if blockNr == rpc.PendingBlockNumber { + if number == rpc.PendingBlockNumber { block := b.eth.miner.PendingBlock() return block.Header(), nil } // Otherwise resolve and return the block - if blockNr == rpc.LatestBlockNumber { + if number == rpc.LatestBlockNumber { return b.eth.blockchain.CurrentBlock().Header(), nil } - return b.eth.blockchain.GetHeaderByNumber(uint64(blockNr)), nil + return b.eth.blockchain.GetHeaderByNumber(uint64(number)), nil } func (b *EthAPIBackend) HeaderByHash(ctx context.Context, hash common.Hash) (*types.Header, error) { return b.eth.blockchain.GetHeaderByHash(hash), nil } -func (b *EthAPIBackend) BlockByNumber(ctx context.Context, blockNr rpc.BlockNumber) (*types.Block, error) { +func (b *EthAPIBackend) BlockByNumber(ctx context.Context, number rpc.BlockNumber) (*types.Block, error) { // Pending block is only known by the miner - if blockNr == rpc.PendingBlockNumber { + if number == rpc.PendingBlockNumber { block := b.eth.miner.PendingBlock() return block, nil } // Otherwise resolve and return the block - if blockNr == rpc.LatestBlockNumber { + if number == rpc.LatestBlockNumber { return b.eth.blockchain.CurrentBlock(), nil } - return b.eth.blockchain.GetBlockByNumber(uint64(blockNr)), nil + return b.eth.blockchain.GetBlockByNumber(uint64(number)), nil } -func (b *EthAPIBackend) StateAndHeaderByNumber(ctx context.Context, blockNr rpc.BlockNumber) (*state.StateDB, *types.Header, error) { +func (b *EthAPIBackend) StateAndHeaderByNumber(ctx context.Context, number rpc.BlockNumber) (*state.StateDB, *types.Header, error) { // Pending state is only known by the miner - if blockNr == rpc.PendingBlockNumber { + if number == rpc.PendingBlockNumber { block, state := b.eth.miner.Pending() return state, block.Header(), nil } // Otherwise resolve the block number and return its state - header, err := b.HeaderByNumber(ctx, blockNr) + header, err := b.HeaderByNumber(ctx, number) if err != nil { return nil, nil, err } @@ -107,6 +107,10 @@ func (b *EthAPIBackend) StateAndHeaderByNumber(ctx context.Context, blockNr rpc. return stateDb, header, err } +func (b *EthAPIBackend) GetHeader(ctx context.Context, hash common.Hash) *types.Header { + return b.eth.blockchain.GetHeaderByHash(hash) +} + func (b *EthAPIBackend) GetBlock(ctx context.Context, hash common.Hash) (*types.Block, error) { return b.eth.blockchain.GetBlockByHash(hash), nil } |