Commit Graph

11201 Commits

Author SHA1 Message Date
Amir Abrams
e2ae2ae638 Update misspelled Synchronizing in GetSyncStatus (#2680) 2019-02-04 12:52:49 +03:00
UdjinM6
721965990a
Add missing help text for operatorPayoutAddress (#2679) 2019-02-04 12:52:24 +03:00
UdjinM6
68c0de4ba1
Do not send excessive messages in governance sync (#2124)
No need to send gobject inv for a single gobject, the other node already knows it, so send votes only.
Also, no need to send "fake" stats like "0 votes" when syncing gobjects and "1 object" when syncing votes.
Rename functions accordingly.
2019-02-04 12:51:37 +03:00
UdjinM6
09e71de808
Fix bench log for payee and special txes (#2678) 2019-02-02 03:09:03 +03:00
Alexander Block
03fa115503 Speed up CQuorumManager::ScanQuorums (#2677)
* Store quorumHash of first mined commitment in evoDb

This allows to skip scanning for quorums below this block.

* Speed up CQuorumManager::ScanQuorums

This does 2 things:
1. Only call HasQuorum for blocks that are potentially a quorumBlockHash
   These are only blocks which are at index 0 of each DKG interval
2. Stop scanning for quorums when we get below the first block that
   contained a commitment. If no commitment was ever mined, we bail out
   immediately.

* Return result instead of {}

* Remove HasQuorum() call as GetQuorum already does this

* Remove unnecessary "if (!qc.IsNull()))"

It's already checked at the top of the loop

* When necessary, remove DB_FIRST_MINED_COMMITMENT from evoDb in UndoBlock
2019-02-02 03:08:51 +03:00
Wladimir J. van der Laan
501227deef
Merge #9333: Document CWalletTx::mapValue entries and remove erase of nonexistent "version" entry.
87ed396 [trivial] Add comment documenting bumpfee mapValues (Russell Yanofsky)
a1fe944 Remove reference to nonexistent "version" wallet transaction mapvalue field (Russell Yanofsky)
654e044 [trivial] Add comment documenting CWalletTx::mapValue (Russell Yanofsky)

Tree-SHA512: 1fd1860e345c59b13634db2007fff4ba30aaf1f177fdd765f47bf9257fac117cdcd5d491424416da304c08e85effbb27f3424f072f7c9587ef39cb98531b932a
2019-02-01 10:51:03 -06:00
Wladimir J. van der Laan
a61b747a29
Merge #9547: bench: Assert that division by zero is unreachable
db07f91 Assert that what might look like a possible division by zero is actually unreachable (practicalswift)

Tree-SHA512: f1652eb37196a5b72f356503a1fbb44fb98aa8a94954ad1765f86d81ebf41a2337d4eb58c4f19937fda3752f5d2d642756e44afdbd438015b87ac20801246bff
2019-02-01 10:51:01 -06:00
Alexander Block
088525bde3 Multiple fixes for LLMQs and BLS batch verification (#2674)
* Check aggPubKey for IsValid() instead of aggSig

aggSig is not reliable here as it might already be initialized by the
previous message.

* Significantly reduce sleep time for each DKG phase

Turns out the DKG is much faster then expected, and waiting multiple
minutes for each phase in a devnet is not much fun.

* Correctly use SIGN_HEIGHT_OFFSET when checking for out of bound height

* Introduce startBlockHeight to make things more explicit
2019-02-01 12:07:21 +03:00
UdjinM6
ae70e8a344
Fix negative "keys left since backup" (#2671) 2019-02-01 12:07:03 +03:00
UdjinM6
2a330f17ac
Fix endless wait in RenameThreadPool (#2675) 2019-02-01 10:49:31 +03:00
Alexander Block
1400df2e58 Invoke CheckSpecialTx after all normal TX checks have passed (#2673)
Otherwise duplicate-keys checks for deterministic masternodes triggers
for duplicate/identical transactions.
2019-02-01 10:49:18 +03:00
Alexander Block
18950f923e Optimize DKG debug message processing for performance and lower bandwidth (#2672)
* Allow sub-batch verification in CBLSInsecureBatchVerifier

* Implement batch verification of CDKGDebugStatus messages

* Use uint8_t for statusBitset in CDKGDebugMemberStatus and CDKGDebugSessionStatus

No need to waste one byte per member and per LLMQ type.

* Reserve 4k of buffer for CSerializedNetMsg buffer

Profiling has shown that a lot of time is spent in resizing the data
vector when large messages are involved.

* Remove nHeight from CDKGDebugStatus

This field changes every block and causes all masternodes to propagate
its status for every block, even if nothing DKG related has changed.

* Leave out session statuses when we're not a member of that session

Otherwise MNs which are not members of DKG sessions will spam the network

* Remove receivedFinalCommitment from CDKGDebugSessionStatus

This is not bound to a session and thus is prone to spam the network when
final commitments are propagated in the finalization phase.

* Add "minableCommitments" to "quorum dkgstatus"

* Hold cs_main while calling GetMinableCommitment

* Abort processing of pending debug messages when spork18 gets disabled

* Don't ask for debug messages when we've already seen them

"statuses" only contains the current messages but none of the old messages,
so nodes kept re-requesting old messages.
2019-02-01 10:49:01 +03:00
Wladimir J. van der Laan
4615da99fb
Merge #9576: [wallet] Remove redundant initialization
343ba8f [wallet] Remove redundant initialization (practicalswift)

Tree-SHA512: 54b94d7703b1735cb1ae0bd7eba61ca9d2f18e20b70e46c94aa3b0653495dce4fdea00cf953ec08215b96b5792eabb8b38c3f9b3cd36e52b82fcb2f1fd8a3540
2019-02-01 00:41:24 -06:00
Wladimir J. van der Laan
8dfddf503c
Merge #9910: Docs: correct and elaborate -rpcbind doc
e5b449c Docs: correct and elaborate -rpcbind doc (Ian Kelling)

Tree-SHA512: e1cdaa32f7248f304d463e3f37d7d5da23ee0e506bd453420b87f4cc9c704cc30214e41c9266294890d65f2ee270f9355f38b542e8c01452637bdbba8273c755
2019-02-01 00:41:18 -06:00
Wladimir J. van der Laan
395b537167
Merge #9774: Enable host lookups for -proxy and -onion parameters
f36bdf0 Enable host lookups for -proxy and -onion parameters (Johnathan Corgan)

Tree-SHA512: 40f5ef3954721333e58d34653874d9f6ac5426c817762d132838f3b6f968ca5ca05aa56d02fd742cb5a8dc040f1a28dad6d54f667342eceba62fb2af18b58fc0
2019-02-01 00:41:16 -06:00
Wladimir J. van der Laan
2c3dde75c2
Merge #9828: Avoid -Wshadow warnings in wallet_tests
09fe346 Avoid -Wshadow warnings in wallet_tests (Russell Yanofsky)

Tree-SHA512: 03a026787438efc9eba94299c2dd7de07a71ec7363b058b4f086d5ff0be844660fff2ef4f40e43d91313ea53de25f3de3c677b080b564d37f0693057498d3233
2019-02-01 00:41:14 -06:00
Wladimir J. van der Laan
3d3443b6a9
Merge #8808: Do not shadow variables (gcc set)
ad1ae7a Check and enable -Wshadow by default. (Pavel Janík)
9de90bb Do not shadow variables (gcc set) (Pavel Janík)

Tree-SHA512: 9517feb423dc8ddd63896016b25324673bfbe0bffa97f22996f59d7a3fcbdc2ebf2e43ac02bc067546f54e293e9b2f2514be145f867321e9031f895c063d9fb8
2019-02-01 00:41:12 -06:00
Wladimir J. van der Laan
053b97c945
Merge #9903: Docs: add details to -rpcclienttimeout doc
90a1d9a Docs: add details to -rpcclienttimeout doc (Ian Kelling)

Tree-SHA512: 7f9524f279a54b4d902674740d92624785abd54865aba82f7261151ceda50b5d51bf4d91c4fc0360168e190f8df890cc141bea5e1a9f4f2e62b8f9effda212cc
2019-02-01 00:41:09 -06:00
UdjinM6
5d1c97da1b
Add getspecialtxes rpc (#2668)
* Add getspecialtxes rpc

Returns an array of special transactions found in the specified block

* small help text tweak

* add comments
2019-01-30 21:53:22 +03:00
Alexander Block
ca6c8f5471 Add missing default value for SPORK_19_CHAINLOCKS_ENABLED (#2670) 2019-01-30 21:53:03 +03:00
Alexander Block
6da341379d Use smaller LLMQs for ChainLocks on testnet and devnet (#2669)
* Move llmqChainLocks initialization closer to other LLMQ related assignments

* Use smaller LLMQs for ChainLocks on testnet and devnet

We very often don't have enough MNs on testnet so we should use a smaller
quorum quorum for ChainLocks.
2019-01-30 21:52:41 +03:00
Alexander Block
54f576ea7c
Fix LLMQ related test failures on Travis (#2666)
* Use fast_dip3_enforcement instead of fast_dip3_activation

DashTestFramework was refactored before ChainLocks got merged, causing tests
to fail now.

* Move updating of DKG debug status into WaitForNextPhase

Otherwise callers of the RPCs might believe that the next phase has already
started and start producing more blocks, which would then cancel the
current session if it happens faster than the phase handler thread can
progress to the next phase.
2019-01-30 14:05:22 +01:00
Alexander Block
6fe479aa12
Don't leak skShare in logs (#2662) 2019-01-30 14:05:04 +01:00
Alexander Block
f6828b19b6
Merge pull request #2643 from codablock/pr_llmq_chainlocks
Implement LLMQ based ChainLocks
2019-01-29 15:59:05 +01:00
UdjinM6
559bdfc6ef ProcessSpecialTxsInBlock should respect fJustCheck (#2653)
* ProcessSpecialTxsInBlock should respect fJustCheck

Also invoke it after subsidy/payee checks

* Drop fJustCheck from CQuorumBlockProcessor
2019-01-29 15:57:30 +01:00
UdjinM6
805aeaa16c Drop cs_main from UpdatedBlockTip in CDKGSessionManager/CDKGSessionHandler (#2655) 2019-01-29 15:55:18 +01:00
UdjinM6
2a4fbb6e48 Bump block stats when adding commitment tx into block (#2654) 2019-01-29 15:54:57 +01:00
UdjinM6
25cb14b615 Fix confusion between dip3 activation and enforcement (#2651)
* Fix confusion between dip3 activation and enforcement

* drop DIP0003ActivationHeight for now
2019-01-29 15:54:38 +01:00
UdjinM6
70a9e905c2 Use helper function to produce help text for params of protx rpcs (#2649)
* Adjust help text of `register*` rpc commands

Copy/paste help for various fields of `register`/`register_prepare` instead of referring to `register_fund`
Adjust description of provided functionality and expected results

* Adjust whitespaces to match in different protx commands

* Add missing results descriptions

* Introduce new helper function GetHelpString to concentrate most of param descriptions in rpcevo in one place

* [MOVEONLY] Move GetHelpString out of #ifdef ENABLE_WALLET/#endif

* static const
2019-01-29 15:54:01 +01:00
PastaPastaPasta
f123248f1c update copyright (#2648)
* update copyright

* Update copyright in configure.ac and COPYING
2019-01-29 15:53:14 +01:00
Alexander Block
15e1c3b080
Merge pull request #2646 from PastaPastaPasta/backports-0.15-pr4
Backports 0.15 pr4
2019-01-29 15:52:03 +01:00
Alexander Block
45391b4f08
Merge pull request #2609 from PastaPastaPasta/backports-0.15-pr3
Backports 0.15 pr3
2019-01-29 15:51:15 +01:00
UdjinM6
d398bf0527
reverse order from jsonRequest, strSubCommand
Co-Authored-By: PastaPastaPasta <pasta@dashboost.org>
2019-01-28 10:47:36 -06:00
Alexander Block
3237668b1d Rename inInvalidate->inEnforceBestChainLock and make it atomic 2019-01-28 12:24:15 +01:00
Alexander Block
5033d5ef4a Don't check for conflicting ChainLocks when phashBlock is not set
Also don't set indexDummy.phashBlock in TestBlockValidity anymore.
2019-01-28 12:24:15 +01:00
Alexander Block
3413ff917b Add info about ChainLocks to block and transaction RPCs 2019-01-28 12:24:15 +01:00
Alexander Block
135829dc49 Add SPORK_19_CHAINLOCKS_ENABLED 2019-01-28 12:24:15 +01:00
Alexander Block
29532ba196 Implement and enforce ChainLocks 2019-01-28 12:24:15 +01:00
Alexander Block
2bf6eb1c7c Track parent->child relations for blocks
Allows to cheaply find all possible children of a block.
2019-01-28 12:24:15 +01:00
Alexander Block
04a51c9ef4 Use a block that is 8 blocks in the past for SelectQuorumForSigning
Otherwise nodes might already fail to verify sigs when just 1 block away
from the tip.
2019-01-28 12:24:15 +01:00
Alexander Block
cf33efc9e1 Move SelectQuorumForSigning into CSigningManager and make it height based 2019-01-28 12:24:15 +01:00
Alexander Block
4026ea203b Implement VerifyRecoveredSig to allow verifcation of sigs found in P2P messages 2019-01-28 12:24:15 +01:00
Alexander Block
9f211ef12d Add listener interface to listen for recovered sigs 2019-01-28 12:24:15 +01:00
Alexander Block
189cee2108 Don't pass poolSize to SelectQuorum and instead use consensus params 2019-01-28 12:24:15 +01:00
Alexander Block
13855674d7 Add missing new-line character in log output 2019-01-28 12:24:15 +01:00
UdjinM6
d31edf66ad Wait for script checks to finish before messing with txes in Dash-specific way (#2652)
Benchmark Dash part while at it
2019-01-28 12:23:59 +01:00
UdjinM6
2c477b0d41 Fix no_wallet for rpcmasternode/rpcevo 2019-01-25 15:50:22 -06:00
Pasta
fc00b7baea
add import to rpcevo fixing backport 8775 2019-01-25 07:11:21 -06:00
UdjinM6
30b03863ee
Apply suggestions from code review #2646
Co-Authored-By: PastaPastaPasta <pasta@dashboost.org>
2019-01-25 07:06:59 -06:00
Pasta
c70aa60792 change #8775 to keep dash codebase improvement, but still backport #9908 2019-01-24 22:28:32 -06:00
Wladimir J. van der Laan
afdb0a2677 Merge #9908: Define 7200 second timestamp window constant
e57a1fd Define 7200 second timestamp window constant (Russell Yanofsky)

Tree-SHA512: 449d20e4fd23905cd96be36f717c55a0a2360aba1002aaf55a3699cce4a41f6e94acc2fbe511a93c5cbe8f8e68386995a76cad67620ebb66ba9283e6080ab567
2019-01-24 22:28:29 -06:00
Pasta
c094d4bbe6 fix #8775 backport 2019-01-24 22:28:27 -06:00
Pasta
f9147466f3 remove other rpc references to pwalletMain 2019-01-24 22:28:18 -06:00
Pasta
d7474fd56f remove all references to pwalletMain in rpc folder 2019-01-24 22:28:16 -06:00
Wladimir J. van der Laan
87af117811 Merge #8775: RPC refactoring: Access wallet using new GetWalletForJSONRPCRequest
d678771 Wallet: Sanitise -wallet parameter (Luke Dashjr)
9756be3 Wallet/RPC: Use filename rather than CWallet pointer, for lockwallet RPCRunLater job name (Luke Dashjr)
86be48a More tightly couple EnsureWalletIsAvailable with GetWalletForJSONRPCRequest where appropriate (Luke Dashjr)
a435632 Move wallet RPC declarations to rpcwallet.h (Luke Dashjr)
ad15734 RPC: Pass on JSONRPCRequest metadata (URI/user/etc) for "help" method (Luke Dashjr)
bf8a04a Reformat touched lines with C++11 (Luke Dashjr)
2e518e3 Move nWalletUnlockTime to CWallet::nRelockTime, and name timed task unique per CWallet (Luke Dashjr)
d77ad6d RPC: Do all wallet access through new GetWalletForJSONRPCRequest (Luke Dashjr)
eca550f RPC/Wallet: Pass CWallet as pointer to helper functions (Luke Dashjr)

Tree-SHA512: bfd592da841693390e16f83b451503eb5cedb71208089aa32b3fc45e973555584a3ed7696dd239f6409324464d565dacf0f3d0e36e8e13ae6a7843848465f960
2019-01-24 22:28:13 -06:00
UdjinM6
1fa7f7e743
stop test failures
Co-Authored-By: PastaPastaPasta <pasta@dashboost.org>
2019-01-23 16:43:32 -06:00
UdjinM6
444f671abb
Update src/miner.cpp
Co-Authored-By: PastaPastaPasta <pasta@dashboost.org>
2019-01-23 16:15:44 -06:00
Pasta
5147699404
fix 9868 2019-01-23 15:40:29 -06:00
Alexander Block
7ee31cbd65 Speed up integration tests with masternodes (#2642)
* Implement copy_datadir to allow easy copying of state from one node to another

* Instead of starting with a fresh datadir for MNs, reuse a copy of the faucet

* Start masternodes in parallel instead of waiting for the previous to finish

* Allow specifying of window and threshold with -bip9params

* Implement -dip3activationheight for regtests

* Implement fast DIP3 activation in DashTestFramework

* Speed up activation of DIP3 in dip3-deterministicmns.py

* Update qa/rpc-tests/test_framework/test_framework.py

Co-Authored-By: codablock <ablock84@gmail.com>

* Always assign fast_dip3_activation
2019-01-23 19:36:51 +03:00
UdjinM6
fda16f1fea
Fix off-by-1 in phase calculations and the rest of llmq-signing.py issues (#2641)
* Fix off-by-1 in phase calculations

* Fix wait_for_quorum_phase, should look for check_received_messages

* Fix wait_for_quorum_phase for complain phase

* Bump default timeout in wait_for_quorum_phase/wait_for_quorum_commitment to 15
2019-01-23 17:02:56 +03:00
Alexander Block
b595f9e6a1 Fix LLMQ signing integration tests (#2640)
* Fix cleanup of old recovered sigs

When iterating the db, we should also include entries that match exactly
the end time.

* Fix key not found error

* Raise AssertionError in case wait_for_quorum_phase/wait_for_quorum_commitment time out
2019-01-23 11:37:02 +03:00
UdjinM6
5977486897
Bring back ResetLocalSessionStatus call (#2639)
It was dropped accidentally on refactoring.
2019-01-23 11:34:31 +03:00
Wladimir J. van der Laan
682a3b993b
Merge #9904: test: Fail if InitBlockIndex fails
6485466 test: Report InitBlockIndex result (Wladimir J. van der Laan)

Tree-SHA512: 8e1408aa8d56ec1873190f886af24aa68b0555ec4996b2b8a5a39a51ded58c8fba5843c07881ed33ab6dcb00e62c2322bcf2a6fb8f1083f77e0d93e7295ab938
2019-01-22 22:57:40 -06:00
MarcoFalke
55a656c24c
Merge #9359: Add test for CWalletTx::GetImmatureCredit() returning stale values.
7ed143c Add test for CWalletTx::GetImmatureCredit() returning stale values. (Russell Yanofsky)

Tree-SHA512: c95088ed6dfc5a0774ddaa2fe14ac0a9ebd830922a4d77100ec3d51fdeb6df40ad97de4f2ea970ed0f4122dcc0022ee1d43ab3c7188becd7f90c1c6af0ed39b7
2019-01-22 22:57:37 -06:00
Pasta
68f6b43d15
fix #9143 backport 2019-01-22 22:57:33 -06:00
Wladimir J. van der Laan
bba55e262f
Merge #9143: Refactor ZapWalletTxes to avoid layer violations
0165a56 Refactor ZapWalletTxes to avoid layer vialotions (Jonas Schnelli)

Tree-SHA512: 51e3abbb866185817d14d685a65cb1070a7a60aa3db692670f3a5fdd328aad59afa765c5a6b13d9e8f6d219e735487f8c87998f2fb38fdd911c1fe19bea373b9
2019-01-22 22:57:30 -06:00
Pasta
02f4661b3c
fix #9894 backport 2019-01-22 22:57:27 -06:00
Wladimir J. van der Laan
07b50aefa2
Merge #9894: remove 'label' filter for rpc command help
6665977 remove 'label' filter for rpc command help (Gregory Sanders)

Tree-SHA512: 0676c55b2893a469cd6785963affbb04126b9a32c130f1bb22dfd233ede6998f695187264e897ced4e0dac48451d9ae0311ebb4f7442096cad632fd22f75080e
2019-01-22 22:57:24 -06:00
Pasta
8035769d47
remove removed argument from #9834 2019-01-22 22:57:21 -06:00
Jonas Schnelli
904e56fb11
Merge #9834: qt: clean up initialize/shutdown signals
5b528d7 qt: clean up initialize/shutdown signals (Marko Bencun)

Tree-SHA512: 4a8326ba05a1cc037203a7abe01d4e77b6ff83e62ec14f09834ada4b35a23ffb1f28b5587aa2e02601f0f6c7d62c5647a7f10320239b4bac132791be29930ddb
2019-01-22 22:57:17 -06:00
Pasta
2df84c6f16
fix merge error from #9821 2019-01-22 22:57:13 -06:00
Wladimir J. van der Laan
21e00e9050
Merge #9821: util: Specific GetOSRandom for Linux/FreeBSD/OpenBSD
7e6dcd9 random: Add fallback if getrandom syscall not available (Wladimir J. van der Laan)
7cad849 sanity: Move OS random to sanity check function (Wladimir J. van der Laan)
aa09ccb squashme: comment that NUM_OS_RANDOM_BYTES should not be changed lightly (Wladimir J. van der Laan)
224e6eb util: Specific GetOSRandom for Linux/FreeBSD/OpenBSD (Wladimir J. van der Laan)

Tree-SHA512: 9fd408b1316c69de86674f342339b2f89192fd317c8c036b5df4320f828fa263c7966146bfc1904c51137ee4a26e4cb0f560b2cd05e18cde4d808b9b92ad15c4
2019-01-22 22:57:09 -06:00
Pasta
f9c585776b
manual fixes on #9868 2019-01-22 22:57:04 -06:00
Wladimir J. van der Laan
3ddf3dc62b
Merge #9868: Abstract out the command line options for block assembly
277b472 Run miner_tests with fixed options (Pieter Wuille)
48faf0b Abstract out BlockAssembler options (Pieter Wuille)

Tree-SHA512: 8e910904864c8653fb0358d820a4181d0496bdcbc3454c17a742af7505bfb59f7078c6d0faa9c753bdaf23b6d93d228a09913cc867fbddccd515483ebe7bfad0
2019-01-22 22:56:54 -06:00
Wladimir J. van der Laan
3977923553
Merge #9861: Trivial: Debug log ambiguity fix for peer addrs
6d37ee8 Trivial: Debug log ambiguity fix for peer addrs (keystrike)

Tree-SHA512: 9605f12bffd067427a206655c29b0b42689e9b28c313d1f6d6b0ef71351277b98b40f2e2a2ec0ac83c095a9f6f54e7a87762da400a56d2a833f8c2d14e5ac8d5
2019-01-22 22:56:05 -06:00
Wladimir J. van der Laan
8264e15cd4
Merge #9822: Remove block file location upgrade code
4b183d3 Remove block file location upgrade code (Marko Bencun)

Tree-SHA512: fac1fce95341e0df645c08c7e794195b22b54df08826aa8728f2f97aede1e42f724f8133781b97f836d4a392d044d08c846bce471a6b478582014f8be501a712
2019-01-22 22:55:58 -06:00
Wladimir J. van der Laan
f51d2e0947
Merge #9732: [Trivial] Remove nonsense #undef foreach
467df39 Remove nonsense #undef foreach (John Newbery)

Tree-SHA512: b8c3c6654eb8a9e5008a1923bee46f7ef9f8216c8f4f1b4662d82c26410ca8d8afe41e24e48a3e2e8b2a25c81c33795a4073dabfe357caf0aa820519d4fffc71
2019-01-22 22:55:54 -06:00
Wladimir J. van der Laan
3e10ff63f8
Merge #9867: Replace remaining sprintf with snprintf
19cafc6 test: Replace remaining sprintf with snprintf (Wladimir J. van der Laan)
0a17714 uint256: replace sprintf with HexStr and reverse-iterator (Wladimir J. van der Laan)

Tree-SHA512: 2ba1dd4d25e1cbfff4d67b2f483448aa7c34ab5c799cddd48ba5826e5fa6df425abe35e244aaf4c52db9fccfb4d2a25a14bb4597bf9d1fce95991f270da6bb26
2019-01-22 22:55:48 -06:00
MarcoFalke
0d38c16e79
Merge #9350: [Trivial] Adding label for amount inside of tx_valid/tx_invalid.json
988ce2d Adding 'amount' label to tx_valid/tx_invalid.json files (Chris Stewart)

Tree-SHA512: 11c216c6565ecaa5ff4eb6122f87d3b28f89db52d1e473c0678f61c240e133698adb05e717bfb9d3db36409dfb230b902dca4029a58633be36c9f85e0db3d973
2019-01-22 22:55:43 -06:00
UdjinM6
d2ddc2a008
A couple of fixes/refactorings for CDKGSessionHandler (#2637)
* Fix confusion: `quorumHash` is both a class member and an argument of a function

Rename `height` too while at it

* Make sure height and hash we pass to InitNewQuorum are related

* Don't update expectedQuorumHash, make it const

This also streamlines logic a bit

* Compact phase calculation

* Decouple invCs and cs_vPendingMasternodes

Not an issue atm but we'd better avoid any potential interlocking if possible

* wrap `%` in `()`

Co-Authored-By: UdjinM6 <UdjinM6@users.noreply.github.com>
2019-01-22 16:33:42 +03:00
UdjinM6
b2b97f258f
Fix some strings, docs and cmd-line/rpc help messages (#2632)
* No need to translate "Dash"

* Fix missing dashification

* Update docs

* Fix cmd-line params help

- `bool` should have no `=<smth>`
- non-`bool` should have proper `<smth>`

* Fix `quorum dkgstatus` help

* add llmq/ into files.md
2019-01-22 16:33:20 +03:00
Alexander Block
e7981e468d Remove fLLMQAllowDummyCommitments from consensus params (#2636)
This should have been removed together with removal of the dummy DKG
2019-01-22 14:16:30 +03:00
Alexander Block
b0ad1425e2 Review fixes (mostly if/else related but no change in logic) 2019-01-22 05:32:56 +01:00
Alexander Block
c905f1fe10 Initialize g_connman before initializing the LLMQ system
Background threads of the LLMQ system use g_connman, so it should be
initialized before.
2019-01-21 15:22:38 +01:00
UdjinM6
b8d069bcdd fix/cleanup qt rpcnestedtests 2019-01-21 14:42:08 +01:00
Alexander Block
0cc1cf2798 Add receivedFinalCommitment flag to CDKGDebugSessionStatus 2019-01-21 14:42:08 +01:00
Alexander Block
23d7ed80d5 Implement "quorum sign/hasrecsig/isconflicting" RPCs 2019-01-21 14:42:08 +01:00
Alexander Block
316b6bf0de Faster re-requesting of recovered sigs
These are quite important and waiting for 2 minutes when the first peer
did not send it is not acceptable.
2019-01-21 14:42:08 +01:00
Alexander Block
c38f889e77 Implement processing, verifcation and propagation of signature shares 2019-01-21 14:42:08 +01:00
Alexander Block
43fd1b352f Implement CSigningManager to process and propagage recovered signatures 2019-01-21 14:42:08 +01:00
Alexander Block
56ee83a766 Add ReadDataStream to CDBWrapper to allow manual deserialization 2019-01-18 11:58:58 +01:00
Alexander Block
b6346a2f68 Implement CBLSInsecureBatchVerifier for convenient batch verification 2019-01-18 11:57:40 +01:00
Alexander Block
dd8f245888 Implement IsBanned to allow checking for banned nodes outside of net_processing.cpp 2019-01-17 18:51:48 +01:00
Alexander Block
49de417265 Implement CFixedVarIntsBitSet and CAutoBitSet 2019-01-17 18:51:48 +01:00
Alexander Block
b627528cef Use void as return type for WriteContributions 2019-01-17 15:25:43 +01:00
Alexander Block
edac100f5c Fix "quorum" RPCs help and unify logic in the sub-commands RPC entry point 2019-01-16 11:38:44 +01:00
Alexander Block
217f3941d5 Skip starting of cache populator thread in case we don't have a valid vvec 2019-01-16 10:07:47 +01:00
Alexander Block
679a9895b6 Add comments about why it's ok to ignore some failures 2019-01-16 10:07:47 +01:00
Alexander Block
15c34ccbd8 Implement CQuorum and CQuorumManager 2019-01-15 15:47:24 +01:00
UdjinM6
8e4fe3660e
[PrivateSend] Fallback to less participants if possible, fix too long timeouts on server side (#2616)
* Fallback to less participants on timeouts if possible

* Only bump nTimeLastSuccessfulStep when state is changed

* Consistency: always set state first before relaying smth to clients
2019-01-15 16:05:26 +03:00