aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2019-02-06Merge #15321: doc: Add cs_main lock annotations for mapBlockIndexMarcoFalke
fa2a69fcb9 doc: Add cs_main lock annotations for mapBlockIndex (practicalswift) Pull request description: Marked as "doc" because it didn't change the bitcoind on my system with default configure settings for both gcc and clang. Tree-SHA512: ba203f16c1cdc834a61c65bb5fb20bbaf7d8bff0c3a1b8ef46bc1d3669092191221e26abd7e580efab2f9bd5a992dc363251f1b68c6cd68f8204d62675868cf1
2019-02-06Merge #15091: GUI: fix model overlay header syncWladimir J. van der Laan
e8db6b8044424a6fbb4b0a80acffc8c7fbf6be8b Qt: Fix update headers-count (Jonas Schnelli) 7bb45e4b7a71e0ff0e2bbeba5367022758efa5d4 Qt: update header count regardless of update delay (Jonas Schnelli) Pull request description: Update the block and header tip is constraint to have a minimal distance of 250ms between updates... which can lead to miss the last header update. The modal overlay then assumes we are still in header sync and the view get stuck in "syncing headers,..." (while it's actually syncing blocks). This removes the 250ms minimal delta for header updates as well as it fixes the correct display of how header updates should update the labels. Tree-SHA512: 57608dac822b135cd604fc6ba1c80f25c0202a6e20bb140362026615d4bf243ef4fcc254a11bad36419c554a222a2f4947438d4ce44aa14041d1874751643d68
2019-02-05Merge #15332: [Docs] Small updates to getrawtransaction descriptionMarcoFalke
47012391ec [Docs] Small updates to getrawtransaction description (Amiti Uttarwar) Pull request description: As per review comments on https://github.com/bitcoin/bitcoin/pull/15159 Tree-SHA512: 0bbbe956b47d177f7e67c5ab2048287783327d9e07a679d64d79aee3ea8633e769f75b59d3dbce517924ba5d64d6c44f26bf49e16d40612463e460ad1a238129
2019-02-05Merge #15327: tests: Make test updatecoins_simulation_test deterministicMarcoFalke
ef0b01217a tests: Make updatecoins_simulation_test deterministic (practicalswift) Pull request description: Make test `updatecoins_simulation_test` deterministic. Can be verified using `contrib/test_deterministic_coverage.sh` introduced in #15296. Related: * #15296: "tests: Add script checking for deterministic line coverage in unit tests" * #15324: "test: Make bloom tests deterministic" * #14343: "coverage reports non-deterministic" Tree-SHA512: 3466e28a42dd3735effb8542044d88e8350a470729d4a4f02abce9d6367de6568d698131469ba154d3dc76d448bacb360b7aefd066bb5b91408c0be375dd3ecb
2019-02-05Merge #15203: Fix issue #9683 "gui, wallet: random abort (segmentation fault)MarcoFalke
364cff1cab Fix issue #9683 "gui, wallet: random abort (segmentation fault) running master/HEAD". (Chris Moore) Pull request description: Patch taken from @ryanofsky's comment https://github.com/bitcoin/bitcoin/issues/9683#issuecomment-448035913. [MarcoFalke wrote](https://github.com/bitcoin/bitcoin/issues/9683#issuecomment-454066004): > Mind to submit this patch as a pull request? So that's what I'm doing. I was regularly seeing crashes on startup before applying this patch and haven't seen a single crash on startup since applying it almost a month ago. Tree-SHA512: 3bbb2291cdf03ab7e7b5b796df68d76272491e35d473a89f4550065554c092f867659a7b8d7a1a91461ae4dc9a3b13b72541eafdbd732536463e9f3cf82300c8
2019-02-06Merge #15297: wallet: Releases dangling files on BerkeleyEnvironment::CloseMeshCollider
d3bf3b930 qa: Test .walletlock file is closed (João Barbosa) 2f8b8f479 wallet: Close wallet env lock file (João Barbosa) 8602a1e6a wallet: Close dbenv error file db.log (João Barbosa) Pull request description: This PR closes `db.log` and removes `.walletlock` files when `BerkeleyEnvironment` is closed. Fixes https://github.com/bitcoin/bitcoin/issues/15291#issuecomment-459131886. Tree-SHA512: 05d8b027feea914e0ba873e75d117857473d1fd7b400e41bd473d638171fa39d5be048990bf685dc0807f7d92418579b763056dc2a6dcf6b96777d5688ddee04
2019-02-05Merge #14922: windows: Set _WIN32_WINNT to 0x0601 (Windows 7)Wladimir J. van der Laan
0164b0f5cf80cd00a4914d9fea0bcb9508cb7607 build: Remove WINVER pre define in Makefile.leveldb.inlcude (Chun Kuan Lee) d0522ec94ebbaa564f5f6b31236d4df032664411 Drop defunct Windows compat fixes (Ben Woosley) d8a299206780b38959d732cbe40ba1dd25834f0e windows: Call SetProcessDEPPolicy directly (Chun Kuan Lee) 1bd9ffdd44000b208d29d35451f4dc9f1ac9318f windows: Set _WIN32_WINNT to 0x0601 (Windows 7) (Chun Kuan Lee) Pull request description: The current minimum support Windows version is Vista. So set it to 0x0600 https://github.com/mirror/mingw-w64/blob/5a88def8ad862ef8f4e5f2e69661bfb2d07f1ce2/mingw-w64-headers/include/sdkddkver.h#L19 Tree-SHA512: 38e2afc79426ae547131c8ad3db2e0a7f54a95512f341cfa0c06e4b2fe79521ae67d2795ef96b0192e683e4f1ba6183c010d7b4b8d6b3e68b9bf48c374c59e7d
2019-02-05Merge #15245: remove deprecated mentions of signrawtransaction from fundraw helpMarcoFalke
851380ce17 remove deprecated mentions of signrawtransaction from fundraw help (Gregory Sanders) Pull request description: RPC call has been removed as of 0.17.99. Tree-SHA512: a6a12a0e4572acd9b532c1719be85ed6f29d1c1a28f9ce691398528b8dde4fb4a3222b8f68632fcb1a8eddfe2d31e96d5efd5bc51c041af8e7cb99b61ca3a167
2019-02-05Merge #15342: Suggested wallet code cleanups from #14711MarcoFalke
aebafd0edf Rename Chain getLocator -> getTipLocator (Russell Yanofsky) 2c1fbaa771 Drop redundant get_value_or (Russell Yanofsky) 84adb206fc Fix ScanForWalletTransactions start_block comment (Russell Yanofsky) 2efa66b464 Document rescanblockchain returned stop_height being null (Russell Yanofsky) db2d093233 Add suggested rescanblockchain comments (Russell Yanofsky) a8d645c934 Update ScanForWalletTransactions result comment (Russell Yanofsky) 95a812b599 Rename ScanResult stop_block field (Russell Yanofsky) Pull request description: This implements suggested changes from #14711 review comments that didn't make make it in before merging. There are no changes in behavior in this PR, just documentation updates, simplifications, and variable renames. Tree-SHA512: 39f1a5718195732b70b5e427c3b3e4295ea5af6328a5991763a422051212dfb95383186db0c0504ce2c2782fb61998dfd2fe9851645b7cb4e75d849049483cc8
2019-02-04Fix issue #9683 "gui, wallet: random abort (segmentation fault) running ↵Chris Moore
master/HEAD". Patch taken from @ryanofsky's comment https://github.com/bitcoin/bitcoin/issues/9683#issuecomment-448035913 and refined according to https://github.com/bitcoin/bitcoin/pull/15203#discussion_r249168229
2019-02-05Fix build after pr 15266 mergedHennadii Stepanov
2019-02-04Merge #15266: memory: Construct globals on first useMarcoFalke
77777c5624 log: Construct global logger on first use (MarcoFalke) Pull request description: The (de)initialization order is not well defined in C++, so generally it is not safe to use globals as the (de/con)structor of one global could use the (de/con)structor of another global before/after it has been (con/de)structed. Specifically this fixes: * `g_logger` might not be initialized on the first use, so do that. (Fixes #15111) Tree-SHA512: eb9c22f4baf31ebc5b0b9ee6a51d1354bae1f0df186cc0ce818b4483c7b5a7f90268d2b549ee96b4c57f8ef36ab239dc6497f74f3e2ef166038f7437c368297d
2019-02-04net: Correct comparison of addr countCarl Dong
LOCAL_NONE is supposed to be an enum indicating the score of a LocalServiceInfo rather than the count of an addr in mapLocalHost.
2019-02-04[Docs] Small updates to getrawtransaction descriptionAmiti Uttarwar
2019-02-04remove deprecated mentions of signrawtransaction from fundraw helpGregory Sanders
2019-02-04qt: Pre-0.18 split-off translations updateWladimir J. van der Laan
- Update transifex slug - Mention update of MSVC build in `doc/translation_process.md` - Do a `make translate` to update English translations - Pull current translations from transifex
2019-02-04wallet: Close wallet env lock fileJoão Barbosa
Close .walletlock file when a BerkeleyEnvironment is deleted.
2019-02-04wallet: Close dbenv error file db.logJoão Barbosa
The error file db.log is opened by BerkeleyEnvironment instance and should be closed after dbenv is closed.
2019-02-04Merge #15322: wallet: Add missing cs_db lockWladimir J. van der Laan
712d35bc563ac7de0b7dfc3a35fc48dc6448fa6a wallet: Add missing cs_db lock (João Barbosa) Pull request description: Without this lock `BerkeleyEnvironment::~BerkeleyEnvironment` and `GetWalletEnv` would race for `g_dbenvs`. This wasn't detected before because thread safety analysis does not check constructors and destructors. Reference: http://releases.llvm.org/5.0.2/tools/clang/docs/ThreadSafetyAnalysis.html#no-checking-inside-constructors-and-destructors Tree-SHA512: 350cb2b991ca699a6bca85f87c82c38f0814484c8ccb0d7d83cb3bff9afcf60dd32b2a9554a9e72eb5803bfad8b6970fe7da618b39be5889178b86faa1b74124
2019-02-04Merge #15324: test: Make bloom tests deterministicWladimir J. van der Laan
fae169c95e09ddf068dcaebc8170c4f41b02cf66 test: Make bloom tests deterministic (MarcoFalke) Pull request description: non-deterministic tests are useless, since a failing test could not be reproduced unless the seed is known. Tree-SHA512: 4f634ff0c6adf663444f1ac504f6dbceaa46b78d697b840531977ba30006453ac559d5c21cc3eaef6d92b87d46008a34b0db6331ea3318001987fcfaec634acf
2019-02-03Check m_internals in UnregisterValidationInterfaceJoão Barbosa
When a wallet is created it is registered in the validation interface (in CWallet::CreateWalletFromFile) but it is not immediately added to the wallets list. If a shutdown is requested before AddWallet (case more evident when -rescan is set) then m_internals can be released (in Shutdown -> UnregisterBackgroundSignalScheduler) before the wallet and then ReleaseWallet would call UnregisterValidationInterface with m_internals already released.
2019-02-03gui: Fix m_node.startShutdown() orderJoão Barbosa
This change forwards the shutdown request on the GUI (close the application for instace) to the node as soon as possible. This way the GUI doesn't have to wait for long operations to complete (rescan the wallet for instance), instead those operations detect the shutdown request and abort/interrupt.
2019-02-03gui: Expose BitcoinGUI::unsubscribeFromCoreSignalsJoão Barbosa
Move only change that makes unsubscribeFromCoreSignals public. It must be called if the event loop is not running otherwise core signals handlers can deadlock.
2019-02-03gui: Fix WalletController deletionJoão Barbosa
The wallet controller instanced must be deleted after the window instance since it is used there.
2019-02-03tests: Make updatecoins_simulation_test deterministicpracticalswift
2019-02-03Merge #15263: Descriptor expansions only need pubkey entries for PKH/WPKHMeshCollider
11e0fd8d6 Descriptor expansions only need pubkey entries for PKH/WPKH (Pieter Wuille) Pull request description: Currently, calling `Expand` on a `Descriptor` object will populate the output FlatSigningProvider with all public keys involved in the descriptor. This is overkill, as pubkey entries are only needed when the lookup of a public key based on its hash is desired (which is the case for `pkh`, `wpkh`, and `combo` descriptors). Fix this by pushing the population of pubkey entries down into the individual descriptor implementation's `MakeScript` function, instead of doing it generically. This should make it easier to implement #14491 without importing P2PKH outputs for the individual public keys listed inside a multisig. Tree-SHA512: 5bc7e9bd29f1b3bc63514803e9489b3bf126bfc177d46313aa9eeb98770ec61a97b55bd8ad4e2384154799f24b1bc4183bfdb4708b2ffa6e37ed2601a451cabc
2019-02-02test: Make bloom tests deterministicMarcoFalke
2019-02-01Rename Chain getLocator -> getTipLocatorRussell Yanofsky
Suggested https://github.com/bitcoin/bitcoin/pull/14711#discussion_r252044389
2019-02-01Drop redundant get_value_orRussell Yanofsky
Suggested https://github.com/bitcoin/bitcoin/pull/14711#discussion_r252041954
2019-02-01Fix ScanForWalletTransactions start_block commentRussell Yanofsky
Suggested https://github.com/bitcoin/bitcoin/pull/14711#discussion_r252036436
2019-02-01wallet: Add missing cs_db lockJoão Barbosa
Without this lock BerkeleyEnvironment::~BerkeleyEnvironment and GetWalletEnv would race for g_dbenvs. This wasn't detected before because thread safety analysis does not check constructors and destructors.
2019-02-01Document rescanblockchain returned stop_height being nullRussell Yanofsky
Suggested https://github.com/bitcoin/bitcoin/pull/14711#discussion_r252031485
2019-02-01doc: Add cs_main lock annotations for mapBlockIndexpracticalswift
2019-02-01Merge #15308: build: Restore compatibility with older boostMarcoFalke
119d360aab travis: Document whether functional tests are run in the job name (Ben Woosley) 64f28545e3 Revert "travis: Compile trusty with depends for now" (Ben Woosley) 267eac00f9 Prefer boost::optional#get_value_or over #value_or (Ben Woosley) 1971f5ba04 Piecewise construct to avoid invalid construction (Ben Woosley) Pull request description: In light of #14979, I realized that only qt 5.5+ was being tested under CI, while compatibility lists 5.2+. In #15276, Marco added Trusty to CI, building with depends. This changes that build to system libraries, in order to ensure ongoing compatibility with our claimed minimum required versions. Fixes #14983, previously open as #14998 Tree-SHA512: 6cff5e28c756ecb8bf797c8f6eb77c1944ba61a8dd6d7d4984e63eef384f6429dc79c505da3241c05b9c4db31c72b2a9846c7365aba9280f2e0620e5f3998d07
2019-02-01Add suggested rescanblockchain commentsRussell Yanofsky
From https://github.com/bitcoin/bitcoin/pull/14711#discussion_r252043990
2019-02-01Update ScanForWalletTransactions result commentRussell Yanofsky
Suggested https://github.com/bitcoin/bitcoin/pull/14711#discussion_r252038666
2019-02-01Rename ScanResult stop_block fieldRussell Yanofsky
Avoid confusion with stop_block argument as suggested https://github.com/bitcoin/bitcoin/pull/14711#discussion_r252038449
2019-02-01Merge #15235: Do not import private keys to wallets with private keys disabledWladimir J. van der Laan
e6c58d3b014ab8ef5cca4be68764af4b79685fcb Do not import private keys to wallets with private keys disabled (Andrew Chow) b5c5021b644731d14a6ef04961320a99466f035a Refactor importwallet to extract data from the file and then import (Andrew Chow) 1f77f6754ce724493b0cb084ae0b35107d58605f tests: unify RPC argument to cli argument conversion and handle dicts and lists (Andrew Chow) Pull request description: Fixes a bug where private keys could be imported to wallets with private keys disabled. Now every RPC which can import private keys checks for whether the wallet has private keys are disabled and errors if it is. Also added an belt-and-suspenders check to `AddKeyPubkeyWithDB` to have it assert that the wallet has private keys enabled. Tree-SHA512: 5cd04febce9aa2bd9bfd02f312c6ff8705e37278cae59efd3895f6d6e2f1b477aefd297e2dd0860791bdd3d4f3cad8eb1a404f8f3d4e2035b91314ad2c1028ae
2019-01-31Prefer boost::optional#get_value_or over #value_orBen Woosley
The latter is not defined in the earliest supported version of boost, 1.47. https://www.boost.org/doc/libs/1_47_0/libs/optional/doc/html/boost_optional/detailed_semantics.html https://travis-ci.org/bitcoin/bitcoin/jobs/486674823
2019-01-31Piecewise construct to avoid invalid constructionBen Woosley
In CMainSignals::RegisterWithMempoolSignals running under Ubuntu 14.04 (QT 5.2), absent piecewise construction this fails to create the pair because the argument is a connection, which is converted into a non-copyable scoped_connection. validationinterface.cpp:80:186: required from here /usr/include/boost/signals2/connection.hpp:234:7: error: ‘boost::signals2::scoped_connection::scoped_connection(const boost::signals2::scoped_connection&)’ is private scoped_connection(const scoped_connection &other); ^ In file included from /usr/include/c++/4.8/utility:70:0, from /usr/include/c++/4.8/algorithm:60, from ./prevector.h:13, from ./script/script.h:10, from ./primitives/transaction.h:11, from ./validationinterface.h:9, from validationinterface.cpp:6: /usr/include/c++/4.8/bits/stl_pair.h:134:45: error: within this context : first(std::forward<_U1>(__x)), second(__y) { } https://travis-ci.org/bitcoin/bitcoin/jobs/473689141#L2172
2019-01-31Do not import private keys to wallets with private keys disabledAndrew Chow
2019-01-31Refactor importwallet to extract data from the file and then importAndrew Chow
Instead of importing keys and scripts as each line in the file is read, first extract the data then import them.
2019-01-31Merge #15299: Fix assertion in CKey::SignCompactWladimir J. van der Laan
3617f117394285c87c395a0ccc92941977f97019 Fix assertion in CKey::SignCompact (João Barbosa) Pull request description: Fixes #15286. Tree-SHA512: b39b6f26f87cf1850b13f625ab6de963937b6ecb5b6d4ac4932134f0491a6c0fa61c6d6e6980e8b1770775578dc365fdd1b6ba426bba1f7c23430f68b3a2339a
2019-01-31Merge #11911: Free BerkeleyEnvironment instances when not in useWladimir J. van der Laan
14bc2a17dd03ccd89f65a302328763ff22c710c2 Trivial: add doxygen-compatible comments relating to BerkeleyEnvironment (Pierre Rochard) 88b1d956fe3e38f2d2dd805feee9dadb0be9e8a9 Tests: add unit tests for GetWalletEnv (Pierre Rochard) f1f4bb7345b90853ec5037478173601035593d26 Free BerkeleyEnvironment instances when not in use (Russell Yanofsky) Pull request description: Instead of adding BerkeleyEnvironment objects permanently to the g_dbenvs map, use reference counted shared pointers and remove map entries when the last BerkeleyEnvironment reference goes out of scope. This change was requested by @TheBlueMatt and makes code that sets up mock databases cleaner. The mock database environment will now go out of scope and be reset on destruction so there is no need to call BerkeleyEnvironment::Reset() during wallet construction to clear out prior state. This change does affect bitcoin behavior slightly. On startup, instead of same wallet environments staying open throughout VerifyWallets() and OpenWallets() calls, VerifyWallets() will open and close an environment once for each wallet, and OpenWallets() will create its own environment(s) later. Tree-SHA512: 219d77a9e2268298435b86088f998795e059fdab1d2050ba284a9ab8d8a44961c9b5cf96e94ee521688108d23c6db680e3e3a999b8cb2ac2a8590f691d50668b
2019-01-31Merge #13926: [Tools] bitcoin-wallet - a tool for creating and managing ↵MarcoFalke
wallets offline 3c3e31c3a4 [tests] Add wallet-tool test (João Barbosa) 49d2374acf [tools] Add wallet inspection and modification tool (Jonas Schnelli) Pull request description: Adds an offline tool `bitcoin-wallet-tool` for wallet creation and maintenance. Currently this tool can create a new wallet file, display information on an existing wallet, and run the salvage and zapwallettxes maintenance tasks on an existing wallet. It can later be extended to support other common wallet maintenance tasks. Doing wallet maintenance tasks in an offline tool makes much more sense (and is potentially safer) than having to spin up a full node. Tree-SHA512: 75a28b8a58858d9d76c7532db40eacdefc5714ea5aab536fb1dc9756e2f7d750d69d68d59c50a68e633ce38fb5b8c3e3d4880db30fe01561e07ce58d42bceb2b
2019-01-31Fix assertion in CKey::SignCompactJoão Barbosa
2019-01-31Merge #15225: GUI: Change the receive button to respond to keypool state ↵Wladimir J. van der Laan
changing 2bc4c3eaf96f5f8490fc79280422916c5d14cde3 Notify the GUI that the keypool has changed to set the receive button (Andrew Chow) 14bcdbe09cffaef9bcc51dd9de1645db3f0a93db Check for more than private keys disabled to show receive button (Andrew Chow) Pull request description: Currently the Receive button in the GUI is displayed enabled or disabled by the initial state of the wallet when the wallet is first loaded. The button is only enabled or disabled depending on whether the disable private keys flag is set when the wallet is loaded. However, future changes to the wallet means that this initial state and check may no longer be accurate. #14938 introduces empty wallets which do not have private keys. An empty wallet that is loaded should have the Receive button disabled, and then it should become enabled once `sethdseed` is used so that a keypool can be generated and new keys generated. Likewise, with #14075, a wallet can be loaded with no keypool initially, so the button should be disabled. Later, public keys can be imported into the keypool, at which time the button should become enabled. When the keypool runs out again (no new keys are generated as the keypool only consists of imports), the button should become disabled. This PR makes it so that the button becomes enabled and disabled as the keypool state changes. The check for whether to enable or disable the receive button has changed to checking whether it is possible to get new keys. It now checks for whether the wallet has an HD seed and, if not, whether the private keys are disabled. When an action happens which would make it possible for a new address to be retrieved or make it possible for a no more addresses to be retrieved, a signal is emitted which has the GUI recheck the conditions for the Receive button. These actions are setting a new HD seed, topping up the keypool, retrieving a key from the keypool, and returning a key to the keypool. Tree-SHA512: eff15a5337f4c64ecd7169414fb47053c04f6a0f0130341b6dd9799ac4d79f451e25284701c668971fca33f0909d5352a474a2c12349375bedfdb59b63077d50
2019-01-31Merge #15272: doc: correct logging return type and RPC exampleWladimir J. van der Laan
e1c27da30378940095806b2bf9989b162ed8ac07 doc: correct logging rpc return type and example (fanquake) Pull request description: Logging status is returned as a bool. ``` src/bitcoin-cli logging "[\"all\"]" "[\"http\"]" { "net": true, "tor": true, "mempool": true, "http": false, "bench": true, "zmq": true, "db": true, "rpc": true, "estimatefee": true, "addrman": true, "selectcoins": true, "reindex": true, "cmpctblock": true, "rand": true, "prune": true, "proxy": true, "mempoolrej": true, "libevent": true, "coindb": true, "qt": true, "leveldb": true } ``` Also corrects the RPC example so that `libevent` logging will actually be turned off. Tree-SHA512: 2de7130df51688d2d6636c12fd56326362794118a10efc8100f0bf541a7da00a12a6cd9d75e599a104513a050bbe49b418ea460ee8033ac6cf6ffb8e8e9140d6
2019-01-30Merge #15292: Remove 'boost::optional'-related false positive ↵Wladimir J. van der Laan
-Wmaybe-uninitialized warnings on GCC compiler 2d483142a7051389afe74c57a216843e6306f1a8 Remove 'boost::optional'-related gcc warnings (Hennadii Stepanov) Pull request description: #14711 introduced some warnings when building with gcc compiler. See: - https://github.com/bitcoin/bitcoin/pull/14711#issuecomment-454760017 by @laanwj - https://github.com/bitcoin/bitcoin/pull/14711#pullrequestreview-193702611 by @ryanofsky This gcc [issue](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47679) has been known since version 4.6.0 and last updated in 2017. From the boost [docs](https://www.boost.org/doc/libs/1_69_0/libs/optional/doc/html/boost_optional/quick_start/optional_automatic_variables.html): > The default constructor of `optional` creates an _uninitialized_ `optional` object. Also: [False positive with -Wmaybe-uninitialized](https://www.boost.org/doc/libs/1_69_0/libs/optional/doc/html/boost_optional/tutorial/gotchas/false_positive_with__wmaybe_uninitialized.html) ([pointed out](https://github.com/bitcoin/bitcoin/pull/15292#issuecomment-459063170) by @Empact) This PR removes these warnings. cc: @Empact @practicalswift Tree-SHA512: 752ae3c3ca6282bbf98726236fbc3069ab9d1aee57ae2ec2668b32e4541e7bc1acb15b7d6fa9e2b6daf1ec29c0987a1053ee1ca0f523b71367ff911221c58c94
2019-01-30[tools] Add wallet inspection and modification toolJonas Schnelli
This commit adds wallet-tool, a tool for creating and interacting with wallet files. Original implementation was by Jonas Schnelli <dev@jonasschnelli.ch> with modifications by John Newbery <john@johnnewbery.com> MSVC files were provided by Chun Kuan Lee <ken2812221@gmail.com>: build: Add MSVC project files for bitcoin-wallet-tool