* Refactor CProposalValidator
- fix names
- MAX_NAME_SIZE instead of magic value
- move most functions to private, test actual usage (constructor and Validate), not every single function
- do not store hex string (there is no reason to do so anymore)
- remove (now) unused functions
* Make sure payment_address has no whitespaces
* Fix governance_validators_tests
* Don't allow whitespaces, drop StripWhitespaces and add corresponding tests
* Show validator internal errors on check failure
* Fix unlocking error on "Start Mixing"
Instead warn that wallet is fully unlocked etc.
* Revert "Fix unlocking error on "Start Mixing""
This reverts commit 4951e58f66.
* Drop mixingOnlyCheckBox and determine the correct unlock path automatically via provided mode
* Call CheckMnbAndUpdateMasternodeList when when starting MN
Otherwise the invoking node won't have nCollateralMinConfBlockHash
updated correctly, resulting in the MN showing up in the wrong position
when masternode ranks are calculated.
* Remove UpdateMasternodeList and remaining uses of it
* Drop nBudgetProposalEstablishingTime
* Refactor: replace `== COutPoint()` with `.IsNull()`
* Refactor: add `operator bool()` to CMasternodePing
* Refactor: actually use `operator bool()` for CPendingDsaRequest
* Refactor: fixing code style in TrafficGraphData
* Fix some comments and whitespaces
* Drop CGovernanceVote::GetTypeHash()
* Drop legacy X11 code
No longer used... if it ever was used at all.
* Move `<boost/foreach.hpp>` out of coins.h
* Simplify CMasternodeBlockPayees::GetRequiredPaymentsString()
Also less of boost::lexical_cast
* Drop CTxDSIn::nSentTimes
* Fix few warnings
* fix warning (timer)
* fix nit
* Use SPORK_6_NEW_SIGS to switch from signing string messages to hashes (gobject)
* Use SPORK_6_NEW_SIGS to switch from signing string messages to hashes (gobjvote)
* Use SPORK_6_NEW_SIGS to switch from signing string messages to hashes (mnw)
* Use SPORK_6_NEW_SIGS to switch from signing string messages to hashes (txlvote)
* Use SPORK_6_NEW_SIGS to switch from signing string messages to hashes (dsq)
* Use SPORK_6_NEW_SIGS to switch from signing string messages to hashes (dstx)
* Use SPORK_6_NEW_SIGS to switch from signing string messages to hashes (spork)
* Use SPORK_6_NEW_SIGS to switch from signing string messages to hashes (mnb)
* Actually care about old signature format in mnp, otherwise we can start banning peers rather quickly
* Use SPORK_6_NEW_SIGS to switch from signing string messages to hashes (mnv)
* Unify sign/verify code a bit by using GetSignatureHash() (even when it matches GetHash())
* fix docs
* address review comments
* fix log output (copy/paste error)
* Replace custom GetSignatureHash/GetHash with serialization (where applicable)
* Convert from/to old format in SerializationOp only for p2p
* fix
* Use new spork SPORK_6_NEW_SIGS to fix masternode payment vote signature format
* Use SPORK_6_NEW_SIGS to also fix masternode ping signature format
* Use SPORK_6_NEW_SIGS to also fix privatesend queue signature format
* adjust spork6 description in docs
* mnp hashing/signing changed - hash everything and use SignHash/VerifyHash directly instead of constructing a string to sign (both activate via SPORK_6_NEW_SIGS)
* fix
* cleanup
* Do not filter non-upgraded mns in DSEG
Reverts #1373, we need non-upgraded MNs to verify their old govvotes
* Split mn list/single vin logic for DSEG
This should prevent looping till the end of the list if we were asked for a single mn and a) we have it but some following `if` has failed or b) we don't have it. It also should be a bit easier to follow the logic this way.
I believe this was stubbed to eventually read the string in the 1st
field of the inner array in the gobject JSON. Currently only Sentinel
uses this and I would like to move to just a single JSON object, so
don't think this is necessary any longer.