From c13bf4d6064f8519a5b27ee1ef70e4e5d97f92a1 Mon Sep 17 00:00:00 2001 From: Arthur Britto Date: Fri, 1 Jun 2012 01:17:16 -0700 Subject: [PATCH] Use mNonce256 in SHAMap hashing. --- src/SHAMap.cpp | 14 ++++++++++++++ src/SHAMap.h | 8 +++----- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/SHAMap.cpp b/src/SHAMap.cpp index 372bd3f0fe..13e336fb1a 100644 --- a/src/SHAMap.cpp +++ b/src/SHAMap.cpp @@ -10,6 +10,20 @@ #include "Serializer.h" #include "BitcoinUtil.h" #include "SHAMap.h" +#include "Application.h" + +std::size_t hash_SMN::operator() (const SHAMapNode& mn) const +{ + return mn.getDepth() + ^ *reinterpret_cast(mn.getNodeID().begin()) + ^ *reinterpret_cast(theApp->getNonce256().begin()); +} + +std::size_t hash_SMN::operator() (const uint256& u) const +{ + return *reinterpret_cast(u.begin()) + ^ *reinterpret_cast(theApp->getNonce256().begin()); +} SHAMap::SHAMap(uint32 seq) : mSeq(seq), mState(Modifying) { diff --git a/src/SHAMap.h b/src/SHAMap.h index f0e41bc51e..631be2a0a0 100644 --- a/src/SHAMap.h +++ b/src/SHAMap.h @@ -77,13 +77,11 @@ public: }; class hash_SMN -{ // These must be randomized for release +{ public: - std::size_t operator() (const SHAMapNode& mn) const - { return mn.getDepth() ^ *reinterpret_cast(mn.getNodeID().begin()); } + std::size_t operator() (const SHAMapNode& mn) const; - std::size_t operator() (const uint256& u) const - { return *reinterpret_cast(u.begin()); } + std::size_t operator() (const uint256& u) const; }; class SHAMapItem