18115 Commits

Author SHA1 Message Date
Andrew Chow
048fda2a66 After encrypting the wallet, reload the database environment
Calls ReloadDbEnv after encrypting the wallet so that the database
environment is flushed, closed, and reopened to prevent unencrypted
keys from being saved on disk.

Github-Pull: #12493
Rebased-From: d7637c5
2019-03-11 13:19:56 +00:00
Andrew Chow
f455979eb1 Add function to close all Db's and reload the databae environment
Adds a ReloadDbEnv function to BerkeleyEnvironment in order to close all Db
instances, closes the environment, resets it, and then reopens
the BerkeleyEnvironment.

Also adds a ReloadDbEnv function to BerkeleyDatabase that calls
BerkeleyEnvironment's ReloadDbEnv.

Github-Pull: #12493
Rebased-From: 5d296ac
2019-03-11 13:19:05 +00:00
Wladimir J. van der Laan
392d1382c1
Merge #15315: [0.17] [Doc] Backport release note about PSBT doc
807add9f5d3d4a7d198c3aefd67b195382bb748f [0.17] [Doc] Backport release note about PSBT doc (David A. Harding)

Pull request description:

  #15314 removes a release note from master for a doc that is backported to 0.17.  This adds the note to the 0.17 branch.  The only difference in the text is that the `master` in the URL has been changed to `0.17`.

Tree-SHA512: b81af561ad6cf608e3b957d7c50fe6d9b0818cfbd16313599d6dadb4b60e9e3345fef949c4e2ed16cdecfd62201e3e099907f1510e4d16a9f33625163c84c5a2
2019-02-02 12:30:09 +01:00
David A. Harding
807add9f5d
[0.17] [Doc] Backport release note about PSBT doc 2019-02-01 09:16:40 -05:00
Wladimir J. van der Laan
30db5cc641
Merge #15002: 0.17: Backport #14941
0cd9ad208c327127cc4616ccdc37557fad3cf381 rpc: Make unloadwallet wait for complete wallet unload (João Barbosa)

Pull request description:

  #14941 makes `unloadwallet` a synchronous call meaning that it waits for the wallet to fully unload/delete.

Tree-SHA512: df7a490306ee2cca399129a4ebfba4b19b65fe67d1657ec3518352fe453327cb347010f94cf7fe4a60aeb51c928cb9ad6b24c40123fd0b9dc0aab5920a59f48d
2019-01-31 15:35:30 +01:00
Wladimir J. van der Laan
09a9238c04
Merge #15252: [0.17] Backport: Update zmq to 4.3.1
84187072860707ddf06ebd629f30f12a0398c2cb Update zmq to 4.3.1 (Dimitris Apostolou)

Pull request description:

  Backports #15188 to the 0.17 branch.

  Addresses https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-6250.

Tree-SHA512: f8047a22430dcc92ef713e72281286c4cad2fbe3cd6880cb16b9f8c83bdc481a72539ff5fd373133ac006409ca083db68368e56df47a50798963e77fb3e579f2
2019-01-30 16:29:56 +01:00
MarcoFalke
1220b91fa7
Merge #15251: [0.17] doc: Remove errant paste from walletcreatefundedpsbt for nLocktime replaceable
c42f4177ce Remove errant past from walletcreatefundedpsbt for nLocktime replaceability (Gregory Sanders)

Pull request description:

  Backports #15213 to the 0.17 branch.

Tree-SHA512: f676e0b510b3ae76bf2ae46c7be289837a6d0152972c551ad6a837aab57ec74ee529c309163c8b7e3df446c2f30f148e920702dc31504cc239f99ad4a4607114
2019-01-25 11:56:54 -05:00
Dimitris Apostolou
8418707286
Update zmq to 4.3.1
Addresses https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-6250

Github-Pull: #15188
Rebased-From: 3046e5fc019c7276300c65500fb4701e70f6c9d8
2019-01-25 11:52:39 +08:00
Gregory Sanders
c42f4177ce
Remove errant past from walletcreatefundedpsbt for nLocktime replaceability
Github-Pull: #15213
Rebased-From: 85f0ca95f3b57d9714a753882ea22fcd6a4139fb
2019-01-25 11:41:22 +08:00
João Barbosa
0cd9ad208c rpc: Make unloadwallet wait for complete wallet unload
Github-Pull: #14941
Rebased-From: c37851d
2019-01-16 00:33:32 +00:00
Wladimir J. van der Laan
0a0b2ea11f
Merge #15094: 0.17: Backport for #15085
59dd855d2de77cd72a2b3190a825783ff3627e17 gui: Fix for Incorrect application name when passing -regtest (Ben Carman)

Pull request description:

  Changes the application name to `Bitcoin-Qt-regtest` when instead of `Bitcoin-Qt-testnet`

  Fixes #15079

Tree-SHA512: 96a8ee5b1906e81f087b3523a59b0d66a9ac0d0cfeb3b48c0762bcac6048c4c17998fc2bf83cff866aacd24f1860c578a2d93baa61e8c2638d265b30f8c2470a
2019-01-07 14:43:03 +01:00
Ben Carman
59dd855d2d
gui: Fix for Incorrect application name when passing -regtest
Github-Pull: #15085
Rebased-From: cc341adbbb7584d3110a5151baf1ba4053aa2ed1
2019-01-05 10:13:53 -06:00
Wladimir J. van der Laan
5ff7b372cd
Merge #15065: 0.17: GUI Backports #14123 #14133 #14383 #14597
27beb8322297d70dccc4db0605b22470e50e9010 qt: All tray menu actions call showNormalIfMinimized (João Barbosa)
c470bbd19db048e771ad7495b24b7d09e63e9e1b qt: Use GUIUtil::bringToFront where possible (João Barbosa)
ac73c7d433e609f4516136c543623c6c6f0245e2 qt: Add GUIUtil::bringToFront (João Barbosa)
0c2fb87dc1ec1b13fa7abab038f6c52ce0c749e9 Remove obj_c for macOS Dock icon menu (Hennadii Stepanov)
90347141bdb4020875c55ff51375aada46a1a4d9 Use Qt signal for macOS Dock icon click event (Hennadii Stepanov)
4d4bc37df983a8c8bb7a2d926521836e4ce8c913 Remove obj_c for macOS Dock icon setting (Hennadii Stepanov)
d2ed162ce0c83782d6a66cfdbe1c6aedcb485697 Clean systray icon menu for -disablewallet mode (Hennadii Stepanov)
298dc15686ce38855e41543c833b75e31bf89bce gui: Favor macOS show / hide action in dock menu (João Barbosa)

Pull request description:

  Backport #14123 #14133 #14383 and #14597 to 0.17 branch to fix https://github.com/bitcoin/bitcoin/issues/13606#issuecomment-449846983.

Tree-SHA512: 543c80e7e2130870e801e0c9a69b06b9eea27c288478fc5dddeb662f7f3ec5b56b30916e5a9a629fced3fffcb8be77e2cd155e75cfd0a4392299add9730840f4
2019-01-03 09:54:44 +01:00
MarcoFalke
16521ce086
Merge #14945: [0.17] Backport: PSBT documentation
fa0c76adee Fix minor grammar error in doc (bitcoinhodler)
88c566a13f doc: Fix PSBT howto and example parameters (priscoan)
ddd008dbef Add PSBT documentation (Pieter Wuille)

Pull request description:

  Backports #13941, #14319 and #15012 to 0.17.

Tree-SHA512: 9fbc900aa98f948260273970c4e51e69088460e153fd7dae8f3ddebf37c68ecdf1cd02f1f32759c638e5aecbb89529631e8cc7cad0e6370dbc21e70baa6e9145
2018-12-30 18:38:48 +01:00
Wladimir J. van der Laan
623a19bc2b
Merge #15053: [0.17] Backport #14966
b4602e324056391138a1a536bf15a45ebf5b0c61 fix testmempoolaccept CLI syntax (1Il1)

Pull request description:

  Backports #14966 to the 0.17 branch.

Tree-SHA512: 91ab186d612a11454d1a7cbe6d4251813e42eb438b5e2e0e1dfdb76c352d866fd4d5f04cc0cb696ffb7585f24babbfeb79e73481cc669e4b944712a743e822d3
2018-12-30 17:34:14 +01:00
João Barbosa
27beb83222 qt: All tray menu actions call showNormalIfMinimized
Github-Pull: #14123
Rebased-From: 0a656f85a9c694f25b06c6464d6e986816eecd58
2018-12-30 11:23:39 +00:00
João Barbosa
c470bbd19d qt: Use GUIUtil::bringToFront where possible
Github-Pull: #14123
Rebased-From: 6fc21aca6d5e16c3ece104fec8e5b3df116893b4
2018-12-30 11:23:16 +00:00
João Barbosa
ac73c7d433 qt: Add GUIUtil::bringToFront
Github-Pull: #14123
Rebased-From: 5796671e1dd8a2d0b1e750c2dce19a10af624095
2018-12-30 11:22:20 +00:00
Hennadii Stepanov
0c2fb87dc1 Remove obj_c for macOS Dock icon menu
Qt `setAsDockMenu()` does this work.

Github-Pull: #14597
Rebased-From: 6b1d2972bf9a40f97ba3a5c95831fd179b1054cf
2018-12-30 11:21:54 +00:00
Hennadii Stepanov
90347141bd Use Qt signal for macOS Dock icon click event
This moves the Dock icon click reaction code to the common place and
allows some cleanup in obj_c code.

According to the Apple's docs `class_replaceMethod` behaves as
`class_addMethod`, if the method identified by name does not yet exist;
or as `method_setImplementation`, if it does exist.

Github-Pull: #14597
Rebased-From: 2464925e7be832d4926b6204169bbbc1646c6368
2018-12-30 11:21:15 +00:00
Hennadii Stepanov
4d4bc37df9 Remove obj_c for macOS Dock icon setting
Qt `setWindowIcon()` does this work.

Github-Pull: #14597
Rebased-From: 53bb6be3f8a50ee9e5c4d7e9155236152e7c4b7c
2018-12-30 00:23:47 +00:00
Hennadii Stepanov
d2ed162ce0 Clean systray icon menu for -disablewallet mode
Ref #3392

Github-Pull: #14383
Rebased-From: 36323e2ac6cca134de47b06c3f6403de91ee9eda
2018-12-30 00:20:18 +00:00
João Barbosa
298dc15686 gui: Favor macOS show / hide action in dock menu
Github-Pull: #14133
Rebased-From: ee3a494f37d6a459a5d935446ba08d69ea310b9b
2018-12-30 00:19:18 +00:00
MarcoFalke
fa941016e8
Merge #15055: [0.17] Backport #14944
b138b4abff doc: update NetBSD build instructions for 8.0 (fanquake)

Pull request description:

  Backports #14944 to the 0.17 branch.

Tree-SHA512: b169ff9c42cca3573b972b43adaf0556d5a198a755cd4c1a69c4c557b7cab6cf977c24d575c8802869d157d2bb0dff76c5d7f1e7647a58a4670f252614dab421
2018-12-29 13:45:23 +01:00
fanquake
b138b4abff
doc: update NetBSD build instructions for 8.0
Github-Pull: #14944
Rebased-From: be5ca825a38bc71c3a79ef35335e9c2e597ad225
2018-12-29 17:31:34 +08:00
1Il1
b4602e3240
fix testmempoolaccept CLI syntax
`testmempoolaccept "hexstring"` will give a "JSON parse error". The correct syntax is `testmempoolaccept \[\"hexstring\"\]` (but seems escaping is not displayed in other areas so leaving backspaces out).

Github-Pull: #14966
Rebased-From: b74a52192bcefea6fdc38f244e9500ce5868a0b5
2018-12-29 17:15:55 +08:00
bitcoinhodler
fa0c76adee
Fix minor grammar error in doc
Github-Pull: #15012
Rebased-From: 72b63bc9054f7742a9b12ea29b21770b5e437092
2018-12-28 18:58:38 +08:00
priscoan
88c566a13f
doc: Fix PSBT howto and example parameters
* Remove outdated reference to replaceable parameter
* Fix address reference
* Unify quotation and italicization of parameters
* Fix PSBT reference

Github-Pull: #14319
Rebased-From: 78542a3f36381fe96f60708834c8378042e3bab6
2018-12-28 18:58:38 +08:00
Pieter Wuille
ddd008dbef
Add PSBT documentation
Github-Pull: #13941
Rebased-From: 19efc01aec6b0d8750413fa1b721e04aaecf8f73
2018-12-28 18:58:38 +08:00
Wladimir J. van der Laan
fd616d8d08
doc: Clean out release notes post-0.17.1
Tree-SHA512: 0cd6e97156da2dea9a9b557083d8140c17f85f6e718d5fcb73aa67460480b6437b665fad147bf4eacd13570aeb25a29f28c35b7fb0365ae630b2edf05901a431
2018-12-25 10:21:54 +01:00
MarcoFalke
e11856515e
Merge #14893: 0.17 [Backport 14890] rpc: Avoid creating non-standard raw transactions
46c162df47 rpc: Avoid creating non-standard raw transactions (MarcoFalke)

Pull request description:

Tree-SHA512: f34678637c8b6559e5c0c2790b682af562479239b92be96e0d41806bade136866f9748487a021eb8c62b6a5027b0a1a2cbdee930243eac93edabef60cbd54eac
2018-12-24 13:06:32 +01:00
MeshCollider
a057cc08fd
Merge #14900: [backport] #14679 importmulti: Don't add internal addresses to address book
ae1b6756c importmulti: Don't add internal addresses to address book (Gregory Sanders)

Pull request description:

Tree-SHA512: 749e4864862bc3402a0fad200578804ce6577b4d954fd3e741191b4c941df28d54f98422f90e7fdf9bdf9c01e53ec36cf970e61d22ccc0478771285dd8cef6a0
2018-12-25 00:12:44 +13:00
Gregory Sanders
ae1b6756c9
importmulti: Don't add internal addresses to address book
Github-Pull: #14679
Rebased-From: 7afddfa8cefd01249ad59cf2370e7cec90b34f6f
2018-12-09 22:32:45 +08:00
MarcoFalke
46c162df47 rpc: Avoid creating non-standard raw transactions
Github-Pull: #14890
Rebased-From: fa4c8679ed94f215ce895938f7c3c169a2ce101e
2018-12-07 11:36:29 -05:00
Wladimir J. van der Laan
ef70f9b52b
doc: Fill in authors and changelog for 0.17.1 release notes
Tree-SHA512: dc23ae43e81ad379b48bb8dc6da21cde647a7edc778563b8b8266dfe84d9baa70bf4565915e276ea0e14aa96ce677547494da0aadeebfcc961f53430c7bb84ea
v0.17.1 v0.17.1rc1
2018-12-07 00:29:45 +01:00
Wladimir J. van der Laan
c6e4a1fca5
Merge #14889: [0.17] Backport #14424 (Stop requiring imported pubkey to sign non-PKH schemes)
89a9a9d9385bbf291849874adc33a270b28fcac4 Stop requiring imported pubkey to sign non-PKH schemes (Pieter Wuille)

Pull request description:

  Github-Pull: #14424
  Rebased-From: 2f6b466aeb6d4c88ab2e0e8b2a402be0743608b5

Tree-SHA512: 1ea10dee66626f04918f197cd7c4949a836fa49c8f676f276b2328f8d79389059db7b30fc04d4c4bf8209f6a8d21f3ea49a017ddc7623eca6b7e6efc2fe0d749
2018-12-07 00:10:06 +01:00
Pieter Wuille
89a9a9d938 Stop requiring imported pubkey to sign non-PKH schemes
Github-Pull: #14424
Rebased-From: 2f6b466aeb6d4c88ab2e0e8b2a402be0743608b5
2018-12-07 10:30:22 +13:00
MarcoFalke
abae8aeff1
Merge #14880: 0.17: Backport #14453
dcb032dcdf qa: Ensure wallet unload during walletpassphrase timeout (João Barbosa)
75b5d8c4ea rpc: Fix wallet unload during walletpassphrase timeout (João Barbosa)

Pull request description:

  Backport #14453 to 0.17

Tree-SHA512: fce0adccbb07b6635bb773a71beb4a9b814bceb77bbe7bbc5bcb7d151aabb1148c791622f58c990afe202012ca1971cd466cb536fc6f37e22cdc58738720b593
2018-12-06 13:07:25 -05:00
Wladimir J. van der Laan
8b8b3a9a5f
Merge #14878: 0.17: Further backports
7a590d8390ef2158509c4fc08b84dac71f59e1fb fix converttopsbt permitsigdata arg, add basic test (Gregory Sanders)

Pull request description:

  Ooff, we missed some backports that were tagged.

  Checked:

  * In 7a590d8 (clean cherry-pick): The test changes fail without the code changes

Tree-SHA512: 9996886113dfcd8efa91f5436bc0f3507c81579861543611367bc3403868019fb1e45832c3f994f12278edb1c0c850e21f2f88e46a6981f45a11c4d61dcedaf9
2018-12-06 15:18:39 +01:00
João Barbosa
dcb032dcdf qa: Ensure wallet unload during walletpassphrase timeout
0.17 branch doesn't include #12493 which changed encryptwallet behavior. For that
reason the test is adjusted.

Github-Pull: #14453
Rebased-From: 8907df9
2018-12-06 11:45:18 +00:00
Wladimir J. van der Laan
6042dfe008
build: bump version to 0.17.1
Also update man pages.

Tree-SHA512: 826f3c9ad1e49902ee2f1710a4329388c0a9298a359971f21130bf8f390d4a7b744d010f04eb109666ceb28d0053b9fa7ec088caaa4e4cc38509526457086d40
2018-12-06 11:41:25 +01:00
João Barbosa
75b5d8c4ea rpc: Fix wallet unload during walletpassphrase timeout
Github-Pull: #14453
Rebased-From: 321decf
2018-12-05 23:14:10 +00:00
Gregory Sanders
7a590d8390 fix converttopsbt permitsigdata arg, add basic test
Github-Pull: #14356
Rebased-From: 88a79cb436b30b39d37d139da723f5a31e9d161b
2018-12-05 17:38:57 -05:00
MarcoFalke
5d12143c73
Merge #14780: PSBT backports to 0.17
7bee41452b Add test for conversion from non-witness to witness UTXO (Pieter Wuille)
ff56bb9b44 Add regression test for PSBT signing bug #14473 (Glenn Willen)
db445d4e5a Refactor PSBTInput signing to enforce invariant (Glenn Willen)
ad94165db9 Simplify arguments to SignPSBTInput (Glenn Willen)
39ece4fc28 Add bool PSBTInputSigned (Glenn Willen)
70ee1f8709 New PartiallySignedTransaction constructor from CTransction (Glenn Willen)
a9eab081d5 Remove redundant txConst parameter to FillPSBT (Glenn Willen)
cfdd6b2f6c More concise conversion of CDataStream to string (Glenn Willen)
a3fe125490 check that a separator is found for psbt inputs, outputs, and global map (Andrew Chow)

Pull request description:

  This is a backport of #14588, #14377, and #14197's test to 0.17.

Tree-SHA512: 07535ec69a878a63b549e5e463345e233f34662dff805202614cf2ffc896c6d1981363e6d06d02db2e02d815075ad8ebdc5f93f637052cff8c8cbe6c8dfa096a
2018-12-05 10:35:31 -05:00
Pieter Wuille
7bee41452b Add test for conversion from non-witness to witness UTXO
Github-Pull: #14197
Rebased-From: 862d159d635c1de219d94e030b186a745fe28eb9
2018-12-03 10:37:52 -08:00
Glenn Willen
ff56bb9b44 Add regression test for PSBT signing bug #14473
Github-Pull: #14588
Rebased-From: e13fea975d5e4ae961faba36379a1cdaf9e50c1c
2018-12-03 10:37:22 -08:00
Glenn Willen
db445d4e5a Refactor PSBTInput signing to enforce invariant
Refactor the process of PSBTInput signing to enforce the invariant that
a PSBTInput always has _either_ a witness_utxo or a non_witness_utxo,
never both.

This simplifies the logic of SignPSBTInput slightly, since it no longer
has to deal with the "both" case. When calling it, we now give it, in
order of preference: (1) whichever of the utxo fields was already
present in the PSBT we received, or (2) if neither, the
non_witness_utxo field, which is just a copy of the input transaction,
which we get from the wallet.

SignPSBTInput no longer has to remove one of the two fields; instead, it
will check if we have a witness signature, and if so, it will replace
the non_witness_utxo with the witness_utxo (which is smaller, as it is
just a copy of the output being spent.)

Add PSBTInput::IsSane checks in two more places, which checks for
both utxo fields being present; we will now give an RPC error early on
if we are supplied such a malformed PSBT to fill in.

Also add a check to FillPSBT, to avoid touching any input that is
already signed. (This is now redundant, since we should no longer
potentially harm an already-signed input, but it's harmless.)

fixes #14473

Github-Pull: #14588
2018-12-03 10:37:08 -08:00
Glenn Willen
ad94165db9 Simplify arguments to SignPSBTInput
Remove redundant arguments to SignPSBTInput -- since it needs several
bits of the PartiallySignedTransaction, pass in a reference instead of
doing it piecemeal. This saves us having to pass in both a PSBTInput and
its index, as well as having to pass in the CTransaction. Also avoid
redundantly passing the sighash_type, which is contained in the
PSBTInput already.

Github-Pull: #14588
Rebased-From: 0f5bda2bd941686620ef0eb90bd7ed973cc7ef73
2018-12-03 10:36:37 -08:00
Glenn Willen
39ece4fc28 Add bool PSBTInputSigned
Refactor out a "PSBTInputSigned" function to check if a PSBT is signed,
for use in subsequent commits.

Also improve a related comment.

GitHub-Pull: #14588
Rebased-From: 53e6fffb8f5b10f94708d33d667a67cb91c2d09d
2018-12-03 10:36:08 -08:00
Glenn Willen
70ee1f8709 New PartiallySignedTransaction constructor from CTransction
New constructor that creates a PartiallySignedTransaction from a
CTransaction, automatically sizing the inputs and outputs vectors for
convenience.

Github-Pull: #14588
Rebased-From: 65166d4cf828909dc4bc49dd68a58103d015f1fd
2018-12-03 10:35:34 -08:00