diff --git a/src/cpp/ripple/RippleAddress.cpp b/src/cpp/ripple/RippleAddress.cpp index aac1695e1..7ef204277 100644 --- a/src/cpp/ripple/RippleAddress.cpp +++ b/src/cpp/ripple/RippleAddress.cpp @@ -18,9 +18,16 @@ #include "utils.h" #include "Log.h" #include "Serializer.h" +#include "Application.h" SETUP_LOG(); +std::size_t hash_value(const CBase58Data& b58) +{ + std::size_t seed = theApp->getNonceST() + (b58.nVersion * 0x9e3779b9); + boost::hash_combine(seed, b58.vchData); + return seed; +} RippleAddress::RippleAddress() { diff --git a/src/cpp/ripple/base58.h b/src/cpp/ripple/base58.h index 5f08f4871..35a6acfef 100644 --- a/src/cpp/ripple/base58.h +++ b/src/cpp/ripple/base58.h @@ -164,11 +164,8 @@ protected: unsigned char nVersion; std::vector vchData; - CBase58Data() - { - nVersion = 1; - vchData.clear(); - } + CBase58Data() : nVersion(1) + { ; } ~CBase58Data() { @@ -247,13 +244,7 @@ public: friend std::size_t hash_value(const CBase58Data& b58); }; -inline std::size_t hash_value(const CBase58Data& b58) -{ - std::size_t seed = boost::hash_value(b58.nVersion); +extern std::size_t hash_value(const CBase58Data& b58); - boost::hash_combine(seed, b58.vchData); - - return seed; -} #endif // vim:ts=4