Commit Graph

19074 Commits

Author SHA1 Message Date
PastaPastaPasta
bf7b6adef2
refactor: Add a bunch of GUARDED_BY(*) in llmq code (#4121) 2021-04-27 17:11:45 +03:00
PastaPastaPasta
81067b435f
tests: Add more unit tests for bls/bls.cpp (#4118)
* tests: Add more unit tests for bls/bls.cpp

* Make bls_key_agg_tests a bit more readable

* Compare pubkeys, not their string representations

* Use GetRandHash

* Clarify sig manipulations in bls_sig_agg_sub_tests

Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2021-04-27 17:10:43 +03:00
UdjinM6
bf01ed7881
Merge pull request #4036 from kittywhiskers/spans
partial merge #13697, #18591, #19387, #18468: update constructors to match c++20 draft spec
2021-04-27 17:10:19 +03:00
dustinface
9feb9250ce
rpc|llmq|test: Implement verifychainlock (#4119)
* llmq: Make CLSIG_REQUESTID_PREFIX available outside of quorums_chainlocks.cpp

* rpc: Implement `verifychainlock`

* test: Add rpc_verifychainlock.py

* rpc: Fix help text

Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>

Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2021-04-26 13:51:15 +02:00
Kittywhiskers Van Gogh
5667698546 Merge #19387: span: update constructors to match c++20 draft spec and add lifetimebound attribute
62733fee87
1d58cc7cb0
e3e7446305
2021-04-23 20:02:41 +05:30
Kittywhiskers Van Gogh
ec2eec0ccd Partial #18468: Span improvements
1f790a1147
bb3d38fc06
ab303a16d1
26acc8dd9b
2021-04-23 20:02:41 +05:30
Kittywhiskers Van Gogh
9304ba296f Merge #18388: Make VerifyWitnessProgram use a Span stack
2b0fcff7f2
2021-04-23 20:02:38 +05:30
Kittywhiskers Van Gogh
de0af7b7b3 Merge #18591: Add C++17 build to Travis
7cbfebbf3d
0fbde488b2
7829685e27
2021-04-23 20:02:35 +05:30
PastaPastaPasta
da480fcd70
refactoring: governance tidying and include refactoring (#4111)
* remove unneeded semi-colons

* remove an unneeded CGovernanceException

* adjust and optimize listVotes to vector conversion

* governance-vote.h forward declare and include in cpp

* governance: use more forward decl. less includes in headers

* remove a number of unneeded includes in dash rpc code

* resolve circular depends linter

* Reorder includes

Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2021-04-23 00:32:03 +02:00
PastaPastaPasta
78f277bfe4
trivial/refactoring: simple bls refactoring / adjustments (#4114)
* use std::make_unique instead of reset which prevents a theoretical memory leak

* pass by value and use std::move

* use empty instead of comparing to size

* remove extra space

* adjust include postitioning

Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>

Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2021-04-23 00:26:22 +02:00
PastaPastaPasta
c5b919d084
Update copyright (#4115)
* run: `python3 contrib/devtools/copyright_header.py update .`

* bump copyright year
2021-04-20 22:33:02 +03:00
PastaPastaPasta
d70d987be2
refactor: remove some validationinterface includes, resolve circular depends (#4116) 2021-04-20 22:32:27 +03:00
PastaPastaPasta
89ba06e72c
trivial/refactoring: include adjustments and typo fixes (#4112)
* unused include

* fix typos

* unused include in rpc/coinjoin.cpp
2021-04-20 22:31:25 +03:00
dustinface
cea353f4b8
Merge pull request #4099 from PastaPastaPasta/backports-0.17-pr28
Backports 0.17 pr28
2021-04-19 17:20:00 +02:00
UdjinM6
2a6ec33d38
qt: Initialize mnListCached (#4110)
Fixes a crash on load
2021-04-19 16:52:04 +02:00
Kittywhiskers Van Gogh
10f923b82c Partial #13697: Support output descriptors in scantxoutset
29943a904a
2021-04-18 18:21:55 +05:30
MarcoFalke
f547d8f645
Merge #13198: [qa] Avoid printing to console during cache creation
08ebdba82a [qa] Avoid printing to console during cache creation (Suhas Daftuar)

Pull request description:

Tree-SHA512: 151b73ab6989a44a5c3d4707ff2f756a360bc507249b645e008e08880ac1c51e83420c1d37b49b6b97089116550023bba64ff1f10437809f1c49980722d563b8
2021-04-18 00:37:04 -04:00
MarcoFalke
ab1b3759f4
Merge #12949: tests: Avoid copies of CTransaction
fae58eca93 tests: Avoid copies of CTransaction (MarcoFalke)

Pull request description:

  Avoid the copy (or move) constructor of `CTransaction` in test code, whereever a simple reference can be used instead.

Tree-SHA512: 8ef2077a277d6182996f4671722fdc01a90909ae7431c1e52604aab8ed028910615028caf9b4cb07a9b15fdc04939dea2209cc3189dde7d38271256d9fe1076c
2021-04-18 00:37:04 -04:00
Wladimir J. van der Laan
90bc40d297
Merge #13004: Print to console by default when not run with -daemon
6a3b0d3 Print to console by default when not run with -daemon (Evan Klitzke)

Pull request description:

  Cherry-picked ef6fa1c38e1bd115d1cce155907023d79da379d8 from the "up for grabs" PR: "Smarter default behavior for -printtoconsole" (#12689).

  See previous review in #12689.

Tree-SHA512: 8923a89b9c8973286d53e960d3c464b1cd026cd5a5911ba62f9f972c83684417dc4004101815dfe987fc1e1baaec1fdd90748a0866bb5548e974d77b3135d43b
2021-04-18 00:37:04 -04:00
pasta
6e732e8734
Revert dash#679 "expose fPrintToDebugLog to cmd-line as -printtodebuglog option"
This reverts commit 93279e7944.
2021-04-18 00:37:04 -04:00
Wladimir J. van der Laan
bb1ae8452c
Merge #12973: Avoid std::locale/imbue madness in DateTimeStrFormat
1527015 Avoid std::locale/imbue in DateTimeStrFormat (Pieter Wuille)

Pull request description:

  And replace them with just hardcoded ISO8601 strings and `gmtime_r`.

  Pointed out by @laanwj here: https://github.com/bitcoin/bitcoin/pull/12970#issuecomment-380962488

Tree-SHA512: a459758b42ca56f8462115aefe8e6377c1319fce509ea64dbb767f3f087c9b848335954cb684e5896c38008847684045505a3e1559fb3e83b8e80e10b003d1e7
2021-04-18 00:37:04 -04:00
Wladimir J. van der Laan
71944f5f94
Merge #12803: Make BaseSignatureCreator a pure interface
be67831 Make DummySignatureCreator a singleton (Pieter Wuille)
190b8d2 Make BaseSignatureCreator a pure interface (Pieter Wuille)

Pull request description:

  * Removes the `m_provider` field from `BaseSignatureCreator`. Instead both a `SigningProvider` (which provides keys and scripts) and a `BaseSignatureCreator` (which implements the transaction-specific (or other) signing logic) are passed into and down in `ProduceSignature`, making the two concepts orthogonal.
  * Makes `BaseSignatureCreator` a pure interface without constructor, making it easier to implement new derivations of it (for example for message signing).
  * As `DummySignatureCreator` now becomes a stateless object, turn it into a singleton `DUMMY_SIGNATURE_CREATOR`.

Tree-SHA512: 5f1f4512e4ea7d02a31df7b9ede55008efa716c5b74a2630ca1c2fc6599584d8bf5f5641487266127f4b3788033803539fbd22b03ef1219c83c10da2d3da3dcd
2021-04-17 16:22:01 -04:00
Wladimir J. van der Laan
79da39ae76
Merge #12920: test: Fix sign for expected values
c55aa4f test: Fix sign for expected values (Karl-Johan Alm)

Pull request description:

  A number of `BOOST_CHECK_EQUAL` calls would result in warnings about signs.

  This PR fixes signedness for all expectation values, sometimes resulting in `int` → `unsigned int`. No other code changes besides adding/removing `U` to/from values.

  Running `make &> make_output_...` on master versus on this PR:
  ```
  $ wc make_output_*
      1464    5925   90357 make_output_master
       613    1469   28370 make_output_signfixed
  ```
  More than halves the output lines from compiling.

Tree-SHA512: b06c9fb81704fd32a6a61fe7b2ceb5f1bb381e9873d79e13d7e4d26bbd9b67c9725a84e6fb2903bcda775aea2a792e544b0799d36735c19f5d1c7225e8c6d14e
2021-04-17 16:22:01 -04:00
Wladimir J. van der Laan
3637afddf0
Merge #12854: Add P2P, Network, and Qt categories to the desktop icon 2021-04-17 16:22:01 -04:00
Wladimir J. van der Laan
460c1ee359
Merge #12926: Run unit tests in parallel
7ef9cd8 Increase entropy in test temp directory name (Pieter Wuille)
f6dfb0f Reorder travis builds (Pieter Wuille)
156db42 tests: run tests in parallel (Cory Fields)
66f3255 tests: split up actual tests and helper files (Cory Fields)

Pull request description:

  This runs the unit tests (`src/test/test_bitcoin`) in 4 separate simultaneous processes, significantly speeding up some Travis runs (over 2x for win32).

  This uses an approach by @theuni that relies on `make` as the mechanism for distributing tests over processes (through `-j`). For every test .cpp file, we search for `BOOST_FIXTURE_TEST_SUITE` or `BOOST_AUTO_TEST_SUITE`, and then invoke the test binary for just that suite (using `-t`). The (verbose) output is stored in a temporary file, and only shown in the case of failure.

  Some makefile reshuffling is necessary to avoid trying to run tests from `src/test/test_bitcoin.cpp` for example, which contains framework/utility code but no real tests.

  Finally, order the Travis jobs from slow to fast (apart from the arm/doc job which goes first, for fast failure). This should help reducing the total wall clock time before opening a PR and finishing Travis, in case where not all jobs are started simultaneously.

  This is an alternative to #12831.

Tree-SHA512: 9f82eb4ade14ac859618da533c7d9df2aa9f5592a076dcc4939beeffd109eda33f7d5480d8f50c0d8b23bf3099759e9f3a2d4c78efb5b66b04569b39b354c185
2021-04-17 16:22:01 -04:00
strophy
9a17e9dfa5
Update docker tags (#4103)
* feat: use github actions

* use v2 meta action

* adjust indentation

* try conditional versions

* try to remove flavor

* try different order

* manual suffix

* manual latest

* dev suffix on latest

* raw latest-dev

* typo

* workaround latest bug

* manual latest

* enable build

* add space

* revert Dockerfile changes

* use dashpay target repo
2021-04-17 16:08:45 -04:00
UdjinM6
a8bef50052
Silence/tweak some log output (#4102)
* Silence some log output

* Drop redundant log output in ProcessGetData

* Tweak PushInventory log output
2021-04-17 15:23:54 -04:00
PastaPastaPasta
cc8880ec27
llmq/rpc: Adjust verify islock, don't err when transaction isn't known locally (#4106)
* llmq/rpc: Adjust verify islock, don't err when transaction isn't known locally

* combine two ifs

Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>

* tests: Verify islocks for unknown txes

Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2021-04-16 17:03:41 +02:00
PastaPastaPasta
5074e6df9e
Extensive include refactoring (#4095)
* Simple changes, mostly just includes

* Continued include changes combined with using pointers to avoid including more than necessary in headers

* remove dup include

* masternode-utils.cpp include net.h in all builds

* resolve linter -7 +11

* drop quorums.h from dkgsessionhandler.cpp

* Add `<utilstrencodings.h>`

* Initialize lastMNListForVotingKeys

* Refactor GetMinedCommitment to return sharedptr

Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2021-04-15 23:41:16 -04:00
PastaPastaPasta
a2e4eb0019
bunch of trivial typos / english fixes (#4101) 2021-04-15 14:19:03 -04:00
PastaPastaPasta
9a5bd934d5
Minor bls refactoring (#4100)
* avoid deprecated C headers

* remove unused header

* typos

* unused include

* use static / const where possible

* make parameter const ref where possible

* Clang-Tidy: Parameter is passed by value and only copied once; consider moving it to avoid unnecessary copies

* Clang-Tidy: Passing result of std::move() as a const reference argument; no move will actually happen

* Clang-Tidy: Forwarding reference passed to std::move(), which may unexpectedly cause lvalues to be moved; use std::forward() instead

* access statically
2021-04-15 14:16:44 -04:00
PastaPastaPasta
646cf9aba3
Merge pull request #4097 from PastaPastaPasta/backport-0.17-pr27
Backport 0.17 pr27
2021-04-15 13:58:29 -04:00
PastaPastaPasta
91f4e71563
trivial: misc. trivial refactoring (#4104)
* minor statsd refactoring

* stacktrace refactoring

* spork typos + unused include

* need thread on windows builds
2021-04-15 13:58:04 -04:00
UdjinM6
01dd958429
rpc: Tweak getaddressbalance to also show spendable and immature balances (#4098)
* rpc: Tweak getaddressbalance to also show spendable and immature balances

* tests: Check `balance_immature` and `balance_spendable`
2021-04-15 19:30:14 +02:00
UdjinM6
99f8f91cc7
Add missing locks after 12694 2021-04-14 14:44:03 -04:00
xdustinface
af48ba0d53
qt: Drop a space 2021-04-14 11:37:42 -04:00
xdustinface
00c5083287
qt: Use themed red for the prune settings warning 2021-04-14 00:56:15 -04:00
xdustinface
4e05e6d152
qt: Move prune settings and its warning down 2021-04-14 00:56:04 -04:00
Wladimir J. van der Laan
1541e44d85
Merge #13043: [qt] OptionsDialog: add prune setting 2021-04-13 16:11:22 -04:00
Wladimir J. van der Laan
ee04176530
Merge #12694: Actually disable BnB when there are preset inputs
081bf54 Test that BnB is not used when there are preset inputs (Andrew Chow)
6ef9982 Actually disable BnB when there are preset inputs (Andrew Chow)

Pull request description:

  We don't want to use BnB when there are preset inputs because there
  is some weirdness with making that work with using the KnapsackSolver
  as the fallback. Currently we say that we haven't used bnb when
  there are preset inputs, but we don't actually disable BnB. This fixes
  that.

  I thought this was done originally. I guess it got lost in a rebase somewhere.

Tree-SHA512: 9792c0cdd0736866bddbed20f10b8050104955dc589fba49a0bd61a582ba491c921af2cdcc2269678b7b69275dad5fcf89c71b75c28733c7bacbe52e55891b9c
2021-04-13 13:08:32 -04:00
Pieter Wuille
032593d047
Merge #12737: Remove unnecessary NONNEGATIVE_SIGNED
34ca750320 Remove unnecessary NONNEGATIVE_SIGNED (Russell Yanofsky)

Pull request description:

  Switch to unsigned encoding, which is backwards compatible and avoids MSVC
  error reported https://github.com/bitcoin/bitcoin/issues/12732

Tree-SHA512: 9687842aa8cb745ba7cf7612bd2feea0cef14953aba9af26c72c6eb3c974d790152eb4d0e8654d4ae451fe80947cb2552a82f19b1f9e9658701aed8ce0ee5c23
2021-04-13 13:08:32 -04:00
UdjinM6
68caf300a9
qt: Do not use border-image (#4093)
Fixes weird image corruption on macos
2021-04-11 15:02:10 -04:00
UdjinM6
6d11d0b8fc
qt: Drop unused scrolbars.css (#4092)
It was removed from the build via #3571 and is no longer used in any way
2021-04-11 15:01:35 -04:00
UdjinM6
e28e449ed3
qt: Remove arrows from combobox dropdowns on linux (#4084) 2021-04-11 15:01:07 -04:00
UdjinM6
21372a238a
Bump CI test timeout (#4090)
Some of our tests are too heavy for slow gitlab shared runners
2021-04-10 16:37:29 -04:00
UdjinM6
a1d039a9d8
Update man pages (#4089)
Run `gen-manpages.sh`
2021-04-10 16:37:07 -04:00
UdjinM6
4110aabf71
Fix command line help strings (#4088)
* s/bitcoin-tx/dash-tx/

* Fix regtestLLMQ

* Make `-socketevents` help string OS-independent
2021-04-10 16:36:31 -04:00
UdjinM6
cc21461baf
Bump chainparams for mainnet and testnet (#4087)
* Bump nMinimumChainWork and defaultAssumeValid for mainnet and testnet

* Bump DEPLOYMENT_V17 start and timeout

* Bump chaintxdata

mainnet:
{
  "time": 1617874573,
  "txcount": 34709765,
  "window_final_block_hash": "000000000000000bd7dac80e97279c984a3266145c130ab76021f5bac6d80ff3",
  "window_block_count": 17280,
  "window_tx_count": 822851,
  "window_interval": 2723924,
  "txrate": 0.3020829509193355
}

testnet:
{
  "time": 1617874832,
  "txcount": 4926985,
  "window_final_block_hash": "000000b0940bec06e3245dc787743b3a7f039068878aa1c7c6d5b44c443770bf",
  "window_block_count": 17280,
  "window_tx_count": 26190,
  "window_interval": 2438451,
  "txrate": 0.01074042496650538
}
2021-04-10 16:34:26 -04:00
UdjinM6
a567170dd2
qt: Apply themes globally (#4086)
* qt: Apply themes globally

And do this early

* qt: Fix unexpected prompt icon in dash themes

This has been introduced by removing the `GUIUtil::loadStyleSheet(node,
autoCompleter->popup());` call which triggered a `QEvent::StyleChange`
to propery load the widgets before.

* qt: Move custom css timer out of loadStyleSheet

Co-authored-by: xdustinface <xdustinfacex@gmail.com>
2021-04-10 16:31:58 -04:00
UdjinM6
cab8b22040
qt: Fix theme loading (#4085)
* qt: Always use predefined css filenames instead of guessing them when using custom css dir

* qt: Safer getActiveTheme

* qt: Use correct default theme in dashThemeActive
2021-04-10 16:30:07 -04:00