diff --git a/configure.ac b/configure.ac index b59757f33..ea65154b1 100644 --- a/configure.ac +++ b/configure.ac @@ -3,7 +3,7 @@ AC_PREREQ([2.60]) define(_CLIENT_VERSION_MAJOR, 0) define(_CLIENT_VERSION_MINOR, 12) define(_CLIENT_VERSION_REVISION, 0) -define(_CLIENT_VERSION_BUILD, 47) +define(_CLIENT_VERSION_BUILD, 48) define(_CLIENT_VERSION_IS_RELEASE, true) define(_COPYRIGHT_YEAR, 2015) AC_INIT([Dash Core],[_CLIENT_VERSION_MAJOR._CLIENT_VERSION_MINOR._CLIENT_VERSION_REVISION],[info@dashpay.io],[dash]) diff --git a/src/clientversion.h b/src/clientversion.h index ebc5785c6..72e9ed977 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -17,7 +17,7 @@ #define CLIENT_VERSION_MAJOR 0 #define CLIENT_VERSION_MINOR 12 #define CLIENT_VERSION_REVISION 0 -#define CLIENT_VERSION_BUILD 47 +#define CLIENT_VERSION_BUILD 48 //! Set to true for release, false for prerelease or test build #define CLIENT_VERSION_IS_RELEASE true diff --git a/src/masternode-payments.cpp b/src/masternode-payments.cpp index 08be8bc42..63a30024b 100644 --- a/src/masternode-payments.cpp +++ b/src/masternode-payments.cpp @@ -598,7 +598,7 @@ void CMasternodePayments::CleanPaymentList() if(chainActive.Tip() == NULL) return; //keep up to five cycles for historical sake - int nLimit = std::max(((int)mnodeman.size())*5, 1000); + int nLimit = std::max(((int)mnodeman.size())*2, 1000); std::map::iterator it = mapMasternodePayeeVotes.begin(); while(it != mapMasternodePayeeVotes.end()) { diff --git a/src/masternodeman.cpp b/src/masternodeman.cpp index ae52184c8..aa7f37b49 100644 --- a/src/masternodeman.cpp +++ b/src/masternodeman.cpp @@ -324,6 +324,26 @@ void CMasternodeMan::CheckAndRemove(bool forceExpiredRemoval) } } + // remove expired mapSeenMasternodeBroadcast + map::iterator it3 = mapSeenMasternodeBroadcast.begin(); + while(it3 != mapSeenMasternodeBroadcast.end()){ + if((*it3).second.sigTime < GetTime()-(MASTERNODE_MIN_MNP_SECONDS*2)){ + mapSeenMasternodeBroadcast.erase(it3++); + } else { + ++it3; + } + } + + // remove expired mapSeenMasternodePing + map::iterator it4 = mapSeenMasternodePing.begin(); + while(it4 != mapSeenMasternodePing.end()){ + if((*it4).second.sigTime < GetTime()-(MASTERNODE_REMOVAL_SECONDS*2)){ + mapSeenMasternodePing.erase(it4++); + } else { + ++it4; + } + } + } void CMasternodeMan::Clear()