jjjj #16462

pull Chunbao wants to merge 1908 commits into bitcoin:0.17 from Chunbao:0.18 changing 853 files +79516 −22457
  1. Chunbao commented at 4:14 PM on July 25, 2019: none

    Pull requests without a rationale and clear improvement may be closed immediately.

    Please provide clear motivation for your patch and explain how it improves Bitcoin Core user experience or Bitcoin Core developer experience significantly.

    • Any test improvements or new tests that improve coverage are always welcome.
    • All other changes should have accompanying unit tests (see src/test/) or functional tests (see test/). Contributors should note which tests cover modified code. If no tests exist for a region of modified code, new tests should accompany the change.
    • Bug fixes are most welcome when they come with steps to reproduce or an explanation of the potential issue as well as reasoning for the way the bug was fixed.
    • Features are welcome, but might be rejected due to design or scope issues. If a feature is based on a lot of dependencies, contributors should first consider building the system outside of Bitcoin Core, if possible.
    • Refactoring changes are only accepted if they are required for a feature or bug fix or otherwise improve developer experience significantly. For example, most "code style" refactoring changes require a thorough explanation why they are useful, what downsides they have and why they significantly improve developer experience or avoid serious programming bugs. Note that code style is often a subjective matter. Unless they are explicitly mentioned to be preferred in the developer notes, stylistic code changes are usually rejected.

    Bitcoin Core has a thorough review process and even the most trivial change needs to pass a lot of eyes and requires non-zero or even substantial time effort to review. There is a huge lack of active reviewers on the project, so patches often sit for a long time.

  2. Add a method to CWallet to write just CKeyMetadata bac8c676a7
  3. Remove hdmasterkeyid 345bff6013
  4. Merge #15063: GUI: If BIP70 is disabled, attempt to fall back to BIP21 parsing
    84f53154e Travis: Add test without BIP70 (but still full wallet + tests) (Luke Dashjr)
    113f0004b GUI: If BIP70 is disabled, give a proper error when trying to open a payment request file (Luke Dashjr)
    9975282fa GUI: If BIP70 is disabled, attempt to fall back to BIP21 parsing (Luke Dashjr)
    
    Pull request description:
    
    Tree-SHA512: 66a684ce4336d0eac8b0107b405ff3a2cf312258a967f3e1b14734cd39db11e2db3e9b03492755583170d94d54754ef536b0776e5f19a0cc2caca8379eeb4495
    758c6d784d
  5. test: txindex: interrupt threadGroup before calling destructor fab6b07c16
  6. travis: Combine --disable-bip70 into existing job eeeee58bc9
  7. Merge #15393: build: Bump minimum Qt version to 5.5.1
    fd46c4c00 Bump minimum Qt version to 5.5.1 (Sjors Provoost)
    
    Pull request description:
    
      Fixes #13478
    
      Compiled and lightly tested on 10.14.3 against QT 5.12.0.
    
    Tree-SHA512: 6890331969bbf4c66dc0993b8817b1f0831d008f5863554e9c09a38f4700260b84044ff961664c377decc9fb8300e3543c267f935ec64fbc97b20f8fb396247a
    3b33cbc2b6
  8. Merge #15195: gui: Add Close Wallet action
    94086fb59 gui: Add close wallet action (João Barbosa)
    f77ba3431 gui: Add closeWallet to WalletController (João Barbosa)
    f6122abe0 interfaces: Add remove to Wallet (João Barbosa)
    
    Pull request description:
    
      This PR adds support to close the current wallet in the GUI.
    
      <img width="543" alt="screenshot 2019-01-18 at 00 44 26" src="https://user-images.githubusercontent.com/3534524/51358241-424b9680-1aba-11e9-88f2-b85869507737.png">
      <img width="532" alt="screenshot 2019-01-18 at 00 44 38" src="https://user-images.githubusercontent.com/3534524/51358242-424b9680-1aba-11e9-83e2-fa275a9017b3.png">
    
    Tree-SHA512: fd7da4d0f73dc240864cc57a1ff1526daf2376904ce3872e52eeca5d40cc21c6dd29eb2ef25f85ffa63697362c150221a2369d80ad36ae445cc99989d337b688
    b7456e6bf9
  9. fuzz: test_runner: Better error message when built with afl fa535af92c
  10. Move all PID file stuff to init.cpp
    It is only used from init.cpp.
    Move-only refactoring.
    3782075a5f
  11. Merge #14626: Select orphan transaction uniformly for eviction
    7257353b93 Select orphan transaction uniformly for eviction (Pieter Wuille)
    
    Pull request description:
    
      The previous code was biased towards evicting transactions whose txid has a larger gap (lexicographically) with the previous txid in the orphan pool.
    
    Tree-SHA512: e35f700aea5ed79d1bc57f64bffcb623424b40156fd0a12f05f74f981a8aa4175d5c18d042989243f7559242bdf1d6d720bcf588d28f43d74a798a4843f09c70
    cd8ca8be31
  12. Merge #14481: Add P2SH-P2WSH support to listunspent RPC
    6ca836ab3abef5a90df0c3c4e4983f328b1afe00 Add release note for listunspent P2WSH change (MeshCollider)
    928beae007fc2f951e79ea307a5e983af4cb3acf Add test for P2SH-P2WSH in signrawtransactionwithkey and listunspent (MeshCollider)
    314784a60f18424b004e935aa6e41b824e9645b3 Make listunspent and signrawtransaction RPCs support witnessScript (MeshCollider)
    
    Pull request description:
    
      This is a reworked version of #11708 after #12427 and the `signrawtransaction` split.
    
      For a P2WSH address, listunspent should return the witness script, and for a P2SH-P2WSH address, it should also return the inner witness script (because SignTransaction will automatically wrap it in P2SH if required).
    
      Includes a test which also tests the behaviour of #12427, and release note.
    
    Tree-SHA512: a8e72cf16930312bf48ec47e44a68f8d7e26664043c1b4cc0983eb25aec4087e511188ff9a0f181cd7b8a0c068c60d7f1e7e3f226b79e8c48890039dcf57f7b7
    3facd9fdc4
  13. Merge #15411: travis: Combine --disable-bip70 into existing job
    eeeee58bc9 travis: Combine --disable-bip70 into existing job (MarcoFalke)
    
    Pull request description:
    
      We already have too many jobs, so instead of creating a separate job for the `--disable-bip70` configue option, combine it into an existing job
    
    Tree-SHA512: 9e2fae73d90cb55b588c545bc118a14eba064f17fffd9b302c3fdbb8715e2319db03eac92ae51b3c16481f28a004a1c964dab75ca80a213e87574da8f73e3207
    642bd7bbe7
  14. Merge #15295: fuzz: Add test/fuzz/test_runner.py and run it in travis
    fa535af92c fuzz: test_runner: Better error message when built with afl (MarcoFalke)
    fa7ca8ef58 qa: Add test/fuzz/test_runner.py (MarcoFalke)
    
    Pull request description:
    
      Can be run with `./test/fuzz/test_runner.py` after building as described in `doc/fuzzing.md`
    
    Tree-SHA512: f6a3cd8165ec2de4b363be4fd0a936b4a60829cce923f93fe5d6a046b1bbd64c959cdf790440bf70c0e13b0bb1b956a746a24c6fd92bddeab15b837ed50ffad2
    31f7c6dd21
  15. Merge #15285: build: Prefer Python 3.4 even if newer versions are present on the system
    0890339fb3 build: prefer python3.4 even if newer versions are present on the system (Sjors Provoost)
    
    Pull request description:
    
      Python 3.4 is this mimimum supported version according to [doc/dependencies.md](https://github.com/bitcoin/bitcoin/blob/master/doc/dependencies.md)
    
      Systems with [PyEnv](https://github.com/pyenv/pyenv) ensure (via [.python-version](https://github.com/bitcoin/bitcoin/blob/master/.python-version)) that Python 3.4 is used
      for the functional tests. However `make check` calls `bitcoin-util-test.py`
      using the Python command found by `configure.ac`, which looks system wide.
    
      On systems with multiple versions of Python this would cause `make check`
      to fail, as it tries to call a version of Python that PyEnv blocks.
    
      This is solved by preferring python3.4 in `configure.ac`.
    
      I missed this in #14884, so ideally this should be tagged 0.18
    
    Tree-SHA512: b7487081a1ee7c2cb672a2e4bc1943ec8d23825fb941e567cb00fb123e6d59b1d8b7ddbf97d48aca770b9ddb9eacbfe73d8ac8cb1e1cdc34587ee1cee9929840
    33480c6366
  16. Store key origin info in key metadata
    Store the master key fingerprint and derivation path in the
    key metadata. hdKeypath is kept to indicate the seed and for
    backwards compatibility, but all key derivation path output
    uses the key origin info instead of hdKeypath.
    eab63bc264
  17. Implement a function to add KeyOriginInfo to a wallet 3d235dff5d
  18. Import KeyOriginData when importing descriptors 02d6586d7a
  19. Test importing descriptors with key origin information 4c75a69f36
  20. Add release notes for importing key origin info change cb3511b9d5
  21. Merge #14021: Import key origin data through descriptors in importmulti
    cb3511b9d Add release notes for importing key origin info change (Andrew Chow)
    4c75a69f3 Test importing descriptors with key origin information (Andrew Chow)
    02d6586d7 Import KeyOriginData when importing descriptors (Andrew Chow)
    3d235dff5 Implement a function to add KeyOriginInfo to a wallet (Andrew Chow)
    eab63bc26 Store key origin info in key metadata (Andrew Chow)
    345bff601 Remove hdmasterkeyid (Andrew Chow)
    bac8c676a Add a method to CWallet to write just CKeyMetadata (Andrew Chow)
    e7652d3f6 Add WriteHDKeypath function and move *HDKeypath to util/bip32.{h,cpp} (Andrew Chow)
    c45415f73 Refactor keymetadata writing to a separate method (Andrew Chow)
    
    Pull request description:
    
      This PR allows for key origin data as defined by the descriptors document to be imported to the wallet when importing a descriptor using `importmulti`. This allows the `walletprocesspsbt` to include the BIP 32 derivation paths for keys that it is watching that are from a different HD wallet.
    
      In order to make this easier to use, a new field `hdmasterkeyfingerprint` has been added to `getaddressinfo`. Additionally I have removed `hdmasterkeyid` as was planned. I think that this API change is fine since it was going to be removed in 0.18 anyways. `CKeyMetadata` has also been extended to store key origin info to facilitate this.
    
    Tree-SHA512: 9c7794f3c793da57e23c5abbdc3d58779ee9dea3d53168bb86c0643a4ad5a11a446264961e2f772f35eea645048cb60954ed58050002caee4e43cd9f51215097
    8d0ec74801
  22. Add a method to add a pubkey to the keypool
    Introduces AddKeypoolPubkey in order to add a pubkey to the keypool
    99cccb900b
  23. Fetch keys from keypool when private keys are disabled
    When private keys are disabled, still fetch keys from the keypool
    if the keypool has keys. Those keys come from importing them and
    adding them to the keypool.
    9b81fd19ac
  24. Add option to importmulti add an imported pubkey to the keypool
    Adds a new option to importmulti where the pubkeys specified in the import
    object can be added to the keypool. This only works if the wallet has
    private keys disabled.
    513719c5f8
  25. Test pubkey import to keypool 9e1551b9ce
  26. Import public keys in order
    Do public key imports in the order that they are specified in the import
    or in the descriptor range.
    f4b00b70e8
  27. Merge #14075: Import watch only pubkeys to the keypool if private keys are disabled
    f4b00b70e Import public keys in order (Andrew Chow)
    9e1551b9c Test pubkey import to keypool (Andrew Chow)
    513719c5f Add option to importmulti add an imported pubkey to the keypool (Andrew Chow)
    9b81fd19a Fetch keys from keypool when private keys are disabled (Andrew Chow)
    99cccb900 Add a method to add a pubkey to the keypool (Andrew Chow)
    
    Pull request description:
    
      If the wallet has private keys disabled, allow importing public keys into the keypool. A `keypool` option has been added to `importmulti` in order to signal that the keys should be added to the keypool.
    
    Tree-SHA512: e88ea7bf726c13031aa739389a0c2662e6b22a4f9a4dc45b042418c692a950d98f170e0db80eb59e9c9063cda8765eaa85b2927d1790b9625744f7a87bad5fc8
    c576979b78
  28. tests: Add missing cs_main locks required when accessing pcoinsdbview, pcoinsTip or pblocktree 543ef7d626
  29. doc: update FreeBSD build guide for 12.0 901baf2c9e
  30. Merge #15413: tests: Add missing cs_main locks required when accessing pcoinsdbview, pcoinsTip or pblocktree
    543ef7d626 tests: Add missing cs_main locks required when accessing pcoinsdbview, pcoinsTip or pblocktree (practicalswift)
    
    Pull request description:
    
      Add missing `cs_main` locks required when accessing `pcoinsdbview`, `pcoinsTip` or `pblocktree`.
    
      This is a subset of #15192: split up requested by MarcoFalke in https://github.com/bitcoin/bitcoin/pull/15192#issuecomment-462827372.
    
      The end goal is to get the corresponding `GUARDED_BY(...)`:s in (see #15192).
    
    Tree-SHA512: 0eb1987dba1a2f1faf0910c421f6d90a20b8a253486eb3301d5bca66d128b19120664e3a8580bdce7b428df817284faf94243250bf561f91d2d31a52d134aa67
    4d2767c228
  31. Merge #15405: [build] AppVeyor: clean cache when build configuration changes
    88a91e2c9d [build] AppVeyor: clean cache when build configuration changes (Sjors Provoost)
    
    Pull request description:
    
      AppVeyor builds started starting failing on master after I cleaned the cache in #15382. In addition, it appeared that a new dependency (boost-process) wasn't getting added in that PR without at least cleaning the vcpkg cache.
    
    Tree-SHA512: 1ad87bf6ca866cc20db04682cdf7572b59d22a7eaf346f390fc476c5e28bc5422733277fd765e5c9fd2ea88107b52fccd13f1f7e55493f567c4c4a1c16d7cb3a
    bf3677a6bb
  32. Merge #15383: [rpc] mining: Omit uninitialized currentblockweight, currentblocktx
    fa178a6385 [rpc] mining: Omit uninitialized currentblockweight, currentblocktx (MarcoFalke)
    
    Pull request description:
    
      Previously we'd report "0", which could be mistaken for a valid number. E.g. the number of transactions is 0 or the block weight is 0, whatever that means.
    
    Tree-SHA512: ee94ab203a329e272211b726f4c23edec4b09c650ec363b77fd59ad9264165d73064f78ebb9e11b5c2c543b73c157752410a307655560531c7d5444d203aa0ea
    eca1273c35
  33. Merge #15391: Add compile time verification of assumptions we're currently making implicitly/tacitly
    7cee85807c4db679003c6659d247a2fe74c2464a Add compile time verification of assumptions we're currently making implicitly/tacitly (practicalswift)
    
    Pull request description:
    
      Add compile time verification of assumptions we're currently making implicitly/tacitly.
    
      As suggested by @sipa in https://github.com/bitcoin/bitcoin/pull/14239#issuecomment-462508012 and @MarcoFalke in https://github.com/bitcoin/bitcoin/pull/14479#issuecomment-462534878.
    
    Tree-SHA512: e68fe51164dbd3eeb76aa8a7e83dfcd3b4d5a66037c0f1822bbbd189bbe3c280e03b3b10af870880ecc09b612e62fb3d9bcd6cf1e16cb7ba818c257db0712ce4
    95801902b9
  34. Merge #15399: fuzz: Script validation flags
    fab15ff70e fuzz: Script validation flags (MarcoFalke)
    fabcfa5f0c fuzz: Move deserialize tests to test/fuzz/deserialize.cpp (MarcoFalke)
    
    Pull request description:
    
    Tree-SHA512: 83c0cfeae0771b7ffe14e6b0eaeda06602b91f5bf4aa2f54fd4f7ef2350299679fd2d9339b02e43309bfddccc01d3aef25ce1a3d2c4f9b54f26e16e1249e05db
    743c2f461c
  35. Implement utxoupdatepsbt RPC and tests 7344a7b998
  36. Implement joinpsbts RPC and tests
    Adds a joinpsbts RPC which combines multiple distinct PSBTs into
    one PSBT.
    08f749c914
  37. Figure out what is missing during signing
    When signing an input, figure out what was requested for but was unable
    to be found and store it in a SignatureData.
    
    Return this information in SignPSBTInput.
    cb40b3abd4
  38. Move PSBT UTXO fetching to a separate method 77542cf2a5
  39. Descriptor checksum 3b40bff988
  40. Add getdescriptorinfo to compute checksum b52cb63688
  41. Make descriptor checksums mandatory in deriveaddresses and importmulti be62903c41
  42. Add checksums to descriptors.md fd637be8d2
  43. Implement analyzepsbt RPC and tests 540729ef4b
  44. Merge #15410: test: txindex: interrupt threadGroup before calling destructor
    fab6b07c16 test: txindex: interrupt threadGroup before calling destructor (MarcoFalke)
    
    Pull request description:
    
      Fixes the data races with the tread sanitizer such as
    
      * https://travis-ci.org/MarcoFalke/bitcoin/jobs/492330554
      * https://github.com/bitcoin/bitcoin/pull/15402#discussion_r256676622
      * ...
    
    Tree-SHA512: 40608c70d92a1dd68efc1d41eecc8e2fb7738508e21f91f0ad353adcceed60fa624f15bf72a5b69a9444157b261183abbe9fc4cc5dd8aebc1c49506b239e8e88
    f9d50e83e2
  45. Merge #13932: Additional utility RPCs for PSBT
    540729ef4bf1b6c6da1ec795e441d2ce56a9a58b Implement analyzepsbt RPC and tests (Andrew Chow)
    77542cf2a5f8abb97dd46f782c1b0199cc062033 Move PSBT UTXO fetching to a separate method (Andrew Chow)
    cb40b3abd4514361a024a1e7a1a281da9261261b Figure out what is missing during signing (Andrew Chow)
    08f749c9147a5f3fdbbd880e0974b97084429002 Implement joinpsbts RPC and tests (Andrew Chow)
    7344a7b9984b99882e136efc8ad48fb31740df93 Implement utxoupdatepsbt RPC and tests (Andrew Chow)
    
    Pull request description:
    
      This PR adds 3 new utility RPCs for interacting with PSBTs.
    
      `utxoupdatepsbt` updates a PSBT with UTXO information from the node. It only works with witness UTXOs because full transactions (as would be needed for non-witness UTXOs) are not available unless txindex is enabled.
    
      `joinpsbts` joins the inputs from multiple distinct PSBTs into one PSBT. e.g. if PSBT 1 has inputs 1 and 2, and PSBT 2 has inputs 3 and 4, `joinpsbts` would create a new PSBT with inputs 1, 2, 3, and 4.
    
      `analyzepsbt` analyzes a PSBT and determines the current state of it and all of its inputs, and the next step that needs to be done.
    
    Tree-SHA512: 3c1fa302201abca76a8901d0c2be7b4ccbce334d989533c215f8b3e50e22f2f018ce6209544b26789f58f5980a253c0655111e1e20d47d5656e0414c64891a5c
    d5b929c813
  46. Merge #15368: Descriptor checksums
    fd637be8d21a606e98c037b40b268c4a1fae2244 Add checksums to descriptors.md (Pieter Wuille)
    be62903c417293f6217e124669e62fd2172a18f1 Make descriptor checksums mandatory in deriveaddresses and importmulti (Pieter Wuille)
    b52cb6368869c9f6dd2cd8f309b3000de514d439 Add getdescriptorinfo to compute checksum (Pieter Wuille)
    3b40bff9880e9ae2817136b7d14989afccfc1937 Descriptor checksum (Pieter Wuille)
    
    Pull request description:
    
      This adds support for a descriptor-specific 8-character checksum.
    
      Descriptors may optionally be suffixed with a `#` plus these 8 checksum characters. Any descriptor that contains a `#` at the end must be followed by a valid checksum. If the `#` is missing entirely, it is valid without checksum.
    
      All RPCs are updated to report descriptors that include the checksum. On input, they are optional except in `deriveaddress` and `importmulti`, which require descriptors which include a checksum.
    
      A new RPC is also added to analyse descriptors (`getdescriptorinfo`), which can be used to compute the checksum for a descriptor without.
    
    Tree-SHA512: a8294b09155eb6c67fbc178b5e2d3fbc0e9bec8b6de57a13f8835550d51c2cb32a428b3c9a188ded42b454d594e9305edbd4797906b755de77a8f33c79165f6b
    f60d029a2a
  47. [Doc] add missing newline to witnessScript in listunspent help d3661a3fd2
  48. [Doc] importmulti: add missing description of keypool option a607c9ae4c
  49. Merge #15398: msvc: add rapidcheck property tests
    d067e81dcf574b6504813bbf742cd5af057e8e9b msvc: add rapid check property tests (Chun Kuan Lee)
    
    Pull request description:
    
      This PR add the property tests into the binaries built by MSVC.
    
      And another trivial change is that I reordered the appveyor package list.
    
    Tree-SHA512: 25d66db464beb7b512cc1f88d8557d6a047000a97d78f49884bb91a65ec142e0458039c919f51bf73413359fcf3e63e1ea4d76586b862f1c140d2ca05ee8b23d
    e9c190044d
  50. Merge #15426: [Doc] importmulti: add missing description of keypool option
    a607c9ae4c2730fca5ce340c400c95c87e498a7c [Doc] importmulti: add missing description of keypool option (David A. Harding)
    
    Pull request description:
    
      Option was added in #14075 but not documented there.
    
      CC: @achow101
    
    Tree-SHA512: dcb6421fa1be3d733d7a00c1b57ffd591fe76c02d1c479e729089c118bec52f53bd7ebdb5454b3b1c7603ab189e91682a688b673a7f6b04fa8610c4249711217
    2d0337992d
  51. Merge #15425: [Doc] add missing newline to listunspent help for witnessScript
    d3661a3fd247e8fb3911e2f7256025de8b163aeb [Doc] add missing newline to witnessScript in listunspent help (David A. Harding)
    
    Pull request description:
    
    Tree-SHA512: 85bb9c693bac36da0239eb6a1f42c2173d0170d5ff3d4c2fcd8897cfab233ef8c8ebc1eb5591e3dc89d091fde221d77c872f14a1eec201fee4dc83ba788390c3
    4064d048d6
  52. Update assumevalid, minimumchainwork, and getchaintxstats to height 563378.
    m_assumed_blockchain_size/m_assumed_chain_state_size were still accurate.
    a083f75ba7
  53. scripted-diff: Remove NDEBUG pre-define
    -BEGIN VERIFY SCRIPT-
    sed -i 's/NDEBUG;//g' $(git grep --name-only 'NDEBUG;' build_msvc)
    -END VERIFY SCRIPT-
    8a1f0a38d4
  54. appveyor: Remove unused NDEBUG removal 3ec56bea0d
  55. Merge #15431: msvc: scripted-diff: Remove NDEBUG pre-define in project file
    3ec56bea0d appveyor: Remove unused NDEBUG removal (Chun Kuan Lee)
    8a1f0a38d4 scripted-diff: Remove NDEBUG pre-define (Chun Kuan Lee)
    
    Pull request description:
    
      Follow #15391
    
    Tree-SHA512: f264418cbc69b5f083469ed9005a6d592d4268f2b7da967e571ce30195de73b09a9e14c8610a5b6b0f056847d82a4bc7c2fbe56498307093aab4dd42903e6137
    b72c787dc8
  56. Use a single wallet batch for UpgradeKeyMetadata 0bedcbafdf
  57. Address test todos by removing -txindex to nodes.
    Originally added when updating getrawtransaction to stop searching unspent utxos.
    8e4b4f683a
  58. Merge #15429: Update assumevalid, minimumchainwork, and getchaintxstats to height 563378
    a083f75ba79d465f15fddba7b00ca02e31bb3d40 Update assumevalid, minimumchainwork, and getchaintxstats to height 563378. (Gregory Maxwell)
    
    Pull request description:
    
      m_assumed_blockchain_size/m_assumed_chain_state_size were still accurate.
    
    Tree-SHA512: 9b08a5d6023c0e24ab3d8c43c0978181eb853f15c4db9bc69e72efc94c89600780bc73d9f46dbaf5241d28b135546dd30e7abd50a89096b5fd3f7252308491cc
    f5a623eb66
  59. Merge #15250: Use RdSeed when available, and reduce RdRand load
    1435fabc19d2143187efb493cbe23225eaf851ae Use RdSeed when available, and reduce RdRand load (Pieter Wuille)
    
    Pull request description:
    
      This introduces support for autodetecting and using the RdSeed instruction on x86/x86_64 systems.
    
      In addition:
      * In SeedFast, only 64 bits of entropy are generated through RdRand (256 was relatively slow).
      * In SeedStartup, 256 bits of entropy are generated, using RdSeed (preferably) or RdRand (otherwise).
    
    Tree-SHA512: fb7d3e22e93e14592f4b07282aa79d7c3cc4e9debdd9978580b8d2562bbad345e289bf3f80de2c50c9b50b8bac2aa9b838f9f272f7f8d43f1efc0913aa8acce3
    29e82e460e
  60. Add missing #include.
    bd0dbe8763fc3029cf96531c9ccaba280b939445 introduced a dependency of
    rpc/util.h on RPCErrorCode, defined in rpc/protocol.h.  The latter file
    is only included from rpc/util.cpp, though.  This commit fixes the
    missing include, by moving the #include of rpc/protocol.h to
    rpc/util.h.
    39e20fc54f
  61. Merge #15397: Remove manual byte editing in wallet_tx_clone func test
    6aaa0abc12 Remove manual byte editing in wallet_tx_clone func test (Gregory Sanders)
    
    Pull request description:
    
      Adapted from @stevenroose
    
    Tree-SHA512: 87f251579e347f870bd30fc57b0c130f00914a3dc78799826384eb049b91d49f2525d55899bf525997e23cc976ca7d10e6b56b23f7358acec307368d48a6f6f1
    6ba3f1fdfd
  62. Merge #15348: doc: Add separate productivity notes document
    5b76c314d6 doc: Add separate productivity notes document (Carl Dong)
    
    Pull request description:
    
      Many developers have their own tools and tricks to be more productive
      during their cycles, so let's document the best ones so that everyone
      can benefit from them.
    
    Tree-SHA512: b4989e7a815e972a9a646f448fb6c08bd896b4bce77fd7fb22a71a7602971d4cbe34f88183f503f5b851d002784d9e91b87df5348c661eeb9cefa69c52e0de2b
    f78cd3dd51
  63. Merge #15433: Use a single wallet batch for UpgradeKeyMetadata
    0bedcbafd Use a single wallet batch for UpgradeKeyMetadata (Jonas Schnelli)
    
    Pull request description:
    
      Opening wallets (the first time) after #14021 took on my end around 30 seconds due to the keymetadata migration (tested on regtest).
    
      Using a single wallet batch reduces the required time for the migration down to <1s on my system for a default 2k keypool wallet.
    
    Tree-SHA512: f68739e452d382f5294186f47511b94884a1a0868688dd3179034a7e091a67f93bc9dd45cdfc9fa6b1fe90362772b719278012f2f56b752b803c87db8597a7b0
    904308dca3
  64. tests: remove byte.hex() to keep compatibility
    Use test_framework.util.bytes_to_hex_str() instead of bytes.hex() that
    new in Python 3.5, to support minimum version of Python(test).
    1a062b85f0
  65. [test] functional: set cwd of nodes to tmpdir e3e1a5631e
  66. Merge #15415: [test] functional: allow custom cwd, use tmpdir as default
    e3e1a5631e [test] functional: set cwd of nodes to tmpdir (Sjors Provoost)
    
    Pull request description:
    
      Any process launched by bitcoind will have `self.datadir` as its `cwd`.
    
    Tree-SHA512: 0b311643bb96c7dc2f693774620173243b3add40bf373284695af2f0071823b23485289fd2ffe152b7f63e0bfe989b16720077cfc2ce33905f9b8e7f2630f3c0
    3e4fd40753
  67. Merge #15404: [test] Remove -txindex to start nodes
    8e4b4f683a0b342cec24cd51b1e98433034ea2ea Address test todos by removing -txindex to nodes. Originally added when updating getrawtransaction to stop searching unspent utxos. (Amiti Uttarwar)
    
    Pull request description:
    
      Original todos added when removing getrawtransaction default behavior of searching unspent utxos.
    
    Tree-SHA512: d080953c3b0d2e5dca2265a15966dc25985a614c9cc86271ecd6276178ce428c85e262c24df92501695c32fed7beec0339b989f03cce91b57fb2efba201b7809
    38429c4b62
  68. qa: Remove mocktime unless required fab0d85802
  69. qa: Always refresh stale cache to be out of ibd 1111aecbb5
  70. qa: Fix wallet_txn_doublespend issue fa25210d62
  71. Merge #15439: tests: remove byte.hex() to keep compatibility
    1a062b85f0 tests: remove byte.hex() to keep compatibility (Akio Nakamura)
    
    Pull request description:
    
      Use ```test_framework.util.bytes_to_hex_str()``` instead of ```bytes.hex()``` that new in Python 3.5 to support minimum version of Python(test).
    
      ```test/functional/test_framework/wallet_util.py``` is also reported to have '\.hex()' in #15397,
      but it does not matter because it calls CScript.hex() defined in wallet_util.py.
    
    Tree-SHA512: 1019212e965f0848d235fab4da11959dffa42e8adfcd41216c10795cfc63c804b5deb5a3317f25d29940b9dcf088ab76fe3fa80d2679dc19f5f482dc5bde3283
    f9775a8655
  72. rpc: Add RPCHelpMan::IsValidNumArgs() fa05626ca7
  73. rpc: Actually throw help when passed invalid number of params fa4ce7038d
  74. Merge #15278: Improve PID file error handling
    3782075a5fd4ad0c15a6119e8cdaf136898f679e Move all PID file stuff to init.cpp (Hennadii Stepanov)
    561e375c73a37934fe77a519762d81edf7a3325c Make PID file creating errors fatal (Hennadii Stepanov)
    745a2ace18ce857bc712d7e66c8bad7c082c07e2 Improve PID file removing errors logging (Hennadii Stepanov)
    
    Pull request description:
    
      Digging into #15240 the lack of the proper logging has been discovered.
      Fixed by this PR.
    
      UPDATE (inspired by @laanwj's [comment](https://github.com/bitcoin/bitcoin/pull/15278#discussion_r252641810)):
      Not being able to create the PID file is fatal now.
    
      Output of `bitcoind`:
    
      ```
      $ src/bitcoind -pid=/run/bitcoind/bitcoind.pid
      2019-02-01T23:20:10Z Bitcoin Core version v0.17.99.0-561e375c7 (release build)
      2019-02-01T23:20:10Z Assuming ancestors of block 0000000000000037a8cd3e06cd5edbfe9dd1dbcc5dacab279376ef7cfc2b4c75 have valid signatures.
      2019-02-01T23:20:10Z Setting nMinimumChainWork=00000000000000000000000000000000000000000000007dbe94253893cbd463
      2019-02-01T23:20:10Z Using the 'sse4(1way),sse41(4way),avx2(8way)' SHA256 implementation
      2019-02-01T23:20:10Z Using RdRand as an additional entropy source
      2019-02-01T23:20:11Z Error: Unable to create the PID file '/run/bitcoind/bitcoind.pid': No such file or directory
      Error: Unable to create the PID file '/run/bitcoind/bitcoind.pid': No such file or directory
      2019-02-01T23:20:11Z Shutdown: In progress...
      2019-02-01T23:20:11Z Shutdown: Unable to remove PID file: File does not exist
      2019-02-01T23:20:11Z Shutdown: done
      ```
    
      Output of `bitcoin-qt`:
      ![screenshot from 2019-02-02 01-19-05](https://user-images.githubusercontent.com/32963518/52154886-9349b600-2688-11e9-8128-470f16790305.png)
    
      **Notes for reviewers**
      1. `CreatePidFile()` has been moved from `util/system.cpp` to `init.cpp` for the following reasons:
      - to get the ability to use `InitError()`
      - now `init.cpp` contains code of both creating PID file and removing it
    
      2. Regarding 0.18 release process: this PR modifies 1 string and introduces 2 new ones.
    
    Tree-SHA512: ac07d0f800e61ec759e427d0afc0ca43d67f232e977662253963afdd0a220d34b871050f58149fc9fabd427bfc8e0d3f6a6032f2a38f30ad366fc0d074b0f2b3
    3e1ca1348c
  75. Merge #15416: doc: update FreeBSD build guide for 12.0
    901baf2c9ef31e68137d5bd8eb5a2b689a71f818 doc: update FreeBSD build guide for 12.0 (fanquake)
    
    Pull request description:
    
      Updated the build guide for FreeBSD 12.0 (also bought more inline with the other `BSD` guides.
    
      As of FreeBSD 12.0, an ancient GDB is [no longer installed by default](https://www.freebsd.org/releases/12.0R/relnotes.html). Instead, a modern version is available from [`devel/gdb`](https://www.freshports.org/devel/gdb), which is currently version 8.2.x. A recent `LLDB` is also available.
    
    Tree-SHA512: c9034348362c2c3d20ee26f6fd66bc447b448dcee767fc9e40131dce26fb54d059fe3b0577c5984931069580d5326eaa0ccf97389458edd3dba02b5ca62f2236
    4d126f289c
  76. Merge #15222: docs: Add info about factors that affect dependency list
    55e05a82cdc347400e4e6f8df2b0aba690b835ea Added some factors that affect the dependency list (Martin Erlandsson)
    
    Pull request description:
    
      To simplify build instructions, the librsvg formula should be moved to the main `brew install ...` command, in my opinion.
      It is not a big problem to install a single extra formula, and it will only be unused for some users.
    
      An additional reason for this change is that I would like to add a comment (in a future PR) about making sure you have the latest version of all deps (in the case of preexisting formulae). That comment can be authored more clearly if this simplification PR is merged.
    
    Tree-SHA512: e63284a4e0584f071a920f6b8ac46694de38e7b1df1e0dc2b00262c1487a2f2851fae721e8f4907a4aad0335f287e881974df6f9d05fe9b26f0ba71033dce145
    b853746d4a
  77. refactor: Drop redundant wallet reference 53b310390c
  78. Merge #13676: Explain that mempool memory is added to -dbcache
    7cb1a1401d2dcc82d2c7ca7ee1d3067dc4ada5e8 Explain that unused mempool memory is added to -dbcache (Sjors Provoost)
    
    Pull request description:
    
      Since `-maxmempool` is 450 MB by default it's quite possible for a user to accidentally OOM a low
      memory device if they increase `-dbcache` beyond the default.
    
      <img width="563" alt="schermafbeelding 2018-09-06 om 17 02 40" src="https://user-images.githubusercontent.com/10217/45166219-c9c4f700-b1f6-11e8-9ee5-14b8b3a9830b.png">
    
    Tree-SHA512: 44c7419d0b06c14aee5d2c02a41e5da488bcb40a5f65ba24554a45707b222f1e4b03d42486dfef9336d917ac2990eef2b1aec287a75b3ef1ccca0e88ac86a0c0
    a83aedca18
  79. Merge #15273: docs: Slight tweak to the verify-commits script directions
    a786c3b30639a63ded5b3b81c393d56336d34dce Slight tweak to the verify-commits script directions (Douglas Roark)
    
    Pull request description:
    
      Clarify that GnuPG may be used on both Linux and macOS to obtain the keys required to verify the commits.
    
    Tree-SHA512: cec556370f03e00bbd6f585d26b360ca236cf55cb5c0996f6d950d8a98f77c92cc02f1719c8f9b9dc9eac6900eb341a13b50a012752832f39095b7e84046f2cd
    a094b54332
  80. Merge #15458: refactor: Drop redundant wallet reference
    53b310390c refactor: Drop redundant wallet reference (João Barbosa)
    
    Pull request description:
    
      Removes the redudant wallet reference from `WalletImpl`.
    
      ```cpp
      // before:
      std::shared_ptr<CWallet> m_shared_wallet;
      CWallet& m_wallet;
    
      // after
      std::shared_ptr<CWallet> m_wallet;
      ```
    
    Tree-SHA512: c78c5a75a59df20b1684f746305c5b3505f73adfd84f00fd800da61ca07c6a37a992fedea3da390afd9564dc6b6a022d183a38995124783ad62c0cc7610be92b
    77fcf252f6
  81. Merge #15408: Remove unused TransactionError constants
    fa9b60c842 Remove unused TransactionError constants (MarcoFalke)
    
    Pull request description:
    
      Fixup to #14978, which introduced a bunch of unused enum values, such as `UNKNOWN_ERROR`, `ERROR_COUNT` and `TRANSACTION_ERR_LAST`. None of those have a meaning in the context of an `enum class`, where the compiler can infer if all cases have been covered in a switch-case.
    
      Also, move the global `::maxTxFee` back to the rpc caller, so it can be set on a per call basis (in the future).
    
    Tree-SHA512: 7f1e2d795f1c1278ecd54ddab2b92c2a862f3c637b482d1d008208925befa1c9dd4b3c4bb1bfcbc5ca4b66a41004aaf01ea96ea95236f944250b8a6cf99ff173
    169dced9a4
  82. Merge #15435: rpc: Add missing #include
    39e20fc54f Add missing #include. (Daniel Kraft)
    
    Pull request description:
    
      bd0dbe8763fc3029cf96531c9ccaba280b939445 introduced a dependency of `rpc/util.h` on `RPCErrorCode`, defined in `rpc/protocol.h`.  The latter file is only included from `rpc/util.cpp`, though.  This commit fixes the missing include, by moving the `#include` of `rpc/protocol.h` to `rpc/util.h`.
    
    Tree-SHA512: 75c03cfadb28a309d6deb36feeb0ee6ce0b38e8a1176919bc611ea720feff8c42ec9ed0ac8ab74ba9c531a3b7ec9ccbed0c8692ebdf5f9fc17867b9750a1d9f6
    f3f9c1de19
  83. gui: Fix async open wallet call order a720a98301
  84. wallet: Use fsbridge::ifstream to fix Windows path issue 6ad79cbd56
  85. Abstract EraseBlockData out of RewindBlockIndex
    Note that the former 'else' branch in RewindBlockIndex is now
    dealt with more naturally inside the EraseBlockData call (by
    checking whether the parent needs to be re-added as candidate
    after deleting a child).
    9d6dcc52c6
  86. Move erasure of non-active blocks to a separate loop in RewindBlockIndex
    This lets us simplify the iteration to just walking back in the chain,
    rather than looping over all of mapBlockIndex.
    32b2696ab4
  87. Merge the disconnection and erasing loops in RewindBlockIndex 1d342875c2
  88. Release cs_main during RewindBlockIndex operation 436f7d735f
  89. Call RewindBlockIndex without cs_main held 880ce7d46b
  90. Make RewindBlockIndex interruptible 241b2c74ac
  91. Call InvalidateBlock without cs_main held 9b1ff5c742
  92. Merge #15401: rpc: Actually throw help when passed invalid number of params
    fa4ce7038d444defe0b98a30097174c278054a33 rpc: Actually throw help when passed invalid number of params (MarcoFalke)
    fa05626ca7a0fe896ac554c79eaea4c36acdf861 rpc: Add RPCHelpMan::IsValidNumArgs() (MarcoFalke)
    
    Pull request description:
    
      Can be tested by
    
      * running the included test against an old binary (compiled without this patch)
      * calling `setban 1 "add" 3 4 5 6 7 8 9 0` in the gui
    
    Tree-SHA512: aa6a25bbe6f40722913ea292252a62a4012c964eed9f4035335a2e2d13be98eb60f368e8a3251a104a26a62c08b2cb926b06e5ab1418ef1cf4abdd71d87c2919
    1a8a5ede9f
  93. Enable PID file creation on Windows
    - Add available WIN PID function
    - Consider WIN32 in each relevant case
    - Add new preprocessor definitions to suppress warning
    - Update error message for generic OS
    
    Co-authored-by: Jörn Röder <kontakt@joernroeder.de>
    3f5ad622e5
  94. Merge #15456: Enable PID file creation on WIN
    3f5ad622e5fe0781a70bee9e3322b23c2352e956 Enable PID file creation on Windows - Add available WIN PID function - Consider WIN32 in each relevant case - Add new preprocessor definitions to suppress warning - Update error message for generic OS (riordant)
    
    Pull request description:
    
      # Introduction
    
      As discussed with @laanwj on IRC:
    
      - PID file creation was never enabled for Windows, as the `pid_t` filetype is not available for it. However, the WIN32 API contains the header [`Processthreadsapi.h`](https://github.com/CodeShark/x86_64-w64-mingw32/blob/master/include/processthreadsapi.h) which in turn contains the function [`GetCurrentProcessId()`](https://docs.microsoft.com/en-gb/windows/desktop/api/processthreadsapi/nf-processthreadsapi-getcurrentprocessid). ~~This function is called at a higher level by [`_getpid()`](https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/getpid?view=vs-2017)~~ EDIT: `_getpid()` is not available to the MSVC compiler used in the AppVeyor build. As a result, I have changed the function call to`GetCurrentProcessId()`, which performs the same function and is available to both MinGW & MSVC.
      This allows one to capture the PID in Windows, without any additional includes - the above function is already available.
    
      - Within this PR, I have added a separate line that calls `GetCurrentProcessId()` in the case of a WIN compilation, and the usual `getpid()` otherwise. All code blocks processing PID file logic that avoid WIN32 have been changed to consider it. I have also updated the preprocessor definitions in `libbitcoin_server.vcxproj.in` to suppress a warning related to `std::strerror` for the MSVC build, that was causing the AppVeyor build to fail (see @fanquake comment below).
    
      # Rationale
      - Consistency between OS's running Bitcoin
          - Applications which build off of `bitcoind`, such as novel front-end clients, often need access to the PID in order to control the daemon. Instead of designing some alternate way of doing this for one system, it should be consistent between all of them.
    
      In collaboration with @joernroeder
    
    Tree-SHA512: 22fcbf866e99115d12ed29716e68d200d4c118ae2f7b188b7705dc0cf5f0cd0ce5fb18f772744c6238eecd9e6d0922c615e2f0e12a7fe7c810062a79d97aa6a2
    b4fc5257b7
  95. rpc/gui: Remove 'Unknown block versions being mined' warning
    Due to miners inserting garbage into the version numbers, the current
    version signalling has become completely useless. This removes the
    "unknown block versions" warning which has the tendency to scare
    users unnecessarily (and might get them to "update" to something
    bad).
    
    It preserves the warning in the logs. Whether this is desirable can
    be a point of discussion.
    ef362f2773
  96. test: Simplify create_cache fa2cdc9ac2
  97. Merge #15419: qa: Always refresh cache to be out of ibd
    fa2cdc9ac2 test: Simplify create_cache (MarcoFalke)
    fa25210d62 qa: Fix wallet_txn_doublespend issue (MarcoFalke)
    1111aecbb5 qa: Always refresh stale cache to be out of ibd (MarcoFalke)
    fab0d85802 qa: Remove mocktime unless required (MarcoFalke)
    
    Pull request description:
    
      When starting a test, we are always in IBD because the timestamps on cached blocks are in the past. Usually, we solve that by generating a block at the beginning of the test.
    
      That is clumsy and might even lead to other problems such as #15360 and https://github.com/bitcoin/bitcoin/issues/14446#issuecomment-461926598
    
      So fix that by getting rid of mocktime and always refreshing the last block of the cache when starting the test framework.
    
      Should fix #14446
    
    Tree-SHA512: 6af09800f9c86131349a103af617a54551f5f3f3260d38e14e3f30fdd3d91a0feb0100c56cbb12eae4aeac5571ae4b530b16345cbb831d2670237b53351a22c1
    8f470ecc53
  98. doc: Remove misleading hint in getrawtransaction fa9ff8fe21
  99. refactor: Use RPCHelpMan::IsValidNumArgs in getrawtransaction 9999879f56
  100. Merge #15471: rpc/gui: Remove 'Unknown block versions being mined' warning
    ef362f2773 rpc/gui: Remove 'Unknown block versions being mined' warning (Wladimir J. van der Laan)
    
    Pull request description:
    
      Due to miners inserting garbage into the version numbers causing false positives, the current version signalling has become completely useless. This removes the "unknown block versions" warning which has the tendency to scare users unnecessarily (and might get them to "update" to something bad).
    
      It preserves the warning in the logs. Whether this is desirable can be a point of discussion.
    
    Tree-SHA512: 51407ccd24a571462465d9c7180f0f28307c50b82a03284abe783e181d8ab7e0638dbb710698d883f28de8a609db70763e39be2470d956e67c833da0768e43e9
    d88f7f8764
  101. add rpc_misc.py, mv test getmemoryinfo, add test mallocinfo 2fa85ebd1c
  102. doc: Update release process for snap package fa466cbc50
  103. Merge #15462: gui: Fix async open wallet call order
    a720a983015c9ef8cc814c16a5b9ef6379695817 gui: Fix async open wallet call order (João Barbosa)
    
    Pull request description:
    
      Fixes #15455. Must call `OpenWalletActivity::open` asynchronously only after all connections are made to the `OpenWalletActivity` instance, otherwise signals can be missed.
    
    Tree-SHA512: 4e5fdbd09d2ca017ed07a1813c2707c09f96275f1498779804e322e0a4dbd7dcff0c2e9cd6ec18463cd427b88b192a8d02373de9edc2b03ba5e4b8484b264417
    6f43ed4c5a
  104. Merge #15468: wallet: Use fsbridge::ifstream to fix Windows path issue
    6ad79cbd562d04ebbcb61c774fb3389e70fedb7c wallet: Use fsbridge::ifstream to fix Windows path issue (Chun Kuan Lee)
    
    Pull request description:
    
      Fix #15460
    
    Tree-SHA512: 1dab04184608543d49c86cbcfb679d63d35cb7bf3bde2e2d9ddf25ec8977de42b7131db5e81a305f3452858079dbcf68f6ad4624c89575d3d7e5b550687fc6ad
    a4f9c024c6
  105. Merge #15477: doc: Remove misleading hint in getrawtransaction
    9999879f56c88ca2837f5d18e6688917ba96e9e2 refactor: Use RPCHelpMan::IsValidNumArgs in getrawtransaction (MarcoFalke)
    fa9ff8fe212ae40a1ef4980455bf916bc044fee2 doc: Remove misleading hint in getrawtransaction (MarcoFalke)
    
    Pull request description:
    
      For 0.18.0
    
      I asked this line to be added in #15159, which was wrong because getmempoolentry does not return the raw transaction hex.
    
    Tree-SHA512: 7ac85500c8192314347b7283cd369196bb959c124863642b6c1ce73d5662b1cbe4f42ded9c374dac6657458ab70b01810caf1235dd1d2b404bf376ebf09efa69
    a0d4e79b4d
  106. Merge #15489: doc: Update release process for snap package
    fa466cbc5016aa8dff40e63a273a077f76c1cdcb doc: Update release process for snap package (MarcoFalke)
    
    Pull request description:
    
    Tree-SHA512: 44c083a9de96b8f128e32597071c5101b1f90a0396170955f4d8b21e46ad7bfad1e0e43a955ae1dd2968aa266ff6b5d4c80115a4a1e13a4073549d48278c4c90
    20268c6d76
  107. msvc: Use a single file to specify the include path 4a5e52cb51
  108. Merge #15503: msvc: Use a single file to specify the include path
    4a5e52cb51 msvc: Use a single file to specify the include path (Chun Kuan Lee)
    
    Pull request description:
    
      Specify the include files in 1 line and 1 file instead of 64 lines and 16 files.
    
      Also, this could avoid MSVC and autoconf include path inconsistency.
    
    Tree-SHA512: e2e283913d8118d70fd94b0fb42c3b629b0d9d94aa08a4f625945992fda830c94ecdde8dc7647e28c4f35f8466de3b38cfd7ed7ca78d611612b3b49784fa3745
    29c24b05fb
  109. Add ParseRange function to parse args of the form int/[int,int] 7aa6a8aefb
  110. Support ranges arguments in RPC help 6b9f45e81b
  111. Add support for stop/[start,stop] ranges to scantxoutset 4566011631
  112. Use stop/[start,stop] notation in importmulti desc range 1675b7ce55
  113. Release cs_main during InvalidateBlock iterations 9bb32eb571
  114. Prevent callback overruns in InvalidateBlock and RewindBlockIndex 9ce9c37004
  115. Optimization: don't add txn back to mempool after 10 invalidates 8d220417cd
  116. appveyor: Don't build debug libraries instead of "build and delete" aeb7fbfd69
  117. test: Bump timeout on tests that timeout on windows fa852f0e8d
  118. Make deriveaddresses use stop/[start,stop] notation for ranges ca253f6ebf
  119. Merge #15507: test: Bump timeout on tests that timeout on windows
    fa852f0e8d test: Bump timeout on tests that timeout on windows (MarcoFalke)
    
    Pull request description:
    
      Those tests build a ton of blocks and time out for me on Windows with:
    
      ```
      test_framework.authproxy.JSONRPCException: 'generatetoaddress' RPC took longer than 60.000000 seconds. Consider using larger timeout for calls that take longer to return. (-344)
    
    Tree-SHA512: a8fffeaddd02c051fbcc04bfac69f6ed826b8f16616e3b2e210a469d07c3e5706baab8121f1cd7ed265481de3a6197cf371513e2afbe506cf13b1dabfe3a0005
    e8612adc5d
  120. Merge #15497: rpc: Consistent range arguments in scantxoutset/importmulti/deriveaddresses
    ca253f6ebf Make deriveaddresses use stop/[start,stop] notation for ranges (Pieter Wuille)
    1675b7ce55 Use stop/[start,stop] notation in importmulti desc range (Pieter Wuille)
    4566011631 Add support for stop/[start,stop] ranges to scantxoutset (Pieter Wuille)
    6b9f45e81b Support ranges arguments in RPC help (Pieter Wuille)
    7aa6a8aefb Add ParseRange function to parse args of the form int/[int,int] (Pieter Wuille)
    
    Pull request description:
    
      This introduces a consistent notation for RPC arguments in `scantxoutset`, `importmulti`, and `deriveaddresses`, either:
      * `"range" : int` to just specify the end of the range
      * `"range" : [int,int]` to specify both the begin and the end of the range.
    
      For `scantxoutset`, this is a backward compatible new feature. For the two other RPCs, it's an incompatible change, but neither of them has been in a release so far. Because of that non-released reason, this only makes sense in 0.18, in my opinion.
    
      I suggest this as an alternative to #15496, which only makes `deriveaddresses` compatible with `importmulti`, but not with the existing `scantxoutset` RPC. I also think `[int,int]` is more convenient than `{"start":int,"stop":int}`.
    
      I realize this is technically a feature added to `scantxoutset` after the feature freeze. If desired, I'll drop the `scantxoutset` changes.
    
    Tree-SHA512: 1cbebb90cf34f106786dbcec7afbf3f43fb8b7e46cc7e6763faf1bc1babf12375a1b3c3cf86ee83c21ed2171d99b5a2f60331850bc613db25538c38b6a056676
    a6d7026a45
  121. [rpc] deriveaddresses: add range to CRPCConvertParam 9586157c0f
  122. Merge #15506: appveyor: fix cache issue and reduce dependencies build time
    aeb7fbfd69 appveyor: Don't build debug libraries instead of "build and delete" (Chun Kuan Lee)
    
    Pull request description:
    
      - fix  the filename typo on `appveyor.yml`. Maybe it's the reason that appveyor cache does not work properly.
      - Build release dependency libraries only. We build both release and debug on master. This could save ~5 mins.
    
    Tree-SHA512: 68cdaeab98a658ebcb6159ee3f2d53376496d63b21c91291a95ad2495181de9bb12bd0fbf31672dbe72222b6368ce088b6a06592db365fc247c86bc5ba79905b
    dc251de6a5
  123. modify test for memory locked in case locking pages failed at some point f13ad1cae0
  124. Merge #15485: add rpc_misc.py, mv test getmemoryinfo, add test mallocinfo
    f13ad1cae0 modify test for memory locked in case locking pages failed at some point (Adam Jonas)
    2fa85ebd1c add rpc_misc.py, mv test getmemoryinfo, add test mallocinfo (Adam Jonas)
    
    Pull request description:
    
      Creating the `rpc_misc.py` functional test file to add space for adding tests to a file that doesn't have a lot of coverage.
        - Removing the `getmemoryinfo()` smoke test from wallet basic rather than moving it to keep the wallet decoupled. Feel like testing for reasonable memory allocation values should suffice.
        - Adding coverage for `mallocinfo()`. Introduced standard lib XML parser since the function exports an XML string that describes the current state of the memory-allocation implementation in the caller.
    
    Tree-SHA512: ced30115622916c88d1e729969ee331272ec9f2881eb36dee4bb7331bf633a6810a57fed63a0cfaf86de698edb5162e6a035efd07c89ece1df56b69d61288072
    f9dbb319d2
  125. Merge #15510: [rpc] deriveaddresses: add range to CRPCConvertParam
    9586157c0f9c12d3cfa55926ccc6c022324fa60a [rpc] deriveaddresses: add range to CRPCConvertParam (Sjors Provoost)
    
    Pull request description:
    
      Missing from #15497
    
    Tree-SHA512: 469de3f896bcd3435a480685e5257c51ba895df0311329d5e5a3cb2e1894e5358324473d998ea45221776aefe8836a7af6c4f12198a36d2d10bf6761991cfd60
    37f236acc6
  126. build: Bump version to 0.18.0
    Update version after branching off
    
    Tree-SHA512: 48f2c2ecfc485f0c864d2b1748ffb382df444abdc8387886bee1be5e49bbcaa6baf0a52544abb7189d762a3f33c82a794413511580e6154c0f82e5e58bea0b0f
    742f7dd972
  127. doc: Remove ppa from linux build instructions fa3148aacb
  128. Make last disconnected block BLOCK_FAILED_VALID, even when aborted 519b0bc5dc
  129. doc: Merge release notes fragments
    - 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
    b702e3757e
  130. Merge #15524: [0.18] doc: Remove ppa from linux build instructions
    fa3148aacbea0e1a0ba8016b66b8d6b876c267b2 doc: Remove ppa from linux build instructions (MarcoFalke)
    
    Pull request description:
    
      Same commit hash as #15518
    
    Tree-SHA512: b6ab2f84ca8efc4e71604422b427793b8b17d8d50422177f4ce967421457eee8c2f1d1e0e4fa8cad05cf42ab4343a25e4ee0404cafee978456eefe0c72b11f2b
    7630301c16
  131. build: set RC1
    Tree-SHA512: 26bd0cce9eaf906a921defd7e4abdbf1056f29c6327950d766753149dde19d6af39ee827f6e02ebfede488f5afb6b4048814061c45e611ffa43f8ef4598edcdb
    6a178e5261
  132. doc: Remove pr release notes file in wrong dir
    Github-Pull: #15527
    Rebased-From: fad76e7a49dc66b7b50902ee14a73808780d11bb
    Tree-SHA512: 15b8af83029b095fbe9f7163e2b82247f590831165596b67ed9acae8c11715593c57702731cfe3320e3fa645137fd90314598d1bf91e81cea01889ecc6d05d3a
    71ac4ebe48
  133. Merge #15552: 0.18: Granular invalidateblock and RewindBlockIndex
    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
    0fd3632868
  134. gitian: Improve error handling
    Github-Pull: #15549
    Rebased-From: 32da92bdf6bb55d6d312b0f85797d439cc942db5
    Tree-SHA512: c79455ed3aa0e529821ed30c5d36244dcc9fbf9154b63dfcce4789143d8a737f83ea2aaea8993748babc4cec45ae0e88449d2a6ddc90dcf62a39cf8d6a2ace2e
    f810f14cf6
  135. [addrman] Improve tried table collision logging
    Github-Pull: #15486
    Rebased-From: 4d834018e368c3481a5421891395f64aa9002185
    Tree-SHA512: c7843191c470d8b3298d4375632ddbcfd26358d21100bcbffa8d40498782f9dfef08cfb7b3c040525ef912b27ddd593322b60f8f21e16e2ae9bae66433ce807e
    561b00a02b
  136. [net] feeler connections can be made to outbound peers in same netgroup
    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
    487f0c3dc9
  137. [addrman] Ensure collisions eventually get resolved
    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
    333be7aabf
  138. [addrman] Improve collision logging and address nits
    Github-Pull: #15486
    Rebased-From: 20e6ea259b222b10f066f22695a5f56c52071f63
    Tree-SHA512: 73b37a98cf4d9ede1d39c30d178d63a5a6865dba6cb7a9f33bd1e03445acb708b3007c7cde991b5de96a407262adda23279fe7a1d2ed31b0b5a33b2e97aaba9b
    b80dedb596
  139. qt: periodic translations update
    Tree-SHA512: a2c5818dd2fa261b86a177e846e5a58062f1ea3adf3d4fef5ac6f4a503e7f9f143189a0068847f405cc68f9900f983db5c3ab9799a4e29dd41ced09542f57175
    936ef73fab
  140. build: use full version string in setup.exe
    Github-Pull: #15548
    Rebased-From: fa55104cb8e73c709e90fc5f81c9cb6a8a0713a6
    Tree-SHA512: 195d9d459431ae879a27e26d01962f020ddbbf648da26e52121c4fa7eb3438330f1ce34de431757e5079bf248f7129539e1d1a83c9c795ab57dc8c51545384bb
    021a9ad6f1
  141. doc: correct analysepsbt rpc doc
    Github-Pull: #15559
    Rebased-From: a4d0fd026b74db034dc8a1fa7efbd4f1dba8cdb9
    Tree-SHA512: 43f985ccb1af22e416230b8f351396d1fa677ee4e60f6952962ed37e842f5746df8a58ae7c35d6a7518af4b5974ee753b17ec3578394122584ca10e9ed561268
    20fd64fe10
  142. rpc: return a number for estimated_feerate in analyzepsbt
    Github-Pull: #15559
    Rebased-From: 335931df4a37467299a2ee0ba521ecd5c4e6d39e
    Tree-SHA512: ebe460e935e33fbbbe725db403654ee65c86a606401e8519e1180551e2ccd43661eb4ad20bf065f2c0c2a8026c3bb3bce796789f8d612e9e197ceb8d541a63a9
    2edd0c40c3
  143. Fix overflow bug in analyzepsbt fee: CAmount instead of int
    Github-Pull: #15582
    Rebased-From: c9963ae8b1a4d26d19c58e18fde9c85783edb788
    Tree-SHA512: ed1dcfafb7015de5405112938b04c4009bec3349a8d4e8aca641598ccab31a34c7f16b5045670909fd2e795fc40640a79658ef6b1771e9f21abd0ca759b239b5
    232ef630ec
  144. doc: Pre-rc2 translations update
    Tree-SHA512: a494a9039555b24a7a4f4ecebc2a1b7c47bf8937b2ec583659e4443b49919e6ddd0e276c273ce2f89955f433de300ea0c36216e288309a7fac5b2e3d2534a604
    a01925c150
  145. wallet: Log and ignore errors in ListWalletDir and IsBerkeleyBtree
    Github-Pull: #15583
    Rebased-From: 15c69b158da570f4e1430280c610e94ffdee0e51
    Tree-SHA512: edef7cafc5a2cb8d3355591a7742ef61454a5dedbb1dc22f6cc6bae42329d887f3f4a054f2aeedf31180051f50b6478d09e204066205699dabc0cb67b0ce4a96
    ef27a060ac
  146. build: bump to rc2
    Tree-SHA512: 8ce284bd20cfeee8bfb9f7144c9a4239b460f83ac18df840b417b43b11e8028b649fb056c9266d01ac39a926a8f4e931d0dc3ee302d0c84f5fcb2c7d18126322
    85f1755163
  147. doc: Update manpages
    Tree-SHA512: 97a6d7193da6f9d84e35e2511d949b08be990e035ffb38a149bf45df085ea41f4c84953ddd7a38b0165574f7168419fc2bd3ad6351f5012d89cf884d055693e7
    889af0eaac
  148. [p2p] Enable BIP 61 REJECT messages by default da14d90984
  149. [docs] document BIP 61 deprecation a7563633d2
  150. Merge #15602: 0.18: [p2p] Enable reject messages by default
    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
    d3a0382007
  151. Do not relay banned IP addresses
    Github-Pull: #15617
    Rebased-From: 054d01d0a87a5adc43428588ecc29f1339a69dd2
    Tree-SHA512: 2c47cf823cc51aee5a224513a0ca2fd1132f4c567d255ead661e88f009dc5d1db73da79b5e65a63b11b222e17292fdff9035a93cb2e53215d9bbb21a5bce7a41
    238ef33692
  152. gui: Defer removeAndDeleteWallet when no modal widget is active 98a24a262e
  153. Merge #15641: Backport #15614 to 0.18: gui: Defer removeAndDeleteWallet when no modal widget is active
    98a24a262eceb8fddad363f4bb1459c2dd8608eb gui: Defer removeAndDeleteWallet when no modal widget is active (João Barbosa)
    
    Pull request description:
    
      0.18 Backport of #15614
    
    Tree-SHA512: 8f785705325364ecfa37045090f10ca615f457e279789b0ce0d61f2667f491bce9b44f5e5cdeeecf63d61356213d9a97a3578841295cc8480cf42e037c2decb2
    b022242887
  154. [rpc] Remove deprecated functionality message from validateaddress help
    This functionality was removed in v0.18.
    be8b9c62bf
  155. Merge #15647: [rpc] Remove deprecated functionality message from validateaddress help
    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
    7eab2db849
  156. qt: Translations update pre-rc3
    Tree-SHA512: 52b66903e169fc3f53f8e4eccb0f765df9a6fbc149ba98fbe7f8b8e7f03e8196ebef8c19ed7412f6d09ddfa4b82e38aa357e1fca6942b0d1d7fe89ea66053556
    09a05e86d4
  157. build: Bump to rc3
    Tree-SHA512: 0d7a73946d75ac79df65dc6fb5c885353729a3401d985e2d452bf9e5964be7e169ae2cab481cba5307f5d3480d307e1c9e198090f2ede2c9c020543947d44db4
    f14a0aa99b
  158. release: Update the Windows Codesigning certificate
    Github-Pull: #15682
    Rebased-From: 43ae1e96ed2c2c71375f91309e789723045fcf0c
    Tree-SHA512: 10b7ef7f58b9ded4d6a446f7a03173de6d2ce5d31a09945308b32e250c9ee7550ad2d6ae3aecb0447731a98f2ddfd62a0dcfa61106b6cc1da78d9985407ecf47
    dcd96b84cf
  159. doc: Update manpages for changes since rc2
    Tree-SHA512: f42885f9b866b1172622c4ff2003b1abe5d26e2bfc060b141475761ddfb69b89c99ed5e9d15a23cf4581e77588f77eaecbbea5b7621c1ca22e7a2da6a788e746
    7bcf90cb01
  160. Simplify orphan processing in preparation for interruptibility
    Github-Pull: #15644
    Rebased-From: 9453018fdc8f02d42832374bcf1d6e3a1df02281
    6355214fd7
  161. [MOVEONLY] Move processing of orphan queue to ProcessOrphanTx
    Github-Pull: #15644
    Rebased-From: 6e051f3d323af1d209c02e7a4319834f1947ffa7
    bb60121da1
  162. 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
    50c56f2fcf
  163. [tests] Add test for wallet rebroadcasts
    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
    a90db2f175
  164. wallet: Move CWallet::ReacceptWalletTransactions locks to callers
    Github-Pull: #15652
    Rebased-From: 0440481c6bf5683eff669c789bdf6a306d99adc5
    ebf65666c2
  165. interfaces: Add Chain::requestMempoolTransactions
    Github-Pull: #15652
    Rebased-From: 57908a739ca377d60ef224ce0f565d4412a414f4
    ed0498af28
  166. wallet: Update transactions with current mempool after load
    Github-Pull: #15652
    Rebased-From: 2ebf650b2eb7a078ab60c8c4d5c726823686f549
    59716ec395
  167. qa: Check unconfirmed balance after loadwallet
    Github-Pull: #15652
    Rebased-From: 4bf1b1cefa9723bf2cfa8b1a938757abc99bb17b
    95faffed26
  168. Merge #15691: 0.18: rc3 backports
    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
    32ec900850
  169. Update bips.md for 0.18.0
    Github-Pull: #15763
    Rebased-From: 65d2f5d2de37fd64c9cf8d526bab0072774b7b1d
    538fef6625
  170. doc: correct bitcoinconsensus_version in shared-libraries
    Github-Pull: #15765
    Rebased-From: 8ae6d020b83572235f85ee68ce87045f2e97cbc0
    956c0aac28
  171. Mention new PSBT RPCs in psbt.md
    Github-Pull: #15757
    Rebased-From: 28d78de00bf49c6efc19f0edeef2a03d039752a1
    1b0752a265
  172. Mention new descriptor RPCs in descriptors.md
    Github-Pull: #15757
    Rebased-From: 9b085f4863eaefde4bec0638f1cbc8509d6ee59a
    bf32bc4b3d
  173. Merge #15775: [0.18] Doc Backports
    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
    164082c822
  174. rpc: getrpcinfo docs
    Github-Pull: #15754
    Rebased-From: f4b7a2f2055fa52d5e02c37bed7b46599b960e2e
    60d4621975
  175. Merge #15790: [0.18] backport #15754
    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
    f42ed1442e
  176. [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
    b3a04c963d
  177. 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
    fa3993bfe8
  178. gitignore: add *.dat
    Github-Pull: #15809
    Rebased-From: e7acf44bbfd05233f7753b3c8230892196facde8
    8f7cfb0096
  179. gitignore: add *.plist (clang-check)
    Github-Pull: #15809
    Rebased-From: 17be9e0e3037b60ba7bbf4b9249f2efc5e1ba9b3
    c69138a0d6
  180. doc: mention creating application support bitcoin folder on OSX
    Github-Pull: #15802
    Rebased-From: 8dfbb5cf236cb70a2a1e65b076ccb7e2901833bd
    9c572e3b21
  181. doc/dependencies: Fix typo libsrvg->librsvg
    Github-Pull: #15684
    Rebased-From: 7d01b5cf2ca67535374d444725fdff699b891683
    6d2448ca8e
  182. doc: describe onlynet option in doc/tor.md
    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
    194226f679
  183. doc: Clarify RPC versioning
    Github-Pull: #15799
    Rebased-From: fa747498f79c9f6bf29b08f5f3cc01b276126abb
    a644780a2f
  184. Keep full pubkeys in FlatSigningProvider::origins
    Github-Pull: #15749
    Rebased-From: 9a93c91c882265c908ea18496cd1bc271be914d4
    7fcbe7dc11
  185. Import all origin info in importmulti; even for non-importing pubkeys
    Github-Pull: #15749
    Rebased-From: 6e597001a4fc1ba837f3f23cfd7f2d65c3d58104
    802dcd37d1
  186. Take non-importing keys into account for spendability warning in descriptor import
    Github-Pull: #15749
    Rebased-From: b5d39877242504160a7f2c24c60c07a845d7a064
    235550d019
  187. 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
    e57462c6ba
  188. Revert "Change in transaction pull scheduling to prevent InvBlock-related attacks"
    This reverts commit 1cff3d6cb017aea87d16cbda0768bbab256d16da.
    8602d8b213
  189. Merge #15818: [0.18] doc backports
    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
    e753cbd645
  190. 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
    55462077fd
  191. 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
    a58d80d1b2
  192. 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
    607b1b7498
  193. gui: Pre-rc4 translations update
    Tree-SHA512: f3a7c9e0c935c869a85e3bc93a4bd33999270ffc13d35de34c46e9dab19229af19fb9c1a61a99264e8411c0966bf8b02a5ee94bf20a07f66b92234473f0e0801
    a4fc2fbb11
  194. doc: Move release notes from wiki
    Tree-SHA512: 59b8d913d56081ac73f3777ae4017b2f416da531e8c47ab854ff277f714f58e238215e89caa7c5973899dc3114cb5bdbaf7f7ca26a22a4062d6029d30d3c1156
    438483983a
  195. build: Bump version to rc4
    Tree-SHA512: 5a4b6c0f38402c289ecb0abb59d45ef87a9dfb0bc135baf0512bc4e566c92fb28da519da3aec006594c8ecde38eb8ab4997f899bcd2301f506c4d5633e84391a
    379f71ea4f
  196. doc: 0.18: Remove TODO from release notes fad9eb1014
  197. Merge #15852: doc: 0.18: Remove TODO from release notes
    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
    825ecb5758
  198. build: Bump version to -final
    Tree-SHA512: 94e3c6149ba6a8c49ffc64f3f0a642950ebfc722fdd6c6a30c21b989f49f8c8be827212e65a0f367332bd38a56fe4b248ccf2147f019aed06224f7975a21fff6
    2472733a24
  199. doc: Clean out release notes post-0.18.0
    Tree-SHA512: c1076f844d7b083e1637aeed51b05a638b8d8068a58cf1f24be9af811c071d11d71552d1b1ebfc7ba14a53aa2534288d12039c1a00270a316d528244144a74ad
    be92be5644
  200. build with -fstack-reuse=none
    Github-Pull: #15983
    Rebased-From: faf38bc056e523485520f98f3f725c583a3b89bf
    5935f0126e
  201. 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
    9c1a607a09
  202. test: Format predicate source as multiline on error
    Github-Pull: #15990
    Rebased-From: fa3872e7b4540857261aed948b94b6b2bfdbc3d1
    8f215c7a27
  203. test: Add test for p2p_blocksonly
    Github-Pull: #15990
    Rebased-From: fa320de79faaca2b088fcbe7f76701faa9bff236
    3460555f47
  204. doc: Mention blocksonly in reduce-traffic.md, unhide option
    Github-Pull: #15990
    Rebased-From: fa8ced32a60dea37ac169241cf9a1f708ef46c4b
    890a92eba8
  205. 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
    eb85ee62b3
  206. Install bitcoin-wallet manpage.
    This change marks the already-existing bitcoin-wallet.1 manpage file for
    installation together with the others.  Previously, only bitcoind.1,
    bitcoin-cli.1, bitcoin-tx.1 and bitcoin-qt.1 would be installed.
    
    Github-Pull: #15947
    Rebased-From: 00d110463aed12ecdc6e9c2bf47d9ef61d19fa9d
    a635377b62
  207. Show loaded wallets as disabled in open menu instead of nothing
    Github-Pull: #15957
    Rebased-From: c3ef63a52f304a600fff1f9c7caa5cb804d41d43
    3dbc7def0f
  208. Disallow extended encoding for non-witness transactions
    Github-Pull: #14039
    Rebased-From: bb530efa1872ec963417f61da9a95185c7a7a7d6
    206f5ee875
  209. Fix missing input template by making minimal tx
    Github-Pull: #15893
    Rebased-From: 25b078658139c1aea58393a32ac5a79144d8d140
    5a58ddb6d5
  210. Add test for superfluous witness record in deserialization
    Github-Pull: #15893
    Rebased-From: cc556e4a30b4a32eab6722f590489d89b2875de3
    86031083c7
  211. Disallow extended encoding for non-witness transactions (take 3)
    Github-Pull: #16021
    Rebased-From: fa2b52af32f6a4b9c22c270f36e92960c29ef364
    b6c1f9478f
  212. qt: fix opening bitcoin.conf via Preferences on macOS; see #15409
    Github-Pull: #16044
    Rebased-From: 6e6494b3fb345848025494cb7a79c5bf8f35e417
    b55cbe82d9
  213. gui: Enable console line edit on setClientModel
    Github-Pull: #16122
    Rebased-From: 2d8ad2f99710a8981e33fe2d6ce834b0076c4e80
    7ed1a60193
  214. gui: Set progressDialog to nullptr
    Github-Pull: #16135
    Rebased-From: d2ae6be80f6a0156021bf8c9b9d17cd4966ddffc
    d80c558e02
  215. Add test for GCC bug 90348
    Github-Pull: #15985
    Rebased-From: 58e291cfad12fa85af87d093acfa7b44702e3521
    d1f261150b
  216. dummywallet: Reformat ignored wallet options list 206c30f6d7
  217. Bugfix: dummywallet: Add -ignorepartialspends to list of ignored wallet options
    Github-Pull: #15913
    Rebased-From: 765d5890be46ed5f5557c1d2b3cb931e6b8eb3b0
    106471d0d7
  218. Merge #16189: 0.18: Backport "Add -ignorepartialspends to list of ignored wallet options"
    106471d0d710a957280c36862df222657ace17f5 Bugfix: dummywallet: Add -ignorepartialspends to list of ignored wallet options (Luke Dashjr)
    206c30f6d7ff9fbcdb0f0b882e8da54870f8ee73 dummywallet: Reformat ignored wallet options list (MarcoFalke)
    
    Pull request description:
    
      First run clang-format on the wallet options list (review with `--word-diff-regex=.`). This is not a backport.
    
      Then backport Github-Pull: #15913
    
    ACKs for commit 106471:
      promag:
        ACK 106471d.
      laanwj:
        ACK 106471d0d710a957280c36862df222657ace17f5
    
    Tree-SHA512: 3e6eb7997aa32ef7385842614bac8cac56f86b6dde949cfbbd33b4387e713bf5f65e40ee3e4228ac43dfe50829169175b80ddeaac8a714ad8a38175638123f5d
    9c29bc71dc
  219. gui: Enable open wallet menu on setWalletController
    Github-Pull: #16118
    Rebased-From: 75485ef0962a53946f17b761c4445627b07e6eff
    b2398240ff
  220. Fix RPC/pruneblockchain returned prune height
    Github-Pull: #15991
    Rebased-From: 97f517dd851450b1ede1eb6b20f77691883a7737
    c80a498ae5
  221. fixup: Fix prunning test
    Github-Pull: #15991
    Rebased-From: f402012ccfc596d7d94851dabbf386c278ff5335
    592016ba18
  222. Add example 2nd arg to signrawtransactionwithkey
    The RPC examples for signrawtransactionwithkey are missing the 2nd parameter.
    
    Github-Pull: #16210
    Rebased-From: 71fd628adafdeb2a4b343e0d51d7168cdb186312
    d24d0ec056
  223. rpc: Switch touched RPCs to IsValidNumArgs
    Github-Pull: #15899
    Rebased-From: fa5c5cd141f0265a5693234690ac757b811157d8
    bb36ac82ef
  224. Bugfix: test/functional/rpc_psbt: Remove check for specific error message that depends on uncertain assumptions
    When converttopsbt is called with a signed transaction, it either fails with "TX decode failed" if one or more inputs were segwit, or "Inputs must not have scriptSigs and scriptWitnesses" otherwise.
    Since no effort is made by the test to ensure the inputs are segwit or not, avoid checking the exact message used.
    The error code is still checked to ensure it is of the correct kind of failure.
    
    Github-Pull: #14818
    Rebased-From: 097c4aa379f255639ce0084702693fa72a595d6b
    966d8d0842
  225. Bugfix: test/functional/rpc_psbt: Correct test description comment
    Github-Pull: #14818
    Rebased-From: c87fc71f7e9316bcc0653cd86c50177424b5b1f9
    832eb4ff54
  226. rpc: bugfix: Properly use iswitness in converttopsbt
    Also explain the param in all RPCs
    
    Github-Pull: #15899
    Rebased-From: fa499b5f027f77c0bf13699852c8c06f78e27bef
    0023c97890
  227. tinyformat: Add doc to Bitcoin Core specific strprintf
    Github-Pull: #16205
    Rebased-From: fa72a64b90dc07a80b1ca6127eb50d8244dedc3b
    f88959ba7c
  228. Exceptions should be caught by reference, not by value.
    Github-Pull: #16095
    Rebased-From: ae7faf20d5fb3e2415ccadc37100dfc44aa0cd94
    e29aa6e72e
  229. 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
    beb09f09b3
  230. Replace remaining fprintf with tfm::format manually
    Github-Pull: #16205
    Rebased-From: fa8f195195945ce6258199af0461e3fbfbc1236d
    79745d1752
  231. test: Fixup creatmultisig documentation and whitespace
    Github-Pull: #15831
    Rebased-From: fad81d870aa6dd25d4fab5faad4c956ba364734a
    13b3bb5644
  232. test: Add test that addmultisigaddress fails for watchonly addresses
    Github-Pull: #15831
    Rebased-From: fab6a0a659bb856e4598af3e0679fc37d5239478
    23ba460c1a
  233. Pure python EC
    This removes the dependency on OpenSSL for the interaction tests, by providing a pure-Python
    toy implementation of secp256k1.
    
    Github-Pull: #15826
    Rebased-From: 8c7b9324ca3f3ffb178bea56a96ea23f7e0383cb
    d9fc969e71
  234. 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
    e78007fc1a
  235. gui: Fix open wallet menu initialization order
    The menu must be created before connecting to aboutToShow signal.
    
    Github-Pull: #16231
    Rebased-From: 5224be5a3354e1a22ea4d7f0e40aadfccdf67064
    2800b3d5c1
  236. Set AA_EnableHighDpiScaling attribute early
    Qt docs: This attribute must be set before QGuiApplication is
    constructed.
    
    Github-Pull: #16254
    Rebased-From: 099e4b9ad3d9967051d5c3d45c6315d1b30fea05
    715da91e91
  237. Add comments to Python ECDSA implementation
    Github-Pull: #15826
    Rebased-From: b67978529ad02fc2665f2362418dc53db2e25e17
    af25a757e0
  238. .python-version: Bump to 3.5.6
    See also: dddd1d05d3df06865f5e0b1442d7425c0955de4e
    bcb27d7b03
  239. 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
    629c7b029c
  240. signrawtransactionwithkey: report error when missing redeemScript/witnessScript param
    Github-Pull: #16250
    Rebased-From: 01174596e69568c434198a86f54cb9ea6740e6c2
    1dc357dabb
  241. Merge #16342: 0.18 backport: report error when missing redeemScript/witnessScript
    1dc357dab signrawtransactionwithkey: report error when missing redeemScript/witnessScript param (Anthony Towns)
    
    Pull request description:
    
      Backport of #16250 which fixes regression introduced in 0.18 in relation to signrawtransactionwithkey error handling (see #16249).
    
    Tree-SHA512: 0d75fa2aa578b886ace3bda92a02e25993f9f51d41db8c0eb3013bd77d266c45ad8b67dd0ed11c66533724f892be4e254edeb59fa70585ff762f522791fcca36
    1fb747a800
  242. gui: Fix missing qRegisterMetaType(WalletModel*)
    Github-Pull: #16348
    Rebased-From: f27bd96b5fdc2921d93c44bbf422bff0e979c4de
    e2f7677bde
  243. qt: Assert QMetaObject::invokeMethod result
    Github-Pull: #16348
    Rebased-From: 64fee489448c62319e77941c30152084695b5a5d
    df695db323
  244. Merge #16359: 0.18: Backport "qt: Assert QMetaObject::invokeMethod result"
    df695db3237571c662a4e199709f9c6615ffa0c5 qt: Assert QMetaObject::invokeMethod result (João Barbosa)
    e2f7677bdeb15d1517520ddc3e95e42ca13f721a gui: Fix missing qRegisterMetaType(WalletModel*) (João Barbosa)
    
    Pull request description:
    
    ACKs for top commit:
      hebasto:
        ACK df695db3237571c662a4e199709f9c6615ffa0c5, I have not tested the code, but I have reviewed it and it looks OK, I agree it can be merged.
      laanwj:
        ACK df695db3237571c662a4e199709f9c6615ffa0c5
    
    Tree-SHA512: 5ce162e59331f6da8ae9ba41eff809881442fab93d65362b5f67aba19da76a72362f0daba9ad1f909478bf26f2daf53b110a0486d7b29b23b3716a7cd7177922
    410774ab89
  245. fix: tor: Call event_base_loopbreak from the event's callback
    Github-Pull: #16405
    Rebased-From: a981e749e6553487cd48eda28e590f769e81c85c
    b2711b98bd
  246. Merge #16406: 0.18: fix: tor: Call event_base_loopbreak from the event's callback
    b2711b98bdc0dc220500a4b3ca94dfb97c4d17f2 fix: tor: Call event_base_loopbreak from the event's callback (João Barbosa)
    
    Pull request description:
    
      Github-Pull: #16405
      Rebased-From: a981e749e6553487cd48eda28e590f769e81c85c
    
    ACKs for top commit:
      laanwj:
        ACK b2711b98bdc0dc220500a4b3ca94dfb97c4d17f2, code change is the same as for master
      fanquake:
        ACK b2711b98bdc0dc220500a4b3ca94dfb97c4d17f2
    
    Tree-SHA512: 9f225e505c0241be422ed897f56aef6ebad57e15d3bfe5154c7fe4f874df342e0df287871cd737eb777d0f45865a6d129cd5d1a4c036ea0a4e5d4f36520ab174
    3f76160087
  247. 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
    063c8ce7a0
  248. qt: pre-rc1 translations update
    Tree-SHA512: b97fd91b7ab1eb2297007a9821def31c065a2a33f12cf51fd5e5be5dff1e8afb4f5b001d220c3873d72ca5b06484ad2d1e2c8df5300770145de0dfebe56db303
    641b2ffb45
  249. build: Bump version to 0.18.1rc1
    Tree-SHA512: f746d4cfda1eb433c4c99b8d80392ac2e905c1f39591eb5579a708129e3b1b36479a2da45221594713cf20069bde78c29a31cb10d39c7bc96544694d9832cda0
    aa2d12a592
  250. doc: Update manpages for rc1
    Tree-SHA512: 805a6931e2bd059ee2da42634f687828a50b2ccd3a1ac0071cd626e9a2f52b7afc79af3c8f3d5b013a853d5e59068314e744a4694dceef598710f0694babbd99
    a6cba19831
  251. doc: Update release notes for rc1
    Tree-SHA512: e5422eaed5339327b600bfe07e5cdb1517bf6f3d9a39d27c9c59a68ceadbef398960c69630bc727f3f8d7330353e7823905f5107dba6d8827965565157cdeca1
    784e218610
  252. laanwj commented at 4:15 PM on July 25, 2019: member

    stop this !

  253. laanwj closed this on Jul 25, 2019

  254. fanquake locked this on Jul 25, 2019
Contributors

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-29 03:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me