forked from cerc-io/ipld-eth-server
updates for light sync transactions
This commit is contained in:
+6
-5
@@ -29,6 +29,7 @@ import (
|
||||
)
|
||||
|
||||
var (
|
||||
FakeAddress = common.HexToAddress("0x1234567890abcdef")
|
||||
FakeError = errors.New("failed")
|
||||
FakeHash = common.BytesToHash([]byte{1, 2, 3, 4, 5})
|
||||
fakeTimestamp = int64(111111111)
|
||||
@@ -53,8 +54,8 @@ func GetFakeHeader(blockNumber int64) core.Header {
|
||||
var fakeTransaction types.Transaction
|
||||
var rawTransaction bytes.Buffer
|
||||
var _ = fakeTransaction.EncodeRLP(&rawTransaction)
|
||||
var FakeTransaction = core.Transaction{
|
||||
Data: "",
|
||||
var FakeTransaction = core.TransactionModel{
|
||||
Data: []byte{},
|
||||
From: "",
|
||||
GasLimit: 0,
|
||||
GasPrice: 0,
|
||||
@@ -67,15 +68,15 @@ var FakeTransaction = core.Transaction{
|
||||
Value: "0",
|
||||
}
|
||||
|
||||
func GetFakeTransaction(hash string, receipt core.Receipt) core.Transaction {
|
||||
func GetFakeTransaction(hash string, receipt core.Receipt) core.TransactionModel {
|
||||
gethTransaction := types.Transaction{}
|
||||
var raw bytes.Buffer
|
||||
err := gethTransaction.EncodeRLP(&raw)
|
||||
if err != nil {
|
||||
panic("failed to marshal transaction creating test fake")
|
||||
}
|
||||
return core.Transaction{
|
||||
Data: "",
|
||||
return core.TransactionModel{
|
||||
Data: []byte{},
|
||||
From: "",
|
||||
GasLimit: 0,
|
||||
GasPrice: 0,
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
package fakes
|
||||
|
||||
import (
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"math/big"
|
||||
|
||||
"github.com/ethereum/go-ethereum"
|
||||
@@ -35,11 +36,15 @@ type MockBlockChain struct {
|
||||
fetchContractDataPassedResult interface{}
|
||||
fetchContractDataPassedBlockNumber int64
|
||||
getBlockByNumberErr error
|
||||
GetTransactionsCalled bool
|
||||
GetTransactionsError error
|
||||
GetTransactionsPassedHashes []common.Hash
|
||||
logQuery ethereum.FilterQuery
|
||||
logQueryErr error
|
||||
logQueryReturnLogs []types.Log
|
||||
lastBlock *big.Int
|
||||
node core.Node
|
||||
Transactions []core.TransactionModel
|
||||
}
|
||||
|
||||
func NewMockBlockChain() *MockBlockChain {
|
||||
@@ -104,6 +109,12 @@ func (chain *MockBlockChain) GetLogs(contract core.Contract, startingBlockNumber
|
||||
return []core.Log{}, nil
|
||||
}
|
||||
|
||||
func (chain *MockBlockChain) GetTransactions(transactionHashes []common.Hash) ([]core.TransactionModel, error) {
|
||||
chain.GetTransactionsCalled = true
|
||||
chain.GetTransactionsPassedHashes = transactionHashes
|
||||
return chain.Transactions, chain.GetTransactionsError
|
||||
}
|
||||
|
||||
func (chain *MockBlockChain) CallContract(contractHash string, input []byte, blockNumber *big.Int) ([]byte, error) {
|
||||
return []byte{}, nil
|
||||
}
|
||||
|
||||
@@ -27,6 +27,8 @@ type MockHeaderRepository struct {
|
||||
createOrUpdateHeaderErr error
|
||||
createOrUpdateHeaderPassedBlockNumbers []int64
|
||||
createOrUpdateHeaderReturnID int64
|
||||
CreateTransactionCalled bool
|
||||
CreateTransactionError error
|
||||
getHeaderError error
|
||||
getHeaderReturnBlockHash string
|
||||
missingBlockNumbers []int64
|
||||
@@ -56,8 +58,9 @@ func (repository *MockHeaderRepository) CreateOrUpdateHeader(header core.Header)
|
||||
return repository.createOrUpdateHeaderReturnID, repository.createOrUpdateHeaderErr
|
||||
}
|
||||
|
||||
func (repository *MockHeaderRepository) CreateTransaction(headerID int64, transaction core.Transaction) error {
|
||||
panic("implement me")
|
||||
func (repository *MockHeaderRepository) CreateTransaction(headerID int64, transaction core.TransactionModel) error {
|
||||
repository.CreateTransactionCalled = true
|
||||
return repository.CreateTransactionError
|
||||
}
|
||||
|
||||
func (repository *MockHeaderRepository) GetHeader(blockNumber int64) (core.Header, error) {
|
||||
|
||||
@@ -18,39 +18,30 @@ package fakes
|
||||
|
||||
import (
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
. "github.com/onsi/gomega"
|
||||
|
||||
"github.com/vulcanize/vulcanizedb/pkg/core"
|
||||
)
|
||||
|
||||
type MockTransactionConverter struct {
|
||||
convertTransactionsToCoreCalled bool
|
||||
convertTransactionsToCorePassedBlock *types.Block
|
||||
convertTransactionsToCoreReturnTransactions []core.Transaction
|
||||
convertTransactionsToCoreReturnError error
|
||||
ConvertHeaderTransactionIndexToIntCalled bool
|
||||
ConvertBlockTransactionsToCoreCalled bool
|
||||
ConvertBlockTransactionsToCorePassedBlock *types.Block
|
||||
}
|
||||
|
||||
func NewMockTransactionConverter() *MockTransactionConverter {
|
||||
return &MockTransactionConverter{
|
||||
convertTransactionsToCoreCalled: false,
|
||||
convertTransactionsToCorePassedBlock: nil,
|
||||
convertTransactionsToCoreReturnTransactions: nil,
|
||||
convertTransactionsToCoreReturnError: nil,
|
||||
ConvertHeaderTransactionIndexToIntCalled: false,
|
||||
ConvertBlockTransactionsToCoreCalled: false,
|
||||
ConvertBlockTransactionsToCorePassedBlock: nil,
|
||||
}
|
||||
}
|
||||
|
||||
func (mtc *MockTransactionConverter) SetConvertTransactionsToCoreReturnVals(transactions []core.Transaction, err error) {
|
||||
mtc.convertTransactionsToCoreReturnTransactions = transactions
|
||||
mtc.convertTransactionsToCoreReturnError = err
|
||||
func (converter *MockTransactionConverter) ConvertBlockTransactionsToCore(gethBlock *types.Block) ([]core.TransactionModel, error) {
|
||||
converter.ConvertBlockTransactionsToCoreCalled = true
|
||||
converter.ConvertBlockTransactionsToCorePassedBlock = gethBlock
|
||||
return []core.TransactionModel{}, nil
|
||||
}
|
||||
|
||||
func (mtc *MockTransactionConverter) ConvertTransactionsToCore(gethBlock *types.Block) ([]core.Transaction, error) {
|
||||
mtc.convertTransactionsToCoreCalled = true
|
||||
mtc.convertTransactionsToCorePassedBlock = gethBlock
|
||||
return mtc.convertTransactionsToCoreReturnTransactions, mtc.convertTransactionsToCoreReturnError
|
||||
}
|
||||
|
||||
func (mtc *MockTransactionConverter) AssertConvertTransactionsToCoreCalledWith(gethBlock *types.Block) {
|
||||
Expect(mtc.convertTransactionsToCoreCalled).To(BeTrue())
|
||||
Expect(mtc.convertTransactionsToCorePassedBlock).To(Equal(gethBlock))
|
||||
func (converter *MockTransactionConverter) ConvertRpcTransactionsToModels(transactions []core.RpcTransaction) ([]core.TransactionModel, error) {
|
||||
converter.ConvertHeaderTransactionIndexToIntCalled = true
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
package fakes
|
||||
|
||||
import "github.com/ethereum/go-ethereum/core/types"
|
||||
|
||||
type MockTransactionSyncer struct {
|
||||
SyncTransactionsCalled bool
|
||||
SyncTransactionsError error
|
||||
}
|
||||
|
||||
func (syncer *MockTransactionSyncer) SyncTransactions(headerID int64, logs []types.Log) error {
|
||||
syncer.SyncTransactionsCalled = true
|
||||
return syncer.SyncTransactionsError
|
||||
}
|
||||
Reference in New Issue
Block a user