GaloisField2718
1864886c70
Add gen-dogecoin-conf.sh script into contrib/devtools and store the example conf file generated into ./share
2024-07-16 16:49:47 -04:00
chromatic
2fcaf1310c
Merge pull request #3576 from patricklodder/bugfix/maskpow
...
validation: avoid masking of difficulty adjustment errors
2024-07-14 17:04:30 -07:00
chromatic
5788fb8f15
Merge pull request #3575 from patricklodder/perf/orphantx-interrupt
...
net: improve orphan processing
2024-07-14 11:21:11 -07:00
chromatic
7c004f4bd5
Merge pull request #3574 from patricklodder/qa/p2p-getdata
...
qa: add getdata test
2024-07-14 11:20:57 -07:00
chromatic
fea6eeaec5
Merge pull request #3572 from patricklodder/qa/fix-walletnotify
...
qa: fix walletnotify test
2024-07-14 11:20:44 -07:00
chromatic
cf2c9bac23
Merge pull request #3313 from patricklodder/1.14.7-fix-lock-debugging
...
refactor: fix undefined behavior and cleanup lock debugging code
2024-07-14 08:29:49 -07:00
Old Dip Tracker
777a84f8f7
Merge pull request #3565 from qlpqlp/1.15.0-dev-pt_PT-Readme-Translation
...
Added pt_PT Readme
2024-07-13 03:37:14 +02:00
Patrick Lodder
3a1519a901
qa: fix walletnotify test
...
1. Allow more time for notifications to be delivered under load
2. Assure that in a non-hostile reorg the tracked transaction
isn't mined prematurely by mining 80-bytes blocks
3. Test all 4 messages for the doublespend scenario at once to
not error out when the conflict races the new transaction
This allows us to more strictly test the reorg behavior while
reducing race issues
2024-07-10 22:09:00 -04:00
inevitable360
872b61ade3
Updated typos
...
Updated typos thanks to @vhs94
Added pt_PT Readme
Co-Authored-By: Victor Hugo Ramos <victor.santana@juntossomosmais.com.pt>
2024-07-09 22:38:56 +01:00
chromatic
d099258fdc
Merge pull request #3568 from patricklodder/net/inv-buffer
...
p2p: reduce amount of getheaders sent per inv
2024-07-07 16:55:23 -07:00
chromatic
63d2d8a2d7
Merge pull request #3567 from patricklodder/bugfix/timedata
...
bugfix: avoid the use of abs in time data
2024-07-07 16:55:10 -07:00
Patrick Lodder
215fc33d08
validation: avoid masking of difficulty adjustment errors
...
Currently difficulty adjustment violations are not reported for
chains that branch off before the last checkpoint. Change this
by moving the checkpoint check after the difficulty check.
Backported from: 85c82b50
Original Author: Pieter Wuille <pieter.wuille@gmail.com>
2024-07-03 17:31:22 -04:00
Pieter Wuille
9f2ab9ed6c
Interrupt orphan processing after every transaction
...
This makes orphan processing work like handling getdata messages:
After every actual transaction validation attempt, interrupt
processing to deal with messages arriving from other peers.
Cherry-picked from: 866c8058a
2024-07-03 16:30:01 -04:00
Patrick Lodder
0e4df473f6
p2p: simplify orphan processing
...
Reduces complexity in processing of orphans when receiving tx
messages over p2p. and isolate the functionality in its own
function ProcessOrphanTx
Backported from: 9453018f
6e051f3d
Original Author: Pieter Wuille <pieter.wuille@gmail.com>
2024-07-03 16:29:48 -04:00
Patrick Lodder
cedbbeba96
p2p: enforce cs_main lock when requesting headers
2024-07-03 14:01:44 -04:00
Patrick Lodder
3e64e6f226
p2p: Only send a getheaders for one block in an INV
...
Headers-first is the primary method of announcement on the network.
If a node fell back sending blocks by inv, it's probably for a
re-org. The final block hash provided should be the highest, so
send a getheaders and then fetch the blocks we need to catch up.
Backported from: 74673663
Original Author: John Newbery <john@johnnewbery.com>
2024-07-03 14:01:36 -04:00
Patrick Lodder
846812cdde
cleanup: remove BOOST_FOREACH from timedata.cpp
2024-07-03 12:35:17 -04:00
Pieter Wuille
f88f9ddee2
Avoid the use of abs64 in timedata
...
Cherry-picked from: d1292f25
2024-07-03 12:16:46 -04:00
Patrick Lodder
f68998b0b1
qa: add getdata test
...
Tests that an invalid GETDATA doesn't prevent processing of future
messages
Backported from: 2f032556
Co-authored-by: Amiti Uttarwar <amiti@uttarwar.org>
Co-authored-by: John Newbery <john@johnnewbery.com>
2024-07-03 11:21:58 -04:00
Old Dip Tracker
962b0205f4
Merge pull request #3194 from thisiskeanyvy/master
...
Translation and addition of the README.md file in French
2024-06-29 16:30:52 +02:00
thisiskeanyvy
a9e6621935
Translation and addition of the README.md file in French (fr/README.md)
2024-06-28 00:04:47 +02:00
chromatic
2a16b17825
Merge pull request #3459 from patricklodder/1.15.0-organize-intl-docs
...
Organize internationalized documentation
2024-06-25 17:12:30 -07:00
chromatic
fdf534c133
Merge pull request #3561 from patricklodder/compat/std17
...
build: allow c++17 standard to be used for compilation
2024-06-25 06:59:28 -07:00
Old Dip Tracker
929078f842
Merge pull request #3514 from chromatic/1.15.0-rename-qa-dogecoin-constants
...
Change Bitcoin to Dogecoin in qa/ files
2024-06-25 02:55:06 +02:00
Patrick Lodder
09f92efee3
doc: hierarchical link international docs
...
Removes crosslinking of documentation in favor of a link hierarchy:
- main README.md links to doc/intl/README.md
- doc/intl/README.md links to individual translated documents
This reduces conflicts between translations.
2024-06-24 13:29:19 -04:00
Patrick Lodder
268a412a9b
doc: move internationalized docs
2024-06-24 13:29:18 -04:00
Patrick Lodder
83af7b3b6e
doc: Organize documentation internationalization
2024-06-24 13:29:18 -04:00
chromatic
e2b3c7eabb
Merge pull request #3393 from patricklodder/1.14.7-blockstats-dust
...
Add dust metrics to getblockstats
2024-06-23 18:11:16 -07:00
Patrick Lodder
4196748d27
build: allow c++17 standard to be used for compilation
...
This will allow compiling with the c++17 standard, which on some
distributions (macOS, FreeBSD) is required when using system
dependencies.
The ./configure script will now allow specifying --enable-c++17 to
enable c++17. The default remains c++11, and c++14 also remains
available.
2024-06-23 17:51:52 -04:00
chromatic
1cabf8dfb1
Change Bitcoin to Dogecoin in qa/ files
...
This changes all occurrences of `BITCOIN` to `DOGECOIN` and `bitcoind`
to `dogecoind` in all files in `qa/`. It does not change copyright
information.
2024-06-22 09:07:27 -07:00
chromatic
5bbb1fa1d8
Merge pull request #3557 from patricklodder/doc/security
...
doc: add security policy
2024-06-22 08:58:12 -07:00
chromatic
2e37a3a1ba
Merge pull request #3560 from patricklodder/compat/shuffle
...
random: use std::shuffle instead of std::random_shuffle
2024-06-22 00:13:50 -07:00
Patrick Lodder
caa79bd1a1
random: use std::shuffle instead of std::random_shuffle
...
random_shuffle is deprecated since c++11 and removed in c++17. Use
the shuffle function instead, now that we have a standardized
interface available on FastRandomContext.
This enables c++17 compilation
2024-06-20 10:32:21 -04:00
Old Dip Tracker
da22f3312d
Merge pull request #3521 from xanimo/1.15.0-dev-next-random-pre-14955
...
backport: random.h/.cpp cherry-picks
2024-06-20 15:20:35 +02:00
Pieter Wuille
47b48521bb
Make FastRandomContext support standard C++11 RNG interface
...
This makes it possible to plug it into the various standard C++11 random
distribution algorithms and other functions like std::shuffle.
Cherry-picked from: 1ec1602a4549f6b68586cead8eff701bceb624f5
2024-06-18 16:38:09 -07:00
Aaron Clauson
3606c85c7d
Minimal code changes to allow msvc compilation.
...
-add msvc ssize_t definition in compat.h
-change NUM_OS_RANDOM_BYTES to int from ssize_t in random.h
Includes squashed commit: f7dc99244c8e78dbd0196f612690efcc449c37dc
Inspired by: fbf327b13868861c2877c5754caf5a9816f2603c
2024-06-18 16:06:52 -07:00
Dag Robole
90d1972d81
Fix resource leak
...
Cherry-picked from: a8ae0b252a2007568e77f5aca1c7fa3ec5941b72
2024-06-18 15:19:51 -07:00
Pieter Wuille
60bd389823
Use rdrand as entropy source on supported platforms
...
Includes squashed commits:
5155d1101eb4fc9d4d797b583bb29f71807bd10b
a9e82f6512662054f64ed2bde590b2bb0831fc9d
674848fe1c43fb88870cf5ba16fca4e2524da793
Cherry-picked from: cb24c8539d1098d1a61605b452ecfa11a693320d
2024-06-18 15:19:25 -07:00
Pieter Wuille
23bc7a072e
Use sanity check timestamps as entropy
...
Cherry-picked from: 2c0a6f157da3c6bb3b0a1e77f003caf0d9cb9d6c
2024-06-18 14:37:52 -07:00
Pieter Wuille
4a3c6ddc11
Test that GetPerformanceCounter() increments
2024-06-18 14:37:51 -07:00
Pieter Wuille
930acbfe49
Use hardware timestamps in RNG seeding
2024-06-18 14:37:44 -07:00
Old Dip Tracker
5ac4640a48
Merge pull request #3511 from xanimo/1.15.0-dev-91e3035-10321
...
backport: Use FastRandomContext for all tests
2024-06-15 15:26:16 +02:00
xanimo
d693d4a008
random: getentropy on macOS does not need unistd.h
...
change sys/random.h to random.h in AC_MSG_CHECK
remove definitions that are applicable to macos which include unistd.h
additionally change comparator argument from NULL to nullptr when evaluating &getentropy
Inspired by: c13c97dbf846cf0e6a5581ac414ef96a215b0dc6
2024-06-13 11:44:33 -07:00
James Hilliard
743c3acd3d
Check if sys/random.h is required for getentropy on OSX.
...
Cherry-picked from: ee2d10ad0c0e04d0b9da4535a6fff265ac2501e5
2024-06-13 11:42:50 -07:00
Pieter Wuille
265f258540
scripted-diff: Use new naming style for insecure_rand* functions
...
-BEGIN VERIFY SCRIPT-
sed -i 's/\<insecure_randbits(/InsecureRandBits(/g' src/test/*.cpp src/test/*.h src/wallet/test/*.cpp
sed -i 's/\<insecure_randbool(/InsecureRandBool(/g' src/test/*.cpp src/test/*.h src/wallet/test/*.cpp
sed -i 's/\<insecure_randrange(/InsecureRandRange(/g' src/test/*.cpp src/test/*.h src/wallet/test/*.cpp
sed -i 's/\<insecure_randbytes(/InsecureRandBytes(/g' src/test/*.cpp src/test/*.h src/wallet/test/*.cpp
sed -i 's/\<insecure_rand256(/InsecureRand256(/g' src/test/*.cpp src/test/*.h src/wallet/test/*.cpp
sed -i 's/\<insecure_rand(/InsecureRand32(/g' src/test/*.cpp src/test/*.h src/wallet/test/*.cpp
sed -i 's/\<seed_insecure_rand(/SeedInsecureRand(/g' src/test/*.cpp src/test/*.h src/wallet/test/*.cpp
-END VERIFY SCRIPT-
Cherry-picked from: e945848582160b23fa0bc6f797e2bd8ac676ee0e
2024-06-13 11:42:49 -07:00
Pieter Wuille
7abc3c6c6d
scripted-diff: Use randbits/bool instead of randrange where possible
...
-BEGIN VERIFY SCRIPT-
sed -i 's/insecure_randbits(1)/insecure_randbool()/g' src/test/*_tests.cpp
sed -i 's/insecure_randrange(2)/insecure_randbool()/g' src/test/*_tests.cpp
sed -i 's/insecure_randrange(4)/insecure_randbits(2)/g' src/test/*_tests.cpp
sed -i 's/insecure_randrange(32)/insecure_randbits(5)/g' src/test/*_tests.cpp
sed -i 's/insecure_randrange(256)/insecure_randbits(8)/g' src/test/*_tests.cpp
-END VERIFY SCRIPT-
Cherry-picked from: 2fcd9cc86bfce944e3312e9a24685403250f3bdc
2024-06-13 11:42:49 -07:00
Pieter Wuille
046cbb0091
Use randbits instead of ad-hoc emulation in prevector tests
...
Cherry-picked from: 2ada67852174a76753080d65a7adbe27241a9caa
2024-06-13 11:42:49 -07:00
Pieter Wuille
9fa9876e4c
Replace rand() & ((1 << N) - 1) with randbits(N)
...
Cherry-picked from: 5f0b04eedc5bbdb9319c9f1f1a6c599337f5bbe3
2024-06-13 11:42:48 -07:00
Pieter Wuille
a36981dec6
Replace more rand() % NUM by randranges
...
Cherry-picked from: 3ecabae36364e905e7821fba3e60aa7f8418de6c
2024-06-13 11:42:48 -07:00
Pieter Wuille
fe5b701634
scripted-diff: use insecure_rand256/randrange more
...
-BEGIN VERIFY SCRIPT-
sed -i "s/\<GetRandHash(/insecure_rand256(/" src/test/*_tests.cpp
sed -i "s/\<GetRand(/insecure_randrange(/" src/test/*_tests.cpp src/test/test_bitcoin.cpp
sed -i 's/\<insecure_rand() % \([0-9]\+\)/insecure_randrange(\1)/g' src/test/*_tests.cpp
-END VERIFY SCRIPT-
Cherry-picked from: efee1db21a652019e0ab18fffc233d91bb7f1816
2024-06-13 11:42:48 -07:00