aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-02-16Implement joinpsbts RPC and testsAndrew Chow
Adds a joinpsbts RPC which combines multiple distinct PSBTs into one PSBT.
2019-02-16Implement utxoupdatepsbt RPC and testsAndrew Chow
2019-02-14Merge #15407: msvc: Fix silent merge conflict between #13926 and #14372 part IIMarcoFalke
3c6ef0393f msvc: Fix silent merge conflict between #13926 and #14372 part II (Chun Kuan Lee) Pull request description: In #15325, I added secp256k1 as a dependency of bitcoin-wallet. However, I didn't notice that leveldb is also a dependency of it. Tree-SHA512: dc29b5cad6c529dd9517d6c2cbbe5297b69e73303e2fbbcd4b4842c9c5b51a4332df5a4bf3b82cd3ed2c1668cc95f8c9636f9485af0d722fed9c1319da3cc2e2
2019-02-14Merge #15183: [Qt]: fixes m_assumed_blockchain_size variable valueMarcoFalke
8c3fdd3a6d fixes m_assumed_blockchain_size variables values: (marcoagner) Pull request description: This is used by Qt but I'm not sure if this is the right tag here. Please, edit the title if there's something better. `m_assumed_blockchain_size` (src/chainparams.cpp:CChainParams) was `BLOCK_CHAIN_SIZE` (src/qt/intro.cpp) and while the transition was being made by PR 13216 (merged commit: 9d0e528), 3fc2063 changed its value from 200 to 220, which 9d0e528 ended up reverting. So, as per MarcoFalke's suggestion (https://github.com/bitcoin/bitcoin/pull/13216#discussion_r247560123), I'm bumping it to 240 before 0.18 is branched to avoid any confusion. Anything else (e.g. constexpr) that should/could be done here? Thanks. Tree-SHA512: 4319739b870a2b96a57f268f9edc7dd9f9eff5c4ca3b01863e6b861b9ca58c245416ce362dae54d1673e3d5b1c7f5a16e4031842af250e1b1f0a5109b75fb3c3
2019-02-14fixes m_assumed_blockchain_size variables values:marcoagner
This commit was a fix to `m_assumed_blockchain_size` reverted from 3fc2063's 220 to 9d0e528's 200 since work on 9d0e528 was being done in parallel and ended up reverting `m_assumed_blockchain_size`. This commits is now a intended to be a bump of `m_assumed_blockchain_size` for both mainnet and testnet for new reasonable values.
2019-02-14msvc: Fix silent merge conflict between #13926 and #14372 part IIChun Kuan Lee
2019-02-14Merge #14978: Factor out PSBT utilities from RPCs for use in GUI code; ↵MeshCollider
related refactoring. 102faad81 Factor out combine / finalize / extract PSBT helpers (Glenn Willen) 78b9893d0 Remove op== on PSBTs; check compatibility in Merge (Glenn Willen) bd0dbe876 Switch away from exceptions in refactored tx code (Glenn Willen) c6c3d42a7 Move PSBT definitions and code to separate files (Glenn Willen) 81cd95884 Factor BroadcastTransaction out of sendrawtransaction (Glenn Willen) c734aaa15 Split DecodePSBT into Base64 and Raw versions (Glenn Willen) 162ffefd2 Add pf_invalid arg to std::string DecodeBase{32,64} (Glenn Willen) Pull request description: * Move most PSBT definitions into psbt.h. * Move most PSBT RPC utilities into psbt.{h,cpp}. * Move wallet-touching PSBT RPC utilities (FillPSBT) into wallet/psbtwallet.{h,cpp}. * Switch exceptions from JSONRPCError() to new PSBTException class. * Split DecodePSBT into DecodeBase64PSBT (old behavior) and DecodeRawPSBT. * Add one new version of DecodeBase64 utility in strencodings.h (and corresponding DecodeBase32 for completeness). * Factor BroadcastTransaction utility function out of sendrawtransaction RPC handler in rpc/rawtransaction.cpp Note: For those keeping score at home wondering why refactor, this is in anticipation of (and developed in parallel with) a change to actually introduce GUI use of all this stuff, which is already under development and working-ish. Tree-SHA512: 2197c448e657421f430943025357597e7b06c4c377d5d4b2622b9edea52a7193c48843dd731abb3a88ac4023a9c88d211991e0a9b740c22f2e1cbe72adefe390
2019-02-13Merge #15334: wallet: Log absolute paths for the walletsWladimir J. van der Laan
a4b92e467dd182621497deda1e80a9737629c75f Log full paths for wallets (Hennadii Stepanov) Pull request description: Fix #15333 `debug.log` with this PR: ``` ... 2019-02-03T19:02:35Z Using wallet directory /home/hebasto/.bitcoin/testnet3/wallets 2019-02-03T19:02:35Z init message: Verifying wallet(s)... 2019-02-03T19:02:35Z Using BerkeleyDB version Berkeley DB 4.8.30: (April 9, 2010) 2019-02-03T19:02:35Z Using wallet test_alpha/wallet.dat 2019-02-03T19:02:35Z BerkeleyEnvironment::Open: LogDir=/home/hebasto/.bitcoin/testnet3/wallets/test_alpha/database ErrorFile=/home/hebasto/.bitcoin/testnet3/wallets/test_alpha/db.log 2019-02-03T19:02:35Z Using BerkeleyDB version Berkeley DB 4.8.30: (April 9, 2010) 2019-02-03T19:02:35Z Using wallet alpha_wallet/wallet.dat 2019-02-03T19:02:35Z BerkeleyEnvironment::Open: LogDir=/home/hebasto/.bitcoin/testnet3/wallets/alpha_wallet/database ErrorFile=/home/hebasto/.bitcoin/testnet3/wallets/alpha_wallet/db.log 2019-02-03T19:02:35Z Using BerkeleyDB version Berkeley DB 4.8.30: (April 9, 2010) 2019-02-03T19:02:35Z Using wallet wallet.dat 2019-02-03T19:02:35Z BerkeleyEnvironment::Open: LogDir=/home/hebasto/.bitcoin/testnet3/wallets/database ErrorFile=/home/hebasto/.bitcoin/testnet3/wallets/db.log 2019-02-03T19:02:35Z Using BerkeleyDB version Berkeley DB 4.8.30: (April 9, 2010) 2019-02-03T19:02:35Z Using wallet none/wallet.dat 2019-02-03T19:02:35Z BerkeleyEnvironment::Open: LogDir=/home/hebasto/.bitcoin/testnet3/wallets/none/database ErrorFile=/home/hebasto/.bitcoin/testnet3/wallets/none/db.log 2019-02-03T19:02:35Z init message: Loading banlist... ... ``` Tree-SHA512: 8dd4408d3f6b04f396dd0ae0d248fedc3a0f6d36788556ae1662443f06f2ecce1c2be9456bf8d1b3d25b29c2a0cfb03cb805bde0a40387e68988ab932e17e118
2019-02-13Merge #15390: [wallet-tool] Close bdb when flushing walletMarcoFalke
318b1f7af1 [wallet] Close bdb when flushing wallet. (John Newbery) Pull request description: bdb would not be closed when closing the wallet in wallet-tool. Fix this by calling wallet->flush with true. Tree-SHA512: f722e527e4806eca5254221e944f57853d11bf89a9264309fa558a6cc2b23feefb7bb2963e87b4fad9cfb31ac4cffe563688988e0614a481a8ff1d393aceb132
2019-02-13Merge #15389: Remove unnecessary const_castWladimir J. van der Laan
5039e4b61beb937bad33ac4300cc784642782589 Remove unnecessary const_cast (Julian Fleischer) Pull request description: The const_cast ```C++ CBlock &block = const_cast<CBlock&>(chainparams.GenesisBlock()); ``` is not necessary as all the functions invoked form this block receive a `const CBlock&` anyway. Simply add the `const` to `block`: ```C++ const CBlock& block = chainparams.GenesisBlock(); ``` Casting away `const`, especially from something as precious as the genesis block, feels really weird to me as a reader of bitcoin-core source code. Tree-SHA512: 0290b2cabb216a60655ded153ed1f213c051fb216cec6f3f810f8b760e276f8def86eb696c492e89631682531e215f56d7897b59685d3aa787bcd80cc4f86c90
2019-02-12Merge #14918: RPCHelpMan: Check default values are given at compile-timeMarcoFalke
fa0ad4e7ce RPCHelpMan: Check default values are given at compile-time (MarcoFalke) Pull request description: Remove the run time assertions on the default values and ensure that the correct default type and value is provided at compile time. Tree-SHA512: 80df2f3fab4379b500c773c27da63f22786c58be5963fe99744746320e43627a5d433eedf8b32209158df7805ebdce65ed4d242c829c4fe6e5d13deb4799ed42
2019-02-13Log full paths for walletsHennadii Stepanov
2019-02-12Merge #15238: [QA] remove some magic mining constants in functional testsMarcoFalke
b651ef7e1c submitheader: more directly test missing prev block header (Gregory Sanders) 1e7f741745 remove some magic mining constants in functional tests (Gregory Sanders) Pull request description: The fewer magic numbers the better. Also more directly tested a `submitheader` case of bad previous blockhash. Tree-SHA512: 52b01a6aa199fa909eea4e9e84409a901933e545724e33149cc4132c82168199fd678809b6d94d95c9ff6ad02238a9552363620d13b8beaa5d4b67ade9ef425c
2019-02-12Merge #15216: Scripts and tools: Replace script name with a special parameterMarcoFalke
8c9b8a3668 Replace script name with special parameter (Hennadii Stepanov) Pull request description: This PR improves UX; all others shell scripts ~(excluding travis linters)~ in the bitcoin repo have this feature. Before: ![screenshot from 2019-01-20 17-45-42](https://user-images.githubusercontent.com/32963518/51442159-b5cfec80-1ce2-11e9-8017-3b0b464ccaf8.png) After: ![screenshot from 2019-01-20 18-30-27](https://user-images.githubusercontent.com/32963518/51442166-bf595480-1ce2-11e9-9520-481518c3b288.png) cc: @jamesob @laanwj Tree-SHA512: 7924e5658a2efe81fd5591390ca5af1ff0558bd9d5693363b9f8addedb1d6b90aa16f11c9b361c6fdfbd931a959255817473a240c175dee95aefc7d2d4a10a36
2019-02-12Replace script name with special parameterHennadii Stepanov
2019-02-12Remove unnecessary const_castJulian Fleischer
Signed-off-by: Julian Fleischer <julian@thirdhash.com>
2019-02-12Merge #15378: tests: Added missing tests for RPC wallet errorsMarcoFalke
dc3b2ccb5f tests: Added missing tests for RPC wallet errors (Ben Carman) Pull request description: Tree-SHA512: b18dcd4f7547c974c93ae67dcd92a168bdb55951b164cf174cb1e59e0daa463187068aec43108309a75d65721a5c0bcdf10a16a9869620f160121e2287559926
2019-02-12[wallet] Close bdb when flushing wallet.John Newbery
bdb would not be closed when closing the wallet in wallet-tool. Fix this by calling wallet->flush with true.
2019-02-12Merge #15153: gui: Add Open Wallet menuJonas Schnelli
1951ea434 gui: Show indeterminate progress dialog while opening walllet (João Barbosa) 8847cdaaa gui: Add OpenWalletActivity (João Barbosa) 4c8982a88 interfaces: Avoid interface instance if wallet is null (João Barbosa) be82dea23 gui: Add thread to run background activity in WalletController (João Barbosa) 6c49a55b4 gui: Add Open Wallet menu (João Barbosa) 32a8c6abf gui: Add openWallet and getWalletsAvailableToOpen to WalletController (João Barbosa) ab288b4e5 interfaces: Add loadWallet to Node (João Barbosa) 17abc0fd5 wallet: Factor out LoadWallet (João Barbosa) Pull request description: The *Open Wallet* menu has all the available wallets currently not loaded. The list of the available wallets comes from `listWalletDir`. In the future the menu can be replaced by a custom dialog. <img width="674" alt="screenshot 2019-01-12 at 12 17 02" src="https://user-images.githubusercontent.com/3534524/51073166-ac041480-1664-11e9-8302-be81702bc146.png"> Tree-SHA512: ebfd75eee0c8264863748899843afab67dadb7dff21313c11e3cb5b6108d954978dd1f1ae786bc07580c5a771ea4ab38d18c1643c9b9b3683ed53f0f6c582e38
2019-02-12Merge #13787: Test for Windows encoding issueMarcoFalke
15b31032a6 appveyor: Remove outdated libraries (Chun Kuan Lee) ae892adceb tests: accept unicode characters on Windows (Chun Kuan Lee) Pull request description: This PR removes unused Windows compatible path. Encoding issues has been solved. Tree-SHA512: d24dce035fe3b576eaa002896f815a6691e88618ea371171d7e39883e1d63b3ed4d4631ab3b3a26bd67ae4e8ae13b1ff188942ab7ac6a93d704e0de301368cd0
2019-02-12Merge #14543: [QA] minor p2p_sendheaders fix of height in coinbaseMarcoFalke
1cdb9bb51f minor p2p_sendheaders fix of height in coinbase (Gregory Sanders) Pull request description: > \# Now announce a header that forks the last two blocks Doesn't effect any behavior since BIP34 isn't active in regtest for many blocks. Tree-SHA512: 3f214b956a94250bb640f63b6ff707930e1d4cb8df1bbf0fef4012d89a94bafbde0d7b42bbe7113ec33810169281c22c6e389445921d99decb74aa56e87a0f27
2019-02-12Merge #15358: util: Add SetupHelpOptions()Wladimir J. van der Laan
a99999cc04c2e7d79bb841fd954c84e985ed3b88 util: Add SetupHelpOptions() (MarcoFalke) Pull request description: Every binary we have sets up the help option in their own way and wording. Solve that by having one function take care of it for all of them. Tree-SHA512: 6e947fa8bc2a46fa6ca9f45777020aa269a5df0dd916ebc863224f9a1e0f79e8e7754a1478567307edd9461e8babd77d26bc2710bbd56e8f8da9020aa85a8c9c
2019-02-11tests: Added missing tests for RPC wallet errorsBen Carman
2019-02-11Factor out combine / finalize / extract PSBT helpersGlenn Willen
Refactor the new CombinePSBT, FinalizePSBT, and FinalizeAndExtractPSBT general-purpose functions out of the combinepsbt and finalizepsbt RPCs, for use in the GUI code.
2019-02-11Remove op== on PSBTs; check compatibility in MergeGlenn Willen
Remove the op== on PartiallySignedTransaction, which only checks that the CTransactions are equal. Instead, check this directly in Merge, and return false if the CTransactions are not equal (so the PSBTs cannot be merged.)
2019-02-11Switch away from exceptions in refactored tx codeGlenn Willen
After refactoring general-purpose PSBT and transaction code out of RPC code, for use in the GUI, it's no longer appropriate to throw exceptions. Instead we now return bools for success, and take an output parameter for an error object. We still use JSONRPCError() for the error objects, since only RPC callers actually care about the error codes.
2019-02-12appveyor: Remove outdated librariesChun Kuan Lee
2019-02-12tests: accept unicode characters on WindowsChun Kuan Lee
2019-02-11Move PSBT definitions and code to separate filesGlenn Willen
Move non-wallet PSBT code to src/psbt.{h,cpp}, and PSBT wallet code to src/wallet/psbtwallet.{h,cpp}. This commit contains only code movement (and adjustments to includes and Makefile.am.)
2019-02-11Factor BroadcastTransaction out of sendrawtransactionGlenn Willen
Factor out a new BroadcastTransaction function, performing the core work of the sendrawtransaction rpc, so that it can be used from the GUI code. Move it from src/rpc/ to src/node/.
2019-02-11Split DecodePSBT into Base64 and Raw versionsGlenn Willen
Split up DecodePSBT, which both decodes base64 and then deserializes a PartiallySignedTransaction, into two functions: DecodeBase64PSBT, which retains the old behavior, and DecodeRawPSBT, which only performs the deserialization. Add a test for base64 decoding failure.
2019-02-11Add pf_invalid arg to std::string DecodeBase{32,64}Glenn Willen
Add support for the optional "pf_invalid" out parameter (which allows the caller to detect decoding failures) to the std::string versions of DecodeBase32 and DecodeBase64. The char* versions already have this feature. Also, rename all uses of pfInvalid to pf_invalid to match style guidelines.
2019-02-11Merge #15353: docs: Minor textual improvements in translation_strings_policy.mdMarcoFalke
a94e470921 A few textual improvements (Martin Erlandsson) Pull request description: Found a few places where the reading flow was interrupted by minor grammar and punctuation issues. Tree-SHA512: 50640288449eb035f463bce563d259efbe97c14517d92c916e1bc52b7c54961ba2fc6fca1272470153803397f20ae7570bd090c16850ebd0180ebcf6bb2415d1
2019-02-11RPCHelpMan: Check default values are given at compile-timeMarcoFalke
2019-02-11Merge #15373: Move ParseConfirmTarget from rpc/mining to rpc/utilMarcoFalke
50e647210d Move ParseConfirmTarget from rpc/mining to rpc/util (Russell Yanofsky) Pull request description: Util is a better home since it's called both by wallet and mining code. Suggested https://github.com/bitcoin/bitcoin/pull/15288#discussion_r254449444 Tree-SHA512: 4320caf2a3f70d2885c421de04f2ec68ff3f6519258c5155fc46e245dc1765fd15c81f260af5096318f24ff9deb88fc3c5ef40eec8b7393f467f5b963d17215b
2019-02-11Merge #15380: trivial: correct parameter name in commentsMarcoFalke
1a0139cbaf trivial: correct parameter name in comments (andrewtoth) Pull request description: Tree-SHA512: 029b5ca5406cd7bf704b4d7611dac072cdc46a8659041bf631d77372ed4c16fa9ddf02c754044e310b16ea9bdd0803d051bef6ef6a86815d523826666134c649
2019-02-11Merge #15337: rpc: Fix for segfault if combinepsbt called with empty inputsMarcoFalke
30d0f7be6e rpc: Fix for segfault if combinepsbt called with empty inputs (benthecarman) Pull request description: Fixes #15300 Tree-SHA512: 25e7b4e6e48d8b0d197f0ab96df308fff33e2110f8929cb48914877fa7f4c4a84f173b1378fdb2dec5d03fe7d6d1aced4b577e55f9fe180d8147d9106ebf543f
2019-02-10trivial: correct parameter name in commentsandrewtoth
2019-02-11Merge #15226: Allow creating blank (empty) wallets (alternative)MeshCollider
7687f7873 [wallet] Support creating a blank wallet (Andrew Chow) Pull request description: Alternative (kind of) to #14938 This PR adds a `blank` parameter to the `createwallet` RPC to create a wallet that has no private keys initially. `sethdseed` can then be used to make a clean wallet with a custom seed. `encryptwallet` can also be used to make a wallet that is born encrypted. Instead of changing the version number as done in #14938, a wallet flag is used to indicate that the wallet should be blank. This flag is set at creation, and then unset when the wallet is no longer blank. A wallet becomes non-blank when a HD seed is set or anything is imported. The main change to create a blank wallet is primarily taken from #14938. Also with this, the term "blank wallet" is used instead of "empty wallet" to avoid confusion with wallets that have balance which would also be referred to as "empty". This is built on top of #15225 in order to fix GUI issues. Tree-SHA512: 824d685e11ac2259a26b5ece99c67a7bda94a570cd921472c464243ee356b7734595ad35cc439b34357135df041ed9cba951e6edac194935c3a55a1dc4fcbdea
2019-02-10[wallet] Support creating a blank walletAndrew Chow
A blank wallet is a wallet that has no keys, script or watch only things. A new wallet flag indicating that it is blank will be set when the wallet is blank. Once it is no longer blank (a seed has been generated, keys or scripts imported, etc), the flag will be unset.
2019-02-08Move ParseConfirmTarget from rpc/mining to rpc/utilRussell Yanofsky
Util is a better home since it's called both by wallet and mining code. Suggested https://github.com/bitcoin/bitcoin/pull/15288#discussion_r254449444
2019-02-08Merge #15357: rpc: Don't ignore `-maxtxfee` when wallet is disabledMarcoFalke
dfbf117bbb Move maxTxFee initialization to init.cpp (Jordan Baczuk) Pull request description: Resolves #15355 Tree-SHA512: 6eafacc6a3b0589fb645b0080fd3c01598566df1bd7ee7929284853866a23493960fbd4d6f9c3417e192f8a21706d9f593197734f6189e046e4747991305a0b8
2019-02-08Merge #15314: [Doc] update release notes for changes up to cb35f1dMarcoFalke
5d35d4384a Update release notes through to cb35f1d3 (David A. Harding) 9ad5ca17d9 Release notes: integrate detached & rm backports (David A. Harding) Pull request description: Monthly release notes update. ~~In addition to a few new notes, this removes from the master branch two notes about things that have been backported to the 0.17 branch (though not released yet): `unloadwallet` RPC now being blocking (0.17 has a detached release note for that) and the PSBT doc (0.17 does not have a release note for that; I'll open a PR).~~ Tree-SHA512: 569b651f2ec4d6d22c2410897f6980a0db2d9aad479730537f0c77cc8d905599a4e6d1db716720fec55a4ee77dd0bd5de9d02a0f636b63cd68ece61d24547af0
2019-02-08Merge #15370: test_runner: Remove unused --force optionMarcoFalke
fae8b8bb1a qa: Add tool-prefix to functional test readme (MarcoFalke) faf3d22725 test_runner: Remove unused --force option (MarcoFalke) Pull request description: When someone calls the script they already have all intention to call it, no need to specify a redundant `--force`. The functional tests are still disabled on the travis windows cross builds, where they'd run into issues when run under Wine. Tree-SHA512: ada0dd9b3c0cd28c5832a12c5e04c029dc3bfe5ddf366fd0abc24fb7914d2e0f0a873fe756ade7ba780a561abe9bc731838c289accc421deda481269e08514cd
2019-02-08Merge #15365: wallet: Add lock annotation for mapAddressBookMarcoFalke
faa46475d7 wallet: Add lock annotation for mapAddressBook (MarcoFalke) Pull request description: This adds lock annotations for `mapAddressBook` and also moves one lock from inside `GetDestValues` to the caller to be in line with the other methods (`eraseDestData`, `addDestData`, ...) Tree-SHA512: cef9397523e2f5717d4a9a6b2da1fe07042484a51b3c067ae64425768637f334350a2c3db4ab7e00af99b2a587f6b656b68ee1195f6a3db6d47298d0b2b6174a
2019-02-08Move maxTxFee initialization to init.cppJordan Baczuk
2019-02-08Merge #15201: net: Add missing locking annotation for vNodes. vNodes is ↵MarcoFalke
guarded by cs_vNodes. eea02be70e Add locking annotation for vNodes. vNodes is guarded by cs_vNodes. (practicalswift) Pull request description: Add locking annotation for `vNodes`. `vNodes` is guarded by `cs_vNodes`. Tree-SHA512: b1e18be22ba5b9dd153536380321b09b30a75a20575f975af9af94164f51982b32267ba0994e77c801513b59da05d923a974a9d2dfebdac48024c4bda98b53af
2019-02-08qa: Add tool-prefix to functional test readmeMarcoFalke
2019-02-08Merge #14242: Avoid triggering undefined behaviour (std::memset(nullptr, 0, ↵Wladimir J. van der Laan
0)) if an invalid string is passed to DecodeSecret(...) d855e4cac8303ad4e34ac31cfa7634286589ce99 Avoid triggering undefined behaviour (std::memset(nullptr, 0, 0)) if an invalid string is passed to DecodeSecret(...) (practicalswift) Pull request description: Avoid triggering undefined behaviour (`std::memset(nullptr, 0, 0)`) if an invalid string is passed to `DecodeSecret(...)`. Background reading: [memcpy (and friends) with NULL pointers](https://www.imperialviolet.org/2016/06/26/nonnull.html) Steps to reproduce: ``` ./configure --with-sanitizers=undefined && make check && ./test/functional/test_runner.py ``` Tree-SHA512: b8325ced4f724d9c03065e0747af56b1f297a90d9fb09a24d46c3231a90dce3df6299f2c41f863b5cec18eaeded7b46ee4b93d9a52adc2541eb4c44d2c0965d9
2019-02-08A few textual improvementsMartin Erlandsson