From d9b330b46a8b7b98afcec97a3e21cf6d0dc06c1c Mon Sep 17 00:00:00 2001 From: catbref Date: Tue, 17 May 2022 21:59:55 +0100 Subject: [PATCH] OnlineAccountData no longer uses signature in equals() or hashCode() because newer aggregate signatures use random nonces and OAD class doesn't care about / verify sigs --- .../org/qortal/data/network/OnlineAccountData.java | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/qortal/data/network/OnlineAccountData.java b/src/main/java/org/qortal/data/network/OnlineAccountData.java index 99c181ba..28c454b5 100644 --- a/src/main/java/org/qortal/data/network/OnlineAccountData.java +++ b/src/main/java/org/qortal/data/network/OnlineAccountData.java @@ -66,13 +66,11 @@ public class OnlineAccountData { if (otherOnlineAccountData.timestamp != this.timestamp) return false; - // Signature more likely to be unique than public key - if (!Arrays.equals(otherOnlineAccountData.signature, this.signature)) - return false; - if (!Arrays.equals(otherOnlineAccountData.publicKey, this.publicKey)) return false; + // We don't compare signature because it's not our remit to verify and newer aggregate signatures use random nonces + return true; } @@ -81,8 +79,8 @@ public class OnlineAccountData { int h = this.hash; if (h == 0) { this.hash = h = Long.hashCode(this.timestamp) - ^ Arrays.hashCode(this.publicKey) - ^ Arrays.hashCode(this.signature); + ^ Arrays.hashCode(this.publicKey); + // We don't use signature because newer aggregate signatures use random nonces } return h; }