forked from multiversx/mx-chain-go
-
Notifications
You must be signed in to change notification settings - Fork 0
/
blockProcessorMock.go
118 lines (97 loc) · 4.79 KB
/
blockProcessorMock.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
package mock
import (
"math/big"
"time"
"github.com/ElrondNetwork/elrond-go/data"
"github.com/ElrondNetwork/elrond-go/process/block/processedMb"
)
// BlockProcessorMock mocks the implementation for a blockProcessor
type BlockProcessorMock struct {
ProcessBlockCalled func(header data.HeaderHandler, body data.BodyHandler, haveTime func() time.Duration) error
CommitBlockCalled func(header data.HeaderHandler, body data.BodyHandler) error
RevertAccountStateCalled func(header data.HeaderHandler)
PruneStateOnRollbackCalled func(currHeader data.HeaderHandler, prevHeader data.HeaderHandler)
CreateGenesisBlockCalled func(balances map[string]*big.Int) (data.HeaderHandler, error)
CreateBlockCalled func(initialHdrData data.HeaderHandler, haveTime func() bool) (data.HeaderHandler, data.BodyHandler, error)
RestoreBlockIntoPoolsCalled func(header data.HeaderHandler, body data.BodyHandler) error
SetOnRequestTransactionCalled func(f func(destShardID uint32, txHash []byte))
MarshalizedDataToBroadcastCalled func(header data.HeaderHandler, body data.BodyHandler) (map[uint32][]byte, map[string][][]byte, error)
DecodeBlockBodyCalled func(dta []byte) data.BodyHandler
DecodeBlockHeaderCalled func(dta []byte) data.HeaderHandler
AddLastNotarizedHdrCalled func(shardId uint32, processedHdr data.HeaderHandler)
CreateNewHeaderCalled func(round uint64, nonce uint64) data.HeaderHandler
RevertStateToBlockCalled func(header data.HeaderHandler) error
RevertIndexedBlockCalled func(header data.HeaderHandler)
}
// SetNumProcessedObj -
func (bpm *BlockProcessorMock) SetNumProcessedObj(_ uint64) {
}
// ApplyProcessedMiniBlocks -
func (bpm *BlockProcessorMock) ApplyProcessedMiniBlocks(_ *processedMb.ProcessedMiniBlockTracker) {
}
// RestoreLastNotarizedHrdsToGenesis -
func (bpm *BlockProcessorMock) RestoreLastNotarizedHrdsToGenesis() {
}
// CreateNewHeader -
func (bpm *BlockProcessorMock) CreateNewHeader(round uint64, nonce uint64) data.HeaderHandler {
return bpm.CreateNewHeaderCalled(round, nonce)
}
// ProcessBlock mocks pocessing a block
func (bpm *BlockProcessorMock) ProcessBlock(header data.HeaderHandler, body data.BodyHandler, haveTime func() time.Duration) error {
return bpm.ProcessBlockCalled(header, body, haveTime)
}
// CommitBlock mocks the commit of a block
func (bpm *BlockProcessorMock) CommitBlock(header data.HeaderHandler, body data.BodyHandler) error {
return bpm.CommitBlockCalled(header, body)
}
// PruneStateOnRollback recreates the state tries to the root hashes indicated by the provided header
func (bpm *BlockProcessorMock) PruneStateOnRollback(currHeader data.HeaderHandler, prevHeader data.HeaderHandler) {
if bpm.PruneStateOnRollbackCalled != nil {
bpm.PruneStateOnRollbackCalled(currHeader, prevHeader)
}
}
// RevertStateToBlock recreates the state tries to the root hashes indicated by the provided header
func (bpm *BlockProcessorMock) RevertStateToBlock(header data.HeaderHandler) error {
if bpm.RevertStateToBlockCalled != nil {
return bpm.RevertStateToBlockCalled(header)
}
return nil
}
// RevertIndexedBlock -
func (bpm *BlockProcessorMock) RevertIndexedBlock(header data.HeaderHandler) {
if bpm.RevertIndexedBlockCalled != nil {
bpm.RevertIndexedBlockCalled(header)
}
}
// RevertAccountState mocks revert of the accounts state
func (bpm *BlockProcessorMock) RevertAccountState(header data.HeaderHandler) {
bpm.RevertAccountStateCalled(header)
}
// CreateBlock mocks the creation of a new block with header and body
func (bpm *BlockProcessorMock) CreateBlock(initialHdrData data.HeaderHandler, haveTime func() bool) (data.HeaderHandler, data.BodyHandler, error) {
return bpm.CreateBlockCalled(initialHdrData, haveTime)
}
// RestoreBlockIntoPools -
func (bpm *BlockProcessorMock) RestoreBlockIntoPools(header data.HeaderHandler, body data.BodyHandler) error {
return bpm.RestoreBlockIntoPoolsCalled(header, body)
}
// MarshalizedDataToBroadcast -
func (bpm *BlockProcessorMock) MarshalizedDataToBroadcast(header data.HeaderHandler, body data.BodyHandler) (map[uint32][]byte, map[string][][]byte, error) {
return bpm.MarshalizedDataToBroadcastCalled(header, body)
}
// DecodeBlockBody -
func (bpm *BlockProcessorMock) DecodeBlockBody(dta []byte) data.BodyHandler {
return bpm.DecodeBlockBodyCalled(dta)
}
// DecodeBlockHeader -
func (bpm *BlockProcessorMock) DecodeBlockHeader(dta []byte) data.HeaderHandler {
return bpm.DecodeBlockHeaderCalled(dta)
}
// AddLastNotarizedHdr -
func (bpm *BlockProcessorMock) AddLastNotarizedHdr(shardId uint32, processedHdr data.HeaderHandler) {
bpm.AddLastNotarizedHdrCalled(shardId, processedHdr)
}
// IsInterfaceNil returns true if there is no value under the interface
func (bpm *BlockProcessorMock) IsInterfaceNil() bool {
return bpm == nil
}