aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-12-03Add test for conversion from non-witness to witness UTXOPieter Wuille
Github-Pull: #14197 Rebased-From: 862d159d635c1de219d94e030b186a745fe28eb9
2018-12-03Add regression test for PSBT signing bug #14473Glenn Willen
Github-Pull: #14588 Rebased-From: e13fea975d5e4ae961faba36379a1cdaf9e50c1c
2018-12-03Refactor PSBTInput signing to enforce invariantGlenn Willen
Refactor the process of PSBTInput signing to enforce the invariant that a PSBTInput always has _either_ a witness_utxo or a non_witness_utxo, never both. This simplifies the logic of SignPSBTInput slightly, since it no longer has to deal with the "both" case. When calling it, we now give it, in order of preference: (1) whichever of the utxo fields was already present in the PSBT we received, or (2) if neither, the non_witness_utxo field, which is just a copy of the input transaction, which we get from the wallet. SignPSBTInput no longer has to remove one of the two fields; instead, it will check if we have a witness signature, and if so, it will replace the non_witness_utxo with the witness_utxo (which is smaller, as it is just a copy of the output being spent.) Add PSBTInput::IsSane checks in two more places, which checks for both utxo fields being present; we will now give an RPC error early on if we are supplied such a malformed PSBT to fill in. Also add a check to FillPSBT, to avoid touching any input that is already signed. (This is now redundant, since we should no longer potentially harm an already-signed input, but it's harmless.) fixes #14473 Github-Pull: #14588
2018-12-03Simplify arguments to SignPSBTInputGlenn Willen
Remove redundant arguments to SignPSBTInput -- since it needs several bits of the PartiallySignedTransaction, pass in a reference instead of doing it piecemeal. This saves us having to pass in both a PSBTInput and its index, as well as having to pass in the CTransaction. Also avoid redundantly passing the sighash_type, which is contained in the PSBTInput already. Github-Pull: #14588 Rebased-From: 0f5bda2bd941686620ef0eb90bd7ed973cc7ef73
2018-12-03Add bool PSBTInputSignedGlenn Willen
Refactor out a "PSBTInputSigned" function to check if a PSBT is signed, for use in subsequent commits. Also improve a related comment. GitHub-Pull: #14588 Rebased-From: 53e6fffb8f5b10f94708d33d667a67cb91c2d09d
2018-12-03New PartiallySignedTransaction constructor from CTransctionGlenn Willen
New constructor that creates a PartiallySignedTransaction from a CTransaction, automatically sizing the inputs and outputs vectors for convenience. Github-Pull: #14588 Rebased-From: 65166d4cf828909dc4bc49dd68a58103d015f1fd
2018-12-03Remove redundant txConst parameter to FillPSBTGlenn Willen
Github-Pull: #14588 Rebased-From: 4f3f5cb4b142f0fcb36241fa33b52a257901dbee
2018-12-03More concise conversion of CDataStream to stringGlenn Willen
Use .str() instead of .data() and .size() when converting CDataStream to a string. Uses std::string, avoiding conversion to a C string. Github-Pull: #14588 Rebased-From: fe5d22bc676f158e8d567d71edb3451118759d62
2018-12-03check that a separator is found for psbt inputs, outputs, and global mapAndrew Chow
Github-Pull: #14377 Rebased-From: 4fb3388db95f408566e43ebb9736842cfbff0a7d
2018-12-01Merge #14196: [0.17][psbt] always drop the unnecessary utxo and convert ↵MarcoFalke
non-witness utxo to witness when necessary fcefc6851a Convert non-witness UTXOs to witness if witness sig created (Andrew Chow) fcdea8ad2a Drop the unnecessary UTXO based on the UTXOs present, not on earlier wallet things (Andrew Chow) Pull request description: When we sign an input in a psbt that has a non-witness utxo but a witness signature is produced, we will now replace the non-witness utxo with the corresponding witness utxo. Furthermore, we should make sure that the correct UTXO type is used based on what UTXOs are there, not based on earlier wallet behavior. Note that this is PR'd to the 0.17 branch because the code here no longer exists in master. Tree-SHA512: 882e9e4e9b77d6ac1743c35c0d59023aad6f4f19193398f97f2c6b81f6627d74e5220b1d674a0edba1ff2fc2a7f61afbf838d3faf0a964fccd3dee97c631aa47
2018-11-30Merge #14851: [backport] fix assert crash when specified change output spend ↵MarcoFalke
size is unknown 2a5cc40dc4 CreateTransaction: Assume minimum p2sh-p2wpkh spend size for unknown change (Gregory Sanders) 53dcf2b407 Remove stale comment in CalculateMaximumSignedInputSize (Gregory Sanders) Pull request description: backport of #14380 Tree-SHA512: 42e261bd797d1938f8e041ccd10073ecd1d72695e2e4ce322e5a3ce262647e32108b01dde73361b6d2ac36438522ab3c4cd58ca072194f25011132437430cd27
2018-11-30Merge #14852: 0.17 backport: [tests] Add wallet_balance.pyMarcoFalke
67225e2fd7 [tests] Add wallet_balance.py (John Newbery) Pull request description: Tree-SHA512: 5a8707ddc7e11ac0b7b7dc27a73668acc7ff53f832d94a85930a28329ec5271da2b469e2b51d66746fa6ab54aa0221d49d215ec3434ea619352fcbacbb252883
2018-11-30[tests] Add wallet_balance.pyJohn Newbery
Adds a test specifically to test the wallet's getbalance and getunconfirmedbalance RPCs. Github-Pull: #14845 Rebased-From: c1825b9d398b31967887c459c0fad9cf56cf95c6
2018-11-30CreateTransaction: Assume minimum p2sh-p2wpkh spend size for unknown changeGregory Sanders
2018-11-30Remove stale comment in CalculateMaximumSignedInputSizeGregory Sanders
2018-11-30Merge #14835: [0.17] Further BackportsMarcoFalke
f9db08e8ca qa: Avoid race in p2p_invalid_block by waiting for the block request (MarcoFalke) 79358817e5 Add SAFE_CHARS[SAFE_CHARS_URI]: Chars allowed in URIs (RFC 3986) (practicalswift) 9666dbaf09 rpc: Make HTTP RPC debug logging more informative (practicalswift) b90157891a add test demonstrating addrLocal UB (Kaz Wesley) 6f04264bbb fix uninitialized read when stringifying an addrLocal (Kaz Wesley) 5782fdcd8c Throw error if CPubKey is invalid during PSBT keypath serialization (Gregory Sanders) de5e48a461 Bugfix: RPC: Add address_type named param for createmultisig (Luke Dashjr) df5131bd41 gui: explicitly disable "Dark Mode" appearance on macOS (fanquake) Pull request description: Backports #14593, #14596, #14618, #14690 and #14728 to the 0.17 branch. Tree-SHA512: fcda4b75fcb71bb80cc8bde2a2b98ff5c0239dfa754ac980b1a91a90409502ac7678326399a4fc03a773074339dbf8b3d11750c91fe4302741a954745acfcca1
2018-11-30qa: Avoid race in p2p_invalid_block by waiting for the block requestMarcoFalke
Github-Pull: #14700 Rebased-From: fa2156820877caf70fc09c7e6244b7cde6ebaf29
2018-11-29Add SAFE_CHARS[SAFE_CHARS_URI]: Chars allowed in URIs (RFC 3986)practicalswift
Github-Pull: #14618 Rebased-From: ab8c6f24d28ea1d1e6258cf316b4b97a0baf2377
2018-11-29rpc: Make HTTP RPC debug logging more informativepracticalswift
Github-Pull: #14618 Rebased-From: 991248649b76a5a071e1360a700f3e2ecf3e1e1f
2018-11-29add test demonstrating addrLocal UBKaz Wesley
Github-Pull: #14728 Rebased-From: 8ebbef016928811756e46b9086067d1c826797a8
2018-11-29fix uninitialized read when stringifying an addrLocalKaz Wesley
Reachable from either place where SetIP is used when our best-guess addrLocal for a peer is IPv4, but the peer tells us it's reaching us at an IPv6 address. In that case, SetIP turns an IPv4 address into an IPv6 address without setting the scopeId, which is subsequently read in GetSockAddr during CNetAddr::ToStringIP and passed to getnameinfo. Fix by ensuring every constructor initializes the scopeId field with something. Github-Pull: #14728 Rebased-From: b7b36decaf878a8c1dcfdb4a27196c730043474b
2018-11-29Throw error if CPubKey is invalid during PSBT keypath serializationGregory Sanders
Github-Pull: #14690 Rebased-From: 4e4de10f69d5d705256cadfb15d76314dff16e77
2018-11-29Bugfix: RPC: Add address_type named param for createmultisigLuke Dashjr
Github-Pull: #14596 Rebased-From: d8bf1071cf819fb4e848bb832af8199f084e0434
2018-11-29gui: explicitly disable "Dark Mode" appearance on macOSfanquake
Github-Pull: #14593 Rebased-From: cf2f4306fe26305b24bba8833af845ada3a42ec8
2018-11-28Merge #14328: [0.17] BackportsMarcoFalke
542651cfb4 travis: Remove deprecated sudo (MarcoFalke) ec71f06a8d build: Add bitcoin-tx.exe into Windows installer (Chun Kuan Lee) 7edebedef1 build: Remove illegal spacing in darwin.mk (Jon Layton) fb9ad043f8 Fix listreceivedbyaddress not taking address as a string (Eric Scrivner) 91fa15aaeb wallet: Avoid potential use of unitialized value bnb_used in CWallet::CreateTransaction(...) (practicalswift) 96f15e8bb3 Tests: Fix a comment (fridokus) 60f7a97930 qa: Add test to ensure node can generate all help texts at runtime (MarcoFalke) 2f9fd29321 disallow oversized CBlockHeaderAndShortTxIDs (Kaz Wesley) 5331ad0506 fix a deserialization overflow edge case (Kaz Wesley) 94065024c7 add a test demonstrating an overflow in a deserialization edge case (Kaz Wesley) 85aacc41ba Add autogen.sh in ARM Cross-compilation (Walter) bb90695551 [wallet] Ensure wallet is unlocked before signing (gustavonalle) Pull request description: Tree-SHA512: d82813134e5fc5437fe690127a4701d7ba66bf27799d7ecb1fbc2cc4dd81b6b3f708c1f314b725e8a3a6525ffa388299e277157f784f762256e01afb24822b25
2018-11-28travis: Remove deprecated sudoMarcoFalke
2018-11-28build: Add bitcoin-tx.exe into Windows installerChun Kuan Lee
Github-Pull: #14698 Rebased-From: 5c5902acc515c8f46ad73222cd57a29c4c13b92c
2018-11-28build: Remove illegal spacing in darwin.mkJon Layton
Github-Pull: #14647 Rebased-From: 63c74d2d3abcb685c773c3ad1414da6ad062a55d
2018-11-28Fix listreceivedbyaddress not taking address as a stringEric Scrivner
Fixes #14173. Add the patch in #14173 and include a regression test. Github-Pull: #14417 Rebased-From: d4d70eda339f6f74390b56edd4021e928bb588a7
2018-11-28wallet: Avoid potential use of unitialized value bnb_used in ↵practicalswift
CWallet::CreateTransaction(...) Github-Pull: #13546 Rebased-From: a23a7f60aa07de52d23ff1f2034fc43926ec3520
2018-11-28Tests: Fix a commentfridokus
Github-Pull: #14632 Rebased-From: 086fc835718555bb332a807fe5794cb6cb4d1fef
2018-11-28qa: Add test to ensure node can generate all help texts at runtimeMarcoFalke
Github-Pull: #14658 Rebased-From: bbbbb3f8850907d413db4715c10ef6df055234f6
2018-11-28disallow oversized CBlockHeaderAndShortTxIDsKaz Wesley
Otherwise we'd reply with a bogus BlockTransactionsRequest trying to request indexes with overflowed deltas. Github-Pull: #14685 Rebased-From: b08af10fb299dc3fdcd1f022619fb112c72e5d8e
2018-11-28fix a deserialization overflow edge caseKaz Wesley
A specially-constructed BlockTransactionsRequest can overflow in deserialization in a way that is currently harmless. Github-Pull: #14685 Rebased-From: 6bed4b374daf26233e96fa7863d4324a5bfa99c2
2018-11-28add a test demonstrating an overflow in a deserialization edge caseKaz Wesley
Also add a test that the highest legal index is accepted. Github-Pull: #14685 Rebased-From: 051faf7e9d4e32142f95f7adb31d2f53f656cb66
2018-11-28Add autogen.sh in ARM Cross-compilationWalter
autogen for the config files was missing. Github-Pull: #14276 Rebased-From: 52beb9ed8876e3129360197ac632c1b59f910c55
2018-11-28[wallet] Ensure wallet is unlocked before signinggustavonalle
Github-Pull: #14310 Rebased-From: db15805668e923c3493d77122d20926496cf6a1a
2018-11-10Merge #14441: [wallet] Backport(0.17): Restore ability to list incoming ↵Wladimir J. van der Laan
transactions by label 89306ab0df93bfdf5630910bc20b1eccb7379172 [wallet] Restore ability to list incoming transactions by label (Russell Yanofsky) Pull request description: Backport of PR #14411 to v0.17. This change partially reverts #13075 and #14023. Fixes #14382 Tree-SHA512: 1f8300e1a79e826cd706561265b8788deef505fa510be1a76ed9a62e5fca37cf6a741423ac0e5de2a36d6e8b9f25f141885455aacacbbf6474814e6eae406a27
2018-11-06doc: Clean out release notes after 0.17.0.1Wladimir J. van der Laan
Tree-SHA512: c04192e3b93537f4b37f5ea55fd455b26dd7d902da3b5f8b59ef6fa4590cf413b72fc11bba330a8fd7fa3938b09e6c1d35171806ab5ce85d6b99681953c291a5
2018-11-06Merge #14666: qt: Revert "Force TLS1.0+ for SSL connections" (0.17)Wladimir J. van der Laan
0242b5afa4ebb381d3a59a7246348a50d3a7fdbe qt: Revert "Force TLS1.0+ for SSL connections" (Tim Ruffing) Pull request description: backports #14403 which fixes a crash on FC29 Tree-SHA512: 71a34b13202c834c5ca73bcb9b70efff26c34e1aac3b954f098620b62c2be53a8e319929c4764a5b5cc5d0dd163ff70f4eb3a4f1f608363b7d23d1b16b25ddc7
2018-11-06qt: Revert "Force TLS1.0+ for SSL connections"Tim Ruffing
This reverts commit 15e26a6a9afe299b9ca6fced73b876644365879b, whose purpose was to tweak the Qt configuration to force TLS, i.e., to disable SSLv3, in Qt versions >= 5.5. However, the default behavior of Qt >= 5.4 is to disable SSLv3 anyway [1], so the configuration tweak is redundant. With Qt 5.11.2, the configuration tweak is not only redundant but in fact provokes a deadlock (#14359) due to Qt 5.11.2 being incompatible with OpenSSL 1.1.1 [2]. Since the deadlock occurs at the early startup stage of bitcoin-qt, it renders bitcoin-qt entirely non-functional when compiled against OpenSSL 1.1.1 and Qt 5.11.2 (and possible future combinations of OpenSSL and Qt versions). This commit fixes #14359 by removing the redundant code. [1] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=3fd2d9eff8c1f948306ee5fbfe364ccded1c4b84 [2] https://bugreports.qt.io/browse/QTBUG-70956 Github-Pull: #14403 Rebased-From: 7d173c4cd1885ff5bcf9e5f8f7f712138dd8a445 Tree-SHA512: 71a34b13202c834c5ca73bcb9b70efff26c34e1aac3b954f098620b62c2be53a8e319929c4764a5b5cc5d0dd163ff70f4eb3a4f1f608363b7d23d1b16b25ddc7
2018-10-28Merge #14589: Docs/Release notes: 0.17.0.1 is a minor releaseMarcoFalke
f046d846ae Docs/Release notes: 0.17.0.1 is a minor release (David A. Harding) Pull request description: Suggested by @jnewbery in https://github.com/bitcoin-core/bitcoincore.org/pull/624#pullrequestreview-169055865 Tree-SHA512: 7e3068febaaf13cc31ef48e56ac7c36450fb1fb115e9940af603bb7cb740e93702e69be0eaaf06ff19866837bf29b4f08c1d9e3e55d98a65746a89a0dcab2b69
2018-10-28Merge #14566: 0.17: qa backportsMarcoFalke
9461f98c53 Disable wallet and address book Qt tests on macOS minimal platform (Russell Yanofsky) 703a24418c descriptors.md: Refer to descriptors as describing instead of matching (Russell Yanofsky) 5f51fd6d59 doc/descriptors.md tweaks (Russell Yanofsky) 29899ecd36 Import CInv from correct module (Chun Kuan Lee) f7adb32e38 qa: Run all tests even if wallet is not compiled (MarcoFalke) 86fadee990 qa: Premine to deterministic address with -disablewallet (MarcoFalke) 8bc1badada Test rpc_help.py failed: Check whether ZMQ is enabled or not. (Kvaciral) 24d796a6cc test: Add tests for RPC help (João Barbosa) 168efeaca6 qa: Use named args in some tests (MarcoFalke) 73e538cf6a scripted-diff: Use named arguments in feature_block (MarcoFalke) 96dc936862 scripted-diff: Pass node into p2p_segwit acceptance tests (MarcoFalke) 7ff32a6b98 qa: Add some actual witness in rpc_rawtransaction (MarcoFalke) b72fbabe17 [qa] Use correct python index slices in example test (Suhas Daftuar) 06544faff0 qa: Add TestNode::assert_debug_log (MarcoFalke) Pull request description: Just the test and doc changes from #14328 to prevent that one from piling up. Tree-SHA512: 51c1e66d346cbf51bc67b2f365448620dd9992ba4ef70592c5eb489cd50a047dab8179c86db2cafe161d8b2aa04498cc760fb5deb7eef49b39272911c74227a9
2018-10-27Docs/Release notes: 0.17.0.1 is a minor releaseDavid A. Harding
2018-10-26Merge #14576: Release 0.17.0.1v0.17.0.1Wladimir J. van der Laan
dc4923a71bf64bd48708c7e4bd33765cdae68fdf build: Bump version for 0.17.0.1 (Wladimir J. van der Laan) 248e5ec348979c2d299b04adf93deaafd2b3b2b7 doc: Update release notes for 0.17.0.1 (Wladimir J. van der Laan) Pull request description: Update release notes and bump version Tree-SHA512: b1c3f77150d89450735c2a82cb5d859b11e7463cc3370c46f847a6f7b22318114cf4d3254eb3f6b15dc7204bc43d052781f97d02ef5a76d102d5d42a762be964
2018-10-25Merge #14579: [0.17] travis: Pin flake8 version to 3.5.0MarcoFalke
f9fc08c5f8 travis: Pin flake8 version to 3.5.0 (fanquake) Pull request description: Pin flake8 version to 3.5.0 to fix the linters. Tree-SHA512: 4f06d0aacbdfbbc6d090790aeea5185f2a61259381e586f4015bc0f8c0d0c8fec6156343a9587b8605bc776b39c080bd6584e6e9b685eaba3d90a58c726ac469
2018-10-26travis: Pin flake8 version to 3.5.0fanquake
2018-10-26build: Bump version for 0.17.0.1Wladimir J. van der Laan
2018-10-25doc: Update release notes for 0.17.0.1Wladimir J. van der Laan
2018-10-25[macOS] Remove DS_Store WindowBounds bytes objectJonas Schnelli
Github-Pull: #14416 Rebased-From: 43719e0a3411e6a08e04908332cb44adfa00c6a2 Tree-SHA512: 0b5987abf34a8c62c3f704c4ca3c9837a23fbce11954740461833099157db94418886001993f9f1a0b3252c923bd049bc1e1d0f99d04205c889270755a8cd245