Merge #1351: [Build] Bump minimum required Qt version to 5.5.1
3f98b375f9bf23685df3a1aaff250988530cd613 [CMake] Check for and require Qt 5.5.1 minimum version (Fuzzbawls)
19ce9de0f5e01c00a4d6917141345537f97d1a5e build: Refactor out Qt version check macro (Fuzzbawls)
2c18e827b186d311dbec9e1f8b93fbfc5848292b Bump minimum required Qt to 5.5.1 (Fuzzbawls)
Pull request description:
As per #1292, this effectively bumps the minimum required Qt version to 5.5.1.
- Removed no longer needed precompiler conditionals
- Updated autotools to check for and require at least 5.5.1 to build the GUI
- Updated CMake to check for and require at least 5.5.1 to build the `pivx-qt` target
Closes #1292
ACKs for top commit:
random-zebra:
ACK 3f98b375f9bf23685df3a1aaff250988530cd613
furszy:
looking good, utACK 3f98b37
Merge #1338: [Core] CBlockIndex cleanup - Bump client version to 4.0.99.1
3d88a4786b254441a1befdbea9f839094bd323a2 [Core] Serialize block version before stakeModifier in CDiskBlockIndex (random-zebra)
ce1d6178df0792d7f82f8e34ba9cf4f4f386a4fd [Doc] Add getmintsinblocks removal to release notes (PR #1338) (random-zebra)
0630779a8cbe06abc36d08a1cf9a6170d82438e7 [Trivial] Move BlockIndex flags enumeration out of the class (random-zebra)
f93a7ac07ac005d477eac7e8142cafad3d8dfd83 [Core][Cleanup] Refactor CBlockIndex contructors (random-zebra)
c92341bf309ee43c64389be5a1a65a1b5a18e81d [Core] CBlockIndex: remove pointer to next block (not used) (random-zebra)
df932b8ff85c1e668f5fea7169b0e6256b864546 [Core][Cleanup] CBlockIndex: remove vMintDenominationsInBlock (random-zebra)
2b4884436f8022b2dc6c43bd2aeb9b2ca5c63c55 [RPC] Remove mintCount in getblockindexstats and remove getmintsinblocks (random-zebra)
07f96a5349c98259f02d56ac3b11264bdf0d38fe [Core] CBlockIndex: remove nMint class variable (random-zebra)
6c16baffaea89c0eeb0523d90aec16e356dda0fb [Refactor] Move implementations to chain.cpp - no functional changes (random-zebra)
22f6d266cee175891b5906c7590fe3bf3d2686ae [Core] Update CDiskBlockIndex bumping BUILD_VERSION to 1 (random-zebra)
cb46893c61435ff98c1e4ff2b62b8e2ea9394033 [Core] Use unique variable for V1/V2 stakeModifier in CBlockIndex (random-zebra)
22360c04374ea417296742c97078926b4ca8fea6 [Core] CBlockIndex: Don't serialize accCheckpoints after block version 6 (random-zebra)
3cf60d2301d03f58586df74e8904aee456e2c90f [Core] BlockIndex: remove hashProofOfStake and mapProofOfStake (random-zebra)
43dbf2a96c76c992a71e5a6aabba2b7bb92dca3d [Core][Cleanup] BlockIndex: remove stakeModifier checksums (random-zebra)
b66f0152044b418a2a64cc73ffd7c02acbb2ffe5 [Core] Index: remove unused bnChainTrust (and GetBlockTrust function) (random-zebra)
114695711b2b5ace96367dfcef0cfdd20ac7e100 [Core] Remove nStakeTime/prevoutStake (unused) variables in CBlockIndex (random-zebra)
Pull request description:
Removes a number of (unused or barely used) class variables/methods in CBlockIndex, and introduces a way to use a single variable to store either v1 or v2 stake modifiers.
Since `CDiskBlockIndex` serialization starts with CLIENT_VERSION, this pr bumps the CLIENT_VERSION_BUILD in order to introduce a new serialization without requiring reindex.
This is a first (tiny) step towards reducing our memory usage.
On a quick test (x86_64 linux) average RAM usage on (fully synced) Mainet is reduced from 2.486 Gb to 2.190 Gb, and from 1.776 Gb to 1.566 Gb on Testnet.
Future work:
Remove mapZerocoinSupply and nMoneySupply from the blockindex as well.
ACKs for top commit:
furszy:
ACK rebase 3d88a47.
Fuzzbawls:
ACK 3d88a4786b254441a1befdbea9f839094bd323a2