evidence: prevent proposer from proposing duplicate pieces of evidence (#4839)

prevent proposer from proposing duplicate pieces of evidence
This commit is contained in:
Callum Waters
2020-05-13 18:46:30 +02:00
committed by GitHub
parent 243dfbd585
commit c0682a3bed
7 changed files with 47 additions and 36 deletions
+4 -3
View File
@@ -1060,6 +1060,8 @@ func (e MockRandomEvidence) Hash() []byte {
return []byte(fmt.Sprintf("%d-%x", e.EvidenceHeight, e.randBytes))
}
func (e MockRandomEvidence) Equal(ev Evidence) bool { return false }
// UNSTABLE
type MockEvidence struct {
EvidenceHeight int64
@@ -1090,9 +1092,8 @@ func (e MockEvidence) Bytes() []byte {
}
func (e MockEvidence) Verify(chainID string, pubKey crypto.PubKey) error { return nil }
func (e MockEvidence) Equal(ev Evidence) bool {
e2 := ev.(MockEvidence)
return e.EvidenceHeight == e2.EvidenceHeight &&
bytes.Equal(e.EvidenceAddress, e2.EvidenceAddress)
return e.EvidenceHeight == ev.Height() &&
bytes.Equal(e.EvidenceAddress, ev.Address())
}
func (e MockEvidence) ValidateBasic() error { return nil }
func (e MockEvidence) String() string {