From b90b88c6e39e8639e4b8c55e2b7fc0602c4a85ea Mon Sep 17 00:00:00 2001 From: Cassandra Heart <7929478+CassOnMars@users.noreply.github.com> Date: Sun, 25 Feb 2024 23:03:05 -0600 Subject: [PATCH] fix: set peer info broadcasts to only self (#74) --- .../consensus/ceremony/broadcast_messaging.go | 4 -- .../ceremony_data_clock_consensus_engine.go | 46 +++++++++++-------- 2 files changed, 27 insertions(+), 23 deletions(-) diff --git a/node/consensus/ceremony/broadcast_messaging.go b/node/consensus/ceremony/broadcast_messaging.go index d2466cc..92a9e04 100644 --- a/node/consensus/ceremony/broadcast_messaging.go +++ b/node/consensus/ceremony/broadcast_messaging.go @@ -133,10 +133,6 @@ func (e *CeremonyDataClockConsensusEngine) handleCeremonyPeerListAnnounce( return errors.Wrap(err, "handle ceremony peer list announce") } - e.peerAnnounceMapMx.Lock() - e.peerAnnounceMap[string(peerID)] = announce - e.peerAnnounceMapMx.Unlock() - for _, p := range announce.PeerList { e.peerMapMx.Lock() if _, ok := e.uncooperativePeersMap[string(p.PeerId)]; ok { diff --git a/node/consensus/ceremony/ceremony_data_clock_consensus_engine.go b/node/consensus/ceremony/ceremony_data_clock_consensus_engine.go index 45c9d94..2814ffc 100644 --- a/node/consensus/ceremony/ceremony_data_clock_consensus_engine.go +++ b/node/consensus/ceremony/ceremony_data_clock_consensus_engine.go @@ -101,7 +101,6 @@ type CeremonyDataClockConsensusEngine struct { peerMapMx sync.Mutex peerAnnounceMapMx sync.Mutex lastKeyBundleAnnouncementFrame uint64 - peerAnnounceMap map[string]*protobufs.CeremonyPeerListAnnounce peerMap map[string]*peerInfo uncooperativePeersMap map[string]*peerInfo } @@ -227,7 +226,6 @@ func NewCeremonyDataClockConsensusEngine( frameProverTrie: &tries.RollingFrecencyCritbitTrie{}, inclusionProver: inclusionProver, syncingStatus: SyncStatusNotSyncing, - peerAnnounceMap: map[string]*protobufs.CeremonyPeerListAnnounce{}, peerMap: map[string]*peerInfo{}, uncooperativePeersMap: map[string]*peerInfo{}, minimumPeersRequired: minimumPeersRequired, @@ -330,20 +328,18 @@ func (e *CeremonyDataClockConsensusEngine) Start() <-chan error { ), } deletes := []*peerInfo{} - for _, v := range e.peerMap { - list.PeerList = append(list.PeerList, &protobufs.CeremonyPeer{ - PeerId: v.peerId, - Multiaddr: v.multiaddr, - MaxFrame: v.maxFrame, - Timestamp: v.timestamp, - Version: v.version, - Signature: v.signature, - PublicKey: v.publicKey, - TotalDistance: e.dataTimeReel.GetTotalDistance().FillBytes( - make([]byte, 256), - ), - }) - } + list.PeerList = append(list.PeerList, &protobufs.CeremonyPeer{ + PeerId: e.pubSub.GetPeerID(), + Multiaddr: "", + MaxFrame: frame.FrameNumber, + Version: consensus.GetVersion(), + Signature: sig, + PublicKey: e.pubSub.GetPublicKey(), + Timestamp: timestamp, + TotalDistance: e.dataTimeReel.GetTotalDistance().FillBytes( + make([]byte, 256), + ), + }) for _, v := range e.uncooperativePeersMap { if v == nil { continue @@ -359,12 +355,24 @@ func (e *CeremonyDataClockConsensusEngine) Start() <-chan error { e.peerMapMx.Unlock() if e.statsClient != nil { - peerInfo := e.GetPeerInfo() _, err := e.statsClient.PutPeerInfo( context.Background(), &protobufs.PutPeerInfoRequest{ - PeerInfo: peerInfo.PeerInfo, - UncooperativePeerInfo: peerInfo.UncooperativePeerInfo, + PeerInfo: []*protobufs.PeerInfo{ + { + PeerId: e.pubSub.GetPeerID(), + Multiaddrs: []string{""}, + MaxFrame: frame.FrameNumber, + Version: consensus.GetVersion(), + Signature: sig, + PublicKey: e.pubSub.GetPublicKey(), + Timestamp: timestamp, + TotalDistance: e.dataTimeReel.GetTotalDistance().FillBytes( + make([]byte, 256), + ), + }, + }, + UncooperativePeerInfo: []*protobufs.PeerInfo{}, }, ) if err != nil {