Commit Graph

18778 Commits

Author SHA1 Message Date
dustinface
748d91dd7a
test: Add and use DashTestFramework.get_recovered_sig (#3801)
* test: Introduce DashTestFramework.get_recovered_sig

* test: Use DashTestFramework.get_recovered_sig
2020-11-10 00:58:49 +03:00
dustinface
038b31c796
governance: Notify main signals in ProcessVote instead ProcessMessage (#3795)
Thats to also call `NotifyGovernanceVote` for votes added by RPC not only the ones coming from P2P.
2020-11-10 00:58:04 +03:00
UdjinM6
02efeb0c74
Backport 18894: gui: Fix manual coin control with multiple wallets loaded (#3777)
* Merge #18894: gui: Fix manual coin control with multiple wallets loaded

a8b5f1b133d4f23975a3fbfb7a415b17261466ee gui: Fix manual coin control with multiple wallets loaded (João Barbosa)

Pull request description:

  This PR ensures each loaded wallet has a dedicated coin control in the send view which is manipulated by the coin control dialog.

  This is an alternative to #17457. Two main differences are:
   - scope reduced - no unnecessary changes unrelated to the fix;
   - approach taken - coin control instance now belongs to the send view.

  All problems raised in #17457 reviews no longer apply due to the approach taken - https://github.com/bitcoin/bitcoin/pull/17457#pullrequestreview-319297589 and https://github.com/bitcoin/bitcoin/pull/17457#issuecomment-555920829)

  No change in behavior if only one wallet is loaded.

  Closes #15725.

ACKs for top commit:
  jonasschnelli:
    utACK a8b5f1b133d4f23975a3fbfb7a415b17261466ee
  ryanofsky:
    Code review ACK a8b5f1b133d4f23975a3fbfb7a415b17261466ee. Code changes are very straightforward, just replacing global CCoinControl object with SendCoinsDialog member. Not sure if this means coin control settings are reset between payments. It would be good to note in the PR description or release notes if single wallet behavior is affected
  hebasto:
    ACK a8b5f1b133d4f23975a3fbfb7a415b17261466ee
  Sjors:
    tACK a8b5f1b133d4f23975a3fbfb7a415b17261466ee

Tree-SHA512: 3ad9c51bab6f28ec0e90efbd6f43fa510c81dafb2eff0b8c3724efcee3e030054a10be013e27cefe35763374c5f6d7af8c02658736964f733d7e38b646b5df65

* Update src/qt/coincontroldialog.cpp

Co-authored-by: PastaPastaPasta <6443210+PastaPastaPasta@users.noreply.github.com>

Co-authored-by: Jonas Schnelli <dev@jonasschnelli.ch>
Co-authored-by: PastaPastaPasta <6443210+PastaPastaPasta@users.noreply.github.com>
2020-11-10 00:57:20 +03:00
UdjinM6
f32f24d95d
Merge pull request #3786 from PastaPastaPasta/backports-0.17-pr21
Backports 0.17 pr21
2020-11-10 00:56:31 +03:00
PastaPastaPasta
b1c930bc86
[v0.16.x] bump version in configure.ac (#3788)
Signed-off-by: pasta <pasta@dashboost.org>
2020-11-09 23:23:43 +03:00
UdjinM6
2493f03638
Merge pull request #3799 from UdjinM6/bp161_2
Backport "candidates" from develop into 0.16.x (part 2)
2020-11-09 18:52:29 +03:00
UdjinM6
1d41fbd760
Update man pages (#3798) 2020-11-09 00:34:50 +03:00
dustinface
3d94e714a9
contrib|src: Update hard coded seeds (#3791)
* contrib: Update IPs in nodes_main.txt and nodes_test.txt

Mainnet height: 1365640
Testnet height: 396230

* src: Update static seeds in chainparamsseeds.h
2020-11-08 17:50:12 +03:00
PastaPastaPasta
c02a994489
bump nMinimumChainWork, defaultAssumeValid, checkpointData for mainnet and testnet (#3789)
Signed-off-by: pasta <pasta@dashboost.org>
2020-11-08 17:49:56 +03:00
dustinface
b1a1d1da66
contrib|src: Update hard coded seeds (#3791)
* contrib: Update IPs in nodes_main.txt and nodes_test.txt

Mainnet height: 1365640
Testnet height: 396230

* src: Update static seeds in chainparamsseeds.h
2020-11-08 17:45:56 +03:00
UdjinM6
d65dca574f
Fix header wrappers generated by generate-seeds.py (#3793) 2020-11-08 17:45:32 +03:00
dustinface
24741ca3a6
test: Rename test suite (#3792) 2020-11-08 17:45:13 +03:00
dustinface
c37193fa82
contrib: Update makeseeds.py (#3790)
* contrib: Update makeseeds.py 

The `dnspython` package complained about  `dns.resolver.Resolver.query()` being deprecated and suggested to use `dns.resolver.Resolver.resolve()` instead.

* contrib: Update dependency install instructions in seeds/README.md
2020-11-08 17:44:47 +03:00
pasta
bd62c113bf
fix spacing
Signed-off-by: pasta <pasta@dashboost.org>
2020-11-07 17:20:40 -05:00
UdjinM6
0bfd3ad923
Use PYTHONIOENCODING in test_integrationtests.sh to override encoding for combine_logs.py
See https://docs.python.org/3/using/cmdline.html?highlight=pythonioencoding#envvar-PYTHONIOENCODING for more info.
2020-11-07 17:19:09 -05:00
PastaPastaPasta
69b36f9672
bump nMinimumChainWork, defaultAssumeValid, checkpointData for mainnet and testnet (#3789)
Signed-off-by: pasta <pasta@dashboost.org>
2020-11-04 16:40:50 +03:00
UdjinM6
c7746f607f
Refactor/tweak BitcoinGUI (#3763)
* Rename QToolButton-s

* Move buttons from createActions() to createToolBars()

Also, drop `showNormalIfMinimized()` connect for buttons cause it makes no sense

* Tweak `BitcoinGUI` to let `updateToolBarShortcuts()` work with `QButtonGroup` only
2020-11-04 14:55:17 +03:00
UdjinM6
49d6cc8adb
Merge pull request #3784 from UdjinM6/backport_0.16.1
Backport "candidates" from develop into 0.16.x
2020-11-04 14:18:34 +03:00
UdjinM6
b3bbc00dbc
Merge #15730: rpc: Show scanning details in getwalletinfo (#3785)
b6c748f84909212dce73e4b77aa125ed1e108a10 doc: Add release notes for 15730 (João Barbosa)
d3e8458365ab29017241bc43204fe81cb7fd8530 rpc: Show scanning details in getwalletinfo (João Barbosa)
90e27abe37cc84c7b206f20d28aafe32e71e7209 wallet: Track current scanning progress (João Barbosa)
2ee811e6930cf76ea51e6826fe437ed888688adc wallet: Track scanning duration (João Barbosa)

Pull request description:

  Closes #15724.

ACKs for commit b6c748:
  MarcoFalke:
    re-utACK b6c748f849 (Only change since my last review is rebase, adding release notes, and returning false instead of null)
  laanwj:
    utACK b6c748f84909212dce73e4b77aa125ed1e108a10
  jonatack:
    ACK b6c748f84909212dce73e4b77aa125ed1e108a10, only changes appear to be rebase for https://github.com/bitcoin/bitcoin/pull/15730#discussion_r280030617 and release notes.

Tree-SHA512: 8ee98f971c15f66ce8138fc92c55e51abc9faf01866a31ac7ce2ad766aa2bb88559eabee3b5815d645c84cdf1c19dc35ec03f31461e39bc5f6040edec0b87116

Co-authored-by: Wladimir J. van der Laan <laanwj@gmail.com>
2020-11-03 15:39:38 +03:00
UdjinM6
486b5c3bcf
Merge #15730: rpc: Show scanning details in getwalletinfo (#3785)
b6c748f84909212dce73e4b77aa125ed1e108a10 doc: Add release notes for 15730 (João Barbosa)
d3e8458365ab29017241bc43204fe81cb7fd8530 rpc: Show scanning details in getwalletinfo (João Barbosa)
90e27abe37cc84c7b206f20d28aafe32e71e7209 wallet: Track current scanning progress (João Barbosa)
2ee811e6930cf76ea51e6826fe437ed888688adc wallet: Track scanning duration (João Barbosa)

Pull request description:

  Closes #15724.

ACKs for commit b6c748:
  MarcoFalke:
    re-utACK b6c748f849 (Only change since my last review is rebase, adding release notes, and returning false instead of null)
  laanwj:
    utACK b6c748f84909212dce73e4b77aa125ed1e108a10
  jonatack:
    ACK b6c748f84909212dce73e4b77aa125ed1e108a10, only changes appear to be rebase for https://github.com/bitcoin/bitcoin/pull/15730#discussion_r280030617 and release notes.

Tree-SHA512: 8ee98f971c15f66ce8138fc92c55e51abc9faf01866a31ac7ce2ad766aa2bb88559eabee3b5815d645c84cdf1c19dc35ec03f31461e39bc5f6040edec0b87116

Co-authored-by: Wladimir J. van der Laan <laanwj@gmail.com>
2020-11-03 14:58:44 +03:00
Wladimir J. van der Laan
da0e1360b2
Merge #11617: Avoid lock: Call FlushStateToDisk(...) regardless of fCheckForPruning
0000d8f Document how FlushStateMode::NONE is handled (practicalswift)
2311c7c Call FlushStateToDisk(...) regardless of fCheckForPruning (practicalswift)

Pull request description:

  FlushStateToDisk(...) won't do anything besides check if we need to prune if
  FLUSH_STATE_NONE is given. We avoid reading the variable fCheckForPruning
  which is guarded by the mutex cs_LastBlockFile.

Tree-SHA512: 89df06256f73503a74b9e26d580ce9ed09efaef347fae1ff6a5759a2993b0db52edd2fadb65694d27e579a5aed92127753bdf41b5bb1bd516e577fcf17f17999
2020-11-01 01:05:06 -05:00
Wladimir J. van der Laan
22585e5494
Merge #12941: [Trivial] Ignore macOS daemon() depracation warning
12e7c55 Ignore macOS daemon() depracation warning (Jonas Schnelli)

Pull request description:

  `daemon()` is deprecated on OSX since 10.5 (should migrate to `posix_spawn()`). There are no signs `daemon()` will get removed by Apple.

Tree-SHA512: d5bcdc5d6b507576e0358906a73f9c766f2072f4a9aef6bdc559e10dbec95337ffa50a1ccb60f7197591e2e74f87c74c13387de880aaedc6dbf3796253f69561
2020-11-01 01:01:45 -05:00
MarcoFalke
ee4effdc19
Merge #12932: wallet: Remove redundant lambda function arg in handleTransactionChanged
9b9d717263 wallet: Remove redundant lambda function arg in handleTransactionChanged (Wladimir J. van der Laan)

Pull request description:

  Makes the build warning-clean again here:

      bitcoin/src/interfaces/wallet.cpp:425:18: warning: lambda capture 'this' is not used [-Wunused-lambda-capture]
                  [fn, this](CWallet*, const uint256& txid, ChangeType status) { fn(txid, status); }));
                       ^

Tree-SHA512: 82362c8fb3638246a6c3b28998165eed8a6490f9e13cf2741fb2776ef7f82a1c0bb5ea1f58b7ff842bd59c9830f59f5a478fb63860693055c4d8dd72a94d8a5a
2020-11-01 01:00:50 -05:00
MarcoFalke
fc00189e5a
Merge #12770: Use explicit casting in cuckoocache's compute_hashes(...) to clarify integer conversion
9142dfea81 Use explicit casting in cuckoocache's compute_hashes(...) to clarify integer conversion (practicalswift)

Pull request description:

  Use explicit casting in cuckoocache's `compute_hashes(...)` to clarify integer conversion.

  I discussed this code with the code's author @JeremyRubin who suggested patching it to avoid any confusion.

  At least one static analyzer incorrectly warns about a shift past bitwidth (UB) here, so this patch will help avoid confusion for human reviewers and static analyzers alike :-)

Tree-SHA512: 0419ee31b422d2ffedbd1a100688ec0ff5b0c1690d6d92592f638ca8db07a21a9650cb467923108c6f14a38d2bf07d6e6c85d2d1d4b7da53ffe6919f94f32655
2020-11-01 01:58:42 -04:00
Wladimir J. van der Laan
cc5dd301ab
Merge #12537: [arith_uint256] Make it safe to use "self" in operators
b120f7b [test] Add tests for self usage in arith_uint256 (Karl-Johan Alm)
08b17de [arith_uint256] Do not destroy *this content if passed-in operator may reference it (Karl-Johan Alm)

Pull request description:

  Before this fix (see test commit), `v *= v` would result in `0` because `operator*=` set `*this` (`==b`) to `0` at the start. This patch changes the code to use `a` as temporary for `*this`~~, with drawback that `*this` is set to `a` at the end, an extra `=` operation in other words~~.

Tree-SHA512: 8028a99880c3198a39c4bcc5056169735ba960625d553e15c0317510a52940c875f7a1fefe14e1af7fcf10c07a246411994a328cb1507bf3eaf1b6e7425390dc
2020-11-01 01:58:06 -04:00
MarcoFalke
f9dce09f6c
Merge #12918: test: Assert on correct variable
bf08fc5b6b test: Assert on correct variable (Karl-Johan Alm)

Pull request description:

Tree-SHA512: bdc4a0f94d49ab29234ee429585c6c73e46ff096c46d6053eb15c0a84cdea5490425cd842d051d41e158450945b229239b08002c193fdcc212eb2ca0e63aa653
2020-11-01 01:57:59 -04:00
MarcoFalke
33588fc167
Merge #12901: build: Show enabled sanitizers in configure output
01189ab9ae build: Show enabled sanitizers in configure output (practicalswift)

Pull request description:

  Show enabled sanitizers in `configure` output.

  Context: @eklitzke excellent addition of `--with-sanitizers` in #12692

Tree-SHA512: b2d52308e3476488fe47cbc059d7f3235aaeefaa2b987003923f6eaacbadf67f0cf22a32a04873d0f54c1867757841e01c8053f86a4d2f59a407b960ac15105f
2020-11-01 01:56:49 -04:00
Wladimir J. van der Laan
ca0ed8dcfb
Merge #12561: Check for block corruption in ConnectBlock()
0e7c52d Shut down if trying to connect a corrupted block (Suhas Daftuar)

Pull request description:

  (Updated OP after reworking the approach)

  Shut down if a corrupted block is found in ConnectBlock().  This prevents an infinite loop trying to connect such a block, and alerts the node operator that there may be potential hardware failure.

Tree-SHA512: f20d56aa9d36d6eeff4c3d13c0fbd14f06a57701bd13c2416d36f0cc4235f81f752139e336a073617e8e803782c5096c960108af122b19a51227de512e9095ee
2020-11-01 01:55:15 -04:00
Wladimir J. van der Laan
b25feef8ef
Merge #12778: RPC: Add username and ip logging for RPC method requests
4d74c78 Add username and ip logging for RPC method requests (Gabriel Davidian)

Pull request description:

  Adds username and IP logging (if enabled via -logips command) to RPC method request logging.
  This closes #12223

Tree-SHA512: a441228e80ea6884ec379c66e949d86df3689770f1b3c3608015cf5a36d2dfb38051298a7f6ea6dfdfbf0b3b6c896e414c8dc54e9833bb73dd65bdb1832f4395
2020-11-01 01:23:08 -04:00
Jonas Schnelli
69ef071ee2
Merge #12795: do not truncate .dat extension for wallets in gui
fc7c32fc6 do not truncate .dat extension for wallets in gui (Gregory Sanders)

Pull request description:

  Truncating the extension results in wallet name ambiguity and the inability to use the wallet in GUI debug rpc console.

  Resolves #12794

Tree-SHA512: 89507918f597e9274148b45233b893c9f653da4f9e929415822165d47c67b55ad0b2d5ff53b508e942831d5213d5c15bce3fbdfbcb592a5c7f3dd5c1ca02cfb8
2020-11-01 01:10:56 -04:00
UdjinM6
3ad4651db1
Call EraseObjectRequest as soon as an object is read from the stream (#3783)
EraseObjectRequest should nat be postponed for later (no reason to do so) or skipped due to early returns (this is a bug).
2020-10-28 23:26:41 +03:00
UdjinM6
d8f8f174c0
Avoid accessing pendingContributionVerifications from VerifyPendingContributions while ReceiveMessage is still doing its job (#3782) 2020-10-28 23:26:28 +03:00
UdjinM6
0814e6145d
qt: Handle fonts of deleted widgets properly, streamline the flow in GUIUtil::updateFonts (#3772)
* Refactor and fix `GUIUtil::updateFonts`

Use QPointer-s to process deleted widgets properly, streamline the flow (less loops and map scans).

* Add some debug output

* qt: Rename mapNormalFontUpdates -> mapFontUpdates

The "Normal" was added when we also had other maps containing font updates

* qt: Count removed items, adjust debug logs

* qt: Use the emplace result for the default font size

* qt: Perform all widget font updates later in a seperate step

* qt: Drop pointSize checks

* qt: Refactor app class font scaling

Co-authored-by: xdustinface <xdustinfacex@gmail.com>
2020-10-28 23:26:13 +03:00
UdjinM6
e149740120
qt: avoid auto-updating window width when it's in full screen or when it's maximized (#3771) 2020-10-28 23:25:51 +03:00
UdjinM6
78358a2a6d
qt: Do not show a check-mark for "Encrypt wallet" menu item (#3770) 2020-10-28 23:23:06 +03:00
UdjinM6
7b72e98092
Fix IS-locks sync via mempool p2p command (#3766) 2020-10-28 23:22:47 +03:00
UdjinM6
9ceee5df20
qt: Fix --disable-wallet build and --disablewallet mode (#3762)
* Fix --disable-wallet build and --disablewallet mode

Console is not showing up in --disable-wallet build and it's crashing in --disablewallet mode before this commit.

* Use nullptr

* Load a stylesheet for the RPCConsole when it's not going to be set as a central widget

This partially reverts the initial commit.

* Fix QMainWindow dark/light styles

* Avoid implicit pointer to bool conversions

* qt: Set RPCConsole's window flags based on wallet availability

* multi-line early returns

* Bring back ifdef to fix a recently introduced crash

Introduced in 2856f46424 (diff-f63c3d5094d55f88dbd1967774f85838b3aee5a40540b8c82b924574bca772a0R203)

Co-authored-by: xdustinface <xdustinfacex@gmail.com>
2020-10-28 22:32:53 +03:00
Oleg Girko
62985c771b
depends: Update Qt download url. (#3756)
Signed-off-by: Oleg Girko <ol@infoserver.lv>

Co-authored-by: Oleg Girko <ol@infoserver.lv>
2020-10-28 22:22:00 +03:00
dustinface
717a41a572
qt: Make sure there is a valid theme set in the options (#3755)
* qt: Add GUIUtil::isValidTheme()

Check if a given string is a valid theme.

* qt: Make sure there is a valid theme set in the options
2020-10-28 22:21:43 +03:00
PastaPastaPasta
01a3435158
update public part of windows code signing certificate (#3749)
* update public part of windows code signing certificate

Signed-off-by: pasta <pasta@dashboost.org>

* Fixing line-breaks

Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2020-10-28 22:21:20 +03:00
UdjinM6
fb4f76c4a0
Call EraseObjectRequest as soon as an object is read from the stream (#3783)
EraseObjectRequest should nat be postponed for later (no reason to do so) or skipped due to early returns (this is a bug).
2020-10-28 22:02:05 +03:00
UdjinM6
7cca0b0617
Avoid accessing pendingContributionVerifications from VerifyPendingContributions while ReceiveMessage is still doing its job (#3782) 2020-10-28 22:01:29 +03:00
UdjinM6
05d23e7159
rpc: Do not require a privkey corresponding to ownerAddress in protx register_* to be known by the wallet (#3773)
This requirement was introduced in the initial implementation when we were signing protx payload with the owner key (#2246). This was changed later when we implemented external collateral references (#2366). The owner key is not used for anything in ProTxReg but to get CKeyID since then which we can do by simply decoding an address instead. This simplifies masternode registration process by letting an Operator to issue `protx register_prepare` on its own instead of asking an Owner. An Owner still have to sign the message provided by an Operator with his collateral address to prove collateral ownership (and authorize masternode registration).

Note: `protx register_*` rpc will no longer accept privkeys for ownerAddress. Some 3-rd party software like DMT might need to be patched to work correctly with nodes running with this fix.
2020-10-28 03:29:48 +03:00
UdjinM6
e730732342
qt: Handle fonts of deleted widgets properly, streamline the flow in GUIUtil::updateFonts (#3772)
* Refactor and fix `GUIUtil::updateFonts`

Use QPointer-s to process deleted widgets properly, streamline the flow (less loops and map scans).

* Add some debug output

* qt: Rename mapNormalFontUpdates -> mapFontUpdates

The "Normal" was added when we also had other maps containing font updates

* qt: Count removed items, adjust debug logs

* qt: Use the emplace result for the default font size

* qt: Perform all widget font updates later in a seperate step

* qt: Drop pointSize checks

* qt: Refactor app class font scaling

Co-authored-by: xdustinface <xdustinfacex@gmail.com>
2020-10-28 03:28:57 +03:00
UdjinM6
6bb05eb920
qt: Fix --disable-wallet build and --disablewallet mode (#3762)
* Fix --disable-wallet build and --disablewallet mode

Console is not showing up in --disable-wallet build and it's crashing in --disablewallet mode before this commit.

* Use nullptr

* Load a stylesheet for the RPCConsole when it's not going to be set as a central widget

This partially reverts the initial commit.

* Fix QMainWindow dark/light styles

* Avoid implicit pointer to bool conversions

* qt: Set RPCConsole's window flags based on wallet availability

* multi-line early returns

* Bring back ifdef to fix a recently introduced crash

Introduced in 2856f46424 (diff-f63c3d5094d55f88dbd1967774f85838b3aee5a40540b8c82b924574bca772a0R203)

Co-authored-by: xdustinface <xdustinfacex@gmail.com>
2020-10-28 03:28:16 +03:00
UdjinM6
b5af921a9f
Merge pull request #3742 from PastaPastaPasta/backports-0.17-pr20
Backports 0.17 pr20
2020-10-28 03:27:29 +03:00
pasta
80a9746d0a
remove additional FLATDATA
Signed-off-by: pasta <pasta@dashboost.org>
2020-10-27 13:24:34 -04:00
UdjinM6
f5bbf20879
Allow partial match for expected strings in feature_*index.py` tests 2020-10-26 20:35:28 -04:00
UdjinM6
aafa64d021
Fix feature_txindex.py 2020-10-26 20:35:28 -04:00
UdjinM6
3cc35ea470
Add -DARENA_DEBUG flag 2020-10-26 20:35:28 -04:00