From 9d39d6cd1cb5bb226eefbb66daf4f4f31e1585d4 Mon Sep 17 00:00:00 2001 From: Matthias Fasching <5011972+fasmat@users.noreply.github.com> Date: Thu, 22 Aug 2024 11:33:24 +0000 Subject: [PATCH] Use ATXData during tortoise init (#6279) ## Motivation Instead of reading information about malicious identities from the DB during tortoise init use atx data. --- atxsdata/data.go | 8 ++++++++ tortoise/recover.go | 7 +------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/atxsdata/data.go b/atxsdata/data.go index 6968c1180b..8096239f07 100644 --- a/atxsdata/data.go +++ b/atxsdata/data.go @@ -5,6 +5,8 @@ import ( "sync" "sync/atomic" + "golang.org/x/exp/maps" + "github.com/spacemeshos/go-spacemesh/common/types" ) @@ -147,6 +149,12 @@ func (d *Data) SetMalicious(node types.NodeID) { d.malicious[node] = struct{}{} } +func (d *Data) MaliciousIdentities() []types.NodeID { + d.mu.RLock() + defer d.mu.RUnlock() + return maps.Keys(d.malicious) +} + // Get returns atx data. // SAFETY: The returned pointer MUST NOT be modified. func (d *Data) Get(epoch types.EpochID, atx types.ATXID) *ATX { diff --git a/tortoise/recover.go b/tortoise/recover.go index 6c742c9fa5..6a150d1318 100644 --- a/tortoise/recover.go +++ b/tortoise/recover.go @@ -13,7 +13,6 @@ import ( "github.com/spacemeshos/go-spacemesh/sql/beacons" "github.com/spacemeshos/go-spacemesh/sql/blocks" "github.com/spacemeshos/go-spacemesh/sql/certificates" - "github.com/spacemeshos/go-spacemesh/sql/identities" "github.com/spacemeshos/go-spacemesh/sql/layers" ) @@ -60,11 +59,7 @@ func Recover( } } - malicious, err := identities.GetMalicious(db) - if err != nil { - return nil, fmt.Errorf("recover malicious %w", err) - } - for _, id := range malicious { + for _, id := range atxdata.MaliciousIdentities() { trtl.OnMalfeasance(id) }