Update blockchain method GetHeaderByNumbers -> GetHeadersByNumbers
This commit is contained in:
parent
ba81766f6c
commit
e1a0d894a2
@ -30,7 +30,7 @@ type BlockChain interface {
|
|||||||
GetBlockByNumber(blockNumber int64) (Block, error)
|
GetBlockByNumber(blockNumber int64) (Block, error)
|
||||||
GetEthLogsWithCustomQuery(query ethereum.FilterQuery) ([]types.Log, error)
|
GetEthLogsWithCustomQuery(query ethereum.FilterQuery) ([]types.Log, error)
|
||||||
GetHeaderByNumber(blockNumber int64) (Header, error)
|
GetHeaderByNumber(blockNumber int64) (Header, error)
|
||||||
GetHeaderByNumbers(blockNumbers []int64) ([]Header, error)
|
GetHeadersByNumbers(blockNumbers []int64) ([]Header, error)
|
||||||
GetLogs(contract Contract, startingBlockNumber *big.Int, endingBlockNumber *big.Int) ([]Log, error)
|
GetLogs(contract Contract, startingBlockNumber *big.Int, endingBlockNumber *big.Int) ([]Log, error)
|
||||||
GetTransactions(transactionHashes []common.Hash) ([]TransactionModel, error)
|
GetTransactions(transactionHashes []common.Hash) ([]TransactionModel, error)
|
||||||
LastBlock() (*big.Int, error)
|
LastBlock() (*big.Int, error)
|
||||||
|
@ -98,7 +98,7 @@ func (chain *MockBlockChain) GetHeaderByNumber(blockNumber int64) (core.Header,
|
|||||||
return core.Header{BlockNumber: blockNumber}, nil
|
return core.Header{BlockNumber: blockNumber}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (chain *MockBlockChain) GetHeaderByNumbers(blockNumbers []int64) ([]core.Header, error) {
|
func (chain *MockBlockChain) GetHeadersByNumbers(blockNumbers []int64) ([]core.Header, error) {
|
||||||
var headers []core.Header
|
var headers []core.Header
|
||||||
for _, blockNumber := range blockNumbers {
|
for _, blockNumber := range blockNumbers {
|
||||||
var header = core.Header{BlockNumber: int64(blockNumber)}
|
var header = core.Header{BlockNumber: int64(blockNumber)}
|
||||||
|
@ -79,7 +79,7 @@ func (blockChain *BlockChain) GetHeaderByNumber(blockNumber int64) (header core.
|
|||||||
return blockChain.getPOWHeader(blockNumber)
|
return blockChain.getPOWHeader(blockNumber)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (blockChain *BlockChain) GetHeaderByNumbers(blockNumbers []int64) (header []core.Header, err error) {
|
func (blockChain *BlockChain) GetHeadersByNumbers(blockNumbers []int64) (header []core.Header, err error) {
|
||||||
if blockChain.node.NetworkID == core.KOVAN_NETWORK_ID {
|
if blockChain.node.NetworkID == core.KOVAN_NETWORK_ID {
|
||||||
return blockChain.getPOAHeaders(blockNumbers)
|
return blockChain.getPOAHeaders(blockNumbers)
|
||||||
}
|
}
|
||||||
|
@ -93,7 +93,7 @@ var _ = Describe("Geth blockchain", func() {
|
|||||||
})
|
})
|
||||||
|
|
||||||
It("fetches headers with multiple blocks", func() {
|
It("fetches headers with multiple blocks", func() {
|
||||||
_, err := blockChain.GetHeaderByNumbers([]int64{100, 99})
|
_, err := blockChain.GetHeadersByNumbers([]int64{100, 99})
|
||||||
|
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
mockRpcClient.AssertBatchCalledWith("eth_getBlockByNumber", 2)
|
mockRpcClient.AssertBatchCalledWith("eth_getBlockByNumber", 2)
|
||||||
@ -139,7 +139,7 @@ var _ = Describe("Geth blockchain", func() {
|
|||||||
blockNumber := hexutil.Big(*big.NewInt(100))
|
blockNumber := hexutil.Big(*big.NewInt(100))
|
||||||
mockRpcClient.SetReturnPOAHeaders([]vulcCore.POAHeader{{Number: &blockNumber}})
|
mockRpcClient.SetReturnPOAHeaders([]vulcCore.POAHeader{{Number: &blockNumber}})
|
||||||
|
|
||||||
_, err := blockChain.GetHeaderByNumbers([]int64{100, 99})
|
_, err := blockChain.GetHeadersByNumbers([]int64{100, 99})
|
||||||
|
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
mockRpcClient.AssertBatchCalledWith("eth_getBlockByNumber", 2)
|
mockRpcClient.AssertBatchCalledWith("eth_getBlockByNumber", 2)
|
||||||
|
@ -48,8 +48,8 @@ func PopulateMissingHeaders(blockchain core.BlockChain, headerRepository datasto
|
|||||||
return len(blockNumbers), nil
|
return len(blockNumbers), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func RetrieveAndUpdateHeaders(chain core.BlockChain, headerRepository datastore.HeaderRepository, blockNumbers []int64) (int, error) {
|
func RetrieveAndUpdateHeaders(blockchain core.BlockChain, headerRepository datastore.HeaderRepository, blockNumbers []int64) (int, error) {
|
||||||
headers, err := chain.GetHeaderByNumbers(blockNumbers)
|
headers, err := blockchain.GetHeadersByNumbers(blockNumbers)
|
||||||
for _, header := range headers {
|
for _, header := range headers {
|
||||||
_, err = headerRepository.CreateOrUpdateHeader(header)
|
_, err = headerRepository.CreateOrUpdateHeader(header)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Loading…
Reference in New Issue
Block a user