Commit Graph

16018 Commits

Author SHA1 Message Date
Alexander Block
4b5409ab59
Merge pull request #2760 from codablock/pr_llmq_posetests
Move simple PoSe tests into llmq-simplepose.py
2019-03-12 10:42:51 +01:00
Alexander Block
cd0f94fb54 Give wait_for_quorum_phase more time 2019-03-12 09:20:17 +01:00
Alexander Block
4ae52758bd Remove size check in CDKGSessionManager::GetVerifiedContributions
It's actually not true that these should always be the same. In case a
quorum is built and the total number of masternodes in the network is below
the quorum size, we might still end up having a valid quorum as long as
the total number of masternodes is >= minSize.
2019-03-12 07:02:52 +01:00
Alexander Block
e21da2d99b Move simple PoSe tests into llmq-simplepose.py
These tend to fail quite often on Travis due to multiple reasons. One
reason is that establishing intra quorum connections take some time and
the tests in dip3-deterministicmns.py did not sleep long enough. Another
reason is that the individual stages were not really checked for completion
but instead just a hardcoded sleep was used. And another reason was that
with a total of 13 MNs, it's not guaranteed that every DKG results in one
MN to be punished.
2019-03-12 07:02:52 +01:00
Alexander Block
6488135f46 Track index into self.nodes in mninfo 2019-03-12 07:02:52 +01:00
Alexander Block
effcd0ca53
Merge pull request #2756 from codablock/pr_llmq_instantsend_perstency
Implement persistence for LLMQ based InstantSend
2019-03-12 07:02:14 +01:00
Alexander Block
f30ea6dfde Replace BITCOIN_UNORDERED_LRU_CACHE_H with DASH_UNORDERED_LRU_CACHE_H 2019-03-11 15:18:25 +01:00
Alexander Block
e763310b54 Add missing LOCK(cs_main) 2019-03-11 15:18:15 +01:00
UdjinM6
3a5e7c4334
Do not hold cs_vNodes in CSigSharesManager::SendMessages() for too long (#2758) 2019-03-11 16:33:17 +03:00
UdjinM6
fbf0dcb086
Various small cleanups (#2761)
* Fix remaining `print`s in tests

* use AssertLockHeld(cs) instead of relying on comments

* actually use `clsig` in `EnforceBestChainLock()`

* fix log output in `EnforceBestChainLock()`

* drop comments
2019-03-11 16:32:26 +03:00
Alexander Block
588eb30b86 Fix deadlock in CSigSharesManager::SendMessages (#2757)
* Fix deadlock in CSigSharesManager::SendMessages

Locking "cs" at this location caused a (potential) deadlock due to changed
order of cs and cs_vNodes locking. This changes the method to not require
the session object anymore which removes the need for locking.

* Pass size of LLMQ instead of llmqType into CSigSharesInv::Init

This allows use of sizes which are not supported in chainparams.
2019-03-11 16:31:51 +03:00
-k
7b24f9b8b3 Drop --c++11 brew flag in build-osx.md (#2755)
* fix brew flag typo

* drop c++11
2019-03-11 11:16:28 +03:00
UdjinM6
9f40afce86
Merge pull request #2727 from PastaPastaPasta/backports-0.15-pr7
Backports 0.15 pr7
2019-03-11 11:15:51 +03:00
Alexander Block
ac00c66287 Make InstantSend locks persistent 2019-03-11 07:37:08 +01:00
Alexander Block
293c9ad6a1 Use unordered_lru_cache in CRecoveredSigsDb 2019-03-11 07:31:25 +01:00
Alexander Block
9e4aa1f98c Implement unordered_lru_cache 2019-03-11 06:33:46 +01:00
Pasta
609114a803 Code review: re-add string cast in mininode.py 2019-03-08 17:05:10 -06:00
pasta
85ffc1d647 drop swap_outputs_in_rawtx and DecimalEncoder in smartfees.py 2019-03-08 14:28:00 -06:00
Alexander Block
bc593c84b7 Revert "Fix use of missing self.log in blockchain.py"
This reverts commit b06a6a2e74.
2019-03-08 14:22:49 -06:00
Alexander Block
0e91ebcf42 Use logging framework in Dash specific tests 2019-03-08 14:22:40 -06:00
Alexander Block
fbcb61475a [0.13.x] Bump version to 0.13.2 and add release notes (#2749)
* Bump version to 0.13.2

* Add release notes for 0.13.2.0

* Update credits

* Add #2750 to changelog

* Update doc/release-notes.md

Co-Authored-By: codablock <ablock84@gmail.com>
2019-03-08 21:21:50 +03:00
PastaPastaPasta
dd1245c2a9 Update dnsseed-policy.md (#2751)
* Remove irrelevant link in dnsseed-policy

* Link to dash-seeder in dnsseed-policy

instead of bitcoin-seeder
2019-03-08 21:21:20 +03:00
Alexander Block
f351145e60 Use GetVoteForId instead of maintaining votes on inputs 2019-03-08 17:58:59 +01:00
Alexander Block
d4cf78fe25 Add HasVotedOnId/GetVoteForId to CSigningManager
These just pass through to CRecoveredSigsDb
2019-03-08 17:57:53 +01:00
Alexander Block
43e1bf674e Add key prefix to "rs_" for CRecoveredSigsDb keys
This avoids future conflicts with other data stored in llmqDb
2019-03-08 17:57:16 +01:00
Alexander Block
61e10f6512 Use llmqDb for CRecoveredSigsDb
Instead of creating its own CDBWrapper internally.
2019-03-08 17:34:09 +01:00
Alexander Block
b2cd1db406 Don't use CEvoDB in CDKGSessionManager and instead use llmqDb
Contributions are not part of on-chain consensus and shouldn't be stored in
CEvoDB.
2019-03-08 17:34:09 +01:00
Alexander Block
e2cad1bd69 Introduce global llmq::llmqDb instance of CDBWrapper
This DB is for LLMQ related data that is not part of on-chain consensus.
This for example included LLMQ secret key shares and recovered signatures.
2019-03-08 17:34:09 +01:00
Alexander Block
acb52f6ec1 Don't pass CEvoDB to CDKGSessionHandler and CDKGSession
Was never used.
2019-03-08 17:34:09 +01:00
Alexander Block
64ae91268a
Merge pull request #2735 from codablock/pr_llmq_instantsend
Implement LLMQ based InstantSend
2019-03-08 11:32:44 +01:00
PastaPastaPasta
9dd16cdbe7 Bump minChainWork and AssumeValid to block #1033120 (#2750) 2019-03-08 10:21:33 +03:00
Alexander Block
4d62f3c70e
Merge pull request #2746 from codablock/pr_v13_backport
[0.13.x] Backport multiple PRs from develop
2019-03-08 06:45:40 +01:00
Alexander Block
06fc655595 Actually remove from finalInstantSendLocks in CInstantSendManager::RemoveFinalISLock 2019-03-07 21:15:09 +01:00
Alexander Block
041a1c26d0 Move safe TX checks into TestForBlock and TestPackageTransactions
Otherwise we'll miss checks for ancestors.
2019-03-07 21:15:09 +01:00
Alexander Block
4d3365ddb2 Completely disable InstantSend while filling mempool in autoix-mempool.py
Otherwise we overload Travis and tests start to randomly fail.
2019-03-07 21:15:09 +01:00
Alexander Block
fae33e03ae Let ProcessPendingReconstructedRecoveredSigs return void instead of bool
Return value is unused and the method actually never returned something.
2019-03-07 21:15:09 +01:00
Alexander Block
f8f867a6bb Sync blocks after generating in mine_quorum() 2019-03-07 21:15:09 +01:00
Alexander Block
3e60d2d2db Adjust LLMQ based InstantSend tests for new spork20 2019-03-07 21:15:09 +01:00
UdjinM6
41a71fe443 update autoix-mempool.py to test both "old" and "new" InstantSend (and fix CheckCanLock to respect mempool limits) 2019-03-07 21:15:09 +01:00
UdjinM6
843b6d7a95 update p2p-autoinstantsend.py to test both "old" and "new" InstantSend 2019-03-07 21:15:09 +01:00
UdjinM6
a8da11ac5d update p2p-instantsend.py to test both "old" and "new" InstantSend 2019-03-07 21:15:09 +01:00
UdjinM6
55152cb313 Move IS block filtering into ConnectBlock 2019-03-07 21:15:09 +01:00
Alexander Block
2299ee2836 Rename IXLOCK to ISLOCK and InstantX to InstantSend 2019-03-07 21:15:09 +01:00
Alexander Block
f5dcb00acf Introduce spork SPORK_20_INSTANTSEND_LLMQ_BASED to switch between new/old system 2019-03-07 21:15:09 +01:00
Alexander Block
280690792a Combine loops in CChainLocksHandler::NewPoWValidBlock 2019-03-07 21:15:09 +01:00
Alexander Block
9e9081110b Add override keywork to CDSNotificationInterface::NotifyChainLock 2019-03-07 21:15:09 +01:00
Alexander Block
e2f99f4ae1 Set llmqForInstantSend for mainnet and testnet 2019-03-07 21:15:09 +01:00
Alexander Block
5b8344e8f8 Use scheduleFromNow instead of schedule+boost::chrono 2019-03-07 21:15:09 +01:00
Alexander Block
f44f09ca04 Fix crash in BlockAssembler::addPackageTxs 2019-03-07 21:15:09 +01:00
Alexander Block
baf8b81c4a Fix no-wallet build 2019-03-07 21:15:09 +01:00