26571 Commits

Author SHA1 Message Date
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
Malta Micael
363e2bda91
Cache qa-assets directory on CI 2021-06-02 23:10:02 -04:00
Ross Nicoll
d069588c1f
Merge pull request #2224 from mmicael1/1.21-reduce-tests-latency
fix: reduce tests latency
2021-06-02 23:22:44 +01:00
Patrick Lodder
8fcbf8cfe5
Merge pull request #1828 from rnicoll/1.21-dev-scrypt-algo
Scrypt algorithm
2021-06-02 23:45:02 +02:00
Ross Nicoll
66d40c059a Remove default Signet 2021-06-02 10:37:16 +01:00
Ross Nicoll
3afaf906f1 Replace consensus values with Dogecoin equivalents
* Replace chain parameters with Dogecoin values
* Update maximum coins to match Dogecoin
* Disable version 2 block requirement
* Update coinbase maturity to match Dogecoin
2021-06-02 10:37:16 +01:00
Malta Micael
0aa4d723e5
fix: reduce tests latency
Non-necessary long time sleep for sync_blocks and sync_mempools.
2021-05-30 22:54:55 -04:00
barrystyle
aad77c6e3e crypto: Add scrypt N=1024 PoW
Add scrypt pow hashing algorithm as a proof of work function.
Rebased from litecoin-project/litecoin@02961f0 minus strencodings.h macros.
2021-05-30 22:54:48 +01:00
shaolinfry
202871da44 Litecoin: Add scrypt N=1024 PoW 2021-05-30 22:54:48 +01:00
Ross Nicoll
13502573a1
Merge pull request #2210 from rnicoll/1.21-block-subsidy
Introduce Dogecoin block subsidy calculations
2021-05-30 22:54:06 +01:00
Ross Nicoll
4fea2ce468
Add Dogecoin block subsidies 2021-05-30 22:12:51 +01:00
Marco
82ec66721f Articols matter in Italian 2021-05-30 17:22:29 +01:00