types: remove nested evidence field from block (#7765)

* types: replaced EvidenceData in block structure with EvidenceList

* types: introduced toProto, fromProto functions to EvidenceList

* updated Changelog

* Removed comments from tests
This commit is contained in:
Jasmina Malicevic
2022-02-07 13:57:52 +01:00
committed by GitHub
parent a9fa2ac5f9
commit cd875c8a2c
13 changed files with 130 additions and 153 deletions

View File

@@ -265,8 +265,8 @@ func TestByzantinePrevoteEquivocation(t *testing.T) {
require.NotNil(t, msg)
block := msg.Data().(types.EventDataNewBlock).Block
if len(block.Evidence.Evidence) != 0 {
evidenceFromEachValidator[j] = block.Evidence.Evidence[0]
if len(block.Evidence) != 0 {
evidenceFromEachValidator[j] = block.Evidence[0]
return
}
}

View File

@@ -471,7 +471,7 @@ func TestReactorWithEvidence(t *testing.T) {
}
block := msg.Data().(types.EventDataNewBlock).Block
require.Len(t, block.Evidence.Evidence, 1)
require.Len(t, block.Evidence, 1)
}(sub)
}

View File

@@ -1960,7 +1960,7 @@ func (cs *State) RecordMetrics(height int64, block *types.Block) {
byzantineValidatorsCount int64
)
for _, ev := range block.Evidence.Evidence {
for _, ev := range block.Evidence {
if dve, ok := ev.(*types.DuplicateVoteEvidence); ok {
if _, val := cs.Validators.GetByAddress(dve.VoteA.ValidatorAddress); val != nil {
byzantineValidatorsCount++

View File

@@ -241,7 +241,7 @@ func TestEvidencePoolUpdate(t *testing.T) {
require.Equal(t, uint32(3), pool.Size())
pool.Update(state, block.Evidence.Evidence)
pool.Update(state, block.Evidence)
// a) Update marks evidence as committed so pending evidence should be empty
evList, _ = pool.PendingEvidence(defaultEvidenceMaxBytes)

View File

@@ -163,7 +163,7 @@ func (blockExec *BlockExecutor) ValidateBlock(state State, block *types.Block) e
return err
}
err = blockExec.evpool.CheckEvidence(block.Evidence.Evidence)
err = blockExec.evpool.CheckEvidence(block.Evidence)
if err != nil {
return err
}
@@ -233,7 +233,7 @@ func (blockExec *BlockExecutor) ApplyBlock(
}
// Update evpool with the latest state.
blockExec.evpool.Update(state, block.Evidence.Evidence)
blockExec.evpool.Update(state, block.Evidence)
// Update the app hash and save the state.
state.AppHash = appHash
@@ -365,7 +365,7 @@ func execBlockOnProxyApp(
commitInfo := getBeginBlockValidatorInfo(block, store, initialHeight)
byzVals := make([]abci.Evidence, 0)
for _, evidence := range block.Evidence.Evidence {
for _, evidence := range block.Evidence {
byzVals = append(byzVals, evidence.ABCI()...)
}
@@ -578,8 +578,8 @@ func fireEvents(
logger.Error("failed publishing new block header", "err", err)
}
if len(block.Evidence.Evidence) != 0 {
for _, ev := range block.Evidence.Evidence {
if len(block.Evidence) != 0 {
for _, ev := range block.Evidence {
if err := eventBus.PublishEventNewEvidence(ctx, types.EventDataNewEvidence{
Evidence: ev,
Height: block.Height,

View File

@@ -225,7 +225,7 @@ func TestBeginBlockByzantineValidators(t *testing.T) {
block, err := sf.MakeBlock(state, 1, new(types.Commit))
require.NoError(t, err)
block.Evidence = types.EvidenceData{Evidence: ev}
block.Evidence = ev
block.Header.EvidenceHash = block.Evidence.Hash()
bps, err := block.MakePartSet(testPartSize)
require.NoError(t, err)