diff --git a/internal/state/execution.go b/internal/state/execution.go index 0b55f6347..6bdd3a70f 100644 --- a/internal/state/execution.go +++ b/internal/state/execution.go @@ -153,17 +153,12 @@ func (blockExec *BlockExecutor) ProcessProposal( block *types.Block, initialHeight int64, ) (bool, error) { - ep, err := block.Evidence.ToProto() - if err != nil { - return false, err - } - req := abci.RequestProcessProposal{ Hash: block.Header.Hash(), Header: *block.Header.ToProto(), Txs: block.Data.Txs.ToSliceOfBytes(), LastCommitInfo: getBeginBlockValidatorInfo(block, blockExec.store, initialHeight), - ByzantineValidators: ep.Evidence, + ByzantineValidators: block.Evidence.ToABCI(), } resp, err := blockExec.proxyApp.ProcessProposal(ctx, req) @@ -390,11 +385,6 @@ func execBlockOnProxyApp( commitInfo := getBeginBlockValidatorInfo(block, store, initialHeight) - byzVals := make([]abci.Evidence, 0) - for _, evidence := range block.Evidence { - byzVals = append(byzVals, evidence.ABCI()...) - } - // Begin block var err error pbh := block.Header.ToProto() @@ -408,7 +398,7 @@ func execBlockOnProxyApp( Hash: block.Hash(), Header: *pbh, LastCommitInfo: commitInfo, - ByzantineValidators: byzVals, + ByzantineValidators: block.Evidence.ToABCI(), }, ) if err != nil { diff --git a/types/evidence.go b/types/evidence.go index 264e0957b..825e35a03 100644 --- a/types/evidence.go +++ b/types/evidence.go @@ -681,6 +681,14 @@ func (evl EvidenceList) Has(evidence Evidence) bool { return false } +func (evl EvidenceList) ToABCI() []abci.Evidence { + el := make([]abci.Evidence, 0) + for _, e := range evl { + el = append(el, e.ABCI()...) + } + return el +} + //------------------------------------------ PROTO -------------------------------------- // EvidenceToProto is a generalized function for encoding evidence that conforms to the