From 55f973af3c405dee893e2d31c7db37dc65dc8c63 Mon Sep 17 00:00:00 2001 From: CalDescent Date: Sat, 30 Jul 2022 18:15:16 +0100 Subject: [PATCH] Ensure all online accounts timestamps are a multiple of the online timestamp modulus. This is a simple way to discard the 5-minute online account timestamps (from out of date nodes) once the switch to 30-minute online account timestamps has taken place. --- .../java/org/qortal/controller/OnlineAccountsManager.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/org/qortal/controller/OnlineAccountsManager.java b/src/main/java/org/qortal/controller/OnlineAccountsManager.java index 05fb7f29..6fbeec25 100644 --- a/src/main/java/org/qortal/controller/OnlineAccountsManager.java +++ b/src/main/java/org/qortal/controller/OnlineAccountsManager.java @@ -217,6 +217,11 @@ public class OnlineAccountsManager { return false; } + // Check timestamp is a multiple of online timestamp modulus + if (onlineAccountTimestamp % getOnlineTimestampModulus() != 0) { + return false; + } + // Verify signature byte[] data = Longs.toByteArray(onlineAccountData.getTimestamp()); boolean isSignatureValid = onlineAccountTimestamp >= BlockChain.getInstance().getAggregateSignatureTimestamp()