- streamline initialization logic for litemode/masternode/ds
- call updateDarksendProgress on setBalance
- format amountAndRounds for 0 balance same way as for normal balance (see c3febd20a8)
- use style='white-space:pre' to show long strings in tooltips correctly, adapt few strings
- small fixes (cleanup naming, notr, use static where possible and get rid of unneeded class members)
- detect denominated but not yet anonymized balance properly or both (GetAnonymizableBalance)
- fix progress calculation by using GetAnonymizableBalance
- do not count MN-like inputs as anonymizable
- denominate faster: if there is enough new inputs after DS started (their sum is greater then "already denominated but not yet anonymized balance")
- allow small amounts to be used in CreateDenominated (modified SelectCoinsDark) but only if they are larger then 1 CENT
- do not use collateral inputs in CreateDenominated (modified SelectCoinsDark)
- convert some int64_t -> CAmount for money related variables/params
- mn replies
- MN should use codes for replies, translations are done on client side (client protocol / min pool peer protocol bump)
- use QString for translation instead of ostream, construct better human readable strings for translators
- progress
- use QString here too
Exact amounts are now allocated directly to denominated
funds then submitted to the pool. This improves anonymity
by never having non-denomination inputs enter or exit the pool.
Randomness has also been added to the amount of each session to
improve anonymity.
LiteMode disables Darksend/Masternodes/InstantX for clients
who want speed and don't need access to these features. UI
for Darksend is also hidden while in this mode.
- Fixed a few issues when calculating progress including some variables that should be limited to 1 (a and b). GetDenominatedBalance also seemed to be giving bad results so I rewrote it to be cleaner, not sure if that was a part of the problem.
- Progress bar is only recalculated when all inputs in wallet have been confirmed (will stop the progress from jumping around)
- Made masternodes/darksend compatible with regression testing mode (a local-only blockchain that doesn't require mining). Developers can now test multiple rounds in a few minutes without waiting on mining (much faster).
- Added dsee security verification to v11
- darkSendMasternodes -> vecMasternodes (must clearer)
DoAutoDenomination just wrote to the debug.log and because of that users commonly would have a hard time seeing what was happening. This fixes that by setting a status and displaying that status in the overview.