Commit Graph

21910 Commits

Author SHA1 Message Date
UdjinM6
32051a35c0
fix(llmq): mark mns "bad" based on the failed connect attempts count (#4910)
* fix(llmq): mark mns "bad" based on the failed connect attempts count

Avoid using "last success time" as a proxy

* fix(tests): tweak feature_llmq_simplepose.py
2022-07-14 21:38:02 +03:00
Kittywhiskers Van Gogh
04b7bcf52a
feat(llmq): add human-readable message alongside error code (#4916) 2022-07-14 12:53:42 -05:00
PastaPastaPasta
6c0a63360f
Merge pull request #4882 from kittywhiskers/xliff_update
backport: bitcoin#21694 (Use XLIFF file to provide more context to Transifex)
2022-07-13 08:27:34 -04:00
Konstantin Akimov
0a951622f1
Bitcoin backport #16227 refactoring CWallet (#4903)
* Add HaveKey and HaveCScript to SigningProvider

* Remove CKeyStore and squash into CBasicKeyStore

* Move HaveKey static function from keystore to rpcwallet where it is used

* scripted-diff: rename CBasicKeyStore to FillableSigningProvider

-BEGIN VERIFY SCRIPT-
git grep -l "CBasicKeyStore" | xargs sed -i -e 's/CBasicKeyStore/FillableSigningProvider/g'
-END VERIFY SCRIPT-

* Move KeyOriginInfo to its own header file

* Move various SigningProviders to signingprovider.{cpp,h}

Moves all of the various SigningProviders out of sign.{cpp,h} and
keystore.{cpp,h}. As such, keystore.{cpp,h} is also removed.

Includes and the Makefile are updated to reflect this. Includes were largely
changed using:
git grep -l "keystore.h" | xargs sed -i -e 's;keystore.h;script/signingprovider.h;g'

* Remove CCryptoKeyStore and move all of it's functionality into CWallet

Instead of having a separate CCryptoKeyStore that handles the encryption
stuff, just roll it all into CWallet.

* Fixed cases of mess CWallet functions with CCryptoKeyStore and conflicts

* Move WatchOnly stuff from SigningProvider to CWallet

* Fixes for lint cirtular dependencies to calm linter

Co-authored-by: Andrew Chow <achow101-github@achow101.com>
2022-07-12 22:46:31 -05:00
PastaPastaPasta
eefdae1a53
Merge pull request #4829 from kittywhiskers/fuzz2
backport: bitcoin#18417, #18521, #18529, #18176, #18423, #17926, #18353, #18407, #18455, #18565, #18867 (fuzzing harness backports: part 2)
2022-07-12 12:32:28 -04:00
UdjinM6
a483122f5f
fix(net): Extend blocks-relay-only to also ignore some Dash-specific messages/invs (#4888)
* fix(net): Extend blocks-relay-only to also ignore some Dash-specific messages/invs

* Clarify few things
2022-07-07 18:11:38 +03:00
UdjinM6
e98929a3e9
fix(dkg): let probes on mainnet ignore existing inbound connections (#4908) 2022-07-07 10:49:55 +03:00
UdjinM6
58cfeaf321
fix(dkg): let masternodes miss few connection attempts before considering them "bad" (#4907)
* fix(dkg): let masternodes miss few connection attempts before considering them "bad"

Should help with dashd updates/restarts for nodes that were successfully probed recently.

* fix
2022-07-07 10:49:34 +03:00
UdjinM6
320edd5575
fix(net): Let MNs accept conections as soon as blockchain is synced (#4905)
Do not wait for governance data, it's not needed for DKGs
2022-07-07 00:25:02 +03:00
UdjinM6
40486ada82
feat(llmq): avoid probing mns too often instead of using a tiny window to probe them (#4904)
We only call AddQuorumProbeConnections when a new quorum is intialized. It's possible to miss the 10 minute probe window if Contribute phase takes too long (when 2 blocks were mined in 10+ minutes). 50 minutes should be enough and probing once in 10 minutes should be safe.
2022-07-07 00:24:34 +03:00
Kittywhiskers Van Gogh
5715842187 merge bitcoin#21349: Fix fuzz-cuckoocache cross-compiling for Windows with DEBUG=1 2022-07-07 01:01:32 +05:30
Kittywhiskers Van Gogh
d016ccd065 merge bitcoin#18565: Add fuzzing harnesses for classes/functions in checkqueue.h and cuckoocache.h. Add fuzzing coverage. 2022-07-06 22:14:04 +05:30
Kittywhiskers Van Gogh
ee7e37ae01 merge bitcoin#18455: Add fuzzing harness for functions/classes in flatfile.h, merkleblock.h, random.h, serialize.h and span.h 2022-07-06 22:13:37 +05:30
Kittywhiskers Van Gogh
1b424f6b3b merge bitcoin#18407: Add proof-of-work fuzzing harness 2022-07-06 22:13:37 +05:30
Kittywhiskers Van Gogh
7a954b8bd7 merge bitcoin#18423: Add fuzzing harness for classes/functions in blockfilter.h. Add integer {de,}serialization fuzzing 2022-07-06 22:13:37 +05:30
Kittywhiskers Van Gogh
f319ddbe85 merge bitcoin#18176: Add fuzzing harness for CScript and CScriptNum operations 2022-07-06 22:13:37 +05:30
Kittywhiskers Van Gogh
26ea6762d3 merge bitcoin#18529: Add fuzzer version of randomized prevector test 2022-07-06 22:13:37 +05:30
Kittywhiskers Van Gogh
1552a1e9dc merge bitcoin#18521: Add process_messages harness 2022-07-06 22:13:37 +05:30
Kittywhiskers Van Gogh
6ee033b2da merge bitcoin#18417: Add fuzzing harnesses for functions in addrdb.h, net_permissions.h and timedata.h 2022-07-06 22:13:36 +05:30
Kittywhiskers Van Gogh
ab8822c184 merge bitcoin#18353: Add fuzzing harnesses for classes CBlockHeader, CFeeRate and various functions 2022-07-06 21:48:11 +05:30
Kittywhiskers Van Gogh
d807cc7a8a merge bitcoin#17926: Add key_io fuzzing harness. Fuzz additional functions in existing fuzzing harnesses 2022-07-06 21:48:10 +05:30
UdjinM6
22262137a2
Merge pull request #4900 from UdjinM6/followup_4880
fix(qt): fix crashes introduced by 15937 and 19099 backports
2022-07-05 17:36:56 +03:00
PastaPastaPasta
87b6d1c958
Merge pull request #4830 from kittywhiskers/auxiliary_ports
backport: bitcoin#15141, #15437, #16240, #18923, #19219, #19277, #20016, #20671 (auxiliary backports)
2022-07-03 12:13:11 -05:00
UdjinM6
8755067a32
feat(qt): Make wallet repair options only available when there is a single loaded wallet only
Also fixes a crash for `-nowallet` introduced via 15937 backport (in 4880)
2022-07-03 11:01:19 +03:00
MarcoFalke
867b6efe4d
Merge bitcoin-core/gui#102: Fix SplashScreen crash when run with -disablewallet
c056064a4a93be3601a63b37afea41f8b878df79 gui: Fix SplashScreen crash when run with -disablewallet (Hennadii Stepanov)

Pull request description:

  This PR fixes the bug introduced in https://github.com/bitcoin/bitcoin/pull/19099:

  ```
  $ src/qt/bitcoin-qt -disablewallet
  bitcoin-qt: interfaces/node.cpp:236: auto interfaces::(anonymous namespace)::NodeImpl::walletClient()::(anonymous class)::operator()() const: Assertion `"m_context->wallet_client" && check' failed.
  Aborted (core dumped)
  ```

ACKs for top commit:
  Sjors:
    tACK c056064
  promag:
    ACK c056064a4a93be3601a63b37afea41f8b878df79.

Tree-SHA512: 263d9efd5899cc6e447dfc5142bf911ca627149fac0a1c5e5b58dd196aa5e0d12fe13e3f750fb5f3c4338222f7959935d2f77391263f967dbca2e0e79a416a29
2022-07-03 11:00:20 +03:00
Kittywhiskers Van Gogh
af2984b2ae merge bitcoin#18923: Never schedule MaybeCompactWalletDB when -flushwallet is off
Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2022-07-03 00:14:47 +05:30
Kittywhiskers Van Gogh
9e50d3a159 merge bitcoin#16240: JSONRPCRequest-aware RPCHelpMan 2022-07-03 00:14:47 +05:30
Kittywhiskers Van Gogh
21f5405e4a merge bitcoin#19277: Add Assert identity function 2022-07-03 00:14:47 +05:30
Kittywhiskers Van Gogh
e235d834da merge bitcoin#20671: Replace boost::optional with std::optional 2022-07-03 00:14:47 +05:30
UdjinM6
ef8cf4bfea
Merge pull request #4741 from kittywhiskers/ci2
backport: bitcoin#16597, #17176, #14794, #17205, #17240, #17367, #18862, #21405 (ci reworking: part 2)
2022-07-02 21:27:26 +03:00
Kittywhiskers Van Gogh
c8a5fa207d merge bitcoin#20016: 1 is a constant 2022-07-02 23:47:42 +05:30
Kittywhiskers Van Gogh
51eac2a5d7 llmq: remove unused variable "hash" from Unserialize 2022-07-02 23:47:42 +05:30
Kittywhiskers Van Gogh
281569adaa test: remove global assignment patch used for args definition in qt tests 2022-07-02 23:47:42 +05:30
Kittywhiskers Van Gogh
93a01604c3 refactor: define a UINT256_ONE global constant
Borrowed from https://github.com/bitcoin/bitcoin/pull/17261, commit 4977c30d59
2022-07-02 23:47:42 +05:30
Kittywhiskers Van Gogh
d2d7febd0e fuzz: sort ENABLE_FUZZ block alphabetically to avoid merge conflicts 2022-07-02 23:47:42 +05:30
UdjinM6
14402a1b34
fix(llmq): Fix quorum commitments requirement conditions (#4899)
Wasn't really requiring other commitments for rotation quorums once a single commitment was mined
2022-07-02 21:02:42 +03:00
UdjinM6
44d095b59c
Merge pull request #4880 from PastaPastaPasta/backports-19754
backport: 19754 and necessary pre-reqs
2022-07-02 21:01:26 +03:00
PastaPastaPasta
9021e3a314
merge #19754: wallet, gui: Reload previously loaded wallets on startup
Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2022-07-01 15:53:24 -05:00
UdjinM6
7a7144012c ci: align TEST_RUNNER_EXTRA with INTEGRATION_TESTS_ARGS
Also, drop FUNCTIONAL_TESTS_CONFIG
2022-07-01 09:04:01 +05:30
Kittywhiskers Van Gogh
c52992aaa4 ci: reconcile differences between ci setups 2022-07-01 09:04:01 +05:30
Kittywhiskers Van Gogh
eb52580c0b ci: remove redundant "release" build fulfilled by qt 2022-07-01 09:02:53 +05:30
Kittywhiskers Van Gogh
a2be837a40 ci: rename variables to be more similar to bitcoin's styling 2022-07-01 09:02:53 +05:30
Kittywhiskers Van Gogh
94786b9f75 merge bitcoin#21405: remove memcpy -> memmove backwards compatibility alias 2022-07-01 09:02:38 +05:30
Kittywhiskers Van Gogh
959518fdfd merge bitcoin#18862: Remove fdelt_chk back-compat code and sanity check 2022-07-01 09:02:38 +05:30
Kittywhiskers Van Gogh
6b69c6c5cf merge bitcoin#17367: Run non-cross-compile builds natively 2022-07-01 09:02:37 +05:30
Kittywhiskers Van Gogh
afe11fff56 merge bitcoin#17240: Disable functional tests on mac host 2022-07-01 09:00:52 +05:30
Kittywhiskers Van Gogh
8652b2ca1e merge bitcoin#17205: Enable address sanitizer (ASan) stack-use-after-return checking 2022-07-01 09:00:52 +05:30
Kittywhiskers Van Gogh
469e959682 rename all references of TRAVIS_BUILD_DIR to BASE_BUILD_DIR 2022-07-01 09:00:41 +05:30
Kittywhiskers Van Gogh
e22b5b7a5f merge bitcoin#14794: Add AddressSanitizer (ASan) Travis build 2022-07-01 09:00:41 +05:30
Kittywhiskers Van Gogh
e5b015988f merge bitcoin#17176: Cleanup macOS runs 2022-07-01 08:59:38 +05:30