Wladimir J. van der Laan
d1db98c67a
Merge #9665 : Use cached [compact] blocks to respond to getdata messages
...
b49ad44
Add comment about cs_most_recent_block coverage (Matt Corallo)
c47f5b7
Cache witness-enabled state with recent-compact-block-cache (Matt Corallo)
efc135f
Use cached [compact] blocks to respond to getdata messages (Matt Corallo)
Tree-SHA512: ffc478bddbf14b8ed304a3041f47746520ce545bdeffa9652eff2ccb25c8b0d5194abe72568c10f9c1b246ee361176ba217767af834752a2ca7263d292005e87
2019-03-12 10:43:47 +01:00
Alexander Block
0905b911dc
Actually use cached most recent compact block
...
This seems to be backported wrongly. In the Bitcoin code, there is a
condition on requested witness data and we took the other branch which
recreates the compact block. We should have taken the other branch because
we always send with witness data (there is no Segwit in Dash).
2019-03-12 10:43:47 +01:00
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