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

Utxo set statistics index #28

Open
wants to merge 749 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
749 commits
Select commit Hold shift + click to select a range
fa69cef
test: Print stderr when subprocess fails
Dec 4, 2019
fa1bfc4
ci: ubsan report_error_type=1 and add suppressions
Nov 20, 2019
fa40e48
ci: Remove unparseable lines from supp file for old xenial clang tsan
Dec 4, 2019
fee01bb
Merge #17517: ci: Bump to clang-8 for asan build to avoid segfaults o…
Dec 4, 2019
5aee0e2
Merge #17650: util: remove unwanted fields from bitcoin-cli -getinfo
fanquake Dec 4, 2019
b11d35b
Fixed wget call in gitian-build.py
willyko Dec 5, 2019
1f9d5af
tests: Add initialization order fiasco detection in Travis
practicalswift Dec 5, 2019
ba0cad2
build: pass -dead_strip_dylibs to ld on macOS
fanquake Dec 3, 2019
2359a47
depends: don't use OpenGL in Qt on macOS
fanquake Dec 5, 2019
6fff333
Merge #17507: random: mark RandAddPeriodic and SeedPeriodic as noexcept
laanwj Dec 5, 2019
6e77a7b
keypool: Add comment about TopUp and when to use it
achow101 Nov 20, 2019
989fd53
depends: Support for 64-bit POWER targets
luke-jr Aug 23, 2018
1111324
depends: Support for S390X targets
Dec 5, 2019
8bda096
Move events_hasher into RNGState()
sipa Dec 4, 2019
facbaf0
rpc: Use mempool from node context instead of global
Nov 22, 2019
fa660d6
node: Use mempool from node context instead of global
Nov 22, 2019
910a430
Merge #17522: test: Wait until mempool is loaded in wallet_abandoncon…
Dec 5, 2019
5d0b7f9
Merge #17670: Move events_hasher into RNGState()
Dec 5, 2019
cf43f3f
Merge #17674: tests: Add initialization order fiasco detection in Travis
Dec 5, 2019
c966ff1
gitian: fixed SC2001 regex
willyko Dec 5, 2019
5909bcd
Add bounds checks in key_io before DecodeBase58Check
sipa Nov 18, 2019
c7c9c44
Merge #17663: build: pass -dead_strip_dylibs to ld on macOS
laanwj Dec 6, 2019
cb11324
Merge #17051: tests: Add deserialization fuzzing harnesses
laanwj Dec 6, 2019
978b255
util: Update tinyformat to upstream
laanwj Dec 6, 2019
ce93529
tests: Add fuzzing harness for various CTxIn related functions
practicalswift Oct 9, 2019
e75ecb9
tests: Add fuzzing harness for various CTxOut related functions
practicalswift Oct 9, 2019
d5766f2
tests: Add corpora suppression (FUZZERS_MISSING_CORPORA) for fuzzers …
practicalswift Oct 2, 2019
575383b
tests: Add corpora suppression (FUZZERS_MISSING_CORPORA) for fuzzers …
practicalswift Oct 2, 2019
597d10c
tests: Add fuzzing harness for various functions consuming only integ…
practicalswift Oct 9, 2019
709afb2
tests: Test serialisation as part of deserialisation fuzzing. Test ro…
practicalswift Oct 23, 2019
993e38a
tests: Mark functional tests not supporting bitcoin-cli (--usecli) as…
practicalswift Dec 6, 2019
5ac804a
tests: Use a default of supports_cli=True (instead of supports_cli=Fa…
practicalswift Dec 6, 2019
a5a705b
lcov: filter depends from coverage report
nijynot Dec 2, 2019
6338c02
tests: Fix fuzzing harness for descriptor parsing (descriptor_parse)
practicalswift Dec 6, 2019
da1af85
Merge #17275: pubkey: Assert CPubKey's ECCVerifyHandle precondition
Dec 6, 2019
4ee8a58
Merge #17373: wallet: Various fixes and cleanup to keypool handling i…
fanquake Dec 6, 2019
7f3ae22
ci: Add CentOS 7 build
hebasto Nov 29, 2019
711e044
ci: Remove trusty build
hebasto Dec 6, 2019
fd9d6ee
Add GetEncryptionKey() and HasEncryptionKeys() to WalletStorage
achow101 Dec 5, 2019
e576b13
Replace LegacyScriptPubKeyMan::vMasterKey with GetDecryptionKey()
achow101 Dec 5, 2019
97c0374
Move Unlock implementation to LegacyScriptPubKeyMan
achow101 Dec 5, 2019
14b5efd
Move fDecryptionThoroughlyChecked from CWallet to LegacyScriptPubKeyMan
achow101 Dec 5, 2019
35f962f
Clear mapKeys before encrypting
achow101 Dec 5, 2019
77a7771
Rename EncryptKeys to Encrypt and pass in the encrypted batch to use
achow101 Dec 5, 2019
bf64171
Remove SetCrypted() and fUseCrypto; Change IsCrypted()'s implementation
achow101 Dec 5, 2019
7cecf10
Replace LegacyScriptPubKeyMan::IsCrypted with LegacyScriptPubKeyMan::…
achow101 Dec 5, 2019
034561f
cli: fix Fatal LevelDB error when specifying -blockfilterindex=basic …
brakmic Dec 6, 2019
fc0da02
Merge #17635: ci: Add CentOS 7 build
Dec 7, 2019
a8f5d5c
Merge #17658: depends: add ability to skip building qrencode
laanwj Dec 7, 2019
5622d8f
Merge #17671: script: fixed wget call in gitian-build.py
Dec 7, 2019
d65fafc
gui: disable File->CreateWallet during startup
fanquake Dec 7, 2019
a82bd8f
util: Replace magics with DEFAULT_PRUNE_TARGET_GB
hebasto Nov 12, 2019
bb03765
Merge #17685: tests: Fix bug in the descriptor parsing fuzzing harnes…
Dec 8, 2019
e97f5c1
depends: don't configure xcb_proto
fanquake Dec 8, 2019
f736f69
lcov: filter /usr/lib64 from coverage report
nijynot Dec 8, 2019
0ccad08
Make env data logging optional
sipa Dec 9, 2019
b6fb899
Merge #17699: Make env data logging optional
laanwj Dec 9, 2019
91559da
Merge #17676: depends: don't use OpenGL in Qt on macOS
laanwj Dec 9, 2019
48a5c92
ui: disable 3rd-party tx-urls when wallet disabled
brakmic Dec 9, 2019
67f36e0
gui: Move static placeholder texts to forms
laanwj Dec 9, 2019
a652dc5
qt: Normalize placeholder to avoid using "address book" in sendcoinse…
laanwj Dec 9, 2019
1ebf640
Merge #17647: lcov: filter depends from coverage reports
Dec 9, 2019
c8e65ad
Merge #17695: gui: disable File->CreateWallet during startup
fanquake Dec 9, 2019
05c2348
Merge #17694: ui: disable 3rd-party tx-urls when wallet disabled
fanquake Dec 9, 2019
b0b1531
Adds GitHub Action workflow which duplicates AppVeyor job.
sipsorcery Dec 9, 2019
ac09180
Merge #17680: gitian: fixed SC2001 regex
laanwj Dec 9, 2019
1d6fda6
Merge #17678: depends: Support for S390X and POWER targets
Dec 9, 2019
03e781f
Merge #17702: gui: Move static placeholder texts to forms
Dec 9, 2019
df2b743
Merge #17675: tests: Enable tests which are incorrectly skipped when …
Dec 9, 2019
5bf1909
Merge #17682: util: Update tinyformat to upstream
Dec 9, 2019
74c6ad3
Merge #17225: tests: Test serialisation as part of deserialisation fu…
Dec 9, 2019
347dd76
Merge #17093: tests: Add fuzzing harness for various CTx{In,Out} rela…
Dec 9, 2019
b6f9e35
test: re-enable CLI test support by using EncodeDecimal in json.dumps()
fanquake Dec 9, 2019
1189b6a
Merge #17109: tests: Add fuzzing harness for various functions consum…
Dec 9, 2019
8ddcbb4
build: Remove backticks from configure.ac
fanquake Dec 10, 2019
3ab1824
build: Use dnl for all comments in configure.ac, rather than #
fanquake Dec 10, 2019
e1e1442
Activate no-privkey -> ISMINE_WATCH_ONLY behavior for LegacySPKM only
instagibbs Dec 5, 2019
0dc5907
tests: Add corpora suppression (FUZZERS_MISSING_CORPORA) for fuzzers …
practicalswift Oct 2, 2019
074cb64
tests: Add ParseHDKeypath(...) (bip32) fuzzing harness
practicalswift Oct 2, 2019
fb8c120
tests: Add ParseScript(...) (core_io) fuzzing harness
practicalswift Oct 2, 2019
e3d2bcf
tests: Add fuzzing harnesses for various number parsing functions
practicalswift Oct 2, 2019
a1308b7
tests: Add fuzzing harnesses for various JSON/univalue parsing functions
practicalswift Oct 3, 2019
fab2f35
doc: Update release process with latest changes
Nov 25, 2019
fae9478
Merge #17524: psbt: handle unspendable psbts
Dec 10, 2019
ea756bc
Merge #17502: test: add unit test for non-standard bare multisig txs
Dec 10, 2019
fa4b656
doc: Add release notes for 17447
Dec 10, 2019
2126d6c
Merge #17561: doc: Changed MiniUPnPc link to https in dependencies.md
Dec 10, 2019
d5674c5
Merge #17703: build: Improve configure.ac formatting
Dec 10, 2019
3d67527
Merge #17633: tests: Add option --valgrind to run the functional test…
Dec 10, 2019
7e8b4de
rpc: add missing newline in analyzepsbt rpcresult
jonatack Dec 10, 2019
facb416
ci: Add valgrind run
Nov 15, 2019
4863a8f
Merge #17698: depends: don't configure xcb_proto
laanwj Dec 11, 2019
fab9d11
Merge #17697: CI: GitHub Action workflow which duplicates AppVeyor job
Dec 11, 2019
f1d3d34
Merge #17714: rpc: add missing newline in analyzepsbt RPCResult
Dec 11, 2019
14dafcb
Merge #17713: doc: Add release notes for 17447
Dec 11, 2019
7da9e3a
Merge #17050: tests: Add fuzzing harnesses for functions parsing scri…
Dec 11, 2019
a64e97d
wallet: unbreak with boost 1.72
jbeich Dec 2, 2019
fabd5b4
ci: Use python 3.7 on Windows Github Actions
Dec 11, 2019
7414d38
Add RPC Whitelist Feature from #12248
JeremyRubin Mar 22, 2018
5948398
Merge #17474: Bugfix: GUI: Recognise NETWORK_LIMITED in formatService…
Dec 11, 2019
7d26357
rpc: require second argument only for scantxoutset start action
achow101 Dec 11, 2019
3f1966e
Merge #17705: test: re-enable CLI test support by using EncodeDecimal…
fanquake Dec 12, 2019
3914e87
Merge #17511: Add bounds checks before base58 decoding
laanwj Dec 12, 2019
ff7a999
tests: Add tests for base58-decoding of std::string:s containing non-…
practicalswift Dec 11, 2019
d945c6f
util: Don't allow base58-decoding of std::string:s containing non-bas…
practicalswift Dec 11, 2019
0192bd0
Merge #17369: Refactor: Move encryption code between KeyMan and Wallet
laanwj Dec 12, 2019
75a2a4f
Merge #17726: ci: Use python 3.7 on Windows Github Actions
fanquake Dec 12, 2019
8a01450
Merge #17598: doc: Update release process with latest changes
fanquake Dec 12, 2019
cf2f439
Merge #17687: cli: fix Fatal LevelDB error when specifying -blockfilt…
fanquake Dec 12, 2019
5096baf
build: fix typo
brakmic Dec 12, 2019
54e11a3
Merge #17735: ci: fix typo
Dec 12, 2019
75d9317
Update msvc build for Visual Studio 2019 v16.4
sipsorcery Dec 12, 2019
2081442
test: Add test for rpc_whitelist
cvengler Dec 12, 2019
c5e318a
Merge #17736: Update msvc build for Visual Studio 2019 v16.4
Dec 12, 2019
e2f32cb
qa: unify unix epoch time descriptions
jonatack Nov 26, 2019
d94d34f
doc: update developer notes wrt unix epoch time
jonatack Dec 3, 2019
d4b335c
Merge #17617: doc: unify unix epoch time descriptions
laanwj Dec 13, 2019
995b6c8
Merge #17721: util: Don't allow Base58 decoding of non-Base58 strings…
laanwj Dec 13, 2019
988fe5b
Merge #12763: Add RPC Whitelist Feature from #12248
laanwj Dec 13, 2019
6e22151
Included test_bitcoin-qt in msvc build.
sipsorcery Dec 13, 2019
ccdda96
depends: skip building qt proxies
fanquake Dec 5, 2019
29d56c6
depends: -optimized-qmake is now -optimized-tools
fanquake Dec 5, 2019
244501f
depends: disable unused qt networking features
fanquake Dec 8, 2019
592af5a
Moved the include of the system projects to before the build depends …
sipsorcery Dec 13, 2019
c78b123
build: add -bind_at_load to hardened LDFLAGS
fanquake Dec 6, 2019
ddecb67
Merge #17654: Unbreak build with Boost 1.72.0
laanwj Dec 13, 2019
e190000
ci-s390x: Add qemu and depends support in the ci script
elichai Nov 28, 2019
a595011
Merge #17728: rpc: require second argument only for scantxoutset star…
laanwj Dec 15, 2019
869b631
[qt] remove unused parameter from getWarnings()
jnewbery Dec 15, 2019
492c6dc
util: change GetWarnings parameter to bool
jnewbery Dec 15, 2019
19267cb
doc: Add ci prefix to CONTRIBUTING.md
hebasto Dec 7, 2019
7965e0b
doc: Add release note for RPC Whitelist
cvengler Dec 13, 2019
7aab8d1
[style] Code style fixups in GetWarnings()
jnewbery Dec 15, 2019
ec8dcb0
tests: Add corpora suppression (FUZZERS_MISSING_CORPORA) for fuzzers …
practicalswift Oct 2, 2019
893aa20
tests: Add fuzzing harness for CheckBlock(...) and other CBlock relat…
practicalswift Oct 7, 2019
a5089f6
fix directory path for secp256k1 subtree in developer-notes
hackerrdave Dec 16, 2019
ccc53e4
util: Don't allow ParseMoney(...) of strings with embedded NUL charac…
practicalswift Dec 16, 2019
93cc18b
util: Don't allow DecodeBase64(...) of strings with embedded NUL char…
practicalswift Dec 16, 2019
a6fc26d
util: Don't allow DecodeBase32(...) of strings with embedded NUL char…
practicalswift Dec 16, 2019
137c80d
tests: Add tests for decoding/parsing of base32, base64 and money str…
practicalswift Dec 16, 2019
c3628e4
Merge #17743: doc: Add release note for RPC Whitelist
laanwj Dec 16, 2019
5e4912f
Merge #17730: depends: remove Qt networking features
laanwj Dec 16, 2019
6b51cce
Merge #17753: util: Don't allow Base32/64-decoding or ParseMoney(…) o…
Dec 16, 2019
806a2c6
Merge #17071: tests: Add fuzzing harness for CheckBlock(...) and othe…
Dec 16, 2019
fa8e650
rest: Use mempool from node context instead of global
Nov 22, 2019
988eaf2
Merge #17752: doc: fix directory path for secp256k1 subtree in develo…
fanquake Dec 16, 2019
abc147d
build: remove WINDOWS_BITS from build system
fanquake Dec 16, 2019
48d64d7
Merge #17564: rpc: Use mempool from node context instead of global
Dec 16, 2019
f9fd3a2
Merge #17750: util: change GetWarnings parameter to bool
Dec 16, 2019
94c6f2b
Merge #17593: test: move more utility functions into test utility lib…
Dec 16, 2019
22d9bae
tests: Add corpora suppression (FUZZERS_MISSING_CORPORA) for fuzzers …
practicalswift Oct 2, 2019
32e2712
util: Move TrimString(...). Introduce default pattern (trims whitespa…
practicalswift Dec 11, 2019
526dd78
tests: Add fuzzing harness for various Base{32,58,64} related functions
practicalswift Oct 23, 2019
c184057
tests: Add fuzzing harness for various hex related functions
practicalswift Oct 23, 2019
03dfa36
Merge #17229: tests: Add fuzzing harnesses for various Base{32,58,64}…
Dec 17, 2019
419ef3b
CNetAddr: fix IsRFC2544 comment
Dec 17, 2019
529d332
test: add IsRFC2544 tests
Dec 17, 2019
4d88c3d
net: Log to net category for exceptions in ProcessMessages
laanwj Dec 17, 2019
7df6a7e
Merge #17758: Fix CNetAddr::IsRFC2544 comment + tests
laanwj Dec 17, 2019
a54c16c
Merge #17661: ci: use depends for s390x
Dec 17, 2019
890eac8
Merge #17725: ci: Add valgrind run
Dec 17, 2019
faede70
doc: Add formatting to the good first issue template
Dec 17, 2019
e6acd9f
Merge #17537: wallet: Cleanup and move opportunistic and superfluous …
fanquake Dec 17, 2019
ab4e6ad
Merge #17756: build: remove WINDOWS_BITS from build system
fanquake Dec 17, 2019
6094222
use preferred shebang approach for documentation
hackerrdave Dec 17, 2019
47f45b6
Merge #17686: build: add -bind_at_load to macOS hardened LDFLAGS
fanquake Dec 17, 2019
6fef85b
Merge #17764: doc: Add formatting to the good first issue template
fanquake Dec 17, 2019
75a5e47
Change bumpfee to use watch-only funds for legacy watchonly wallets
instagibbs Nov 20, 2019
e9b4f94
bumpfee: Return PSBT when wallet has privkeys disabled
instagibbs Nov 20, 2019
091a876
Test watchonly wallet bumpfee with PSBT return
instagibbs Nov 28, 2019
34d826e
doc: Mention PR Club in CONTRIBUTING.md
cvengler Dec 18, 2019
4f4ae6f
build: set AC_PREREQ to 2.69
fanquake Dec 18, 2019
7f9fbb8
Merge #17769: build: set AC_PREREQ to 2.69
fanquake Dec 19, 2019
3e94938
Merge #17772: doc: Mention PR Club in CONTRIBUTING.md
Dec 19, 2019
6677be6
Merge #17473: refactor: Settings code cleanups
Dec 19, 2019
6666ef1
test: Properly document blockinfo size in miner_tests
Jul 3, 2019
0cda557
Merge #17751: doc: use recommended shebang approach in documentation …
Dec 20, 2019
faa92a2
rpc: Remove mempool global from miner
Dec 17, 2019
b6fa752
ci: Update Qt binaries for GitHub Actions
hebasto Dec 23, 2019
0b5a366
ci: Update vcpkg cache on MSBuild update
hebasto Dec 23, 2019
1dbf335
Merge #17793: ci: Update GitHub Actions CI vcpkg cache on MSBuild update
fanquake Dec 23, 2019
8dc9aa9
doc: Update license year range to 2020
cvengler Dec 23, 2019
90df922
test: Change filemode of rpc_whitelist.py
cvengler Dec 27, 2019
6cb80a0
Merge #17806: test: Change filemode of rpc_whitelist.py
Dec 27, 2019
0661a3c
build: Add default configure cache to .gitignore
hebasto Dec 28, 2019
7851f14
rpc: incorporate review feedback from PR 17283
jonatack Nov 26, 2019
b931f61
Merge #17801: doc: Update license year range to 2020
Dec 28, 2019
df97e59
doc: Update dependencies.md
hebasto Dec 29, 2019
aaaaad6
scripted-diff: Bump copyright of files changed in 2019
Dec 30, 2019
8830cb5
Merge #17741: build: Included test_bitcoin-qt in msvc build
Dec 30, 2019
99813a9
Merge #17829: scripted-diff: Bump copyright of files changed in 2019
fanquake Dec 31, 2019
35fff5b
Merge #17825: doc: Update dependencies.md
fanquake Dec 31, 2019
4ca92dc
scripts: add MACHO PIE check to security-check.py
fanquake Jan 2, 2020
7c9e821
scripts: add MACHO NOUNDEFS check to security-check.py
fanquake Dec 31, 2019
0655c7a
Merge #17787: scripts: add MACHO PIE check to security-check.py
laanwj Jan 2, 2020
87744b1
ci: Fix brew python link
hebasto Jan 2, 2020
3f8dbcd
Merge #16658: validation: Rename CheckInputs to CheckInputScripts
Jan 2, 2020
52900a7
Merge #17849: ci: Fix brew python link
Jan 2, 2020
ca33451
Introduce new serialization macros without casts
sipa Jul 7, 2017
9250a08
Convert addrdb/addrman to new serialization
sipa Jul 7, 2017
4bdd68f
Add missing typeinfo includes
laanwj Jan 2, 2020
190a405
Merge #17762: net: Log to net category for exceptions in ProcessMessages
laanwj Jan 2, 2020
1f0adb3
tests: Add std::to_string to list of locale dependent functions
practicalswift Jan 2, 2020
17e14ac
Merge #17781: rpc: Remove mempool global from miner
Jan 2, 2020
fa37e0a
test: Show debug log on unit test failure
Sep 27, 2019
71af793
scripts: fix check-symbols & check-security argument passing
fanquake Jan 3, 2020
77ef48d
gitignore: ignore fuzz binaries, remove test_bitcoin_fuzzy
jonatack Nov 12, 2019
60aba1f
rpc: simplify getaddressinfo labels, deprecate previous behavior
jonatack Nov 24, 2019
8bb405b
test: getaddressinfo labels purpose deprecation test
jonatack Nov 24, 2019
8925df8
doc: update release notes
jonatack Nov 24, 2019
8164641
Merge #17851: tests: Add std::to_string to list of locale dependent f…
Jan 3, 2020
0950245
IsUsedDestination should count any known single-key address
instagibbs Nov 27, 2019
9a4cc52
Merge #17688: doc: Add "ci" prefix to CONTRIBUTING.md
fanquake Jan 4, 2020
392edbd
Merge #17817: build: Add default configure cache file to .gitignore
fanquake Jan 4, 2020
7754d7a
refactor: Remove unused defines in bitcoinunits.h
hebasto Jan 4, 2020
593f5e2
Merge #17850: Serialization improvements (minimal initial commits)
laanwj Jan 4, 2020
da279fe
Merge #17869: refactor: Remove unused defines in qt/bitcoinunits.h
fanquake Jan 5, 2020
b949ac9
Merge #17393: doc: Added regtest config for linearize script
fanquake Jan 5, 2020
a004673
qt: Add LogQtInfo() function
hebasto Dec 29, 2019
b0a2540
build: add Wdate-time to Werror flags
fanquake Dec 22, 2019
e8e7995
Merge #17857: scripts: fix symbol-check & security-check argument pas…
fanquake Jan 6, 2020
63bf06a
Restore English translation option
achow101 Jan 7, 2020
bcb4cdc
Merge #17621: IsUsedDestination should count any known single-key add…
meshcollider Jan 7, 2020
45f1519
Merge #16373: bumpfee: Return PSBT when wallet has privkeys disabled
meshcollider Jan 7, 2020
68c9bbe
qt: Force set nPruneSize in QSettings after intro
hebasto Nov 12, 2019
b0bfbe5
refactor: Drop `bool force' parameter
hebasto Jan 7, 2020
af112ab
qt: Rename SetPrune() to InitializePruneSetting()
hebasto Jan 7, 2020
7ea3b85
Merge #17578: rpc: simplify getaddressinfo labels, deprecate previous…
meshcollider Jan 7, 2020
cab3859
Merge #17677: Activate watchonly wallet behavior for LegacySPKM only
meshcollider Jan 7, 2020
fcef6db
Merge #17452: test: update fuzz directory in .gitignore
fanquake Jan 7, 2020
6dd982a
Merge #17886: Restore English translation option
laanwj Jan 8, 2020
07efb3f
Merge #17826: qt: Log Qt related info
laanwj Jan 8, 2020
b065df8
Merge #17880: build: add -Wdate-time to Werror flags
laanwj Jan 8, 2020
40a495a
Merge #16975: test: Show debug log on unit test failure
laanwj Jan 8, 2020
7f3675b
Merge #17696: qt: Force set nPruneSize in QSettings after the intro d…
fanquake Jan 8, 2020
295211e
Merge #17445: zmq: Fix due to invalid argument and multiple notifiers
laanwj Jan 8, 2020
6196e93
Merge #16963: wallet: Fix unique_ptr usage in boost::signals2
laanwj Jan 8, 2020
4563bbe
MuHash3072 implementation
sipa May 18, 2017
bdcb142
Add TruncatedSHA256Writer
sipa May 20, 2017
6e5282f
Add x86_64 assembly optimization for MuHash
sipa Jun 30, 2017
3dd77aa
Update original Muhash PR and fix benchmarks
fjahr Aug 26, 2019
c494f7e
Add UtxoSetHash file to manage UTXO set hashes
fjahr Aug 26, 2019
03d35de
Maintain UTXO Set hash using Muhash index
fjahr Aug 26, 2019
c4bb257
test: Add functional test for rolling utxo set hash
fjahr Aug 26, 2019
a1b86aa
test: Add unit test for UtxoSetHash
fjahr Aug 28, 2019
02c5c75
WIP
fjahr Oct 31, 2019
e8f97dd
bench: Add seperate benchmarks for precompute and add
fjahr Nov 8, 2019
2a2c3c4
WIP
fjahr Nov 15, 2019
a2af2cb
lots of renamings
fjahr Jan 13, 2020
30a3946
more renaming
fjahr Jan 14, 2020
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: 39 additions & 19 deletions .appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,31 +1,57 @@
version: '{branch}.{build}'
skip_tags: true
image: Visual Studio 2017
image: Visual Studio 2019
configuration: Release
platform: x64
clone_depth: 5
environment:
APPVEYOR_SAVE_CACHE_ON_ERROR: true
CLCACHE_SERVER: 1
PACKAGES: berkeleydb boost-filesystem boost-signals2 boost-test libevent openssl rapidcheck zeromq double-conversion
PATH: 'C:\Python37-x64;C:\Python37-x64\Scripts;%PATH%'
PYTHONUTF8: 1
QT_DOWNLOAD_URL: 'https://github.com/sipsorcery/qt_win_binary/releases/download/v1.0/Qt5.9.7_ssl_x64_static_vs2017.zip'
QT_DOWNLOAD_HASH: 'D4D35B8112302B67E5610A03421BB3E43FE13F14D9A5F637C22AE60DCEC0E0F5'
QT_LOCAL_PATH: 'C:\Qt5.9.7_ssl_x64_static_vs2017'
QT_DOWNLOAD_URL: 'https://github.com/sipsorcery/qt_win_binary/releases/download/v1.6/Qt5.9.8_x64_static_vs2019.zip'
QT_DOWNLOAD_HASH: '9a8c6eb20967873785057fdcd329a657c7f922b0af08c5fde105cc597dd37e21'
QT_LOCAL_PATH: 'C:\Qt5.9.8_x64_static_vs2019'
VCPKG_INSTALL_PATH: 'C:\tools\vcpkg\installed'
cache:
- C:\tools\vcpkg\installed
- C:\tools\vcpkg\installed -> build_msvc\vcpkg-packages.txt
- C:\Users\appveyor\clcache -> .appveyor.yml, build_msvc\**, **\Makefile.am, **\*.vcxproj.in
- C:\Qt5.9.7_ssl_x64_static_vs2017
- C:\Qt5.9.8_x64_static_vs2019
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: echo set(VCPKG_BUILD_TYPE release) >> C:\tools\vcpkg\triplets\%PLATFORM%-windows-static.cmake
- cmd: vcpkg remove --outdated --recurse
- cmd: vcpkg install --triplet %PLATFORM%-windows-static %PACKAGES% > NUL
# Powershell block below is to install the c++ dependencies via vcpkg. The pseudo code is:
# 1. Check whether the vcpkg install directory exists (note that updating the vcpkg-packages.txt file
# will cause the appveyor cache rules to invalidate the directory)
# 2. If the directory is missing:
# a. Update the vcpkg source (including port files) and build the vcpkg binary,
# b. Install the missing packages.
- ps: |
$env:PACKAGES = Get-Content -Path build_msvc\vcpkg-packages.txt
Write-Host "vcpkg list: $env:PACKAGES"
if(!(Test-Path -Path ($env:VCPKG_INSTALL_PATH))) {
cd c:\tools\vcpkg
$env:GIT_REDIRECT_STDERR = '2>&1' # git is writing non-errors to STDERR when doing git pull. Send to STDOUT instead.
git pull origin master
.\bootstrap-vcpkg.bat
Add-Content "C:\tools\vcpkg\triplets\$env:PLATFORM-windows-static.cmake" "set(VCPKG_BUILD_TYPE release)"
.\vcpkg install --triplet $env:PLATFORM-windows-static $env:PACKAGES.split() > $null
cd "$env:APPVEYOR_BUILD_FOLDER"
}
else {
Write-Host "required vcpkg packages already installed."
}
c:\tools\vcpkg\vcpkg integrate install
before_build:
- ps: clcache -M 536870912
# Powershell block below is to download and extract the Qt static libraries. The pseudo code is:
# 1. If the Qt destination directory exists assume it is correct and do nothing. To
# force a fresh install of the packages delete the job's appveyor cache.
# 2. Otherwise:
# a. Download the zip file with the prebuilt Qt static libraries.
# b. Check that the downloaded file matches the expected hash.
# c. Extract the zip file to the specific destination path expected by the msbuild projects.
- ps: |
if(!(Test-Path -Path ($env:QT_LOCAL_PATH))) {
Write-Host "Downloading Qt binaries.";
Expand All @@ -44,17 +70,10 @@ before_build:
Write-Host "Qt binaries already present.";
}
- 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");
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:n /nologo
- cmd: msbuild /p:TrackFileAccess=false /p:CLToolExe=clcache.exe build_msvc\bitcoin.sln /m /v:q /nologo
after_build:
- ps: fsutil behavior set disablelastaccess 1 # Disable Access time feature on Windows (better performance)
- ps: clcache -z
Expand All @@ -64,7 +83,8 @@ test_script:
- 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 --quiet --combinedlogslen=4000 --failfast
# Fee estimation test failing on appveyor with: WinError 10048] Only one usage of each socket address (protocol/network address/port) is normally permitted.
- cmd: python test\functional\test_runner.py --ci --quiet --combinedlogslen=4000 --failfast --exclude feature_fee_estimation
artifacts:
#- path: bitcoin-%APPVEYOR_BUILD_VERSION%.zip
deploy: off
4 changes: 1 addition & 3 deletions .cirrus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ task:
ccache_cache:
folder: "/tmp/ccache_dir"
install_script:
- pkg install -y autoconf automake boost-libs git gmake libevent libtool openssl pkgconf python3 ccache
- pkg install -y autoconf automake boost-libs git gmake libevent libtool pkgconf python3 ccache
- ./contrib/install_db4.sh $(pwd)
- ccache --max-size=${CCACHE_SIZE}
configure_script:
Expand Down Expand Up @@ -45,8 +45,6 @@ task:
folder: "/tmp/ccache_dir"
depends_built_cache:
folder: "/tmp/cirrus-ci-build/depends/built"
depends_sdk_cache:
folder: "/tmp/cirrus-ci-build/depends/sdk-sources"
install_script:
- apt-get update
- apt-get -y install git bash ccache
Expand Down
21 changes: 21 additions & 0 deletions .github/ISSUE_TEMPLATE/good_first_issue.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
name: Good first issue
about: '(Regular devs only): Suggest a new good first issue'
title: ''
labels: good first issue
assignees: ''

---


#### Useful skills:

<!-- (For example, “C++11 std::thread”, “Qt5 GUI and async GUI design” or “basic understanding of Bitcoin mining and the Bitcoin Core RPC interface”.) -->

#### Want to work on this issue?

The purpose of the `good first issue` label is to highlight which issues are suitable for a new contributor without a deep understanding of the codebase.

You do not need to request permission to start working on this. You are encouraged to comment on the issue if you are planning to work on it. This will help other contributors monitor which issues are actively being addressed and is also an effective way to request assistance if and when you need it.

For guidance on contributing, please read [CONTRIBUTING.md](https://github.com/bitcoin/bitcoin/blob/master/CONTRIBUTING.md) before opening your pull request.
81 changes: 81 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
name: bitcoin-core-ci

on:
push:
jobs:
build:
runs-on: windows-latest
env:
PYTHONUTF8: 1
QT_DOWNLOAD_URL: 'https://github.com/sipsorcery/qt_win_binary/releases/download/v1.6/Qt5.9.8_x64_static_vs2019.zip'
QT_DOWNLOAD_HASH: '9a8c6eb20967873785057fdcd329a657c7f922b0af08c5fde105cc597dd37e21'
QT_LOCAL_PATH: 'C:\Qt5.9.8_x64_static_vs2019'
VCPKG_INSTALL_PATH: "$env:VCPKG_INSTALLATION_ROOT/installed"
PLATFORM: x64
steps:
- uses: actions/checkout@v1

- uses: actions/setup-python@v1
with:
python-version: '3.7' # Needed for PEP 540

- name: Setup MSBuild.exe
uses: warrenbuckley/Setup-MSBuild@v1

- name: Check MSBuild.exe
run: MSBuild.exe -version | Out-File -FilePath $env:GITHUB_WORKSPACE\MSBuild_version

- uses: actions/cache@v1
id: vcpkgcache
with:
path: C:/vcpkg/installed
key: ${{ runner.os }}-vcpkg-${{ hashFiles('MSBuild_version') }}

- name: Update vcpkg and install packages
if: steps.vcpkgcache.outputs.cache-hit != 'true'
run: |
$env:PACKAGES = Get-Content -Path "$env:GITHUB_WORKSPACE/build_msvc/vcpkg-packages.txt"
Write-Host "vcpkg list: $env:PACKAGES"
cd $env:VCPKG_INSTALLATION_ROOT
git pull origin master
.\bootstrap-vcpkg.bat
.\vcpkg install --triplet $env:PLATFORM-windows-static $env:PACKAGES.split() > $null
- name: Install prebuilt Qt libraries
run: |
if(!(Test-Path -Path ($env:QT_LOCAL_PATH))) {
Write-Host "Downloading Qt binaries.";
Invoke-WebRequest -Uri $env:QT_DOWNLOAD_URL -Out qtdownload.zip;
Write-Host "Qt binaries successfully downloaded, checking hash against $env:QT_DOWNLOAD_HASH...";
if((Get-FileHash qtdownload.zip).Hash -eq $env:QT_DOWNLOAD_HASH) {
Expand-Archive qtdownload.zip -DestinationPath $env:QT_LOCAL_PATH;
Write-Host "Qt binary download matched the expected hash.";
}
else {
Write-Host "ERROR: Qt binary download did not match the expected hash.";
exit 1
}
}
else {
Write-Host "Qt binaries already present.";
}
- name: Generate project files
run: python build_msvc\msvc-autogen.py
- name: vcpkg integration
run: C:/vcpkg/vcpkg.exe integrate install
- name: Build
run: msbuild build_msvc\bitcoin.sln /m /v:n /p:Configuration=Release
- name: Run test_bitcoin
shell: cmd
run: src\test_bitcoin.exe -k stdout -e stdout 2> NUL
- name: Run bench_bitcoin
shell: cmd
run: src\bench_bitcoin.exe -evals=1 -scaling=0 > NUL
- name: bitcoin-util-test
run: python test\util\bitcoin-util-test.py
- name: rpcauth-test
shell: cmd
run: python test\util\rpcauth-test.py
- name: test_runner
shell: cmd
run: |
python test\functional\test_runner.py --ansi --ci --quiet --combinedlogslen=4000 --failfast --exclude feature_fee_estimation
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,9 @@ src/bitcoind
src/bitcoin-cli
src/bitcoin-tx
src/bitcoin-wallet
src/test/fuzz
!src/test/fuzz/*.*
src/test/test_bitcoin
src/test/test_bitcoin_fuzzy
src/qt/test/test_bitcoin-qt

# autoreconf
Expand All @@ -28,6 +29,7 @@ build-aux/m4/ltversion.m4
build-aux/missing
build-aux/compile
build-aux/test-driver
config.cache
config.log
config.status
configure
Expand Down
56 changes: 29 additions & 27 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
dist: xenial
os: linux
language: minimal
arch: amd64
cache:
ccache: true
directories:
Expand All @@ -42,11 +43,11 @@ before_cache:
stages:
- lint
- test
- extended-lint
env:
global:
- CI_RETRY_EXE="travis_retry"
- CACHE_ERR_MSG="Error! Initial build successful, but not enough time remains to run later build stages and tests. Please manually re-run this job by using the travis restart button or asking a bitcoin maintainer to restart. The next run should not time out because the build cache has been saved."
- CI_WAIT="while sleep 500; do echo .; done"
- CACHE_ERR_MSG="Error! Initial build successful, but not enough time remains to run later build stages and tests. See https://docs.travis-ci.com/user/customizing-the-build#build-timeouts . Please manually re-run this job by using the travis restart button. The next run should not time out because the build cache has been saved."
before_install:
- set -o errexit; source ./ci/test/00_setup_env.sh
- set -o errexit; source ./ci/test/03_before_install.sh
Expand Down Expand Up @@ -80,23 +81,19 @@ jobs:
script:
- set -o errexit; source ./ci/lint/06_script.sh

- stage: extended-lint
name: 'extended lint [runtime >= 60 seconds]'
env:
cache: false
language: python
python: '3.5'
install:
- set -o errexit; source ./ci/extended_lint/04_install.sh
before_script:
- set -o errexit; source ./ci/lint/05_before_script.sh
script:
- set -o errexit; source ./ci/extended_lint/06_script.sh

- stage: test
name: 'ARM [GOAL: install] [unit tests, no functional tests]'
name: 'ARM [GOAL: install] [bionic] [unit tests, functional tests]'
arch: arm64
env: >-
FILE_ENV="./ci/test/00_setup_env_arm.sh"
QEMU_USER_CMD="" # Can run the tests natively without qemu

- stage: test
name: 'S390x [GOAL: install] [bionic] [unit tests, functional tests]'
arch: s390x
env: >-
FILE_ENV="./ci/test/00_setup_env_s390x.sh"
QEMU_USER_CMD="" # Can run the tests natively without qemu

- stage: test
name: 'Win64 [GOAL: deploy] [unit tests, no gui, no functional tests]'
Expand All @@ -109,47 +106,52 @@ jobs:
FILE_ENV="./ci/test/00_setup_env_i686.sh"

- stage: test
name: 'x86_64 Linux [GOAL: install] [bionic] [uses qt5 dev package instead of depends Qt to speed up build and avoid timeout] [unsigned char]'
name: 'x86_64 Linux [GOAL: install] [CentOS 7] [no depends, only system libs]'
env: >-
FILE_ENV="./ci/test/00_setup_env_amd64_qt5.sh"
FILE_ENV="./ci/test/00_setup_env_native_centos.sh"

- stage: test
name: 'x86_64 Linux [GOAL: install] [trusty] [no functional tests, no depends, only system libs]'
name: 'x86_64 Linux [GOAL: install] [bionic] [uses qt5 dev package and some depends packages] [unsigned char]'
env: >-
FILE_ENV="./ci/test/00_setup_env_amd64_trusty.sh"
FILE_ENV="./ci/test/00_setup_env_native_qt5.sh"

- stage: test
name: 'x86_64 Linux [GOAL: install] [xenial] [no depends, only system libs, sanitizers: thread (TSan), no wallet]'
env: >-
FILE_ENV="./ci/test/00_setup_env_amd64_tsan.sh"
FILE_ENV="./ci/test/00_setup_env_native_tsan.sh"
TEST_RUNNER_EXTRA="--exclude feature_block" # Not enough memory on travis machines

- stage: test
name: 'x86_64 Linux [GOAL: install] [bionic] [no depends, only system libs, sanitizers: address/leak (ASan + LSan) + undefined (UBSan) + integer]'
env: >-
FILE_ENV="./ci/test/00_setup_env_amd64_asan.sh"
FILE_ENV="./ci/test/00_setup_env_native_asan.sh"

- stage: test
name: 'x86_64 Linux [GOAL: install] [bionic] [no depends, only system libs, valgrind]'
env: >-
FILE_ENV="./ci/test/00_setup_env_native_valgrind.sh"

- stage: test
name: 'x86_64 Linux [GOAL: install] [bionic] [no depends, only system libs, sanitizers: fuzzer,address,undefined]'
env: >-
FILE_ENV="./ci/test/00_setup_env_amd64_fuzz.sh"
FILE_ENV="./ci/test/00_setup_env_native_fuzz.sh"

- stage: test
name: 'x86_64 Linux [GOAL: install] [bionic] [no wallet]'
env: >-
FILE_ENV="./ci/test/00_setup_env_amd64_nowallet.sh"
FILE_ENV="./ci/test/00_setup_env_native_nowallet.sh"

- stage: test
name: 'macOS 10.10 [GOAL: deploy] [no functional tests]'
name: 'macOS 10.12 [GOAL: deploy] [no functional tests]'
env: >-
FILE_ENV="./ci/test/00_setup_env_mac.sh"

- stage: test
name: 'macOS 10.14 native [GOAL: install] [GUI] [no depends]'
os: osx
# Use the most recent version:
# Xcode 11, macOS 10.14, JDK 12.0.1
# Xcode 11.2.1, macOS 10.14, JDK 13.0.1, SDK 10.15
# https://docs.travis-ci.com/user/reference/osx/#macos-version
osx_image: xcode11
osx_image: xcode11.2
env: >-
FILE_ENV="./ci/test/00_setup_env_mac_host.sh"
6 changes: 3 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ release cycle, overall merging, moderation and appointment of maintainers.

If you're looking for somewhere to start contributing, check out the
[good first issue](https://github.com/bitcoin/bitcoin/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22)
list.
list or participate in a weekly [Bitcoin Core PR Review Club](https://bitcoincore.reviews/) meeting.

Communication Channels
----------------------
Expand Down Expand Up @@ -88,10 +88,10 @@ the pull request affects. Valid areas as:
- `refactor` for structural changes that do not change behavior
- `rpc`, `rest` or `zmq` for changes to the RPC, REST or ZMQ APIs
- `script` for changes to the scripts and tools
- `test` for changes to the bitcoin unit tests or QA tests
- `test`, `qa` or `ci` for changes to the unit tests, QA tests or CI code
- `util` or `lib` for changes to the utils or libraries
- `wallet` for changes to the wallet code
- `build` for changes to the GNU Autotools, reproducible builds or CI code
- `build` for changes to the GNU Autotools or reproducible builds

Examples:

Expand Down
4 changes: 2 additions & 2 deletions COPYING
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
The MIT License (MIT)

Copyright (c) 2009-2019 The Bitcoin Core developers
Copyright (c) 2009-2019 Bitcoin Developers
Copyright (c) 2009-2020 The Bitcoin Core developers
Copyright (c) 2009-2020 Bitcoin Developers

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
Loading