* Remove leftover RBF code from BTC
* remove rbf #include
* remove rbf in rpc-tests
* removes replace-by-fee.py
* remove help text related to rbf
* remove comment text relating to rbf
* remove "-mempoolreplacement" cli option
* Remove (effectively dead) RBF code which would never have been called anyway and some assosiated variables
* since `setConflicts` is always empty, this is dead code
* Since we don't have RBF, don't have to do this check. Also, since `setConflicts` is always empty this is dead code
* removes unneccesary if as it will always be true
* remove unused `set<uint256> setConflicts`
* Removes replacement of conflicting txs, as conflicting txs are never accepted
* removes RBF from `validForFeeEstimation`
* removes (probably) unnecessary lock
* remove replacing part of the AcceptToMemoryPool and AcceptToMemoryPoolWIthTime
* fixes err in ps.cpp, didn't remove arg
* RBF in net_processing.cpp
* remove arg in ps-server.cpp
* removes another arg in PS code
* removes rawtx.c AcceptToMemoryPool arg
* removes arg in txvalidationcache_tests.cpp
* remove extra args
* forgot an arg
* fix typo in 82898b0
* remove unused fEnableReplacement in validation.h
* remove the removal reason REPLACED in txmempool.h
* removed unused variable
* comment typo
* Implement temporary solution to allow voting with owner keys from your wallet
Will later be removed and properly reimplemented when cleaning up
legacy masternode code
* When MN keys from masternode.conf are used, only allow voting when they match with keyIDVoting
1. Enforce payment to masternodes in IsBlockPayeeValid even if superblocks
are triggered. This new rule only gets activated when spork15 activates.
2. Always enforce masternode payments when spork15 is activated and ignore
spork8 in that case. spork8 can be removed after spork15 activation
and hardening of the spork15 height into consensus params.
* Cleaned up brackets on if, while, for, BOOST_FOREACH. Some whitespace fixes
* gov, mn and mining cleanup
* Revert "Cleaned up brackets on if, while, for, BOOST_FOREACH. Some whitespace fixes"
This reverts commit 4a2a1b0645c5195025d0c7e6dad2e01a93efbfd6.
* Revert "gov, mn and mining cleanup"
This reverts commit 7cb91aabc67df0ab60db4ee84e3aaaf6cf6b7881.
* cleanup some dash specific
* "if(" -> "if (" "for(" -> "for (" + corrected some else blocks
* Split PS into Manager and Session
* Adjust log messages accordingly
* add -privatesendsessions cmd-line option
* address review comments
* bump MAX_OUTBOUND_MASTERNODE_CONNECTIONS to 30
+10 for parallel mixing
* protect vecSessions
* constructors
* Rewrite CMasternodeMan::ProcessMasternodeConnections() to use CPrivateSendClientManager::GetMixingMasternodesInfo().
This should solve potential deadlock cs_vecqueue vs cs_vNodes.
* Drop no longer used IsMixingMasternode()
* lock cs_wallet when mixing uses balance related functions
* Split keyIDMasternode into keyIDOwner/keyIDOperator/keyIDVoting
keyIDOwner is the key used for things which should stay in control of the
collateral owner, like proposal voting.
keyIDOperator is the key used for operational things, like signing network
messages, signing trigger/watchdog objects and trigger votes.
keyIDVoting is the key used for proposal voting
Legacy masternodes will always have the same key for all 3 to keep
compatibility.
Using different keys is only allowed after spork15 activation.
* Forbid reusing collateral keys for operator/owner keys and vice versa
* Bump SERIALIZATION_VERSION_STRING in CMasternodeMan
* Support help for masternode rpc call subcommands
* Support help for gobject rpc call subcommands
* squash ifs for conditions to show help
* remove code duplication for masternode list and masternodelist help calls
* adds rpc calls for `setprivatesendrounds` and `setprivatesendamount`
* tabs -> spaces
* @gladcow change request
* Whops tab -> spaces
* @Udjin changes, not the CAmount -> int
* int stuff
* Throw error when rounds / amount isn't within range
* Prepare for DIP3 operator reward payments and switch to array in getblocktemplate
This commit allows to later split MN rewards into multiple recipients, e.g.
the owner reward and operator reward. It also updates the getblocktemplate
output to return an array of MN payments instead of a single entry.
This should allow MN miners and pool operators to prepare themself for the
upcoming changes in regard to operator rewards.
* txoutsMasternode -> voutMasternode
* More renaming
* Consider all masternode payments when looking for a known masternode
* Split CActiveMasternode into CActiveMasternodeInfo and CLegacyActiveMasternodeManager
* Use CKeyID instead of CPubKey whenever possible in masternode code
* Rename activeMasternode to activeMasternodeInfo and make it a struct
* Rename pubKeyIDXXX to keyIDXXX
* Bump SERIALIZATION_VERSION_STRING
* Fix build error after rebase
* Fix compilation warning/error with clang
* Allow changing budget parameters for regtest
* Lift some limitations for local addresses for masternodes in regtest
Needed to make masternodes works in regtest mode
* Add "masternode check" RPC to force invocation of CheckAndRemove
Useful in integration tests where MN lists must be predictable
* Fix typo in PS info dialog
Also adjust translations accordingly.
* Fix typo in PS low key warning
* Fix typo in sendrawtransaction help
* Fix sendtoaddress/sendmany help text
* Fix listreceivedby* help text
* Fix typo in listunspent help
* Fix spelling "recieves"->"receives"
Shame on me
* transactions->transaction
* receives->"incoming payments grouped"
* [rpc] sendrawtransaction no longer bypasses minRelayTxFee
The prioritisetransaction API can always be used if a transaction needs to be submitted that bypasses minRelayTxFee.
* Allow to bypass transaction policy limits in sendrawtransaction
Add new rpc param to sendrawtransaction to have an ability to tweak its behaviour.
Default is `false` i.e. "do not bypass".
* fix
* move nStart closer to used and initialize it
* Quells warning displayed with `-Wmaybe-uninitialized` flag
* remove unused mnEntries vectors
* add devnet magic bytes to mininode.py
* remove unused governance-misc.h file
* remove old TODO comments
* replace map count/insert w/emplace in instantx.cpp
This feels like an optimization, something about:
```
if map.count(key)
return false
else
insert(pair)
return true
```
... just feels icky. Plus, `vote.GetMasternodeOutpoint()` is only called
once. The previous version might be slightly more readable, however.
* Revert "replace map count/insert w/emplace in instantx.cpp"
This reverts commit d7f876e86336170f2d6d3f20b6af26bcd0dc2b18.
* clean up governance vote code
* remove old comment on votemanager design
* use map::find for signal string lookup
* make mapStrVoteSignals const and static
* this should be read-only for lookups (const)
* this should be allocated only once (static)
* Drop CInstantSend::IsEnoughOrphanVotesForTxAndOutPoint
* small cleanup in rpc tests
* move some pieces from .h to .cpp
* fix few log outputs
* fix some comments
* some trivial fixes + readability