13192 Commits

Author SHA1 Message Date
Wladimir J. van der Laan
641b2ffb45
qt: pre-rc1 translations update
Tree-SHA512: b97fd91b7ab1eb2297007a9821def31c065a2a33f12cf51fd5e5be5dff1e8afb4f5b001d220c3873d72ca5b06484ad2d1e2c8df5300770145de0dfebe56db303
2019-07-19 19:19:47 +02:00
tecnovert
063c8ce7a0
net: Make poll in InterruptibleRecv only filter for POLLIN events.
poll should block until there is data to be read or the timeout expires.

Filtering for the POLLOUT event causes poll to return immediately which leads to high CPU usage when trying to connect to non-responding peers through tor.

Removing POLLOUT matches how select is used when USE_POLL isn't defined.

Github-Pull: #16412
Rebased-From: a52818cc5633494992da7d1dc8fdb04b4a1b7c29
Tree-SHA512: eaf466630ba9d2a2a7443c9679c83c2cb13e779a5948f409cddb4c48cf32126ac68f3de48e394f9302e99858efa17cdb14650751a1b55c3b79e8a7507cab352d
2019-07-19 17:59:01 +02:00
João Barbosa
b2711b98bd fix: tor: Call event_base_loopbreak from the event's callback
Github-Pull: #16405
Rebased-From: a981e749e6553487cd48eda28e590f769e81c85c
2019-07-17 16:22:11 +01:00
João Barbosa
df695db323 qt: Assert QMetaObject::invokeMethod result
Github-Pull: #16348
Rebased-From: 64fee489448c62319e77941c30152084695b5a5d
2019-07-09 14:16:23 +01:00
João Barbosa
e2f7677bde gui: Fix missing qRegisterMetaType(WalletModel*)
Github-Pull: #16348
Rebased-From: f27bd96b5fdc2921d93c44bbf422bff0e979c4de
2019-07-09 14:15:27 +01:00
Anthony Towns
1dc357dabb signrawtransactionwithkey: report error when missing redeemScript/witnessScript param
Github-Pull: #16250
Rebased-From: 01174596e69568c434198a86f54cb9ea6740e6c2
2019-07-05 14:45:04 +10:00
fanquake
629c7b029c
Merge #16035: 0.18.1: Backports
bcb27d7b0 .python-version: Bump to 3.5.6 (MarcoFalke)
af25a757e Add comments to Python ECDSA implementation (John Newbery)
715da91e9 Set AA_EnableHighDpiScaling attribute early (Hennadii Stepanov)
2800b3d5c gui: Fix open wallet menu initialization order (João Barbosa)
e78007fc1 Make and get the multisig redeemscript and destination in one function instead of two (Andrew Chow)
d9fc969e7 Pure python EC (Pieter Wuille)
23ba460c1 test: Add test that addmultisigaddress fails for watchonly addresses (MarcoFalke)
13b3bb564 test: Fixup creatmultisig documentation and whitespace (MarcoFalke)
79745d175 Replace remaining fprintf with tfm::format manually (MarcoFalke)
beb09f09b scripted-diff: Replace fprintf with tfm::format (MarcoFalke)
e29aa6e72 Exceptions should be caught by reference, not by value. (Kristaps Kaupe)
f88959ba7 tinyformat: Add doc to Bitcoin Core specific strprintf (MarcoFalke)
0023c9789 rpc: bugfix: Properly use iswitness in converttopsbt (MarcoFalke)
832eb4ff5 Bugfix: test/functional/rpc_psbt: Correct test description comment (Luke Dashjr)
966d8d084 Bugfix: test/functional/rpc_psbt: Remove check for specific error message that depends on uncertain assumptions (Luke Dashjr)
bb36ac82e rpc: Switch touched RPCs to IsValidNumArgs (MarcoFalke)
d24d0ec05 Add example 2nd arg to signrawtransactionwithkey (Chris Moore)
592016ba1 fixup: Fix prunning test (João Barbosa)
c80a498ae Fix RPC/pruneblockchain returned prune height (Jonas Schnelli)
b2398240f gui: Enable open wallet menu on setWalletController (João Barbosa)
d1f261150 Add test for GCC bug 90348 (Pieter Wuille)
d80c558e0 gui: Set progressDialog to nullptr (João Barbosa)
7ed1a6019 gui: Enable console line edit on setClientModel (João Barbosa)
b55cbe82d qt: fix opening bitcoin.conf via Preferences on macOS; see #15409 (shannon1916)
b6c1f9478 Disallow extended encoding for non-witness transactions (take 3) (MarcoFalke)
86031083c Add test for superfluous witness record in deserialization (Gregory Sanders)
5a58ddb6d Fix missing input template by making minimal tx (Gregory Sanders)
206f5ee87 Disallow extended encoding for non-witness transactions (Pieter Wuille)
3dbc7def0 Show loaded wallets as disabled in open menu instead of nothing (MeshCollider)
a635377b6 Install bitcoin-wallet manpage. (Daniel Kraft)
eb85ee62b Doc: remove text about txes always relayed from -whitelist (David A. Harding)
890a92eba doc: Mention blocksonly in reduce-traffic.md, unhide option (MarcoFalke)
3460555f4 test: Add test for p2p_blocksonly (MarcoFalke)
8f215c7a2 test: Format predicate source as multiline on error (MarcoFalke)
9c1a607a0 net: Rename ::fRelayTxes to ::g_relay_txes (MarcoFalke)
5935f0126 build with -fstack-reuse=none (MarcoFalke)

Pull request description:

Tree-SHA512: 5cd73a4319cb69c92b528239cf97c0ed5fcf2b9e8c7fe154e4679eeec95db433a0223d8dc574e4cdc96c1913cfdf160b10c42dcdbcb5bbc8fb743c07930ef9da
2019-07-04 10:18:47 +08:00
Hennadii Stepanov
715da91e91 Set AA_EnableHighDpiScaling attribute early
Qt docs: This attribute must be set before QGuiApplication is
constructed.

Github-Pull: #16254
Rebased-From: 099e4b9ad3d9967051d5c3d45c6315d1b30fea05
2019-06-24 09:02:05 -04:00
João Barbosa
2800b3d5c1 gui: Fix open wallet menu initialization order
The menu must be created before connecting to aboutToShow signal.

Github-Pull: #16231
Rebased-From: 5224be5a3354e1a22ea4d7f0e40aadfccdf67064
2019-06-23 12:00:46 -04:00
Andrew Chow
e78007fc1a Make and get the multisig redeemscript and destination in one function instead of two
Instead of creating a redeemScript with CreateMultisigRedeemscript and
then getting the destination with AddAndGetDestinationForScript, do
both in the same function.

CreateMultisigRedeemscript is changed to AddAndGetMultisigDestination.
It creates the redeemScript and returns it via an output parameter. Then
it calls AddAndGetDestinationForScript to add the destination to the
keystore and get the proper destination.

This allows us to inspect the public keys in the redeemScript before creating
the destination so that the correct destination is used when uncompressed
pubkeys are in the multisig.

Github-Pull: #16026
Rebased-From: a49503402b6bc21e3878e151c07529941d36aed0
2019-06-21 08:51:41 -04:00
MarcoFalke
79745d1752 Replace remaining fprintf with tfm::format manually
Github-Pull: #16205
Rebased-From: fa8f195195945ce6258199af0461e3fbfbc1236d
2019-06-18 15:50:40 -04:00
MarcoFalke
beb09f09b3 scripted-diff: Replace fprintf with tfm::format
-BEGIN VERIFY SCRIPT-
sed -i --regexp-extended -e 's/fprintf\(std(err|out), /tfm::format(std::c\1, /g' $(git grep -l 'fprintf(' -- ':(exclude)src/crypto' ':(exclude)src/leveldb' ':(exclude)src/univalue' ':(exclude)src/secp256k1')
-END VERIFY SCRIPT-

fixup! scripted-diff: Replace fprintf with tfm::format

Github-Pull: #16205
Rebased-From: fac03ec43a15ad547161e37e53ea82482cc508f9
2019-06-18 15:50:02 -04:00
Kristaps Kaupe
e29aa6e72e Exceptions should be caught by reference, not by value.
Github-Pull: #16095
Rebased-From: ae7faf20d5fb3e2415ccadc37100dfc44aa0cd94
2019-06-18 15:49:58 -04:00
MarcoFalke
f88959ba7c tinyformat: Add doc to Bitcoin Core specific strprintf
Github-Pull: #16205
Rebased-From: fa72a64b90dc07a80b1ca6127eb50d8244dedc3b
2019-06-18 15:48:16 -04:00
MarcoFalke
0023c97890 rpc: bugfix: Properly use iswitness in converttopsbt
Also explain the param in all RPCs

Github-Pull: #15899
Rebased-From: fa499b5f027f77c0bf13699852c8c06f78e27bef
2019-06-18 09:34:10 -04:00
MarcoFalke
bb36ac82ef rpc: Switch touched RPCs to IsValidNumArgs
Github-Pull: #15899
Rebased-From: fa5c5cd141f0265a5693234690ac757b811157d8
2019-06-18 09:32:17 -04:00
Chris Moore
d24d0ec056 Add example 2nd arg to signrawtransactionwithkey
The RPC examples for signrawtransactionwithkey are missing the 2nd parameter.

Github-Pull: #16210
Rebased-From: 71fd628adafdeb2a4b343e0d51d7168cdb186312
2019-06-17 13:06:19 -04:00
Jonas Schnelli
c80a498ae5 Fix RPC/pruneblockchain returned prune height
Github-Pull: #15991
Rebased-From: 97f517dd851450b1ede1eb6b20f77691883a7737
2019-06-14 16:01:37 -04:00
João Barbosa
b2398240ff gui: Enable open wallet menu on setWalletController
Github-Pull: #16118
Rebased-From: 75485ef0962a53946f17b761c4445627b07e6eff
2019-06-13 06:46:19 -04:00
Luke Dashjr
106471d0d7 Bugfix: dummywallet: Add -ignorepartialspends to list of ignored wallet options
Github-Pull: #15913
Rebased-From: 765d5890be46ed5f5557c1d2b3cb931e6b8eb3b0
2019-06-11 11:58:21 -04:00
MarcoFalke
206c30f6d7 dummywallet: Reformat ignored wallet options list 2019-06-11 11:58:02 -04:00
Pieter Wuille
d1f261150b Add test for GCC bug 90348
Github-Pull: #15985
Rebased-From: 58e291cfad12fa85af87d093acfa7b44702e3521
2019-06-07 11:12:22 +02:00
João Barbosa
d80c558e02 gui: Set progressDialog to nullptr
Github-Pull: #16135
Rebased-From: d2ae6be80f6a0156021bf8c9b9d17cd4966ddffc
2019-06-07 11:11:56 +02:00
João Barbosa
7ed1a60193 gui: Enable console line edit on setClientModel
Github-Pull: #16122
Rebased-From: 2d8ad2f99710a8981e33fe2d6ce834b0076c4e80
2019-06-07 11:11:56 +02:00
shannon1916
b55cbe82d9 qt: fix opening bitcoin.conf via Preferences on macOS; see #15409
Github-Pull: #16044
Rebased-From: 6e6494b3fb345848025494cb7a79c5bf8f35e417
2019-06-07 11:11:56 +02:00
MarcoFalke
b6c1f9478f Disallow extended encoding for non-witness transactions (take 3)
Github-Pull: #16021
Rebased-From: fa2b52af32f6a4b9c22c270f36e92960c29ef364
2019-05-20 12:25:27 -04:00
Pieter Wuille
206f5ee875 Disallow extended encoding for non-witness transactions
Github-Pull: #14039
Rebased-From: bb530efa1872ec963417f61da9a95185c7a7a7d6
2019-05-20 12:23:45 -04:00
MeshCollider
3dbc7def0f Show loaded wallets as disabled in open menu instead of nothing
Github-Pull: #15957
Rebased-From: c3ef63a52f304a600fff1f9c7caa5cb804d41d43
2019-05-18 09:40:46 -04:00
David A. Harding
eb85ee62b3 Doc: remove text about txes always relayed from -whitelist
Updates text since -whitelistforcerelay was set to false by default in
PR #15193.

Github-Pull: #15890
Rebased-From: e0bb2799992afe88e6f4efc6d90ed82ddf1ec5ec
2019-05-17 07:35:48 -04:00
MarcoFalke
890a92eba8 doc: Mention blocksonly in reduce-traffic.md, unhide option
Github-Pull: #15990
Rebased-From: fa8ced32a60dea37ac169241cf9a1f708ef46c4b
2019-05-16 16:15:54 -04:00
MarcoFalke
9c1a607a09 net: Rename ::fRelayTxes to ::g_relay_txes
This helps to distinguish it from CNode::fRelayTxes and avoid bugs like
425278d17bd0edf8a3a7cc81e55016f7fd8e7726

Github-Pull: #15990
Rebased-From: fa1dce7329d3e74d46ab98b93772b1832a3f1819
2019-05-16 16:15:47 -04:00
Wladimir J. van der Laan
a4fc2fbb11
gui: Pre-rc4 translations update
Tree-SHA512: f3a7c9e0c935c869a85e3bc93a4bd33999270ffc13d35de34c46e9dab19229af19fb9c1a61a99264e8411c0966bf8b02a5ee94bf20a07f66b92234473f0e0801
2019-04-18 22:21:42 +02:00
MarcoFalke
607b1b7498
Merge #15839: [0.18] Revert GetData randomization change (#14897)
8602d8b213 Revert "Change in transaction pull scheduling to prevent InvBlock-related attacks" (Suhas Daftuar)

Pull request description:

  This is for 0.18, not master -- I propose we revert the getdata change for the 0.18 release, rather than try to continue patching it up.  It seems like we've turned up several additional bugs that slipped through initial review (see #15776, #15834), and given the potential severe consequences of these bugs I think it'd make more sense for us to delay releasing this code until 0.19.

  Since the bugfix PRs are getting review, I think we can leave #14897 in master, but we can separately discuss if it should be reverted in master as well if anyone thinks that would be more appropriate.

ACKs for commit 8602d8:

Tree-SHA512: 0389cefc1bc74ac47f87866cf3a4dcfe202740a1baa3db074137e0aa5859672d74a50a34ccdb7cf43b3a3c99ce91e4ba1fb512d04d1d383d4cc184a8ada5543f
2019-04-18 16:11:05 -04:00
Luke Dashjr
a58d80d1b2
GUI: Options: Remove the upper-bound limit from pruning size setting
Hypothetically, someone may wish to begin pruning at a future blockchain size, and there's no reason to limit it lower

Github-Pull: #15801
Rebased-From: 8a33f4d63f9944f4877b3e2814b1582e72ceaa71
Tree-SHA512: 814dc5f004c3418216a12f8e0ef1a8db2c586d98b515d48b31a8ccd7f4e0deb12b9f2b6110bf702576a32802ca1d30e518df5ad7c28046deb4d0e9be46a6e7b8
2019-04-18 17:47:10 +02:00
Luke Dashjr
55462077fd
GUI: Options: Set the range of pruning size before loading its value
Without this, an out-of-default-range value gets limited to the range

Github-Pull: #15801
Rebased-From: 4ddeb2f860eee98fbe94725ea8885368068a03f2
Tree-SHA512: 64c18c8be6756fc0130d3fe934edb1ea7758877d4049c5729fa2adb05abb3af4e4bbe1d5f910224e16070aada5470637a35ed14b12391efd48cf035e8a22a949
2019-04-18 17:47:08 +02:00
Suhas Daftuar
8602d8b213 Revert "Change in transaction pull scheduling to prevent InvBlock-related attacks"
This reverts commit 1cff3d6cb017aea87d16cbda0768bbab256d16da.
2019-04-17 12:46:45 -04:00
MarcoFalke
e57462c6ba
Merge #15803: [0.18] Backport 15749: importmulti only imports origin info for PKH outputs
235550d019 Take non-importing keys into account for spendability warning in descriptor import (Pieter Wuille)
802dcd37d1 Import all origin info in importmulti; even for non-importing pubkeys (Pieter Wuille)
7fcbe7dc11 Keep full pubkeys in FlatSigningProvider::origins (Pieter Wuille)

Pull request description:

  Clean backport of #15749 by sipa to 0.18

ACKs for commit 235550:
  fanquake:
    utACK 235550d
  MarcoFalke:
    ACK 235550d019 (Checked that they are clean cherry-picks)

Tree-SHA512: 1ccc19f51137ac4ef971c0bcca4c87ab2383610aa51c5d02680c485b9ce6abd698dddd7f4a45946d56b1aa741cc3fd94b4180ff15901824d20eeba89b4f12853
2019-04-16 07:55:31 -04:00
Pieter Wuille
235550d019 Take non-importing keys into account for spendability warning in descriptor import
Github-Pull: #15749
Rebased-From: b5d39877242504160a7f2c24c60c07a845d7a064
2019-04-16 19:35:25 +12:00
Pieter Wuille
802dcd37d1 Import all origin info in importmulti; even for non-importing pubkeys
Github-Pull: #15749
Rebased-From: 6e597001a4fc1ba837f3f23cfd7f2d65c3d58104
2019-04-16 19:34:38 +12:00
Pieter Wuille
7fcbe7dc11 Keep full pubkeys in FlatSigningProvider::origins
Github-Pull: #15749
Rebased-From: 9a93c91c882265c908ea18496cd1bc271be914d4
2019-04-16 19:34:22 +12:00
MarcoFalke
fa3993bfe8
Merge #15800: Backport: [rpc] Remove the addresses field from the getaddressinfo return object
b3a04c963d [rpc] Remove the addresses field from the getaddressinfo return object (John Newbery)

Pull request description:

  Backport #15750

ACKs for commit b3a04c:
  MarcoFalke:
    ACK b3a04c963d4e761b66a1a8c1aae1c835534e47eb (checked cherry-pick)

Tree-SHA512: d6e586fb6e22b9825267d6c45dd3090b7f8dc1a06804ca238103d1c665b178f8c2b3004f67aae67ea51c2c3df97561894f3f2e85d45400c760c3b7f057ff4bb8
2019-04-15 13:15:19 -04:00
John Newbery
b3a04c963d [rpc] Remove the addresses field from the getaddressinfo return object
The "addresses" field was confusing because it refered to public keys
using their P2PKH address.  It was included in the return object when
needed for backward compatibility. Remove that compatibility now that
the -deprecatedrpc=validateaddress option has been removed.

New applications should use the 'embedded'->'address' field for P2SH or
P2WSH wrapped addresses, and 'pubkeys' for inspecting multisig
participants.

Github-Pull: 15750
Rebased-From: b4338c151d4788c33f4b7c54daaf7f94b193a624
2019-04-15 12:16:21 -04:00
Ben Carman
60d4621975
rpc: getrpcinfo docs
Github-Pull: #15754
Rebased-From: f4b7a2f2055fa52d5e02c37bed7b46599b960e2e
2019-04-11 00:42:49 -05:00
João Barbosa
59716ec395 wallet: Update transactions with current mempool after load
Github-Pull: #15652
Rebased-From: 2ebf650b2eb7a078ab60c8c4d5c726823686f549
2019-04-01 16:34:37 -04:00
João Barbosa
ed0498af28 interfaces: Add Chain::requestMempoolTransactions
Github-Pull: #15652
Rebased-From: 57908a739ca377d60ef224ce0f565d4412a414f4
2019-04-01 16:34:37 -04:00
João Barbosa
ebf65666c2 wallet: Move CWallet::ReacceptWalletTransactions locks to callers
Github-Pull: #15652
Rebased-From: 0440481c6bf5683eff669c789bdf6a306d99adc5
2019-04-01 15:46:42 -04:00
Pieter Wuille
50c56f2fcf Interrupt orphan processing after every transaction
This makes orphan processing work like handling getdata messages:
After every actual transaction validation attempt, interrupt
processing to deal with messages arriving from other peers.

Github-Pull: #15644
Rebased-From: 866c8058a706931f025335b3e794ed2f4d287918
2019-03-28 18:09:05 -04:00
Pieter Wuille
bb60121da1 [MOVEONLY] Move processing of orphan queue to ProcessOrphanTx
Github-Pull: #15644
Rebased-From: 6e051f3d323af1d209c02e7a4319834f1947ffa7
2019-03-28 18:09:03 -04:00
Pieter Wuille
6355214fd7 Simplify orphan processing in preparation for interruptibility
Github-Pull: #15644
Rebased-From: 9453018fdc8f02d42832374bcf1d6e3a1df02281
2019-03-28 18:09:01 -04:00
Wladimir J. van der Laan
09a05e86d4
qt: Translations update pre-rc3
Tree-SHA512: 52b66903e169fc3f53f8e4eccb0f765df9a6fbc149ba98fbe7f8b8e7f03e8196ebef8c19ed7412f6d09ddfa4b82e38aa357e1fca6942b0d1d7fe89ea66053556
2019-03-28 06:28:24 +01:00