Commit graph

13959 commits

Author SHA1 Message Date
Wladimir J. van der Laan
9fccdd4ed4
Merge #15886: qt, wallet: Revamp SendConfirmationDialog
78f9b5160f Do not show list for the only recipient. (Hennadii Stepanov)
2ee756f041 Show recipient list as detailedText of QMessageBox (Hennadii Stepanov)
654e419549 Make SendConfirmationDialog fully fledged (Hennadii Stepanov)

Pull request description:

  Fix #15667

  With this PR:
  ![Screenshot from 2019-04-24 23-47-30](https://user-images.githubusercontent.com/32963518/56692672-63400b00-66eb-11e9-87f6-15957c6e81f7.png)
  ![Screenshot from 2019-04-24 23-47-40](https://user-images.githubusercontent.com/32963518/56692681-663afb80-66eb-11e9-8b04-8a342026ada6.png)

ACKs for commit 78f9b5:
  laanwj:
    code review ACK 78f9b5160f

Tree-SHA512: f868d78d01b0898aff2277fa3a7e8c6f936acbbcfa8a0323cddcd9daba4a998030c667bd803ae67c2b9179ed8082a48a67568e9ba3c8d14e3a2d88d93ada94fa
2019-06-06 13:12:17 +02:00
Wladimir J. van der Laan
fc6cbc31e9
Merge #15689: netaddress: Update CNetAddr for ORCHIDv2
8be3f3063 netaddress: Update CNetAddr for ORCHIDv2 (Carl Dong)

Pull request description:

  ```
  The original ORCHID prefix was deprecated as of 2014-03, the new
  ORCHIDv2 prefix was allocated by RFC7343 as of 2014-07. We did not
  consider the original ORCHID prefix routable, and I don't see any reason
  to consider the new one to be either.
  ```

  Would like to know if people think this kind of thing is even worth keeping the codebase updated for. Perhaps it'd be nice to write a devtool to pull the csv from [here](https://www.iana.org/assignments/iana-ipv6-special-registry/iana-ipv6-special-registry.xhtml) and generate the code.

ACKs for commit 8be3f3:
  laanwj:
    utACK 8be3f3063
  ryanofsky:
    utACK 8be3f30633. Only change since last review is rebasing after #15718 merge.

Tree-SHA512: 7c93317f597b1a6c1443e12dd690010392edb9d72a479a8201970db7d3444fbb99a80b98026caad6fbfbebb455ab4035d2dde79bc9263bfd1d0398cd218392e1
2019-06-06 12:52:54 +02:00
MeshCollider
81a884bbd0 Import private keys from descriptor with importmulti if provided 2019-06-06 22:03:55 +12:00
MeshCollider
a4d1bd1a29 Add private key derivation functions to descriptors 2019-06-06 22:03:55 +12:00
Sjors Provoost
f874e14cd3
[build]: check std::system for -[alert|block|wallet]notify
Platforms such as iOs do not support launching a process
through system().
2019-06-06 11:54:26 +02:00
Tim Ruffing
cac30a436c Clean up logic in memory_cleanse() for MSVC
Commit fbf327b138 ("Minimal code
changes to allow msvc compilation.") was indeed minimal in terms
of lines touched. But as a result of that minimalism it changed the
logic in memory_cleanse() to first call std::memset() and then
additionally the MSVC-specific SecureZeroMemory() function, and it
also moved a comment to the wrong location.

This commit removes the superfluous call to std::memset() on MSVC
and ensures that the comment is in the right position again.
2019-06-06 11:49:11 +02:00
practicalswift
67f4e9c522 Include core_io.h from core_read.cpp 2019-06-06 08:00:33 +02:00
practicalswift
0959d37e3e Don't use global (external) symbols for symbols that are used in only one translation unit 2019-06-06 07:45:56 +02:00
Wladimir J. van der Laan
d936cf9eaf
Merge #15985: Add test for GCC bug 90348
58e291cfa Add test for GCC bug 90348 (Pieter Wuille)

Pull request description:

  This adds a test for GCC bug 90348 (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90348), using a test case extracted from our own `sha256d64` test in crypto_tests.cpp, which was failing on some platforms.

  This is based on top of #15983 to make sure the bug doesn't trigger (it does in some Travis configurations without it).

ACKs for commit 58e291:

Tree-SHA512: 4dc9084e92dd143a53930e42bb68e33d922a2a2b891406b259d3a0bed4511dcc49e7447a7a8e4eb793a26e3eacb188ca293b71e0e061f9b3230f8e7fcfd29525
2019-06-05 14:35:11 +02:00
Wladimir J. van der Laan
52ec4c64e8
Merge #16144: wallet: do not encrypt wallets with disabled private keys
7860c98bd wallet: do not encrypt wallets with disabled private keys (whythat)

Pull request description:

  Fix for #15635.
  Throw an `RPC_WALLET_ENCRYPTION_FAILED` error when attempting to encrypt wallet with disabled private keys. Changed `test/function/wallet_createwallet.py` to test new behavior.

ACKs for commit 7860c9:
  achow101:
    utACK 7860c98bd5
  meshcollider:
    utACK 7860c98bd5

Tree-SHA512: d0cc40efd303a00d0b4d3cb2de59d8d2d7dd35647e7f3fe9d4a8986589499c1f567c5780c83a129e1ab8dbe601279c459c6ebce3b48b1d81d47a28616ef4a369
2019-06-05 12:49:35 +02:00
Wladimir J. van der Laan
5d37c1bde0
Merge #15976: refactor: move methods under CChainState (pt. 1)
403e677c9 refactoring: IsInitialBlockDownload -> CChainState (James O'Beirne)
3ccbc376d refactoring: FlushStateToDisk -> CChainState (James O'Beirne)
4d6688603 refactoring: introduce ChainstateActive() (James O'Beirne)
d7c97edee move-only: make the CChainState interface public (James O'Beirne)

Pull request description:

  This is part of the [assumeutxo project](https://github.com/bitcoin/bitcoin/projects/11):

  Parent PR: #15606
  Issue: #15605
  Specification: https://github.com/jamesob/assumeutxo-docs/tree/2019-04-proposal/proposal

  ---

  This changeset starts moving functionality intimately related to CChainState into methods. Parameterizing these functions by a particular CChainState is necessary for the use of multiple chainstates simultaneously (e.g. for asynchronous background validation).

  In this change, we
  - make the CChainState interface public - since other units will start to invoke its methods directly,
  - introduce `::ChainstateActive()`, the CChainState equivalent for `::ChainActive()`,
  - and move `IsInitialBlockDownload()` and `FlushStateToDisk()` into methods on CChainState.

  Independent of assumeutxo, these changes better encapsulate chainstate behavior and allow easier use from a testing context.

  There are more methods that we'll move in the future, but they require other substantial changes (i.e. moving ownership of the `CCoinsView*` hierarchy into CChainState) so we'll save them for future PRs.

  ---

  The first move-only commit is most easily reviewed with `git diff ... --color-moved=dimmed_zebra`.

ACKs for commit 403e67:
  Empact:
    utACK 403e677c9e no need to address my nits herein
  Sjors:
    utACK 403e677
  ryanofsky:
    utACK 403e677c9e. Only change since previous review is removing global state comment as suggested.
  MarcoFalke:
    utACK 403e677c9e, though the diff still seems a bit bloated with some unnecessary changes in the second commit.
  promag:
    utACK 403e677 and rebased with current [master](c7cfd20a7).

Tree-SHA512: 6fcf260bb2dc201361170c0b4547405366f5f331fcc3a2bac29b24442814b7b244ca1b58aac5af716885f9a130c343b544590dff780da0bf835c7c5b3ccb2257
2019-06-05 11:56:23 +02:00
Suhas Daftuar
4433ed0f73 [validation] Crash if disconnecting a block fails
If we're unable to disconnect a block during normal operation, then that is a
failure of our local system (such as disk failure) or the chain that we are on
(eg CVE-2018-17144), but cannot be due to failure of the (more work) chain that
we're trying to validate.

We should abort rather than stay on a less work chain.
2019-06-05 05:05:37 -04:00
whythat
7860c98bd5 wallet: do not encrypt wallets with disabled private keys 2019-06-04 16:39:34 +03:00
Wladimir J. van der Laan
6520330087
Merge #16044: qt: fix opening bitcoin.conf via Preferences on macOS
6e6494b3fb qt: fix opening bitcoin.conf via Preferences on macOS; see #15409 (shannon1916)

Pull request description:

  Fix #15409. The QT wallet fail to open the configuration file on Mac, when these is no default application for `*.conf` files.

  Here is a feasible way to solve this bug. When `QDesktopServices::openUrl` fails to open `file:///path/bitcoin.conf` with its default application, use `QProcess::startDetached` to run `open -t /path/bitcoin.conf` command instead, so as to open the configuration file with system's default text editor.

ACKs for commit 6e6494:
  hebasto:
    re-ACK 6e6494b3fb
  fanquake:
    tACK 6e6494b3fb on macOS 10.14.x

Tree-SHA512: 60e898f4cb77cfd7b8adbc8d33fbebf46bac2a801bdcf40cae15e24b78ad56b1f32358b1879b670623d9f8651dea93961d34269358cea18f4e15b089a8ffcfbf
2019-06-03 23:20:03 +02:00
Wladimir J. van der Laan
599206fda7
Merge #16090: Qt: Add vertical spacer to peer detail widget
36b0a2f2a6 Add vertical spacer (Josu Goñi)

Pull request description:

  Before:

  ![image](https://user-images.githubusercontent.com/25986871/58375408-a8f22c80-7f52-11e9-96ca-14f2186e6fa7.png)

  After:

  ![image](https://user-images.githubusercontent.com/25986871/58375420-fa022080-7f52-11e9-8add-eafe98068e8d.png)

ACKs for commit 36b0a2:
  fanquake:
    utACK 36b0a2f2a6
  hebasto:
    tACK 36b0a2f2a6 on Linux Mint 19.1, Qt 5.9.5
  fanquake:
    re-utACK 36b0a2f2a6
  kristapsk:
    ACK 36b0a2f2a6 (tested with Qt 5.11.3 under Linux/Xfce4)
  promag:
    Tested ACK 36b0a2f2a6 on macos 10.14.3. Resizing the window works as expected.

Tree-SHA512: 26ec9700aa9116ec2c604f8ec7b825b30c83c1d497c21f2191d3585868db4a2e3921de607dea9f7cd9a1ea49361215d738e2aba1936566d85757d87112d73088
2019-06-03 23:17:46 +02:00
Wladimir J. van der Laan
c3723c80da
Merge #16122: gui: Enable console line edit on setClientModel
2d8ad2f997 gui: Enable console line edit on setClientModel (João Barbosa)

Pull request description:

  Make console line edit disable by default, and only enable once `RPCConsole::setClientModel` is called.

  Fixes #16119.

ACKs for commit 2d8ad2:
  fanquake:
    tACK 2d8ad2f997 on macOS.

Tree-SHA512: 1418ce3c120c08e5ec3e7a7a063572a24402ce0ec541bd4adc21f61d60c4e86b711e82e940ebf5f0445ab861f89c146c2a2e7990fb52bed2c65fc199a1981f71
2019-06-03 22:20:44 +02:00
shannon1916
6e6494b3fb qt: fix opening bitcoin.conf via Preferences on macOS; see #15409 2019-06-03 10:32:15 +08:00
João Barbosa
d2ae6be80f gui: Set progressDialog to nullptr 2019-06-02 22:18:19 +01:00
practicalswift
eca9767673 Make reasoning about dependencies easier by not including unused dependencies 2019-06-02 17:15:23 +02:00
Pieter Wuille
58e291cfad Add test for GCC bug 90348 2019-06-02 10:19:30 +02:00
João Barbosa
2d8ad2f997 gui: Enable console line edit on setClientModel 2019-05-30 23:26:18 +01:00
João Barbosa
75485ef096 gui: Enable open wallet menu on setWalletController 2019-05-29 14:20:59 +01:00
Wladimir J. van der Laan
1dbbfea9cd
Merge #15703: Update secp256k1 subtree to latest upstream
54245985fb Squashed 'src/secp256k1/' changes from 0b70241850..b19c000063 (Pieter Wuille)

Pull request description:

  It's been 1.5 years since our secp256k1 subtree was updated, while the upstream project has undergone a number of incremental improvements (performance, tests, build system fixes), plus gained the groundwork for batch verification.

  As we're early in the 0.19 window, this seems like a good time to get these merged.

ACKs for commit 99df27:
  fanquake:
    utACK 99df276 the subtree merge, still need to test the actual changes.
  laanwj:
    utACK 99df276da

Tree-SHA512: 769a699366321635068ebfbd9d3f30f6e72401c4fcdc1fdc84e5b3fd888c3f01437748f6cd23a507ab47cf04c226cd504fd48aee654457c34bb106c9db7e5c09
2019-05-29 14:09:05 +02:00
Wladimir J. van der Laan
62efead8a8
Merge #16046: util: Add type safe GetTime
fa013664ae util: Add type safe GetTime (MarcoFalke)

Pull request description:

  There are basically two ways to get the time in Bitcoin Core:
  * get the system time (via `GetSystemTimeInSeconds` or `GetTime{Millis,Micros}`)
  * get the mockable time (via `GetTime`)

  Both return the same type (a plain int). This can lead to (test-only) bugs such as 99464bc38e.

  Fix that by deprecating `GetTime` and adding a `GetTime<>` that returns the mockable time in a non-int type. The new util function is currently unused, but new code should it where possible.

ACKs for commit fa0136:
  promag:
    utACK fa013664.

Tree-SHA512: efab9c463f079fd8fd3030c479637c7b1e8be567a881234bd0f555c8f87e518e3b43ef2466128103db8fc40295aaf24e87ad76d91f338c631246fc703477e95c
2019-05-29 13:39:54 +02:00
Wladimir J. van der Laan
de458da0c1
Merge #16056: mempool: remove unused magic number from consistency check
fadbc5d895 mempool: remove unused magic number from consistency check (Gregory Sanders)

Pull request description:

  Unexplained magic numbers are no good. Since the exact number does not matter, opt for a constant that is less peculiar.

  Note that this could only possibly affect mempool consistency checks which is not active by default except on regtest.

  see discussion: https://github.com/bitcoin/bitcoin/issues/15080

ACKs for commit fadbc5:
  practicalswift:
    utACK fadbc5d895

Tree-SHA512: 80f95ebc284c5bcc5d825fab0e9f962457a411539946d68ef4c8bdea4b1f2f7f0ead88928fac0eaaa02a1175f01f5ef381613ce53b0f27c3098e90d76ecfe9af
2019-05-29 12:22:43 +02:00
Karl-Johan Alm
5ebc6b0eb2
bitcoind: update -avoidpartialspends description to account for auto-enable for avoid_reuse wallets 2019-05-29 18:40:31 +09:00
Karl-Johan Alm
27669551da
wallet: enable avoid_partial_spends by default if avoid_reuse is set 2019-05-29 18:40:31 +09:00
Karl-Johan Alm
0bdfbd34cf
wallet/rpc: add 'avoid_reuse' option to RPC commands
createwallet, getbalance, getwalletinfo, listunspent, sendtoaddress

rpc/wallet: listunspent include reused flag and show reused utxos by default
2019-05-29 18:40:31 +09:00
Karl-Johan Alm
f904723e0d
wallet/rpc: add setwalletflag RPC and MUTABLE_WALLET_FLAGS 2019-05-29 18:40:31 +09:00
Karl-Johan Alm
8247a0da3a
wallet: enable avoid_reuse feature 2019-05-29 18:40:31 +09:00
Karl-Johan Alm
eec15662fa
wallet: avoid reuse flags
Add m_avoid_address_reuse flag to coin control object.
Add avoid_reuse wallet flag and accompanying strings/caveats.
2019-05-29 18:40:31 +09:00
Karl-Johan Alm
58928098c2
wallet: make IsWalletFlagSet() const 2019-05-29 18:40:15 +09:00
Karl-Johan Alm
129a5bafd9
wallet: rename g_known_wallet_flags constant to KNOWN_WALLET_FLAGS 2019-05-29 18:23:45 +09:00
Jonas Schnelli
ab6d18e6f8
Merge #16113: gui: move coin control "OK" to the right hand side of the dialog
d595b4aae gui: move coin control OK to the right (fanquake)

Pull request description:

  Fixes #16101

  The simplest fix seems to be to just drop the `sizePolicy` property, as we don't use that on any other instances of `QDialogButtonBox`.

  master (76e2cded47):
  ![master](https://user-images.githubusercontent.com/863730/58490351-fc26d380-813a-11e9-9906-043ff4f4959f.png)

  This PR:
  ![right-side](https://user-images.githubusercontent.com/863730/58490360-00eb8780-813b-11e9-80fb-2dab04a5ba54.png)

ACKs for commit d595b4:
  hebasto:
    utACK d595b4aae9
  jonasschnelli:
    utACK d595b4aae9
  JosuGZ:
    tACK d595b4aae9

Tree-SHA512: 7099e21d58457bfcbc83237f5a47ddf18cfa6bd9d6194b357b314b4d54aed72fdbbf10cbe38223affd87c2542b8f364d37ce6a175e594dfbcd18c725b42a6d3e
2019-05-29 09:02:44 +02:00
MeshCollider
ed40fbb02a
Merge #15741: Batch write imported stuff in importmulti
0db94e55d wallet: Pass WalletBatch to CWallet::UnsetWalletFlag (João Barbosa)
6cb888b37 Apply the batch treatment to CWallet::SetAddressBook via ImportScriptPubKeys (Ben Woosley)
6154a09e0 Move some of ProcessImport into CWallet::Import* (Ben Woosley)
ccb26cf34 Batch writes for importmulti (Andrew Chow)
d6576e349 Have WalletBatch automatically flush every 1000 updates (Andrew Chow)
366fe0be0 Add AddWatchOnlyWithDB, AddKeyOriginWithDB, AddCScriptWithDB functions (Andrew Chow)

Pull request description:

  Instead of writing each item to the wallet database individually, do them in batches so that the import runs faster.

  This was tested by importing a ranged descriptor for 10,000 keys.

  Current master

  ```
  $ time src/bitcoin-cli -regtest -rpcwallet=importbig importmulti '[{"desc": "sh(wpkh([73111820/44h/1h/0h]tpubDDoT2SgEjaU5rerQpfcRDWPAcwyZ5g7xxHgVAfPwidgPDKVjm89d6jJ8AQotp35Np3m6VaysfUY1C2g68wFqUmraGbzhSsMF9YBuTGxpBaW/1/*))#3w7php47", "range": [0, 10000], "timestamp": "now", "internal": true, "keypool": false, "watchonly": true}]'
  ...

  real	7m45.29s
  ```

  This PR:

  ```
  $ time src/bitcoin-cli -regtest -rpcwallet=importbig4 importmulti '[{"desc": "pkh([73111820/44h/1h/0h]tpubDDoT2SgEjaU5rerQpfcRDWPAcwyZ5g7xxHgVAfPwidgPDKVjm89d6jJ8AQotp35Np3m6VaysfUY1C2g68wFqUmraGbzhSsMF9YBuTGxpBaW/1/*)#v65yjgmc", "range": [0, 10000], "timestamp": "now", "internal": true, "keypool": false, "watchonly": true}]'
  ...

  real	3.93s
  ```

  Fixes #15739

ACKs for commit 0db94e:
  jb55:
    utACK 0db94e5
  ariard:
    Tested ACK 0db94e5
  Empact:
    re-utACK 0db94e55dc only change is re the privacy of `UnsetWalletFlagWithDB` and `AddCScriptWithDB`.

Tree-SHA512: 3481308a64c99b6129f7bd328113dc291fe58743464628931feaebdef0e6ec770ddd5c19e4f9fbc1249a200acb04aaf62a8d914d53b0a29ac1e557576659c0cc
2019-05-29 18:54:41 +12:00
Suhas Daftuar
308b76732f Fix bug around transaction requests
If a transaction is already in-flight when a peer announces a new tx to us, we
schedule a time in the future to reconsider whether to download. At that future
time, there was a bug that would prevent transactions from being rescheduled
for potential download again (ie if the transaction was still in-flight at the
time of reconsideration, such as from some other peer). Fix this.
2019-05-28 16:22:10 -04:00
Suhas Daftuar
f635a3ba11 Expire old entries from the in-flight tx map
If a peer hasn't responded to a getdata request, eventually time out the request
and remove it from the in-flight data structures.  This is to prevent any bugs in
our handling of those in-flight data structures from filling up the in-flight
map and preventing us from requesting more transactions (such as the NOTFOUND
bug, fixed in a previous commit).

Co-authored-by: Anthony Towns <aj@erisian.com.au>
2019-05-28 16:22:10 -04:00
MarcoFalke
faa2a47cd7
logging: Add threadsafety comments 2019-05-28 14:27:08 -04:00
Anthony Towns
0b282f9b00 Log early messages with -printtoconsole
This ensures log messages prior to StartLogging() are replayed to
the console as well as to the debug log file.
2019-05-28 14:26:42 -04:00
Anthony Towns
412987430c Replace OpenDebugLog() with StartLogging()
StartLogging() is used to mark the start of logging generically, whether
using -printtoconsole or -debuglogfile.
2019-05-28 14:26:06 -04:00
fanquake
d595b4aae9
gui: move coin control OK to the right 2019-05-28 11:16:39 -04:00
João Barbosa
0db94e55dc wallet: Pass WalletBatch to CWallet::UnsetWalletFlag 2019-05-28 11:03:54 -04:00
Ben Woosley
6cb888b37d Apply the batch treatment to CWallet::SetAddressBook via ImportScriptPubKeys 2019-05-28 11:03:42 -04:00
Ben Woosley
6154a09e01 Move some of ProcessImport into CWallet::Import*
This maintains encapsulation of CWallet::database in the face of
batching, e.g. allows making the `WithDB` methods private.
2019-05-28 11:03:18 -04:00
Kristaps Kaupe
ae7faf20d5 Exceptions should be caught by reference, not by value. 2019-05-26 18:35:13 +03:00
Josu Goñi
36b0a2f2a6 Add vertical spacer 2019-05-26 00:00:46 +02:00
practicalswift
fb434159d1 Remove global symbols: Avoid using the global namespace if possible
Rename CCriticalSection to RecursiveMutex (both are AnnotatedMixin<std::recursive_mutex>)

```
$ git grep -E '(typedef|using).*(CCriticalSection|RecursiveMutex)'
src/sync.h:using RecursiveMutex = AnnotatedMixin<std::recursive_mutex>;
src/sync.h:typedef AnnotatedMixin<std::recursive_mutex> CCriticalSection;
```
2019-05-25 23:23:11 +02:00
MarcoFalke
fa013664ae
util: Add type safe GetTime 2019-05-23 14:12:32 -04:00
MarcoFalke
65c4bbe629
Merge #16034: refactoring: Rename LockAnnotation to LockAssertion and add run-time check to it
9f85e9cb3d scripted-diff: Rename LockAnnotation to LockAssertion (practicalswift)
de9b5dbca3 Make sure the compile-time locking promises given via LockAnnotation:s hold also in practice at runtime (ifdef DEBUG_LOCKORDER) (practicalswift)
3a809446b3 Move LockAnnotation to make it reflect the truth (practicalswift)
cc2588579c Move LockAnnotation from threadsafety.h (imported code) to sync.h (our code) (practicalswift)

Pull request description:

  `LockAnnotation lock(mutex);` is a guarantee to the compiler thread-analysis that `mutex` is locked (when it couldn't be determined otherwise).

  Before this PR it was possible to make the mistake of adding a `LockAnnotation` where the correct mutex is _not_ held. This in turn makes the thread-analysis reasoning being based on incorrect premises.

  This PR adds an assertion in the `LockAnnotation` ctor which checks that the guarantees given by us at compile-time are held also in practice (`ifdef DEBUG_LOCKORDER`).

  Issues like the one described in #16028 will be discovered immediately with this PR merged.

  Changes in this PR:
  * Move `LockAnnotation` from `threadsafety.h` (imported code) to `sync.h` (our code)
  * Move `LockAnnotation` in `wallet_tests` to make it reflect the truth
  * Make sure the compile-time locking promises given via `LockAnnotation`:s hold also in practice at runtime (`ifdef DEBUG_LOCKORDER`)
  * Rename `LockAnnotation` to `LockAssertion`

ACKs for commit 9f85e9:
  ryanofsky:
    utACK 9f85e9cb3d. No changes at all since last review except clean rebase after base PR #16033 was merged

Tree-SHA512: fb80e78fe362adfd6ea8405bcb142c09b99f834fe8be4397282b223ca2c3a2bb9719a074a47a043b44757f840b239a6fcd2f98d14771f8729204834ecf608c3a
2019-05-23 13:36:10 -04:00
MarcoFalke
0b058ba69d
Merge #16024: [rpc] deriveaddresses: Correction of descriptor checksum in RPC example
e23809a05b [rpc] deriveaddresses: Correct descriptor checksum in RPCExamples (Chris Capobianco)

Pull request description:

  Trvial: This fixes the descriptor checksum found the in the deriveaddresses RPC example.

  The current checksum value does work, but only if the "h" used for the hardened derivation key origin are replaced with "'".

  Given the discussion to switch from "'" to "h" [here](https://github.com/bitcoin/bitcoin/issues/15740), I thought it made more sense to update the checksum rather then changing all the "h" to "'" in this example.

ACKs for commit e23809:
  instagibbs:
    tACK e23809a05b

Tree-SHA512: 06a2b9f3e714ecde9b9a80b3b7a4082eb072e71d8abcc455ff5387e470d48839f22a70b78bbae1cf9122cb133fee46830819b6f39d67aec8c3c8d5889ae94e04
2019-05-23 12:43:11 -04:00