26582 Commits

Author SHA1 Message Date
Ross Nicoll
320d27a456 Use set_base_version in tests
Use set_base_version in tests in preparation for adding chain IDs to block versions.
2021-09-09 22:25:08 +01:00
Patrick Lodder
dbed8284f2
Merge pull request #2552 from rnicoll/1.21-read-block-from-disk
Introduce ReadBlockOrHeaderFromDisk
2021-09-09 21:29:51 +02:00
Ross Nicoll
1e72191e81
Introduce ReadBlockOrHeaderFromDisk 2021-09-09 19:24:50 +01:00
Patrick Lodder
b4ee1226c3
Merge pull request #2547 from rnicoll/1.21-CPureBlockHeader
Introduce CPureBlockHeader type ahead of AuxPoW support
2021-09-08 00:02:04 +02:00
Malta Micael
7b4867ea2b
CPureBlockHeader 2021-09-07 21:40:10 +01:00
Ross Nicoll
152e7b3633
Merge pull request #2538 from ReverseControl/deepsource-fix-9833b18c
Deepsource Fix: Comprehension not required. Allow evaluation short-circuiting.
2021-09-06 23:59:39 +01:00
Escanor Liones
5e8e6f0b46 [clean] 2021-09-04 23:28:10 -04:00
deepsource-autofix[bot]
c90163c832
Remove unnecessary comprehension 2021-09-05 03:26:46 +00:00
Escanor Liones
bcb587d751
.deepsource.toml 2021-09-04 21:09:14 -04:00
Patrick Lodder
b1a9249690
Merge pull request #2311 from rnicoll/1.21-subsidy-tests
Rewrite subsidy limit tests (1.21)
2021-07-12 01:03:05 +02:00
Ross Nicoll
37073aeb09
Add warning log message if overriding -blockmintxfee 2021-07-11 23:09:17 +01:00
Ross Nicoll
2f557fe52d Disable warnings on Mac 2021-07-11 22:46:39 +01:00
Hennadii Stepanov
7ba4e5a5da ci: Build with --enable-werror by default, and document exceptions 2021-07-11 22:46:39 +01:00
Ross Nicoll
37af216bb0 Disable test which always times out 2021-07-11 22:46:39 +01:00
MarcoFalke
e76d6a4c8b test: Add missing shift-base:nanobench.h suppression
Otherwise it is not possible to run bench_bitcoin with clang-12 + ASAN
compiled.

Output:

$ src/bench/bench_bitcoin
bench/nanobench.h:1107:15: runtime error: left shift of 4982565676696827473 by 27 places cannot be represented in type 'uint64_t' (aka 'unsigned long')
    #0 0x5623d6a13137 in ankerl::nanobench::Rng::rotl(unsigned long, unsigned int) /bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/./bench/nanobench.h:1107:15
    #1 0x5623d6a13137 in ankerl::nanobench::Rng::operator()() /bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/./bench/nanobench.h:1075:10
    #2 0x5623d6a05c5b in ankerl::nanobench::Rng::Rng(unsigned long) /bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/./bench/nanobench.h:3135:9
    #3 0x5623d6a0ca51 in ankerl::nanobench::detail::IterationLogic::Impl::Impl(ankerl::nanobench::Bench const&) /bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/./bench/nanobench.h:2206:13
    #4 0x5623d69f8f73 in ankerl::nanobench::detail::IterationLogic::IterationLogic(ankerl::nanobench::Bench const&) /bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/./bench/nanobench.h:2215:18
    #5 0x5623d690f165 in ankerl::nanobench::Bench& ankerl::nanobench::Bench::run<AddrManAdd(ankerl::nanobench::Bench&)::$_0>(AddrManAdd(ankerl::nanobench::Bench&)::$_0&&) /bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/./bench/nanobench.h:1114:28
    #6 0x5623d690e26e in AddrManAdd(ankerl::nanobench::Bench&) /bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/bench/addrman.cpp:76:11
    #7 0x5623d69279d6 in void std::__invoke_impl<void, void (*&)(ankerl::nanobench::Bench&), ankerl::nanobench::Bench&>(std::__invoke_other, void (*&)(ankerl::nanobench::Bench&), ankerl::nanobench::Bench&) /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/invoke.h:60:14
    #8 0x5623d6927921 in std::enable_if<is_invocable_r_v<void, void (*&)(ankerl::nanobench::Bench&), ankerl::nanobench::Bench&>, void>::type std::__invoke_r<void, void (*&)(ankerl::nanobench::Bench&), ankerl::nanobench::Bench&>(void (*&)(ankerl::nanobench::Bench&), ankerl::nanobench::Bench&) /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/invoke.h:110:2
    #9 0x5623d692775f in std::_Function_handler<void (ankerl::nanobench::Bench&), void (*)(ankerl::nanobench::Bench&)>::_M_invoke(std::_Any_data const&, ankerl::nanobench::Bench&) /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/std_function.h:291:9
    #10 0x5623d692dbd5 in std::function<void (ankerl::nanobench::Bench&)>::operator()(ankerl::nanobench::Bench&) const /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/std_function.h:622:14
    #11 0x5623d692cd44 in benchmark::BenchRunner::RunAll(benchmark::Args const&) /bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/bench/bench.cpp:65:13
    #12 0x5623d69282bf in main /bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/bench/bench_bitcoin.cpp:63:5
    #13 0x7f6812010564 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x28564)
    #14 0x5623d685f4dd in _start (/bitcoin/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/bench/bench_bitcoin+0x13754dd)

SUMMARY: UndefinedBehaviorSanitizer: invalid-shift-base bench/nanobench.h:1107:15 in

$ clang --version
Ubuntu clang version 12.0.0-1ubuntu1
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
2021-07-11 22:45:46 +01:00
Hennadii Stepanov
469a03e10c ci: Fix macOS brew install command
Details: https://github.com/Homebrew/discussions/discussions/691
2021-07-09 22:14:56 +01:00
Ross Nicoll
6514bdd001 Disable broken CI tests
* Disable fuzzer tests in CI as broken when we forked Bitcoin Core 0.21.
* Disable thread sanitizer as it incorrectly flags an issue in BDB.
* Disable integer overflow sanitizer as it fails on algorithms we depend on which intentionally use this behaviour.
2021-07-09 22:06:26 +01:00
Ross Nicoll
c93261586d Ignore unsigned overflow warnings
Ignore unsigned overflow warnings in:

* Scrypt hash calculation as this is an intentional part of how they behave.
* Calculating block subsidy as the Mersenne Twister intentionally expects this behaviour.
2021-07-09 22:06:26 +01:00
Ross Nicoll
2b821751fe Replace HMAC_SHA256 with Bitcoin's version 2021-07-09 22:06:26 +01:00
Ross Nicoll
753193e468 Fix compilation error in fuzz code 2021-07-09 22:06:26 +01:00
Ross Nicoll
7b6fadb899 bitcoin-node -> dogecoin-node 2021-07-09 22:06:26 +01:00
Ross Nicoll
9fb45926df Correct signedness of expected data in dogecoin_tests 2021-07-09 22:06:26 +01:00
Ross Nicoll
72bc180795 Cap maximum fee
Cap maximum fee at 21 million Dogecoins to ensure there is no overflow in the fee logic.
2021-07-09 22:06:26 +01:00
Ross Nicoll
ac6f78e411 Rewrite subsidy limit tests 2021-07-09 22:06:26 +01:00
Patrick Lodder
3eb1ebd217
Merge pull request #2288 from fdoving/fdov-depends-libevent
depends: libevent 2.1.12-stable
2021-06-27 03:09:15 +02:00
Patrick Lodder
56b22fad25
Merge pull request #2287 from fdoving/fdov-depends-expat
depends: update expat to 2.4.1
2021-06-27 02:58:47 +02:00
Ross Nicoll
52851fa2dd
Merge pull request #2274 from rnicoll/1.21-default-address-type
1.21 Set default address type to legacy
2021-06-12 17:58:14 +01:00
Ross Nicoll
9f3d27833c
Disable generating BECH32 addresses from the UI 2021-06-12 17:13:41 +01:00
Ross Nicoll
261d38e0fe
Generate legacy addresses by default
Generate legacy addresses instead of SegWit by default.
2021-06-12 16:58:46 +01:00
Ross Nicoll
efaf5335fd
Merge pull request #2259 from rnicoll/1.21-node-context
Add node context to wallet RPC request object
2021-06-12 16:35:29 +01:00
fdov
c159cf0b82
depends: libevent 2.1.12-stable
Update libevent 2.1.12-stable
2021-06-10 00:01:45 +02:00
fdov
481b2469d3
depends: update expat to 2.4.1
Update expat to 2.4.1
    CVE-2013-0340/CWE-776
2021-06-09 23:35:21 +02:00
Ross Nicoll
803923ca58 Remove separate node and wallet contexts 2021-06-09 08:38:00 +01:00
Ross Nicoll
1de71358f7 Directly include NodeContext instead of defining it
Rather than defining that NodeContext is defined fully elsewhere, actually include node/context.h into src/wallet/context.h for details.
2021-06-09 08:14:36 +01:00
Ross Nicoll
39a231053a Add node context to wallet RPC request object
Add node context to wallet RPC request object, as getauxblock needs access to the node to determine if it is in initial block download, and requires access to the wallet to get an address to pay to.
2021-06-09 08:14:36 +01:00
Ross Nicoll
0c8a07526f
Merge pull request #2248 from rnicoll/1.21-count-type
Change count type used by `gettxoutsetinfo`
2021-06-08 19:12:41 +01:00
Ross Nicoll
30142014b7
Change count type used by gettxoutsetinfo
changing CAmount (is a int64_t) to arith_uint256 for nTotalAmount in CCoinsStats to prevent overflow
2021-06-08 18:22:11 +01:00
Ross Nicoll
60cc97c7c4
Merge pull request #2252 from rnicoll/1.21-auxpow-parameters
Introduce AuxPoW chain parameters
2021-06-08 18:21:19 +01:00
Ross Nicoll
d662bd5011 Switch naming of AuxPoW activation to match BIPxxHeight style
Also removes the AllowLegacyBlocks() function, to be replaced by directly
checking height against the value (as per style used elsewhere).
2021-06-08 08:29:43 +01:00
Ross Nicoll
2fc9a6464d
Merge pull request #2260 from mmicael1/1.21-dev-boost-dependency
fix: Boost url dependency
2021-06-06 09:49:37 +01:00
Malta Micael
ebc163c005
fix: Boost url dependency 2021-06-06 00:14:02 -04:00
Ross Nicoll
140871623d
Introduce AuxPoW chain parameters
Introduce AuxPoW chain parameters. These are not yet used, splitting these out to make validation easier.
2021-06-05 23:25:30 +01:00
Ross Nicoll
7e89106e18
Merge pull request #2253 from rnicoll/1.21-centos
Add python3-devel package to CentOS
2021-06-05 22:36:32 +01:00
Ross Nicoll
0baff5a40a
Add python3-devel package to CentOS
* Add python3-devel package to CentOS as it is required for ltc_scrypt to build.
* Remove python3-distutils package from CentOS as they ship in the default Python 3 install.
2021-06-05 09:24:42 +01:00
Ross Nicoll
b7413c2f50
Merge pull request #2237 from mmicael1/1.21-dev-ci-cache-assets
Cache qa-assets directory on CI
2021-06-03 19:39:13 +01:00
Patrick Lodder
314ae07dcd
Merge pull request #2238 from rnicoll/1.21-dont-send-alert
Don't send a Bitcoin alert to Dogecoin clients
2021-06-03 18:18:56 +02:00
Ross Nicoll
4288f6cee7
Update src/net_processing.cpp 2021-06-03 16:55:08 +01:00
Patrick Lodder
cdc0be5999
Merge pull request #2222 from rnicoll/1.21-italian
minor Italian translation backport
2021-06-03 15:44:09 +02:00
Ross Nicoll
5640cc921d Stop sending a Bitcoin alert to Dogecoin clients 2021-06-03 10:06:21 +01:00
Ross Nicoll
f090c41555
Apply suggestions from language review 2021-06-03 09:49:46 +01:00