build: use full version string in setup
Github-Pull: #15548 Rebased-From: fa55104 Tree-SHA512: 195d9d459431ae879a27e26d01962f020ddbbf648da26e52121c4fa7eb3438330f1ce34de431757e5079bf248f7129539e1d1a83c9c795ab57dc8c51545384bb
build: use full version string in setup
Github-Pull: #15548 Rebased-From: fa55104 Tree-SHA512: 195d9d459431ae879a27e26d01962f020ddbbf648da26e52121c4fa7eb3438330f1ce34de431757e5079bf248f7129539e1d1a83c9c795ab57dc8c51545384bb
Update version after branching off
Tree-SHA512: 48f2c2ecfc485f0c864d2b1748ffb382df444abdc8387886bee1be5e49bbcaa6baf0a52544abb7189d762a3f33c82a794413511580e6154c0f82e5e58bea0b0f
- Merge release notes fragments into release-notes.md
- Remove downgrading notes (as I understand this pertains to `<0.15`,
this doesn't warrant mentioning anymore)
Tree-SHA512: 839e30807651ff53efa713f707ba0744c6c6c9bcb2c9c8afc0e299c93f772cc9a0ef294ba7e15f7049280556404d9b2e96b74f28e456aa36130af05bc7cfe035
fa3148aacbea0e1a0ba8016b66b8d6b876c267b2 doc: Remove ppa from linux build instructions (MarcoFalke)
Pull request description:
Same commit hash as #15518
Tree-SHA512: b6ab2f84ca8efc4e71604422b427793b8b17d8d50422177f4ce967421457eee8c2f1d1e0e4fa8cad05cf42ab4343a25e4ee0404cafee978456eefe0c72b11f2b
Tree-SHA512: 26bd0cce9eaf906a921defd7e4abdbf1056f29c6327950d766753149dde19d6af39ee827f6e02ebfede488f5afb6b4048814061c45e611ffa43f8ef4598edcdb
Github-Pull: #15527
Rebased-From: fad76e7a49dc66b7b50902ee14a73808780d11bb
Tree-SHA512: 15b8af83029b095fbe9f7163e2b82247f590831165596b67ed9acae8c11715593c57702731cfe3320e3fa645137fd90314598d1bf91e81cea01889ecc6d05d3a
519b0bc5dc5155b6f7e2362c2105552bb7618ad0 Make last disconnected block BLOCK_FAILED_VALID, even when aborted (Pieter Wuille)
8d220417cd7bc34464e28a4861a885193ec091c2 Optimization: don't add txn back to mempool after 10 invalidates (Pieter Wuille)
9ce9c37004440d6a329874dbf66b51666d497dcb Prevent callback overruns in InvalidateBlock and RewindBlockIndex (Pieter Wuille)
9bb32eb571a846b66ed3bac493f55cee11a3a1b9 Release cs_main during InvalidateBlock iterations (Pieter Wuille)
9b1ff5c742dec0a6e0d6aab29b0bb771ad6d8135 Call InvalidateBlock without cs_main held (Pieter Wuille)
241b2c74ac8c4c3000e778554da1271e3f293e5d Make RewindBlockIndex interruptible (Pieter Wuille)
880ce7d46b51835c00d77a366ec28f54a05239df Call RewindBlockIndex without cs_main held (Pieter Wuille)
436f7d735f1c37e77d42ff59d4cbb1bd76d5fcfb Release cs_main during RewindBlockIndex operation (Pieter Wuille)
1d342875c21b5d0a17cf4d176063bb14b35b657e Merge the disconnection and erasing loops in RewindBlockIndex (Pieter Wuille)
32b2696ab4b079db736074b57bbc24deaee0b3d9 Move erasure of non-active blocks to a separate loop in RewindBlockIndex (Pieter Wuille)
9d6dcc52c6cb0cdcda220fddccaabb0ffd40068d Abstract EraseBlockData out of RewindBlockIndex (Pieter Wuille)
Pull request description:
Same repo and branch like "Granular invalidateblock and RewindBlockIndex #15402 ", can be merged as is.
This saves us all the cherry-picks and review of the backport cherry-picks.
Tree-SHA512: 20c27c5f807c3d85e0072f9e2cdefad4ad7d329d6b26658a00844d5fcf0ed729059daf765e04e6382db2b5915117b15949cd4989d864917ab105c92e2e5e9986
Github-Pull: #15549
Rebased-From: 32da92bdf6bb55d6d312b0f85797d439cc942db5
Tree-SHA512: c79455ed3aa0e529821ed30c5d36244dcc9fbf9154b63dfcce4789143d8a737f83ea2aaea8993748babc4cec45ae0e88449d2a6ddc90dcf62a39cf8d6a2ace2e
Github-Pull: #15486
Rebased-From: 4d834018e368c3481a5421891395f64aa9002185
Tree-SHA512: c7843191c470d8b3298d4375632ddbcfd26358d21100bcbffa8d40498782f9dfef08cfb7b3c040525ef912b27ddd593322b60f8f21e16e2ae9bae66433ce807e
Fixes a bug where feelers could be stuck trying to resolve a collision in the
tried table that is to an address in the same netgroup as an existing outbound peer.
Thanks to Muoi Tran for the original bug report and detailed debug logs to track
this down.
Github-Pull: #15486
Rebased-From: 4991e3c813c9848d3b3957ea3ad433f02fca9e81
Tree-SHA512: 2752c9909d55ff63b9143168033d0d3952effba7f911181919eb62291edf822ec54fffbb20e35b5c5f8cb1092d75c496665da00139dbebe5ce402cbea3ad87c5
After 40 minutes, time out a test-before-evict entry and just evict without
testing. Otherwise, if we were unable to test an entry for some reason, we
might break using feelers altogether.
Github-Pull: #15486
Rebased-From: f71fdda3bc2e7acd2a8b74e882364866b8b0f55b
Tree-SHA512: 66c61a9f030b1666e98e4fe66dd6cfc5f1d03b2a1ec01567b195903db6e4412ac778f4464ee9ef35ae6faa1ab7e4b18ef7ecb9a7ced29e6494046990aebf7b76
Github-Pull: #15486
Rebased-From: 20e6ea259b222b10f066f22695a5f56c52071f63
Tree-SHA512: 73b37a98cf4d9ede1d39c30d178d63a5a6865dba6cb7a9f33bd1e03445acb708b3007c7cde991b5de96a407262adda23279fe7a1d2ed31b0b5a33b2e97aaba9b
Tree-SHA512: a2c5818dd2fa261b86a177e846e5a58062f1ea3adf3d4fef5ac6f4a503e7f9f143189a0068847f405cc68f9900f983db5c3ab9799a4e29dd41ced09542f57175
Github-Pull: #15548
Rebased-From: fa55104cb8e73c709e90fc5f81c9cb6a8a0713a6
Tree-SHA512: 195d9d459431ae879a27e26d01962f020ddbbf648da26e52121c4fa7eb3438330f1ce34de431757e5079bf248f7129539e1d1a83c9c795ab57dc8c51545384bb
Github-Pull: #15559
Rebased-From: a4d0fd026b74db034dc8a1fa7efbd4f1dba8cdb9
Tree-SHA512: 43f985ccb1af22e416230b8f351396d1fa677ee4e60f6952962ed37e842f5746df8a58ae7c35d6a7518af4b5974ee753b17ec3578394122584ca10e9ed561268
Github-Pull: #15559
Rebased-From: 335931df4a37467299a2ee0ba521ecd5c4e6d39e
Tree-SHA512: ebe460e935e33fbbbe725db403654ee65c86a606401e8519e1180551e2ccd43661eb4ad20bf065f2c0c2a8026c3bb3bce796789f8d612e9e197ceb8d541a63a9
Github-Pull: #15582
Rebased-From: c9963ae8b1a4d26d19c58e18fde9c85783edb788
Tree-SHA512: ed1dcfafb7015de5405112938b04c4009bec3349a8d4e8aca641598ccab31a34c7f16b5045670909fd2e795fc40640a79658ef6b1771e9f21abd0ca759b239b5
Tree-SHA512: a494a9039555b24a7a4f4ecebc2a1b7c47bf8937b2ec583659e4443b49919e6ddd0e276c273ce2f89955f433de300ea0c36216e288309a7fac5b2e3d2534a604
Github-Pull: #15583
Rebased-From: 15c69b158da570f4e1430280c610e94ffdee0e51
Tree-SHA512: edef7cafc5a2cb8d3355591a7742ef61454a5dedbb1dc22f6cc6bae42329d887f3f4a054f2aeedf31180051f50b6478d09e204066205699dabc0cb67b0ce4a96
Tree-SHA512: 8ce284bd20cfeee8bfb9f7144c9a4239b460f83ac18df840b417b43b11e8028b649fb056c9266d01ac39a926a8f4e931d0dc3ee302d0c84f5fcb2c7d18126322
Tree-SHA512: 97a6d7193da6f9d84e35e2511d949b08be990e035ffb38a149bf45df085ea41f4c84953ddd7a38b0165574f7168419fc2bd3ad6351f5012d89cf884d055693e7
a7563633d2 [docs] document BIP 61 deprecation (John Newbery)
da14d90984 [p2p] Enable BIP 61 REJECT messages by default (John Newbery)
Pull request description:
This PR reverts #14054 following discussion on the bitcoin-dev mailing list.
It also adds release notes to clearly document that the `enablebip61` option will be disabled by default in a future release before being removed entirely.
Tree-SHA512: 0c9162045a4fb95689a0cb2de19f98a83636c9a6fb7ffa6809773b593c6c00b14e0480683e4d1c48e9b7f90e89cf7c2dca18bff42f5d2da2a43c522039e9f1ee
Github-Pull: #15617
Rebased-From: 054d01d0a87a5adc43428588ecc29f1339a69dd2
Tree-SHA512: 2c47cf823cc51aee5a224513a0ca2fd1132f4c567d255ead661e88f009dc5d1db73da79b5e65a63b11b222e17292fdff9035a93cb2e53215d9bbb21a5bce7a41
98a24a262eceb8fddad363f4bb1459c2dd8608eb gui: Defer removeAndDeleteWallet when no modal widget is active (João Barbosa)
Pull request description:
0.18 Backport of #15614
Tree-SHA512: 8f785705325364ecfa37045090f10ca615f457e279789b0ce0d61f2667f491bce9b44f5e5cdeeecf63d61356213d9a97a3578841295cc8480cf42e037c2decb2
This functionality was removed in v0.18.
be8b9c62bf [rpc] Remove deprecated functionality message from validateaddress help (John Newbery)
Pull request description:
This functionality was removed in v0.18.
ACKs for commit be8b9c:
MarcoFalke:
utACK be8b9c62bf3735d2ecb87bb39ba4816df8d2d3e0
fanquake:
utACK be8b9c6
Tree-SHA512: 7e30f1e56020aa3a59e736574075191155866788156d0d30eaf963c0a5015ad0de43787c6b73a765319f2dccec0117a2230a312d18ca3f9be3986ce3de4afdb3
Tree-SHA512: 52b66903e169fc3f53f8e4eccb0f765df9a6fbc149ba98fbe7f8b8e7f03e8196ebef8c19ed7412f6d09ddfa4b82e38aa357e1fca6942b0d1d7fe89ea66053556
Tree-SHA512: 0d7a73946d75ac79df65dc6fb5c885353729a3401d985e2d452bf9e5964be7e169ae2cab481cba5307f5d3480d307e1c9e198090f2ede2c9c020543947d44db4
Github-Pull: #15682
Rebased-From: 43ae1e96ed2c2c71375f91309e789723045fcf0c
Tree-SHA512: 10b7ef7f58b9ded4d6a446f7a03173de6d2ce5d31a09945308b32e250c9ee7550ad2d6ae3aecb0447731a98f2ddfd62a0dcfa61106b6cc1da78d9985407ecf47
Tree-SHA512: f42885f9b866b1172622c4ff2003b1abe5d26e2bfc060b141475761ddfb69b89c99ed5e9d15a23cf4581e77588f77eaecbbea5b7621c1ca22e7a2da6a788e746
Github-Pull: #15644
Rebased-From: 9453018fdc8f02d42832374bcf1d6e3a1df02281
Github-Pull: #15644
Rebased-From: 6e051f3d323af1d209c02e7a4319834f1947ffa7
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
The existing wallet_resendwallettransactions.py test only tests the
resendwallettransactions RPC. It does not test whether transactions are
actually rebroadcast, or whether the rebroadcast logic is called on a
timer.
This commit updates the test to not use the resendwallettransactions RPC and
test that transactions are rebroadcast on a timer.
Github-Pull: #15646
Rebased-From: 529c1ae4a04248a46a8b4a5a63ecbb12a63ff50e
Github-Pull: #15652
Rebased-From: 0440481c6bf5683eff669c789bdf6a306d99adc5
Github-Pull: #15652
Rebased-From: 57908a739ca377d60ef224ce0f565d4412a414f4
Github-Pull: #15652
Rebased-From: 2ebf650b2eb7a078ab60c8c4d5c726823686f549
Github-Pull: #15652
Rebased-From: 4bf1b1cefa9723bf2cfa8b1a938757abc99bb17b
95faffed264cf54a3b3041db2471c10f5011aabe qa: Check unconfirmed balance after loadwallet (João Barbosa)
59716ec395daaf914924fe5c1a4fbeb5d5031907 wallet: Update transactions with current mempool after load (João Barbosa)
ed0498af2827ccf033c9a7c4f46b82424e411083 interfaces: Add Chain::requestMempoolTransactions (João Barbosa)
ebf65666c26b7e2dff1b35b17d8fc466c3f347a6 wallet: Move CWallet::ReacceptWalletTransactions locks to callers (João Barbosa)
a90db2f175f86b78d8edc5c03b7bb351c8f43e5e [tests] Add test for wallet rebroadcasts (John Newbery)
50c56f2fcf00385dbe8f91588af3ee1a89a9d2d0 Interrupt orphan processing after every transaction (Pieter Wuille)
bb60121da1eb3484ecf20c5d1130d9e2f6f8f8c8 [MOVEONLY] Move processing of orphan queue to ProcessOrphanTx (Pieter Wuille)
6355214fd70ce7b44739acb8d546aaaf243f90b3 Simplify orphan processing in preparation for interruptibility (Pieter Wuille)
Pull request description:
Remaining backports for rc3
ACKs for commit 95faff:
promag:
ACK 95faffe, well done in ed0498af2827ccf033c9a7c4f46b82424e411083 - verified all cherry picks.
Tree-SHA512: 597ee45493ac04e8c3149628a357c3238169d4b4f78158f22a3531e5f66289c228ecd6582f99026698883216f1ee7934d6315d19c99fc5f4f33dd1bed4300186
Github-Pull: #15763
Rebased-From: 65d2f5d2de37fd64c9cf8d526bab0072774b7b1d
Github-Pull: #15765
Rebased-From: 8ae6d020b83572235f85ee68ce87045f2e97cbc0
Github-Pull: #15757
Rebased-From: 28d78de00bf49c6efc19f0edeef2a03d039752a1
Github-Pull: #15757
Rebased-From: 9b085f4863eaefde4bec0638f1cbc8509d6ee59a
bf32bc4b3d Mention new descriptor RPCs in descriptors.md (Pieter Wuille)
1b0752a265 Mention new PSBT RPCs in psbt.md (Pieter Wuille)
956c0aac28 doc: correct bitcoinconsensus_version in shared-libraries (fanquake)
538fef6625 Update bips.md for 0.18.0 (Pieter Wuille)
Pull request description:
Can be bumped to 0.18.1 if `rc3` ends up being final.
ACKs for commit bf32bc:
MarcoFalke:
ACK bf32bc4b3de51d073d9308bdce8db0e0fb083727
Tree-SHA512: 60ad8f0ca53b9fbf6f2a4941bd10971cfece192032d1feff3b25e1b8572caf72cd63c5b8507c376a8bdfb57da6551ac9c2c32dc1f8dc2658a3ea4abf75b0fd9a
Github-Pull: #15754
Rebased-From: f4b7a2f2055fa52d5e02c37bed7b46599b960e2e
60d46219754692355aef719681a7d80ec38035bc rpc: getrpcinfo docs (Ben Carman)
Pull request description:
Backports #15754 to the 0.18 branch
#15754 added the help message for `getrpcinfo`
ACKs for commit 60d462:
promag:
utACK 60d4621.
fanquake:
utACK 60d4621
Tree-SHA512: 3c0f0aded2dbd300b1cb5e3a3abb1d84852a165aa6ebb337833f06ba135730192a6e86b58323e4c5eb3a7636268125bea7be05925b5b316220bfa5ac1de4a5f4
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
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
Github-Pull: #15809
Rebased-From: e7acf44bbfd05233f7753b3c8230892196facde8
Github-Pull: #15809
Rebased-From: 17be9e0e3037b60ba7bbf4b9249f2efc5e1ba9b3
Github-Pull: #15802
Rebased-From: 8dfbb5cf236cb70a2a1e65b076ccb7e2901833bd
Github-Pull: #15684
Rebased-From: 7d01b5cf2ca67535374d444725fdff699b891683
as per http://www.erisian.com.au/bitcoin-core-dev/log-2019-04-11.html#l-102.
Description adapted from https://github.com/bitcoin/bitcoin/blob/master/src/init.cpp#L429.
Also fixes a typo in doc/dependencies.md.
Github-Pull: #15792
Rebased-From: 140bbeec45f14fd50cce68448bc7fa655cbef951
Github-Pull: #15799
Rebased-From: fa747498f79c9f6bf29b08f5f3cc01b276126abb
Github-Pull: #15749
Rebased-From: 9a93c91c882265c908ea18496cd1bc271be914d4
Github-Pull: #15749
Rebased-From: 6e597001a4fc1ba837f3f23cfd7f2d65c3d58104
Github-Pull: #15749
Rebased-From: b5d39877242504160a7f2c24c60c07a845d7a064
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
This reverts commit 1cff3d6cb017aea87d16cbda0768bbab256d16da.
a644780a2f7076d4705d4e0d3486c0df8424367d doc: Clarify RPC versioning (MarcoFalke)
194226f6798e59cfd871db0335e078101b165043 doc: describe onlynet option in doc/tor.md (Jon Atack)
6d2448ca8e8bbf326730e79a7e1d959b4e81a76e doc/dependencies: Fix typo libsrvg->librsvg (Luke Dashjr)
9c572e3b2160f3a2b78847bbdc839b7be35dffd7 doc: mention creating application support bitcoin folder on OSX (Jack Mallers)
c69138a0d6b4878dfb01030861753738179ef0a4 gitignore: add *.plist (clang-check) (James O'Beirne)
8f7cfb00964a9edfa6fc46c506dad4b9c24661bf gitignore: add *.dat (James O'Beirne)
Pull request description:
Backports #15684, #15792, #15802, #15809 to the `0.18` branch.
ACKs for commit a64478:
Tree-SHA512: 6ed524a7b94242f8a738710d4321b98b9e80d6625d384fd83280b38fcb6bb8c468bcec1d980789ad2f4c91a5629ffe5c5314a7353181f08884c5a081840431cc
Without this, an out-of-default-range value gets limited to the range
Github-Pull: #15801
Rebased-From: 4ddeb2f860eee98fbe94725ea8885368068a03f2
Tree-SHA512: 64c18c8be6756fc0130d3fe934edb1ea7758877d4049c5729fa2adb05abb3af4e4bbe1d5f910224e16070aada5470637a35ed14b12391efd48cf035e8a22a949
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
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
Tree-SHA512: f3a7c9e0c935c869a85e3bc93a4bd33999270ffc13d35de34c46e9dab19229af19fb9c1a61a99264e8411c0966bf8b02a5ee94bf20a07f66b92234473f0e0801
Tree-SHA512: 59b8d913d56081ac73f3777ae4017b2f416da531e8c47ab854ff277f714f58e238215e89caa7c5973899dc3114cb5bdbaf7f7ca26a22a4062d6029d30d3c1156
Tree-SHA512: 5a4b6c0f38402c289ecb0abb59d45ef87a9dfb0bc135baf0512bc4e566c92fb28da519da3aec006594c8ecde38eb8ab4997f899bcd2301f506c4d5633e84391a
fad9eb1014 doc: 0.18: Remove TODO from release notes (MarcoFalke)
Pull request description:
Also, remove section that no longer applies after #15839
ACKs for commit fad9eb:
Tree-SHA512: 259cbaa313cd6cce0f83a577527612314b484e77c7001fe56a21553dc0e446d9aa2bdf1129e546f9c4c142fa3cf4479d72d4561ee553a8a6e9d5453061813a3c
Tree-SHA512: 94e3c6149ba6a8c49ffc64f3f0a642950ebfc722fdd6c6a30c21b989f49f8c8be827212e65a0f367332bd38a56fe4b248ccf2147f019aed06224f7975a21fff6
Tree-SHA512: c1076f844d7b083e1637aeed51b05a638b8d8068a58cf1f24be9af811c071d11d71552d1b1ebfc7ba14a53aa2534288d12039c1a00270a316d528244144a74ad