* Add missing help string for -devnet
* Remove testnet seeds from devnet
* Activate BIP34/65/66 at height 2 instead of 1
Height 1 is the genesis block and not the devnet genesis block. The genesis
block is still at version 1, resulting in re-indexing to fail.
* RPC: fix listunspent include_unsafe param usage
* RPC: Add two fields to indicate if some mempool entry is an InstantSend tx and if it was locked or not
* RPC: Add privatesend_balance to getwalletinfo rpc
* RPC: "BTC" -> CURRENCY_UNIT
* RPC: more EnsureWalletIsAvailable in Dash-specific code
* RPC: EnsureWalletIsUnlocked in `gobject prepare`
Also fixes missing cs_wallet lock
* RPC: disable `privatesend` rpc on masternodes completely
* RPC: refactor `spork` rpc
* RPC: Show correct port in HelpExampleRpc
* RPC: few trivial fixes
* fix
* simplify gobject JSON format, remove unused fields
This allows gobject format to change from (for example):
```
[
[
"proposal",
{"object": "data-here"}
]
]
```
... to simply:
```
{"object": "data-here"}
```
The outer array isn't needed, and the first value in the 2-item tuple is
likewise discarded by DashCore. This change should allow either data
format to exist (we can deprecate/remove the older format later) and
remove the array of different type elements (string, object).
* validator test for legacy and new proposal formats
* 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 4951e58f66676afa02b3ed611bd8e9e6355f93f0.
* 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.