From dc72db455c49bfb21ef1311e91516d954686d667 Mon Sep 17 00:00:00 2001 From: Alexander Sporn Date: Tue, 14 May 2024 21:44:01 +0200 Subject: [PATCH] Fixed genesis snapshot generation --- .../sybilprotectionv1/performance/snapshot.go | 54 +++++++++---------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/pkg/protocol/sybilprotection/sybilprotectionv1/performance/snapshot.go b/pkg/protocol/sybilprotection/sybilprotectionv1/performance/snapshot.go index 29639d3b3..385627a8c 100644 --- a/pkg/protocol/sybilprotection/sybilprotectionv1/performance/snapshot.go +++ b/pkg/protocol/sybilprotection/sybilprotectionv1/performance/snapshot.go @@ -300,46 +300,46 @@ func (t *Tracker) exportPoolRewards(writer io.WriteSeeker, targetEpoch iotago.Ep if err != nil { return 0, ierrors.Wrapf(err, "unable to get rewards tree for epoch %d", epoch) } - // if the map was not present in storage we can skip this epoch - if !rewardsMap.WasRestoredFromStorage() { - t.LogDebug("Skipping epoch", "epoch", epoch, "reason", "not restored from storage") - continue - } - t.LogDebug("Exporting Pool Rewards", "epoch", epoch) + if rewardsMap.WasRestoredFromStorage() { + t.LogDebug("Exporting Pool Rewards", "epoch", epoch) - if err := stream.Write(writer, epoch); err != nil { - return 0, ierrors.Wrapf(err, "unable to write epoch index for epoch index %d", epoch) - } + if err := stream.Write(writer, epoch); err != nil { + return 0, ierrors.Wrapf(err, "unable to write epoch index for epoch index %d", epoch) + } - if err := stream.WriteCollection(writer, serializer.SeriLengthPrefixTypeAsUint64, func() (int, error) { - var accountCount int + if err := stream.WriteCollection(writer, serializer.SeriLengthPrefixTypeAsUint64, func() (int, error) { + var accountCount int - if err = rewardsMap.Stream(func(key iotago.AccountID, value *model.PoolRewards) error { - if err := stream.Write(writer, key); err != nil { - return ierrors.Wrapf(err, "unable to write account id for epoch %d and accountID %s", epoch, key) - } + if err = rewardsMap.Stream(func(key iotago.AccountID, value *model.PoolRewards) error { + if err := stream.Write(writer, key); err != nil { + return ierrors.Wrapf(err, "unable to write account id for epoch %d and accountID %s", epoch, key) + } - if err := stream.WriteObject(writer, value, (*model.PoolRewards).Bytes); err != nil { - return ierrors.Wrapf(err, "unable to write account rewards for epoch index %d and accountID %s", epoch, key) - } + if err := stream.WriteObject(writer, value, (*model.PoolRewards).Bytes); err != nil { + return ierrors.Wrapf(err, "unable to write account rewards for epoch index %d and accountID %s", epoch, key) + } - t.LogDebug("Exporting Pool Reward", "epoch", epoch, "accountID", key, "rewards", value) + t.LogDebug("Exporting Pool Reward", "epoch", epoch, "accountID", key, "rewards", value) - accountCount++ + accountCount++ - return nil + return nil + }); err != nil { + return 0, ierrors.Wrapf(err, "unable to stream rewards for epoch index %d", epoch) + } + + return accountCount, nil }); err != nil { - return 0, ierrors.Wrapf(err, "unable to stream rewards for epoch index %d", epoch) + return 0, ierrors.Wrapf(err, "unable to write rewards for epoch index %d", epoch) } - return accountCount, nil - }); err != nil { - return 0, ierrors.Wrapf(err, "unable to write rewards for epoch index %d", epoch) + epochCount++ + } else { + // if the map was not present in storage we can skip this epoch + t.LogDebug("Skipping epoch", "epoch", epoch, "reason", "not restored from storage") } - epochCount++ - if epoch <= earliestRewardEpoch { // Every reward before earliestRewardEpoch is already exported, so stop here break