aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-07-03Remove CombineSignatures and replace testsAndrew Chow
Removes CombineSignatures and replaces its use in tests with ProduceSignature to test the same behavior for ProduceSignature.
2018-07-03Replace CombineSignatures with ProduceSignatureAndrew Chow
Instead of using CombineSignatures to create the final scriptSig or scriptWitness of an input, use ProduceSignature itself. To allow for ProduceSignature to place signatures, pubkeys, and scripts that it does not know about, we pass down the SignatureData to SignStep which pulls out the information that it needs from the SignatureData.
2018-07-03Make SignatureData able to store signatures and scriptsAndrew Chow
In addition to having the scriptSig and scriptWitness, have SignatureData also be able to store just the signatures (pubkeys mapped to sigs) and scripts (script ids mapped to scripts). Also have DataFromTransaction be able to extract signatures and scripts from the scriptSig and scriptWitness of an input to put them in SignatureData. Adds a new SignatureChecker which takes a SignatureData and puts pubkeys and signatures into it when it successfully verifies a signature. Adds a new field in SignatureData which stores whether the SignatureData was complete. This allows us to also update the scriptSig and scriptWitness to the final one when updating a SignatureData with another one.
2018-07-03Add simple bech32 benchmarksKarl-Johan Alm
2018-07-02Docs: Improve doc of options addnode, connect, seednodewodry
2018-07-02scripted-diff: Replace NET_TOR with NET_ONIONwodry
-BEGIN VERIFY SCRIPT- sed --in-place'' --expression='s/NET_TOR/NET_ONION/g' $(git grep -I --files-with-matches 'NET_TOR') -END VERIFY SCRIPT- The --in-place'' hack is required for sed on macOS to edit files in-place without passing a backup extension.
2018-07-02Delete double semicolon in wallet.cpp and misc.cppMatteo Sumberaz
2018-07-01Detect if char equals int8_tChun Kuan Lee
2018-06-30Merge #13522: [tests] Fix p2p_sendheaders raceMarcoFalke
75848bcf40 [tests] Fix p2p_sendheaders race (John Newbery) Pull request description: p2p_sendheaders has a race in part 1.3. part 1.2 sends a block to the node over the 'test_node' connection, but doesn't wait for an inv to be received on the 'inv_node' connection. If we get to part 1.3 before that inv has been received, then the subsequent call to check_last_inv_announcement could fail. Tree-SHA512: ba9baffb3a9c0d379259190c737a7a4ad2e1133005a5b026af4f6b67a2978e24db39289551ad29134151879593ef5472be7e569a3557c0740fb51f5c56263d9a
2018-06-30Merge #13431: validation: count blocks correctly for check level < 3MarcoFalke
f618ebc4e4 validation: count blocks correctly for check level < 3 (Karl-Johan Alm) Pull request description: As noted in https://github.com/bitcoin/bitcoin/pull/13428#issuecomment-396129295 there is a bug where if check level < 3, the resulting count for blocks is wrong, because `pindexState` is never updated. Post-commit `./bitcoin-cli verifychain 1 3`: ``` 2018-06-11T07:12:28Z Verifying last 3 blocks at level 1 2018-06-11T07:12:28Z [0%]...[33%]...[66%]...[99%]...[DONE]. 2018-06-11T07:12:28Z No coin database inconsistencies in last 3 blocks (0 transactions) ``` Pre-commit `./bitcoin-cli verifychain 1 3`: ``` 2018-06-11T07:13:34Z Verifying last 3 blocks at level 1 2018-06-11T07:13:34Z [0%]...[33%]...[66%]...[99%]...[DONE]. 2018-06-11T07:13:34Z No coin database inconsistencies in last 0 blocks (0 transactions) ``` Tree-SHA512: 3d82ed26665162c9615fb0e6e91a46ed4d229a5e6797c6c420e6b0bf1be6e5e02401c6e9a93b7a5aec503a2650d8c20d1b45fe300a922379e4cef8ee26e18d96
2018-07-01Merge #13537: GUI: Peer table: Visualize inbound/outbound state for every rowJonas Schnelli
4132ad3bf Show symbol for inbound/outbound in peer table (wodry) Pull request description: Fixes #13483 The address in the network peer table is prefixed with an up-arrow symbolizing an outbound connection, or an down-array symbolizing an inbound connection. See screenshot. The user has an easy visual confirmation about the connection direction state. I really like it :) Impact to columns sorting is grouping by inbound/outbound first, which in my opinion is an advantage, too. ![bildschirmfoto](https://user-images.githubusercontent.com/8447873/41862752-13803eb2-78a5-11e8-9126-a52385f5ec19.png) Tree-SHA512: d355f679d34c3006743c06750be5f36a083c1a8376da8f5f35045fcd9df964153409946fdde5007734f23bd692c91355962dc42df31122cdcf88e4affce8bc0e
2018-06-30logging: avoid nStart may be used uninitialized in AppInitMain warningmruddy
2018-06-29Inline Sign1 and SignNAndrew Chow
Sign1 and SignN are kind of redundant so remove them and inline their behavior into SignStep
2018-06-29[tests] p2p_segwit: sync_blocks in subtest wrapper.John Newbery
2018-06-29[tests] p2p_segwit: remove unnecessary arguments from subtests.John Newbery
2018-06-29[tests] p2p_segwit: log and assert segwit status in subtest wrapper.John Newbery
2018-06-29[tests] p2p_segwit: Make sure each subtest leaves utxos for the next.John Newbery
2018-06-29[tests] p2p_segwit: wrap subtests with subtest wrapper.John Newbery
The subtest wrapper logs the name of the subtest.
2018-06-29[tests] p2p_segwit: re-order function definitions.John Newbery
This re-orders the defintions in p2p_segwit so subtests are defined in the order that they're called.
2018-06-29[tests] p2p_segwit: standardise comments/docstrings.John Newbery
2018-06-29[tests] p2p_segwit: Fix flake8 warnings.John Newbery
2018-06-29Merge #13517: qa: Remove need to handle the network thread in testsWladimir J. van der Laan
fa87da2f172ae2e6dc15e9ed156a3564a8ecfbdd qa: Avoid start/stop of the network thread mid-test (MarcoFalke) Pull request description: This simplifies test writing by removing the need to handle the network thread in tests. E.g. start thread, join thread, restart thread mid-test, adding p2p connections at the "right" time, ... Tree-SHA512: 533642f12fef5496f1933855edcdab1a7ed901d088d34911749cd0f9e044c8a6cb1f89985ac3a7f41a512943663e4e270a61978f6f072143ae050cd102d4eab8
2018-06-29Make ZMQ notification interface instance global.Daniel Kraft
This moves the used instance of CZMQNotificationInterface from a static variable in init.cpp to a globally-accessible one declared in zmq/zmqnotificationinterface.h. The variable is also renamed to g_zmq_notification_interface, to be consistent with other globals. We need this to implement a new RPC method "getzmqnotifications" (see https://github.com/bitcoin/bitcoin/issues/13526) in a follow up.
2018-06-30Merge #13545: tests: Fix test case streams_serializedata_xor. Remove Boost ↵MarcoFalke
dependency. 962d8eed5b Remove boost dependency (boost/assign/std/vector.hpp) (practicalswift) c6fd0df4ef Fix incorrect tests (practicalswift) Pull request description: * Fix test case `streams_serializedata_xor`. * Remove Boost dependency. Tree-SHA512: 609c4ced1b6a8b86f6a37e4220535f1b3c9f2e80949cd034ecc069a94c55c05cd514f2e132fe7f715161ee29811a0fadb6903635c507411d8dc3e7efe864edeb
2018-06-29Merge #13544: depends: Update Qt download urlWladimir J. van der Laan
2fca6568f27c9a1714b7a415cde947b79c10ed45 depends: Update Qt download url (fanquake) Pull request description: Qt has moved the 5.7.1 downloads from the [official_releases](https://download.qt.io/official_releases/qt/) directory to it's [archive](https://download.qt.io/archive/qt/). ``` Fetching qtbase-opensource-src-5.7.1.tar.gz from http://download.qt.io/official_releases/qt/5.7/5.7.1/submodules % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 curl: (22) The requested URL returned error: 404 Not Found ``` This updates the qt download url in depends so we aren't always falling back on [bitcoincore.org/depends-sources](https://bitcoincore.org/depends-sources). Tree-SHA512: 2aca3260fa0550322108b5bcc8c226e13b48c3500b7d95f545651e5b60d290edde16d9f6dea45f438c39a1388cb304cc16768a9728d32d3a441667968ea35425
2018-06-29Merge #13563: bench: Simplify CoinSelectionMarcoFalke
c2e4fc84ec bench: Simplify CoinSelection (João Barbosa) Pull request description: Closes #13549. As pointed by @MarcoFalke: - `SelectCoinsMinConf` should always succeed as there are enough coins in the wallet. - Removed creating the coins in the wallet. Tree-SHA512: 965c363bcaf0ca7a1dec35b5cf4866abcf190c53eb7012dc4aeb4d29830f13a7465644bfb5a47f6ea3eaa86e4d4a57fe41e7b2593bf5094b76a551c4c71625bb
2018-06-28Fix AreInputsStandard test to reference the proper scriptPubKeyBen Woosley
This value doesn't affect the outcome of the test, because the values are properly set on line 351, but this makes the test values internally coherent.
2018-06-28[wallet] loadwallet shouldn't create new wallets.John Newbery
A bug in the initial implementation of loadwallet meant that if the arguement was a directory that didn't contain a wallet.dat file, a new wallet would be created in that directory. Fix that so that if a directory is passed in, it must contain a wallet.dat file. Bug reported by promag (João Barbosa).
2018-06-28bench: Simplify CoinSelectionJoão Barbosa
2018-06-29Merge #13551: tests: Fix incorrect documentation for test case ↵MarcoFalke
cuckoocache_hit_rate_ok ea49e06c82 tests: Fix incorrect documentation for test case cuckoocache_hit_rate_ok (practicalswift) Pull request description: Fix incorrect documentation for test case `cuckoocache_hit_rate_ok`. Tree-SHA512: 2c1138953f077666c0bba784d9f5e5a627403dcd8b81851ca74793f1bf7bb5dc274af7887d51edb6669de1e9354ca7e5dfba80a3ce62f16eaaee6c6fa57b79f5
2018-06-29Merge #13535: [qa] wallet_basic: Specify minimum required amount for listunspentMarcoFalke
fa103a5d5e [qa] wallet_basic: Specify minimum required amount for listunspent (MarcoFalke) Pull request description: A value less than that would fail the tests later on anyway: ``` File "./test/functional/wallet_basic.py", line 250, in run_test self.nodes[1].sendrawtransaction(signed_raw_tx['hex']) test_framework.authproxy.JSONRPCException: bad-txns-in-belowout, value in (1.00) < value out (49.998) (code 16) (-26) Tree-SHA512: 7e72ad02b5623bc078610da06c34721836822a920a4e85b12a1e0f339e3205cdc11d39763197770e649fb73376f922ff91a8f244b465195e50a6798658e04f80
2018-06-27tests: Fix incorrect documentation for test case cuckoocache_hit_rate_okpracticalswift
2018-06-28[tests] Check signrawtransaction* errors on missing prevtx infoAnthony Towns
2018-06-28Error on missing amount in signrawtransaction*Anthony Towns
Signatures using segregated witness commit to the amount being spent, so that value must be passed into signrawtransactionwithkey and signrawtransactionwithwallet. This ensures an error is issued if that doesn't happen, rather than just assuming the value is 0 and producing a signature that is almost certainly invalid.
2018-06-27Remove boost dependency (boost/assign/std/vector.hpp)practicalswift
2018-06-27depends: Update Qt download urlfanquake
2018-06-27Fix incorrect testspracticalswift
2018-06-27depends: Add RISC-V supportWladimir J. van der Laan
2018-06-28Merge #12882: tests: Make test_bitcoin pass under ThreadSanitzer (clang). ↵MarcoFalke
Fix lock-order-inversion (potential deadlock). 9fdf05d70c tests: Fix lock-order-inversion (potential deadlock) in DoS_tests. Reported by TSAN. (practicalswift) Pull request description: Fix lock-order-inversion (potential deadlock) in `DoS_tests`. Reported by Clang's TSAN. Makes `src/test/test_bitcoin` pass also when compiled with TreadSanitizer (`./configure --with-sanitizers=thread` with `clang`). Tree-SHA512: 41403bb7b6e26bdf1b830b5699e27c637d522bae1799d2a19ed4b68b21b2555438b42170d8b1189613beb32a69b76a65175d29a83f5f4e493896c3d0d94ae26d
2018-06-27Merge #13503: Document FreeBSD quirk. Fix FreeBSD build: Use ↵MarcoFalke
std::min<int>(...) to allow for compilation under certain FreeBSD versions. 629a47a154 Document FreeBSD quirk. Fix FreeBSD build. (practicalswift) Pull request description: * Document FreeBSD quirk. * Fix FreeBSD build: Cast to `int` to allow `std::min` to work under FreeBSD. Context: https://github.com/bitcoin/bitcoin/pull/9598#issuecomment-398353904 Tree-SHA512: 5ca7a5fa9e1f3efae241b9be64c9b019ec713c11dcc3edaaed383477ea48ac0dc82549ffebbe9069e8c3f6eff30acd6e4542b4aa31d307f022f4f51e5851a82c
2018-06-27Merge #13532: Log warning when deprecated network name 'tor' is usedWladimir J. van der Laan
9f8c54b1b5ddedddf47fc51c1fcb533321f6f89f Log warning message when deprecated network name 'tor' is used (e.g. option onlynet=tor) (wodry) Pull request description: As @laanwj mentioned [here](https://github.com/bitcoin/bitcoin/pull/13418#discussion_r197645385), using option `onlynet=tor` is deprecated. I think it would be good to give the user a depcreaction warning feedback, so users can switch to `onlynet=onion` so there is a perspective for removing the deprecated `tor` in the future to decrease confusion. Currently, users maybe just wonder that they can use a undocumented option, or they are not aware that they use a deprecated option. Alternatively for the log warning message, I think at least this deprecetaion should be documented in the source code in a comment for readers of the source code. Tree-SHA512: f4889793cdd62a0a13353e13994ed50ca7d367fa9da9897ce909f86cf0b0ce6151b3c484c8e514b8ac332949c6bbc71001e06e918248a1089f73756bd4840602
2018-06-26Merge #12686: Add -ftrapv to CFLAGS and CXXFLAGS when --enable-debug is ↵Pieter Wuille
used. Enable -ftrapv in Travis. 98d842cb52 travis: Build with --enable-debug (x86_64-unknown-linux-gnu) (practicalswift) 94e52d13db Add -ftrapv to DEBUG_CXXFLAGS when --enable-debug is used (practicalswift) Pull request description: By generating a trap for signed overflow on addition, subtraction, multiplication operations in the Travis testing we are more likely to identify problematic code prior to merging it. Tree-SHA512: 47712da53b4ff451b8f22f16ddc3b53100a09060a3b04cda4b8fbbb74e6f666fc07a9cc7abc64cacb87a0aa3f62dc8e3c91a1a0ed12bf82bb2a5624a5d104389
2018-06-26Merge #13418: Docs: More precise explanation of parameter onlynetPieter Wuille
2454a8558a Docs: More precise explanation of parameter "onlynet" (wodry) Pull request description: See issue #13378 Tree-SHA512: d51e81e4ef7fe084c3c9accf3433760fb34c02d149bb2d7006545fecdf68ecd4a5c5bfd0585fd5caff2f034eb96c7da80e85cb04c0ff3edb4c9c65ab56eb2847
2018-06-26Merge #13498: [wallet] Fixups from account API deprecationPieter Wuille
df10f07db1 [wallet] Don't use accounts when checking balance in sendmany (John Newbery) e209184101 [wallet] deprecate sendfrom RPC method. (John Newbery) Pull request description: A couple of fixups from the accounts API deprecation PR (#12953): - properly deprecate `sendfrom` - don't use accounts when calculating balance in `sendmany` (unless the `-deprecatedrpc=accounts` flag is being used) Tree-SHA512: 1befde055067438c4c3391bbff1aaed0e6249efd708c567db3f1faad40a0f28e64f95e5bad0679ae826d24a0239e4bc8a1c392dc93e2e7502343a7f6b1d1845c
2018-06-26Docs: More precise explanation of parameter "onlynet"wodry
2018-06-26Show symbol for inbound/outbound in peer tablewodry
2018-06-26Use immintrin.h everywhere for intrinsicsPieter Wuille
2018-06-26Add SHA256 implementation using using Intel SHA intrinsicsPieter Wuille
2018-06-26Merge #13531: doc: Clarify that mempool txiter is const_iteratorMarcoFalke
faca0a8625 doc: Clarify that mempool txiter is const_iterator (MarcoFalke) Pull request description: `iterator` and `const_iterator` are the same type for multi indexed transaction sets, but `const_iterator` should be preferred for documentation purposes. Tree-SHA512: 83e8af36d15aa1e9fc59b3c2279504fd6f6ea3188dc43e36dec279ee0613ff07947d7143fd112bade7868b0dba59ecab3fd246cbde82e376ef965b646d9f8c4d
2018-06-25Merge #13507: RPC: Fix parameter count check for importpubkeyWladimir J. van der Laan
3f72d04e29caf247a3fee92f86fe0d250d578914 Fix parameter count check for importpubkey. (Kristaps Kaupe) Pull request description: Found this while working on #13464. Parameter count check for `importpubkey` was wrong. Tree-SHA512: aba41b666c6493379f320be5e3e438a6cad1a96429102ff4428c092c48f29c2eead2195792c0b018296f20e1c42eb091dd5b9886c42cecbb1f0d03d5def14705