From 6d00ee280c653b38e9785ca325a3624c6db0f17f Mon Sep 17 00:00:00 2001 From: Pietralberto Mazza <18440657+altafan@users.noreply.github.com> Date: Tue, 12 Dec 2023 15:11:25 +0100 Subject: [PATCH] Fix dangling payments (#58) --- asp/internal/core/application/utils.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/asp/internal/core/application/utils.go b/asp/internal/core/application/utils.go index d61bdb7..d62defd 100644 --- a/asp/internal/core/application/utils.go +++ b/asp/internal/core/application/utils.go @@ -53,10 +53,6 @@ func (m *paymentsMap) pop(num int64) []domain.Payment { m.lock.Lock() defer m.lock.Unlock() - if num < 0 || num > int64(len(m.payments)) { - num = int64(len(m.payments)) - } - paymentsByTime := make([]timedPayment, 0, len(m.payments)) for _, p := range m.payments { // Skip payments without registered receivers. @@ -73,6 +69,10 @@ func (m *paymentsMap) pop(num int64) []domain.Payment { return paymentsByTime[i].timestamp.Before(paymentsByTime[j].timestamp) }) + if num < 0 || num > int64(len(paymentsByTime)) { + num = int64(len(paymentsByTime)) + } + payments := make([]domain.Payment, 0, num) for _, p := range paymentsByTime[:num] { payments = append(payments, p.Payment)