* Speed up autoix-mempool tests by making the max mempool smaller
With this less TXs have to be created to fill up the mempool.
* Change DashTestFramework to use DIP3 MNs
* Don't assert disabled bip9 in p2p-autoinstantsend.py
* Replace IsDeterministicMNsSporkActive with IsDIP3Active
IsDIP3Active will now use a fixed parameter from consensus params.
Values for DIP0003Height/DIP0003Hash need to be updated when spork15
activates on mainnet.
Also enforce correct block hash on testnet/mainnet for DIP3 activation
block.
* Remove SPORK_15_DETERMINISTIC_MNS_ENABLED
* Replace all uses of IsDeterministicMNsSporkActive with IsDIP3Active
* Remove DIP3 upgrade-path tests and directly start with DIP3 enabled tests
* Make -masternodeprivkey non-mandatory
This code will vanish later.
* Bump to 0.12.3.3
* Fix crash bug with duplicate inputs within a transaction
Introduced by #9049
* Remove redundant parameter fCheckDuplicateInputs from CheckTransaction
* Release notes 0.12.3.3
* Bump nPowKGWHeight for testnet and cause a fork at height 4001
This will reset testnet so that we can start with a clean state.
* Change CSV, DIP0001 and BIP147 deployments to start today
* Update nMinimumChainWork and defaultAssumeValid for block 4000
* Remove checkpoints above block 4000
* Bump to 0.12.3.4
* Update release-notes.md and copy 0.12.3.3 release-notes
* Don't check for nSuperblockStartHash on testnet
* Remove temporary fork handling for emergency difficulty reduction on testnet
As we reset testnet, we can also remove the special handling for old blocks.
* Add an option to use specific address as a source of funds in protx rpc commands
* fix typo "must"
* Always use payoutAddress (or operatorPayoutAddress) as a default if no fundAddress was specified
* make sure we actually selected some inputs
* fundAddress -> feeSourceAddress
* Align help text with new logic
* fix protx_update_service
* fix protx_revoke
* Add fRequireAllInputs to CCoinControl and use it in FundSpecialTx
This avoids adding all inputs even though they are not needed.
* Allow to specify empty operator payout address and simplify fee code in update_service
DIP3 tests were failing to call "protx update_service" as it did not accept
an empty "operatorPayoutAddress".
This also simplifies handling of the feeSourceAddr.
* Specify source for funds and fees in DIP3 tests
* Fix optional revocation reason parameter for "protx revoke"
* Fix "protx revoke" help message
* Remove obsolete help text about masternode operator keys and wallets
* Remove legacy masternode tabs on DIP3 activation
* Move setInvisible call for dip3NoteLabel up
Otherwise it takes a minute until it's actually made invisible.
* Bail out early from updateMyNodeList when spork15 is active
Otherwise we risk accessing destroyed Qt objects.
* Bump PROTOCOL_VERSION and DMN_PROTO_VERSION to 70213
This will disconnect all nodes from the old testnet chain when DIP3 gets
activated through BIP9.
Also update comments where 70212/70213 was referenced.
* Also bump MIN_PEER_PROTO_VERSION_DIP3 and MIN_PRIVATESEND_PEER_PROTO_VERSION
* Ensure EvoDB consistency by storing the best block hash
This approach is similar to the one used for chainstate currently.
Ensures that:
- nodes that upgraded after DIP3 has all the data processed correctly (they will crash and require reindex);
- evodb/ is removed when blocks/ is removed (otherwise sync will fail due to duplicate records).
* Implement CEvoDB::VerifyBestBlock/WriteBestBlock and call them from ConnectBlock/DisconnectBlock
* Fix walletbackup.py
* Switch GetQuorumBlockHash from CBlockIndex* to nHeight
* `pindexPrev -> pindex` for ProcessCommitment
* Switch IsCommitmentRequired from CBlockIndex* to block height
* Switch GetMinableCommitment/Tx from CBlockIndex* to block height
* Add `AssertLockHeld(cs_main);`
Co-Authored-By: UdjinM6 <UdjinM6@users.noreply.github.com>