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 }