From 8724dcd41bd6443abb2df4611f0eeb138f7a3a96 Mon Sep 17 00:00:00 2001 From: terence tsao Date: Sat, 14 Dec 2019 08:51:27 -0800 Subject: [PATCH] Sort received atts by sig (#4287) --- .../operations/attestations/kv/unaggregated_test.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/beacon-chain/operations/attestations/kv/unaggregated_test.go b/beacon-chain/operations/attestations/kv/unaggregated_test.go index 87ce80b57f..ce9e387b82 100644 --- a/beacon-chain/operations/attestations/kv/unaggregated_test.go +++ b/beacon-chain/operations/attestations/kv/unaggregated_test.go @@ -1,8 +1,10 @@ package kv import ( + "encoding/binary" "math" "reflect" + "sort" "strings" "testing" "time" @@ -30,8 +32,8 @@ func TestKV_Unaggregated_CanSaveRetrieve(t *testing.T) { data := ðpb.AttestationData{Slot: 100, CommitteeIndex: 99} att1 := ðpb.Attestation{Data: ðpb.AttestationData{}, AggregationBits: bitfield.Bitlist{0b101}} - att2 := ðpb.Attestation{Data: data, Signature: []byte{'A'}, AggregationBits: bitfield.Bitlist{0b110}} - att3 := ðpb.Attestation{Data: data, Signature: []byte{'B'}, AggregationBits: bitfield.Bitlist{0b110}} + att2 := ðpb.Attestation{Data: data, Signature: []byte{0,0}, AggregationBits: bitfield.Bitlist{0b110}} + att3 := ðpb.Attestation{Data: data, Signature: []byte{0,1}, AggregationBits: bitfield.Bitlist{0b110}} atts := []*ethpb.Attestation{att1, att2, att3} for _, att := range atts { @@ -41,8 +43,11 @@ func TestKV_Unaggregated_CanSaveRetrieve(t *testing.T) { } returned := cache.UnaggregatedAttestation(data.Slot, data.CommitteeIndex) - wanted := []*ethpb.Attestation{att2, att3} + sort.Slice(returned, func(i, j int) bool { + return binary.BigEndian.Uint16(returned[i].Signature) < binary.BigEndian.Uint16(returned[j].Signature) + }) + wanted := []*ethpb.Attestation{att2, att3} if !reflect.DeepEqual(wanted, returned) { t.Error("Did not receive correct unaggregated atts") }