diff --git a/src/com/bitsofproof/supernode/core/Script.java b/src/com/bitsofproof/supernode/core/Script.java index fbc901f8..5e662dce 100644 --- a/src/com/bitsofproof/supernode/core/Script.java +++ b/src/com/bitsofproof/supernode/core/Script.java @@ -1568,7 +1568,19 @@ else if ( (hashType & 0x1f) == SIGHASH_SINGLE ) String cacheKey = c.toString (); synchronized ( validSignatureCache ) { - return validSignatureCache.contains (cacheKey) || ECKeyPair.verify (hash, sig, pubkey) && validSignatureCache.add (cacheKey); + if ( validSignatureCache.contains (cacheKey) ) + { + return true; + } + } + if ( ECKeyPair.verify (hash, sig, pubkey) ) + { + synchronized ( validSignatureCache ) + { + validSignatureCache.add (cacheKey); + } + return true; } + return false; } }