github.com/Blockdaemon/celo-blockchain@v0.0.0-20200129231733-e667f6b08419/les/lightchainreader.go (about)

     1  package les
     2  
     3  import (
     4  	"github.com/ethereum/go-ethereum/common"
     5  	"github.com/ethereum/go-ethereum/core/types"
     6  	"github.com/ethereum/go-ethereum/light"
     7  	"github.com/ethereum/go-ethereum/params"
     8  )
     9  
    10  type LightChainReader struct {
    11  	config     *params.ChainConfig
    12  	blockchain *light.LightChain
    13  }
    14  
    15  // Config returns the chain configuration.
    16  func (lcr *LightChainReader) Config() *params.ChainConfig {
    17  	return lcr.config
    18  }
    19  
    20  func (lcr *LightChainReader) CurrentHeader() *types.Header {
    21  	return lcr.blockchain.CurrentHeader()
    22  }
    23  func (lcr *LightChainReader) GetHeaderByNumber(number uint64) *types.Header {
    24  	return lcr.blockchain.GetHeaderByNumber(number)
    25  }
    26  func (lcr *LightChainReader) GetHeaderByHash(hash common.Hash) *types.Header {
    27  	return lcr.blockchain.GetHeaderByHash(hash)
    28  }
    29  func (lcr *LightChainReader) GetHeader(hash common.Hash, number uint64) *types.Header {
    30  	return lcr.blockchain.GetHeader(hash, number)
    31  }
    32  func (lcr *LightChainReader) GetBlock(hash common.Hash, number uint64) *types.Block {
    33  	panic("GetBlock cannot be called on LightChainReader")
    34  	return nil
    35  }