aboutsummaryrefslogtreecommitdiffstats
path: root/eth
diff options
context:
space:
mode:
authorgary rong <garyrong0905@gmail.com>2019-07-23 21:52:24 +0800
committerPéter Szilágyi <peterke@gmail.com>2019-07-23 21:52:24 +0800
commit530f78e22de9580c3779d33fd0e3b3c8e677c8d0 (patch)
treeb58ab931e139c69a1e2b9dbc005efda23bca02e7 /eth
parent57d9c93dcdf8341088abdf322d0f7a2787768ec6 (diff)
downloadgo-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.go26
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
}