* Don't load caches when blocks/chainstate was not present
* Delete old cache files when we decided to not load them
* Make sure cache files are of the exact format we expected them to be, flush empty objects into them instead of deleting files naively
* Streamline logic a bit, rename fIgnoreCacheFiles to fLoadCacheFiles
Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
* Wait a little bit longer in wallet-encryption.py
The timed wallet locking is happening by an asynchronous task internally,
which means that it might need a little bit longer then the specified
timeout.
* Add workaround for p2p-versionbits-warnings.py until we backport bitcoin#12264
* build: use osslsigncode 2.0 in gitian
The original osslsigncode project (https://sourceforge.net/projects/osslsigncode/) has been marked as abandonware,
"This is now - and has been for a long while - abandonware. Feel free to create your own forks etc.".
However, a fork at https://github.com/mtrojnar/osslsigncode has emerged that has incorporated
theuni's patches, updated the tool to work with OpenSSL 1.1 and made other improvements.
This commit switches the windows signer descriptor to use this new version of osslsigncode.
* Fixed wget call in gitian-build.py
Co-authored-by: Michael <fanquake@gmail.com>
Co-authored-by: willyk <k.o.willy@gmail.com>
* move privatesend rpc methods from masternode.cpp to new privatesend.cpp
Signed-off-by: Pasta <pasta@dashboost.org>
* add ifdef ENABLE_WALLET check for wallet.h import
Signed-off-by: Pasta <pasta@dashboost.org>
* actually register privatesend rpc
Signed-off-by: Pasta <pasta@dashboost.org>
* add dropped help text and change some weird spacing below
Signed-off-by: Pasta <pasta@dashboost.org>
* Sync mempool from other nodes on start
* Add `-syncmempool` cmd-line option to be able to disable mempool sync if needed
* Only sync mempool with outbound peers
Co-authored-by: Alexander Block <ablock84@gmail.com>
* Move PS mixing entry verification on masternodes into `AddEntry()`
Also streamline logic a bit and drop unused/excessive parts.
* Unify PS checks among masternodes and clients
* No need to re-check outputs over and over again
* No need to count, fail early if any output is missing
* No need to look any further once we found the input we expected
A tx with duplicate inputs would be considered invalid anyway and we also know there are no duplicates because we just verified the final tx above.
Also drop an unused variable.
* Unify LogPrint-s
* Drop human-readable strings for unused PoolMessage-s
* Apply suggestions from code review
Co-Authored-By: PastaPastaPasta <6443210+PastaPastaPasta@users.noreply.github.com>
* Re-introduce zero-fee checks
* fix log
* Move all txin/txout verification logic shared by CPrivateSendClientSession::SignFinalTransaction() and CPrivateSendServer::AddEntry() into CPrivateSendBaseSession::IsValidInOuts()
* fix nit
* Add missing return
* Use CCoinsViewMemPool instead of doing it manually
Co-authored-by: PastaPastaPasta <6443210+PastaPastaPasta@users.noreply.github.com>
Co-authored-by: Alexander Block <ablock84@gmail.com>
* Do not sleep at the last block of the phase, it's not safe
* Refactor it a bit to make it clearer what's going on here
* Stop sleeping if blocks came faster than we expected
* Drop (test.)dnsseed.masternode.io
* makeseeds.py
mainnet 1185193, testnet 225964
* generate-seeds.py
* Update tor.md with live onion nodes
All old nodes are down
* Modify makesseeds.py to work with "protx list valid 1" instead of "masternode list"
This allows better filtering for MN owners with multiple MNs. This commit
also removes some unsupported fields, e.g. "protocol", "lastseen", ...
* Update contrib/seeds/README.md with new instructions
* Pass nAcceptTime via TransactionAddedToMempool and use it for ChainLocks
Otherwise the "first seen" time is way off after node restart
* Don't skip TransactionAddedToMempool for chainlocks while blockchain is not synced yet
Otherwise txes from mempool.dat won't be processed there
* Implement re-signing of InstantSend inputs when TXs come in via blocks
* Use GetAdjustedTime instead of GetTimeMillis in CSigSharesManager
This allows use of mocktime in tests.
* Expose verifiedProRegTxHash in getpeerinfo and implement wait_for_mnauth
* Allow to wait for IS and CL to NOT happen
* Bump timeout for wait_for_instantlock
* Implement tests for retroactive signing of IS and CLs
* Add wait_for_tx function to DashTestFramework
* Add -whitelist=127.0.0.1 to node0
* Use node3 for isolated block generation
* Don't test for non-receival of TXs on node4/node5
* Tests: Connect to the control node only in start_masternodes
Masternodes should take care of intra-quorum connections themselves
* Reconnect non-masternodes back to the control node
c4af738 Fix ignoring tx data requests when fPauseSend is set on a peer (Matt Corallo)
Pull request description:
This resolves a bug introduced in
66aa1d58a158991a8014a91335b5bc9c00062f56 where, if when responding
to a series of transaction requests in a getdata we hit the send
buffer limit and set fPauseSend, we will skip one transaction per
call to ProcessGetData.
Bug found by Cory Fields (@theuni).
Probably worth slipping into 0.16 :/.
Tree-SHA512: a9313cef8ac6da31eb099c9925c8401a638220cf7bc9b7b7b83151ecae4b02630f2db45ef6668302b9bb0f38571afbd764993427f1ec9e4d74d9a3be6647d299
c4af738 Fix ignoring tx data requests when fPauseSend is set on a peer (Matt Corallo)
Pull request description:
This resolves a bug introduced in
66aa1d58a158991a8014a91335b5bc9c00062f56 where, if when responding
to a series of transaction requests in a getdata we hit the send
buffer limit and set fPauseSend, we will skip one transaction per
call to ProcessGetData.
Bug found by Cory Fields (@theuni).
Probably worth slipping into 0.16 :/.
Tree-SHA512: a9313cef8ac6da31eb099c9925c8401a638220cf7bc9b7b7b83151ecae4b02630f2db45ef6668302b9bb0f38571afbd764993427f1ec9e4d74d9a3be6647d299
This should make code a little bit cleaner, should be no changes in the actual behaviour: non-members do not sleep already due to `sleepTime` being negative for them and `phaseTime = 0` does the same on regtest but for everyone.
* Implement re-signing of InstantSend inputs when TXs come in via blocks
* Use GetAdjustedTime instead of GetTimeMillis in CSigSharesManager
This allows use of mocktime in tests.
* Expose verifiedProRegTxHash in getpeerinfo and implement wait_for_mnauth
* Allow to wait for IS and CL to NOT happen
* Bump timeout for wait_for_instantlock
* Implement tests for retroactive signing of IS and CLs
* Add wait_for_tx function to DashTestFramework
* Add -whitelist=127.0.0.1 to node0
* Use node3 for isolated block generation
* Don't test for non-receival of TXs on node4/node5
* Tests: Connect to the control node only in start_masternodes
Masternodes should take care of intra-quorum connections themselves
* Reconnect non-masternodes back to the control node