Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Catch up with Core until commit f617e05c38c9c7e663b824fefe5329cc5cbbf26a #620

Merged
merged 425 commits into from
May 16, 2019
Merged
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
425 commits
Select commit Hold shift + click to select a range
ee0b7c4
build: Pin to specific versions of Python packages we install from Py…
practicalswift Oct 16, 2018
23419e4
Merge #14335: net: refactor: cleanup ThreadSocketHandler
laanwj Oct 16, 2018
c269209
[tests] Small fixups before deprecating generate
jnewbery Oct 11, 2018
b191c7d
doc: add comment explaining recentRejects-DoS behavior
jamesob Oct 9, 2018
27bf14f
Merge #14495: build: Warn (don't fail!) on spelling errors
sipa Oct 17, 2018
3036faf
Merge #14496: build: Pin to specific versions of Python packages we i…
laanwj Oct 17, 2018
eeeaa29
descriptors.md: Refer to descriptors as describing instead of matching
ryanofsky Oct 17, 2018
816fab9
Merge #14450: qt: Fix QCompleter popup regression
jonasschnelli Oct 17, 2018
2b91e42
[docs] Add release note for removing getwitnessaddress
jnewbery Sep 23, 2018
041224a
Merge #14472: [doc] getblocktemplate: use SegWit in example
laanwj Oct 18, 2018
9c5f0d5
Merge #13878: utils: Add fstream wrapper to allow to pass unicode fil…
laanwj Oct 18, 2018
d98777f
Merge #14146: wallet: Remove trailing separators from -walletdir arg
laanwj Oct 18, 2018
96f6dc9
Avoid triggering undefined behaviour in base_uint<BITS>::bits()
practicalswift Oct 18, 2018
32c5f18
Merge #14177: qt: Set C locale for amountWidget
laanwj Oct 18, 2018
fe23553
Merge #14374: qt: Add "Blocksdir" to Debug window
laanwj Oct 18, 2018
b6b9915
Textual improvements
merland Oct 18, 2018
369244f
utils: Fix broken Windows filelock
ken2812221 Oct 7, 2018
3715b24
Merge #14510: Avoid triggering undefined behaviour in base_uint<BITS>…
laanwj Oct 18, 2018
bc60c61
Avoid 1 << 31 (UB) in calculation of SEQUENCE_LOCKTIME_DISABLE_FLAG
practicalswift Oct 18, 2018
aab8172
[tests] Add generate method to TestNode
jnewbery Oct 5, 2018
c9f0295
[wallet] Deprecate the generate RPC method
jnewbery Oct 11, 2018
1fb3c16
Add `doc/bitcoin-conf.md`
hebasto Oct 16, 2018
fc4db35
wallet: Add ListWalletDir utility
promag Sep 21, 2018
d1b03b8
interfaces: Add getWalletDir and listWalletDir to Node
promag Sep 21, 2018
cc33773
rpc: Add listwalletdir RPC
promag Sep 24, 2018
0cb3cad
qa: Add tests for listwalletdir RPC
promag Sep 24, 2018
d56a068
docs: Add release notes for listwalletdir RPC
promag Sep 26, 2018
321decf
rpc: Fix wallet unload during walletpassphrase timeout
promag Oct 9, 2018
8eb2cd1
Merge #14291: wallet: Add ListWalletDir utility function
laanwj Oct 18, 2018
6d247b1
gitignore contents of db4 folder
murtyjones Sep 24, 2018
33ae985
doc: Update OpenBSD build guide for 6.4
fanquake Oct 19, 2018
d387507
Merge #14465: tests: Stop node before removing the notification file
sipa Oct 19, 2018
a4edb16
ZMQ: add options to configure outbound message high water mark, aka S…
mruddy Aug 25, 2018
3be209d
rpc: Always throw in getblockstats if -txindex is required
promag Oct 19, 2018
7e18673
Fix typo
kristapsk Oct 19, 2018
8010ded
Merge #14524: Trivial: fix typo
sipa Oct 20, 2018
b14db5a
Merge #14513: Avoid 1 << 31 (UB) in calculation of SEQUENCE_LOCKTIME_…
sipa Oct 20, 2018
b2863c0
Merge #14426: utils: Fix broken Windows filelock
sipa Oct 20, 2018
dc1e542
Merge #14474: bitcoin-tx: Use constant for n pubkeys check
sipa Oct 20, 2018
e754c6e
Merge #14011: Disable wallet and address book Qt tests on macOS minim…
sipa Oct 20, 2018
91482e5
Merge #14460: tests: Improve 'CAmount' tests
sipa Oct 20, 2018
544f323
Merge #14512: docs: Textual improvements in README.md
sipa Oct 20, 2018
8640631
docs: Document lint tests
Jul 19, 2018
d433239
Merge #14456: test: forward timeouts properly in send_blocks_and_test
Oct 20, 2018
6746a89
Merge #14497: docs: Add doc/bitcoin-conf.md
laanwj Oct 20, 2018
fadffae
Revert "Make qt wallet test compatible with qt4"
Oct 20, 2018
8907df9
qa: Ensure wallet unload during walletpassphrase timeout
promag Oct 19, 2018
585b47c
rpc: Prevent concurrent savemempool
promag Mar 30, 2018
fa4bcaf
travis: Compile once on xenial
Oct 20, 2018
96c409c
Merge #14527: qa: Revert "Make qt wallet test compatible with qt4"
laanwj Oct 20, 2018
43719e0
[macOS] Remove DS_Store WindowBounds bytes object
jonasschnelli Oct 18, 2018
7579560
Merge #13909: validation: Pass chainparams in AcceptToMemoryPoolWorke…
Oct 21, 2018
73cddb3
Merge #14526: docs: Document lint tests
Oct 21, 2018
5c25409
Merge #14161: doc/descriptors.md tweaks
Oct 21, 2018
2c6281f
Add key origin support to descriptors
sipa Jul 18, 2018
ff37459
Add tests for key origin support
sipa Sep 3, 2018
8afb166
Update documentation to incude origin information
sipa Oct 12, 2018
96c509e
show the progress of functional test
isghe Oct 17, 2018
38b9850
qt: cleanup: Move BIP70 functions together in paymentserver
laanwj Nov 9, 2017
fbb643d
Add BIP70 deprecation warning
jameshilliard Oct 9, 2018
48439b3
Don't link SSL_LIBS with GUI unless BIP70 is enabled
jameshilliard Oct 10, 2018
5918204
Removed explicit mention of storage requirement (squashed)
merland Oct 18, 2018
0a8f519
Merge #14150: Add key origin support to descriptors
sipa Oct 22, 2018
b3f377d
Merge #14511: doc: Remove explicit storage requirement from README.md
sipa Oct 23, 2018
ab9aca2
[rpc] add 'getnewaddress' hint to 'generatetoaddress' help text.
jnewbery Oct 23, 2018
3668bb3
Merge #14468: [wallet] Deprecate generate RPC method
Oct 23, 2018
94cf1ec
Merge #14417: Fix listreceivedbyaddress not taking address as a string
Oct 23, 2018
5473e25
Merge #14444: Add compile time checking for cs_main locks which we as…
Oct 24, 2018
e895fdc
Merge #11634: wallet: Add missing cs_wallet/cs_KeyStore locks to wallet
Oct 24, 2018
9dda5fd
Merge #14296: [wallet] Remove addwitnessaddress
Oct 24, 2018
2e15fa1
Merge #12842: Prevent concurrent savemempool
laanwj Oct 24, 2018
9886590
Merge #14451: Add BIP70 deprecation warning and allow building GUI wi…
laanwj Oct 24, 2018
a74ed3a
Merge #14453: rpc: Fix wallet unload during walletpassphrase timeout
laanwj Oct 24, 2018
2d796fa
wallet: Fix duplicate fileid
ken2812221 Sep 25, 2018
4ea7732
tests: add test case for loading copied wallet twice
ken2812221 Oct 24, 2018
6241eb3
Merge #14504: tests: show the progress of functional tests
Oct 24, 2018
2b88f67
Merge #14320: [bugfix] wallet: Fix duplicate fileid detection
laanwj Oct 24, 2018
4dca7d0
appveyor: Enable multiwallet test
ken2812221 Oct 24, 2018
613fc95
Merge #14559: appveyor: Enable multiwallet tests
Oct 24, 2018
f6ed748
Add SegWit support to importmulti with some ProcessImport cleanup
meshcollider Oct 9, 2018
353c064
Fix typo in test_framework/blocktools
meshcollider Oct 9, 2018
1753d21
Add release notes for importmulti segwit change
meshcollider Oct 15, 2018
201451b
Make getaddressinfo return solvability
meshcollider Oct 17, 2018
c11875c
Add segwit address tests for importmulti
meshcollider Oct 9, 2018
01a4c09
wallet: Add WalletLocation utility class
promag Sep 28, 2018
65f3672
wallet: Refactor to use WalletLocation
promag Sep 28, 2018
fbaccbf
build: Fix Qt link order for Windows build
ken2812221 Oct 25, 2018
754a00d
Merge #14416: Fix OSX dmg issue (10.12 to 10.14)
laanwj Oct 25, 2018
ed2e183
Remove fs::relative call and fix listwalletdir tests
promag Oct 20, 2018
9d45415
Merge #14518: rpc: Always throw in getblockstats if -txindex is required
laanwj Oct 26, 2018
d50c996
Merge #14561: Remove fs::relative call and fix listwalletdir tests
laanwj Oct 26, 2018
fa78a2f
[tests] Test that nodes respond to getdata with notfound
Sep 16, 2018
ae85c8d
Merge #14568: build: Fix Qt link order for Windows build
Oct 26, 2018
f4e4ea1
Merge #13515: travis: Enable qt for all jobs
Oct 26, 2018
15db77f
Don't rely on locale dependent functions in base_blob<BITS>::SetHex(.…
practicalswift Oct 26, 2018
c70f9c0
Merge #14571: [tests] Test that nodes respond to getdata with notfound
Oct 27, 2018
efaf2d8
Merge #13783: validation: Pass tx pool reference into CheckSequenceLocks
Oct 27, 2018
36c8e68
Various textual improvements in build docs
merland Oct 25, 2018
04972fe
Remove unused `adjustedTime` parameter
hebasto Oct 23, 2018
643b25d
Merge #14583: docs: Textual improvements in build docs
Oct 28, 2018
f1e2f2a
Merge #14585: refactor: remove usage of locale dependent std::isspace
Oct 28, 2018
cf2f430
gui: explicitly disable "Dark Mode" appearance on macOS
fanquake Oct 28, 2018
d8bf107
Bugfix: RPC: Add address_type named param for createmultisig
luke-jr Oct 28, 2018
29f429d
Merge #14596: Bugfix: RPC: Add address_type named param for createmul…
Oct 29, 2018
0e6de3a
added details about commit messages
merland Oct 29, 2018
8711cc0
qt: Improve BitcoinAmountField class
hebasto Oct 30, 2018
4bd125f
tests: Print dots by default
ken2812221 Oct 30, 2018
a16f44c
qt: Remove "Pay only required fee" checkbox
hebasto Oct 30, 2018
053b6f4
align items in contrib init
morenoh149 Oct 30, 2018
fa77aaa
doc: Add external interface consistency guarantees
Oct 28, 2018
0a04667
FreeBSD: Document Python 3 requirement for 'gmake check'
murrayn Oct 31, 2018
b312579
Merge #14454: Add SegWit support to importmulti
laanwj Oct 31, 2018
53bb6be
Remove obj_c for macOS Dock icon setting
hebasto Oct 31, 2018
9605bbd
Make clear function argument case in dev notes
dongcarl Nov 1, 2018
d38a509
Merge #14600: docs: Clarify commit message guidelines
laanwj Nov 1, 2018
08a57d5
Merge #14593: gui: explicitly disable "Dark Mode" appearance on macOS
laanwj Nov 1, 2018
6a095bc
Merge #14569: tests: Print dots by default in functional tests
Nov 1, 2018
9899e65
Merge #14617: FreeBSD: Document Python 3 requirement for 'gmake check'
laanwj Nov 1, 2018
f6df989
Merge #14197: [psbt] Convert non-witness UTXOs to witness if witness …
laanwj Nov 1, 2018
f69d922
Merge #14592: doc: Add external interface consistency guarantees
laanwj Nov 1, 2018
1e0f3c4
macOS: disable AppNap during sync
krab Nov 1, 2018
5049f7f
Merge #14625: Make clear function argument case in dev notes
laanwj Nov 1, 2018
086fc83
Tests: Fix a comment
raxomukus Nov 1, 2018
3fd7e76
[tests] Move deterministic address import to setup_nodes
jnewbery Oct 16, 2018
e4dc39b
Replace platform dependent type with proper const
hebasto Oct 11, 2018
bafb921
Remove duplicated code
hebasto Oct 12, 2018
51e5ef3
Merge #14377: check that a separator is found for psbt inputs, output…
laanwj Nov 1, 2018
5352030
Avoid using numeric_limits for sequence numbers and lock times
ryanofsky Oct 31, 2018
5aa31f6
tests: add utility to assert node memory usage hasn't increased
jamesob Oct 19, 2018
62f94d3
tests: add P2PConnection.send_raw_message
jamesob Oct 19, 2018
d20a9fa
tests: add tests for invalid P2P messages
jamesob Oct 19, 2018
fe5d22b
More concise conversion of CDataStream to string
gwillen Oct 26, 2018
4f3f5cb
Remove redundant txConst parameter to FillPSBT
gwillen Oct 26, 2018
65166d4
New PartiallySignedTransaction constructor from CTransction
gwillen Oct 26, 2018
53e6fff
Add bool PSBTInputSigned
gwillen Oct 26, 2018
0f5bda2
Simplify arguments to SignPSBTInput
gwillen Oct 26, 2018
5655005
Refactor PSBTInput signing to enforce invariant
gwillen Oct 26, 2018
e13fea9
Add regression test for PSBT signing bug #14473
gwillen Oct 30, 2018
fa43626
test_runner: Remove travis specific code
Nov 1, 2018
c34c821
Merge #14631: [tests] Move deterministic address import to setup_nodes
Nov 2, 2018
7504157
Merge #14630: test_runner: Remove travis specific code
Nov 2, 2018
742ee21
Merge #14528: travis: Compile once on xenial
Nov 2, 2018
63c74d2
build: Remove illegal spacing in darwin.mk
ch4ot1c Nov 3, 2018
2464925
Use Qt signal for macOS Dock icon click event
hebasto Oct 31, 2018
6b1d297
Remove obj_c for macOS Dock icon menu
hebasto Nov 2, 2018
b740788
Merge #14410: rpcwallet: 'ischange' field for 'getaddressinfo' RPC
Nov 4, 2018
76e13b5
warnings: Compiler warning on memset usage for non-trivial type
ldm5180 Nov 4, 2018
2068f08
scripted-diff: Move util files to separate directory.
jimpo Oct 22, 2018
bccb4d2
Merge #14555: Move util files to directory
laanwj Nov 5, 2018
13d98ea
Merge #14647: build: Remove illegal spacing in darwin.mk
laanwj Nov 5, 2018
5796671
qt: Add GUIUtil::bringToFront
promag Aug 31, 2018
6fc21ac
qt: Use GUIUtil::bringToFront where possible
promag Aug 31, 2018
0a656f8
qt: All tray menu actions call showNormalIfMinimized
promag Aug 31, 2018
69d574a
Merge #14554: qt: Remove unused `adjustedTime` parameter
laanwj Nov 5, 2018
4ed7308
scripted-diff: Rename misleading 'defaultPort' to 'http_port'
murrayn Nov 1, 2018
46eb275
Merge #14350: Add WalletLocation class
laanwj Nov 5, 2018
15a219f
Merge #14628: Trivial: Rename misleading 'defaultPort' to 'rpc_port'
laanwj Nov 5, 2018
76ae7a1
Merge #14515: doc: Update OpenBSD build guide for 6.4
laanwj Nov 5, 2018
9912486
rpc: Make HTTP RPC debug logging more informative
practicalswift Oct 31, 2018
ab8c6f2
Add SAFE_CHARS[SAFE_CHARS_URI]: Chars allowed in URIs (RFC 3986)
practicalswift Nov 1, 2018
45f5006
Merge #14618: rpc: Make HTTP RPC debug logging more informative
laanwj Nov 5, 2018
dac2caa
Merge #14060: ZMQ: add options to configure outbound message high wat…
laanwj Nov 5, 2018
73a8408
Merge #14092: tests: Dry run bench_bitcoin as part "make check" to al…
Nov 5, 2018
6b8d0a2
Merge #14632: Tests: Fix a comment
Nov 5, 2018
b602214
trivial: Don't translate in help text
ken2812221 Nov 5, 2018
bbbbb3f
qa: Add test to ensure node can generate all help texts at runtime
Oct 22, 2018
4fb789e
Extract CSipHasher to it's own file in crypto/ directory.
jimpo Aug 24, 2018
fef5adc
blockfilter: Use unordered_set instead of set in blockfilter.
jimpo Aug 21, 2018
6c5355e
example_test.py: fixup coinbase height argument, derive number clearly
instagibbs Nov 5, 2018
dbc1a64
Merge #14660: trivial: Don't translate help texts
Nov 5, 2018
9c3f6c5
Merge #14664: example_test.py: fixup coinbase height argument, derive…
Nov 5, 2018
9f49db7
Enable functional tests in UBSAN job. Enable -fsanitize=integer (part…
practicalswift Sep 17, 2018
1ba5583
Merge #14252: build: Run functional tests and benchmarks under the un…
Nov 5, 2018
13fe258
Error if rpcpassword in conf contains a hash character
meshcollider Oct 16, 2018
0385109
Add test for rpcpassword hash error
meshcollider Oct 16, 2018
99d33a6
appveyor: Script improvement part II
ken2812221 Nov 6, 2018
5a05aa2
Add metavar to match var name in help text + Change wording for bette…
merland Oct 31, 2018
825f779
doc: Add historical release notes for 0.17.0.1
laanwj Nov 6, 2018
fced6b5
Add UBSan options: print_stacktrace + halt_on_error
practicalswift Nov 6, 2018
024816d
Merge #14522: tests: add invalid P2P message tests
laanwj Nov 6, 2018
cdddd17
Merge #14658: qa: Add test to ensure node can generate all rpc help t…
laanwj Nov 6, 2018
5c292da
Add UBSan suppressions needed to pass test suite
practicalswift Nov 6, 2018
880bc72
Merge #14074: Use std::unordered_set instead of set in blockfilter in…
laanwj Nov 6, 2018
7e2e62c
Add skeleton chain and client classes
ryanofsky May 30, 2017
8db11dd
Pass chain and client variables where needed
ryanofsky May 30, 2017
ea961c3
Remove direct node->wallet calls in init.cpp
ryanofsky Sep 28, 2017
79d579f
Remove uses of cs_main in wallet code
ryanofsky Jul 26, 2017
6af27b8
Merge #14619: tests: Fix value display name in test_runner help text
Nov 6, 2018
081accb
Pass chain locked variables where needed
ryanofsky Jul 31, 2017
3d305e3
Send fewer spam messages in p2p_invalid_messages
jamesob Nov 6, 2018
4773fa8
Add llvm-symbolizer directory to PATH. Needed to get symbolized stack…
practicalswift Nov 6, 2018
976583e
Merge #14672: tests: Send fewer spam messages in p2p_invalid_messages
Nov 6, 2018
d864e45
Merge #14673: travis: Fail the UBSan Travis build in case of newly in…
Nov 6, 2018
4e6dc7a
Merge #14665: appveyor: Script improvement part II
Nov 7, 2018
66c7024
Merge #14611: docs: align items in contrib init
Nov 7, 2018
e8d490f
Merge #14636: Avoid using numeric_limits for sequence numbers and loc…
Nov 7, 2018
590a57f
tests: Remove unused testing code
practicalswift Sep 24, 2018
c82190c
tests: Add Python dead code linter (vulture)
practicalswift Oct 4, 2018
d26d15c
Merge #14365: tests: Add Python dead code linter (vulture) to Travis
Nov 7, 2018
fa4da3c
[doc] conf: Remove deprecated options from docs, Other cleanup
Jun 29, 2016
7afddfa
importmulti: Don't add internal addresses to address book
instagibbs Nov 7, 2018
11e1ac3
Merge #14436: doc: add comment explaining recentRejects-DoS behavior
Nov 7, 2018
7a90b1b
build: Fix windows build error if `--disable-bip70`
ken2812221 Nov 7, 2018
6b8d86d
Require a public key to be retrieved when signing a P2PKH input
achow101 Nov 8, 2018
4e4de10
Throw error if CPubKey is invalid during PSBT keypath serialization
instagibbs Nov 8, 2018
e527810
Merge #14686: build: Fix windows build error if `--disable-bip70`
Nov 8, 2018
e70a19e
Merge #14684: [doc] conf: Remove deprecated options from docs, Other …
Nov 8, 2018
fa9ed38
test_node: get_mem_rss fixups
Nov 8, 2018
cbf0093
Merge #14437: Refactor: Start to separate wallet from node
Nov 9, 2018
fa0d36f
rpc: Include rpc/util.h where needed for RPCHelpMan
Nov 6, 2018
6c787d3
tests: Make feature_block pass on centos
Nov 9, 2018
fa21568
qa: Avoid race in p2p_invalid_block by waiting for the block request
Nov 9, 2018
b30c62d
Merge #14588: Refactor PSBT signing logic to enforce invariant and fi…
sipa Nov 10, 2018
16e3b17
Merge #14689: Require a public key to be retrieved when signing a P2P…
sipa Nov 10, 2018
edc7152
Merge #12783: macOS: disable AppNap during sync
laanwj Nov 10, 2018
fa3df02
travis: Avoid timeout on verify-commits check
Nov 10, 2018
fa5a6ce
qa: Raise ci test_runner timeout to 40 mins
Nov 10, 2018
ae32806
Merge #14651: Refactor: Fix compiler warning in prevector.h
laanwj Nov 12, 2018
4822325
Merge #14123: gui: Add GUIUtil::bringToFront
laanwj Nov 12, 2018
af3c8a7
Merge #14693: test_node: get_mem_rss fixups
laanwj Nov 12, 2018
5cdfd72
Merge #14228: Qt: Enable system tray icon by default if available
laanwj Nov 12, 2018
90c0b6a
Merge #14494: Error if # is used in rpcpassword in conf
laanwj Nov 12, 2018
fa483e1
rpc: Add RPCHelpMan for machine-generated help
Oct 23, 2018
47ed24c
Merge #14356: fix converttopsbt permitsigdata arg, add basic test
laanwj Nov 12, 2018
27154ce
util.h: explicitly include required QString header
1Il1 Nov 13, 2018
b60f4e3
Merge #13381: RPC: creates possibility to preserve labels on importpr…
jonasschnelli Nov 13, 2018
083f535
Merge #14608: qt: Remove the "Pay only required fee..." checkbox
jonasschnelli Nov 13, 2018
ce7fcc3
Merge #14690: Throw error if CPubKey is invalid during PSBT keypath s…
laanwj Nov 13, 2018
c51e151
Merge #14714: util.h: explicitly include required QString header
laanwj Nov 13, 2018
5d605b2
Merge #14700: qa: Avoid race in p2p_invalid_block by waiting for the …
Nov 13, 2018
e0c6bb7
Merge #14705: travis: Avoid timeout on verify-commits check
Nov 13, 2018
c651265
Merge #14530: Use RPCHelpMan to generate RPC doc strings
Nov 13, 2018
f617e05
Merge #14679: importmulti: Don't add internal addresses to address book
laanwj Nov 13, 2018
7f894ae
UPSTREAM MERGE BROKEN: Merge commit 'f617e05c38c9c7e663b824fefe5329cc…
stevenroose May 1, 2019
7256637
MERGE-FIX: Makefile fix
stevenroose May 1, 2019
9f4f2e7
MERGE-FIX: Fix compilation errors
stevenroose May 1, 2019
449ac89
MERGE-FIX: Copy bitcoin_functional from upstream
stevenroose May 2, 2019
71723f7
MERGE-FIX: Adapt bitcoin_functional
stevenroose May 2, 2019
3a83980
MERGE-FIX: Fix upstream functional tests
stevenroose May 2, 2019
1a2a93a
MERGE-FIX: General fixes for functional tests
stevenroose May 3, 2019
5492cef
MERGE-FIX: Fix fedpeg and pak tests for 0.18.0
stevenroose May 3, 2019
ee0e510
MERGE-FIX: Fix other functional tests
stevenroose May 14, 2019
bf4f1d0
MERGE-FIX: Disable p2p_invalid_messages tests to fix later
stevenroose May 14, 2019
dc900eb
Merge branch 'master' into catchup
stevenroose May 14, 2019
4ed0bb3
Fix dead-code linter issues
stevenroose May 14, 2019
872d39f
Prevent Travis from failing when tests are disabled
stevenroose May 15, 2019
ad3d496
Add extra lock check for OSX build
stevenroose May 15, 2019
d21e056
Address some linter complaints
stevenroose May 15, 2019
3cc7205
Assert that queued checks are non-null
instagibbs May 15, 2019
693f206
fill checkqueue_tests vector for completion checking
instagibbs May 15, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
58 changes: 58 additions & 0 deletions .appveyor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
version: '{branch}.{build}'
skip_tags: true
image: Visual Studio 2017
configuration: Release
platform: x64
clone_depth: 5
environment:
APPVEYOR_SAVE_CACHE_ON_ERROR: true
CLCACHE_SERVER: 1
PACKAGES: boost-filesystem boost-signals2 boost-test libevent openssl zeromq berkeleydb secp256k1 leveldb
PATH: 'C:\Python37-x64;C:\Python37-x64\Scripts;%PATH%'
PYTHONUTF8: 1
cache:
- C:\tools\vcpkg\installed
- C:\Users\appveyor\clcache
install:
- cmd: pip install --quiet git+https://github.com/frerich/[email protected]
# Disable zmq test for now since python zmq library on Windows would cause Access violation sometimes.
# - cmd: pip install zmq
- cmd: vcpkg install --triplet %PLATFORM%-windows-static %PACKAGES% > NUL
- cmd: del /s /q C:\Tools\vcpkg\installed\%PLATFORM%-windows-static\debug # Remove unused debug library
before_build:
- ps: clcache -M 536870912
- cmd: python build_msvc\msvc-autogen.py
- ps: $files = (Get-ChildItem -Recurse | where {$_.extension -eq ".vcxproj"}).FullName
- ps: for (${i} = 0; ${i} -lt ${files}.length; ${i}++) {
${content} = (Get-Content ${files}[${i}]);
${content} = ${content}.Replace("</RuntimeLibrary>", "</RuntimeLibrary><DebugInformationFormat>None</DebugInformationFormat>");
${content} = ${content}.Replace("<WholeProgramOptimization>true", "<WholeProgramOptimization>false");
${content} = ${content}.Replace("NDEBUG;", "");
Set-Content ${files}[${i}] ${content};
}
- ps: Start-Process clcache-server
- ps: fsutil behavior set disablelastaccess 0 # Enable Access time feature on Windows (for clcache)
build_script:
- cmd: msbuild /p:TrackFileAccess=false /p:CLToolExe=clcache.exe build_msvc\bitcoin.sln /m /v:q /nowarn:C4244;C4267;C4715 /nologo
after_build:
- ps: fsutil behavior set disablelastaccess 1 # Disable Access time feature on Windows (better performance)
- ps: clcache -z
before_test:
- ps: ${conf_ini} = (Get-Content([IO.Path]::Combine(${env:APPVEYOR_BUILD_FOLDER}, "test", "config.ini.in")))
- ps: ${conf_ini} = ${conf_ini}.Replace("@abs_top_srcdir@", ${env:APPVEYOR_BUILD_FOLDER})
- ps: ${conf_ini} = ${conf_ini}.Replace("@abs_top_builddir@", ${env:APPVEYOR_BUILD_FOLDER})
- ps: ${conf_ini} = ${conf_ini}.Replace("@EXEEXT@", ".exe")
- ps: ${conf_ini} = ${conf_ini}.Replace("@ENABLE_WALLET_TRUE@", "")
- ps: ${conf_ini} = ${conf_ini}.Replace("@BUILD_BITCOIN_CLI_TRUE@", "")
- ps: ${conf_ini} = ${conf_ini}.Replace("@BUILD_BITCOIND_TRUE@", "")
- ps: ${conf_ini} = ${conf_ini}.Replace("@ENABLE_ZMQ_TRUE@", "")
- ps: ${utf8} = New-Object System.Text.UTF8Encoding ${false}
- ps: '[IO.File]::WriteAllLines([IO.Path]::Combine(${env:APPVEYOR_BUILD_FOLDER}, "test", "config.ini"), ${conf_ini}, ${utf8})'
- ps: move "build_msvc\${env:PLATFORM}\${env:CONFIGURATION}\*.exe" src
test_script:
- cmd: src\test_bitcoin.exe -k stdout -e stdout 2> NUL
- cmd: src\bench_bitcoin.exe -evals=1 -scaling=0 > NUL
- ps: python test\util\bitcoin-util-test.py
- cmd: python test\util\rpcauth-test.py
- cmd: python test\functional\test_runner.py --ci --force --quiet --combinedlogslen=4000 --failfast
deploy: off
31 changes: 31 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
Pull requests without a rationale and clear improvement may be closed
immediately.

Please provide clear motivation for your patch and explain how it improves
Bitcoin Core user experience or Bitcoin Core developer experience
significantly.

* Any test improvements or new tests that improve coverage are always welcome.
* All other changes should have accompanying unit tests (see `src/test/`) or
functional tests (see `test/`). Contributors should note which tests cover
modified code. If no tests exist for a region of modified code, new tests
should accompany the change.
* Bug fixes are most welcome when they come with steps to reproduce or an
explanation of the potential issue as well as reasoning for the way the bug
was fixed.
* Features are welcome, but might be rejected due to design or scope issues.
If a feature is based on a lot of dependencies, contributors should first
consider building the system outside of Bitcoin Core, if possible.
* Refactoring changes are only accepted if they are required for a feature or
bug fix or otherwise improve developer experience significantly. For example,
most "code style" refactoring changes require a thorough explanation why they
are useful, what downsides they have and why they *significantly* improve
developer experience or avoid serious programming bugs. Note that code style
is often a subjective matter. Unless they are explicitly mentioned to be
preferred in the [developer notes](/doc/developer-notes.md), stylistic code
changes are usually rejected.

Bitcoin Core has a thorough review process and even the most trivial change
needs to pass a lot of eyes and requires non-zero or even substantial time
effort to review. There is a huge lack of active reviewers on the project, so
patches often sit for a long time.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -116,3 +116,6 @@ test/cache/*

libbitcoinconsensus.pc
contrib/devtools/split-debug.sh

# Output from running db4 installation
db4/
30 changes: 12 additions & 18 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ env:
- MAKEJOBS=-j3
- RUN_UNIT_TESTS=true
- RUN_FUNCTIONAL_TESTS=true
- RUN_BENCH=false # Set to true for any one job that has debug enabled, to quickly check bench is not crashing or hitting assertions
- DOCKER_NAME_TAG=ubuntu:18.04
- BOOST_TEST_RANDOM=1$TRAVIS_BUILD_ID
- CCACHE_SIZE=100M
Expand All @@ -35,7 +34,7 @@ install:
before_script:
- set -o errexit; source .travis/test_05_before_script.sh
script:
- set -o errexit; source .travis/test_06_script.sh
- if [ $SECONDS -gt 1200 ]; then set +o errexit; echo "Travis early exit to cache current state"; false; else set -o errexit; source .travis/test_06_script.sh; fi
after_script:
- echo $TRAVIS_COMMIT_RANGE
- echo $TRAVIS_COMMIT_LOG
Expand All @@ -58,8 +57,7 @@ jobs:
- stage: test
env: >-
HOST=arm-linux-gnueabihf
PACKAGES="g++-arm-linux-gnueabihf"
DEP_OPTS="NO_QT=1"
PACKAGES="python3 g++-arm-linux-gnueabihf"
RUN_UNIT_TESTS=false
RUN_FUNCTIONAL_TESTS=false
GOAL="install"
Expand All @@ -71,25 +69,22 @@ jobs:
env: >-
HOST=i686-w64-mingw32
DPKG_ADD_ARCH="i386"
DEP_OPTS="NO_QT=1"
PACKAGES="python3 nsis g++-mingw-w64-i686 wine-binfmt wine32"
GOAL="install"
BITCOIN_CONFIG="--enable-reduce-exports"
BITCOIN_CONFIG="--enable-reduce-exports --disable-gui-tests"
RUN_UNIT_TESTS=false # secp-zkp times out Travis, get 32-bit build in upstream?
# Win64
- stage: test
env: >-
HOST=x86_64-w64-mingw32
DEP_OPTS="NO_QT=1"
PACKAGES="python3 nsis g++-mingw-w64-x86-64 wine-binfmt wine64"
GOAL="install"
BITCOIN_CONFIG="--enable-reduce-exports"
GOAL="deploy"
BITCOIN_CONFIG="--enable-reduce-exports --disable-gui-tests"
# 32-bit + dash
- stage: test
env: >-
HOST=i686-pc-linux-gnu
PACKAGES="g++-multilib python3-zmq"
DEP_OPTS="NO_QT=1"
GOAL="install"
BITCOIN_CONFIG="--enable-zmq --enable-glibc-back-compat --enable-reduce-exports LDFLAGS=-static-libstdc++"
CONFIG_SHELL="/bin/dash"
Expand All @@ -112,24 +107,23 @@ jobs:
GOAL="install"
BITCOIN_CONFIG="--enable-zmq --with-gui=qt5 --enable-glibc-back-compat --enable-reduce-exports --enable-debug CXXFLAGS=\"-g0 -O2\""
RUN_UNIT_TESTS=false
# x86_64 Linux (no depends, only system libs)
# x86_64 Linux (xenial, no depends, only system libs)
- stage: test
env: >-
HOST=x86_64-unknown-linux-gnu
PACKAGES="python3-zmq qtbase5-dev qttools5-dev-tools libssl1.0-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libprotobuf-dev protobuf-compiler libqrencode-dev"
DOCKER_NAME_TAG=ubuntu:16.04
PACKAGES="python3-zmq qtbase5-dev qttools5-dev-tools libssl-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libprotobuf-dev protobuf-compiler libqrencode-dev"
NO_DEPENDS=1
GOAL="install"
BITCOIN_CONFIG="--enable-zmq --with-incompatible-bdb --enable-glibc-back-compat --enable-reduce-exports --with-gui=qt5 CPPFLAGS=-DDEBUG_LOCKORDER"
# x86_64 Linux (sanitizers)
# x86_64 Linux (no depends, only system libs, sanitizers: undefined (UBSAN) + integer)
- stage: test
env: >-
HOST=x86_64-unknown-linux-gnu
PACKAGES="clang python3-zmq qtbase5-dev qttools5-dev-tools libssl1.0-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libprotobuf-dev protobuf-compiler libqrencode-dev"
PACKAGES="clang llvm python3-zmq qtbase5-dev qttools5-dev-tools libssl1.0-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libprotobuf-dev protobuf-compiler libqrencode-dev"
NO_DEPENDS=1
RUN_BENCH=true
RUN_FUNCTIONAL_TESTS=false # Disabled for now, can be combined with the other x86_64 linux NO_DEPENDS job when functional tests pass the sanitizers
GOAL="install"
BITCOIN_CONFIG="--enable-zmq --with-incompatible-bdb --enable-glibc-back-compat --enable-reduce-exports --with-gui=qt5 CPPFLAGS=-DDEBUG_LOCKORDER --with-sanitizers=undefined CC=clang CXX=clang++"
BITCOIN_CONFIG="--enable-zmq --with-incompatible-bdb --enable-glibc-back-compat --enable-reduce-exports --with-gui=qt5 CPPFLAGS=-DDEBUG_LOCKORDER --with-sanitizers=integer,undefined CC=clang CXX=clang++"
# x86_64 Linux, No wallet, no QT(build timing out with for some reason)
- stage: test
env: >-
Expand All @@ -146,7 +140,7 @@ jobs:
OSX_SDK=10.11
RUN_UNIT_TESTS=false
RUN_FUNCTIONAL_TESTS=false
GOAL="all deploy"
GOAL="deploy"
BITCOIN_CONFIG="--enable-gui --enable-reduce-exports --enable-werror"

# x86_64 Linux w/ Bitcoin functional tests (Qt5 & system libs)
Expand Down
1 change: 1 addition & 0 deletions .travis/lint_04_install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@ export LC_ALL=C

travis_retry pip install codespell==1.13.0
travis_retry pip install flake8==3.5.0
travis_retry pip install vulture==0.29
3 changes: 2 additions & 1 deletion .travis/lint_06_script.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ test/lint/check-rpc-mappings.py .
test/lint/lint-all.sh

if [ "$TRAVIS_REPO_SLUG" = "ElementsProject/elements" -a "$TRAVIS_EVENT_TYPE" = "cron" ]; then
git log --merges --before="2 days ago" -1 --format='%H' > ./contrib/verify-commits/trusted-sha512-root-commit
while read -r LINE; do travis_retry gpg --keyserver hkp://subset.pool.sks-keyservers.net --recv-keys $LINE; done < contrib/verify-commits/trusted-keys &&
travis_wait 50 contrib/verify-commits/verify-commits.py;
travis_wait 50 contrib/verify-commits/verify-commits.py --clean-merge=2;
fi
2 changes: 2 additions & 0 deletions .travis/test_03_before_install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
export LC_ALL=C.UTF-8

PATH=$(echo $PATH | tr ':' "\n" | sed '/\/opt\/python/d' | tr "\n" ":" | sed "s|::|:|g")
# Add llvm-symbolizer directory to PATH. Needed to get symbolized stack traces from the sanitizers.
PATH=$PATH:/usr/lib/llvm-6.0/bin/
export PATH

BEGIN_FOLD () {
Expand Down
3 changes: 2 additions & 1 deletion .travis/test_04_install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@
export LC_ALL=C.UTF-8

travis_retry docker pull "$DOCKER_NAME_TAG"
env | grep -E '^(CCACHE_|WINEDEBUG|LC_ALL|BOOST_TEST_RANDOM|CONFIG_SHELL)' | tee /tmp/env
export UBSAN_OPTIONS="suppressions=${TRAVIS_BUILD_DIR}/contrib/sanitizers-ubsan.suppressions:print_stacktrace=1:halt_on_error=1"
env | grep -E '^(CCACHE_|WINEDEBUG|LC_ALL|BOOST_TEST_RANDOM|CONFIG_SHELL|UBSAN_OPTIONS)' | tee /tmp/env
if [[ $HOST = *-mingw32 ]]; then
DOCKER_ADMIN="--cap-add SYS_ADMIN"
fi
Expand Down
8 changes: 1 addition & 7 deletions .travis/test_06_script.sh
Original file line number Diff line number Diff line change
Expand Up @@ -50,19 +50,13 @@ if [ "$RUN_UNIT_TESTS" = "true" ]; then
END_FOLD
fi

if [ "$RUN_BENCH" = "true" ]; then
BEGIN_FOLD bench
DOCKER_EXEC LD_LIBRARY_PATH=$TRAVIS_BUILD_DIR/depends/$HOST/lib $OUTDIR/bin/bench_bitcoin -scaling=0.001
END_FOLD
fi

if [ "$TRAVIS_EVENT_TYPE" = "cron" ]; then
extended="--extended --exclude feature_pruning"
fi

if [ "$RUN_FUNCTIONAL_TESTS" = "true" ]; then
BEGIN_FOLD functional-tests
DOCKER_EXEC test/functional/test_runner.py --combinedlogslen=4000 --coverage --quiet --failfast ${extended}
DOCKER_EXEC test/functional/test_runner.py --ci --combinedlogslen=4000 --coverage --quiet --failfast ${extended}
END_FOLD
fi

Expand Down
6 changes: 6 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,8 @@ If a particular commit references another issue, please add the reference. For
example: `refs #1234` or `fixes #4321`. Using the `fixes` or `closes` keywords
will cause the corresponding issue to be closed when the pull request is merged.

Commit messages should never contain any `@` mentions.

Please refer to the [Git manual](https://git-scm.com/doc) for more information
about Git.

Expand Down Expand Up @@ -135,6 +137,10 @@ before it will be merged. The basic squashing workflow is shown below.
# Save and quit.
git push -f # (force push to GitHub)

Please update the resulting commit message if needed, it should read as a
coherent message. In most cases this means that you should not just list the
interim commits.

If you have problems with squashing (or other workflows with `git`), you can
alternatively enable "Allow edits from maintainers" in the right GitHub
sidebar and ask for help in the pull request.
Expand Down
4 changes: 2 additions & 2 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ $(BITCOIN_CLI_BIN): FORCE
$(MAKE) -C src $(@F)

if USE_LCOV
LCOV_FILTER_PATTERN=-p "/usr/include/" -p "src/leveldb/" -p "src/bench/" -p "src/univalue" -p "src/crypto/ctaes" -p "src/secp256k1"
LCOV_FILTER_PATTERN=-p "/usr/include/" -p "/usr/lib/" -p "src/leveldb/" -p "src/bench/" -p "src/univalue" -p "src/crypto/ctaes" -p "src/secp256k1"

baseline.info:
$(LCOV) -c -i -d $(abs_builddir)/src -o $@
Expand Down Expand Up @@ -299,5 +299,5 @@ clean-docs:

clean-local: clean-docs
rm -rf coverage_percent.txt test_bitcoin.coverage/ total.coverage/ test/tmp/ cache/ $(OSX_APP)
rm -rf test/functional/__pycache__ test/functional/test_framework/__pycache__ test/cache
rm -rf test/functional/__pycache__ test/functional/test_framework/__pycache__ test/cache share/rpcauth/__pycache__

45 changes: 0 additions & 45 deletions appveyor.yml

This file was deleted.

5 changes: 5 additions & 0 deletions build_msvc/common.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,9 @@
Outputs="$(MSBuildThisFileDirectory)..\src\config\bitcoin-config.h">
<Copy SourceFiles="$(MSBuildThisFileDirectory)bitcoin_config.h" DestinationFiles="$(MSBuildThisFileDirectory)..\src\config\bitcoin-config.h" />
</Target>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
</ItemDefinitionGroup>
</Project>
2 changes: 1 addition & 1 deletion build_msvc/libbitcoinconsensus/libbitcoinconsensus.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
<ClCompile Include="..\..\src\script\script.cpp" />
<ClCompile Include="..\..\src\script\script_error.cpp" />
<ClCompile Include="..\..\src\uint256.cpp" />
<ClCompile Include="..\..\src\utilstrencodings.cpp" />
<ClCompile Include="..\..\src\util\strencodings.cpp" />
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
Expand Down
14 changes: 7 additions & 7 deletions build_msvc/msvc-autogen.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,6 @@
]

ignore_list = [
'rpc/net.cpp',
'interfaces/handler.cpp',
'interfaces/node.cpp',
'interfaces/wallet.cpp',
]

lib_sources = {}
Expand All @@ -32,7 +28,9 @@ def parse_makefile(makefile):
if current_lib:
source = line.split()[0]
if source.endswith('.cpp') and not source.startswith('$') and source not in ignore_list:
lib_sources[current_lib].append(source.replace('/', '\\'))
source_filename = source.replace('/', '\\')
object_filename = source.replace('/', '_')[:-4] + ".obj"
lib_sources[current_lib].append((source_filename, object_filename))
if not line.endswith('\\'):
current_lib = ''
continue
Expand All @@ -51,8 +49,10 @@ def main():
for key, value in lib_sources.items():
vcxproj_filename = os.path.abspath(os.path.join(os.path.dirname(__file__), key, key + '.vcxproj'))
content = ''
for source_filename in value:
content += ' <ClCompile Include="..\\..\\src\\' + source_filename + '" />\n'
for source_filename, object_filename in value:
content += ' <ClCompile Include="..\\..\\src\\' + source_filename + '">\n'
content += ' <ObjectFileName>$(IntDir)' + object_filename + '</ObjectFileName>\n'
content += ' </ClCompile>\n'
with open(vcxproj_filename + '.in', 'r', encoding='utf-8') as vcxproj_in_file:
with open(vcxproj_filename, 'w', encoding='utf-8') as vcxproj_file:
vcxproj_file.write(vcxproj_in_file.read().replace(
Expand Down
2 changes: 1 addition & 1 deletion build_msvc/test_bitcoin/test_bitcoin.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
<ClCompile Include="..\..\src\wallet\test\*_tests.cpp" />
<ClCompile Include="..\..\src\test\test_bitcoin.cpp" />
<ClCompile Include="..\..\src\test\test_bitcoin_main.cpp" />
<ClCompile Include="..\..\src\wallet\test\wallet_test_fixture.cpp" />
<ClCompile Include="..\..\src\wallet\test\*_fixture.cpp" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\libbitcoinconsensus\libbitcoinconsensus.vcxproj">
Expand Down
Loading