Commit Graph

327 Commits

Author SHA1 Message Date
Kittywhiskers Van Gogh
ed29a2060c merge bitcoin#18445: Add fuzzing harnesses for functions/classes in chain.h and protocol.h 2022-08-23 21:33:34 +05:30
Kittywhiskers Van Gogh
1e9733f195 merge bitcoin#19558: split pthread flags out of ldflags and dont use when building libconsensus 2022-08-23 21:33:33 +05:30
Kittywhiskers Van Gogh
d9ea7fa716 merge bitcoin#20188: Add fuzzing harness for CConnman 2022-08-23 21:31:21 +05:30
Kittywhiskers Van Gogh
24a58c3934 merge bitcoin#18775: Add fuzzing harnesses for various classes/functions in policy/ (CBlockPolicyEstimator, IsRBFOptIn(…), etc.) 2022-08-23 21:31:20 +05:30
Kittywhiskers Van Gogh
5b0b206853 merge bitcoin#19296: Add fuzzing harness for AES{CBC,}256{Encrypt,Decrypt}, poly1305_auth, CHKDF_HMAC_SHA256_L32, ChaCha20 and ChaCha20Poly1305AEAD 2022-08-21 18:09:28 +05:30
Kittywhiskers Van Gogh
50b6c2af4c merge bitcoin#19379: Add fuzzing harness for SigHasLowR(...) and ecdsa_signature_parse_der_lax(...) 2022-08-21 18:09:28 +05:30
Kittywhiskers Van Gogh
208ca5bd7e merge bitcoin#18736: Add fuzzing harnesses for various classes/functions in util/ 2022-08-21 18:09:25 +05:30
Kittywhiskers Van Gogh
38781fc114 merge bitcoin#17989: Add one specialized ProcessMessage(...) fuzzing binary per message type for optimal results when using coverage-guided fuzzing 2022-07-15 21:24:21 +05:30
Kittywhiskers Van Gogh
e17767ccf1 merge bitcoin#19286: Add fuzzing harness for CHash{160,256}, C{HMAC_,}SHA{1,256,512}, CRIPEMD160, CSipHasher, etc. 2022-07-15 21:24:21 +05:30
Kittywhiskers Van Gogh
b50f00a2d5 merge bitcoin#18190: Add fuzzing harness for Golomb-Rice coding (GolombRiceEncode/GolombRiceDecode) 2022-07-15 21:24:21 +05:30
Kittywhiskers Van Gogh
93d3c26063 merge bitcoin#18363: Add fuzzing harness for HTTPRequest, libevent's evhttp and related functions 2022-07-15 21:24:21 +05:30
Kittywhiskers Van Gogh
eb2fa81288 partial bitcoin#19143: Add fuzzing harnesses for CAutoFile, CBufferedFile, LoadExternalBlockFile and other FILE* consumers 2022-07-15 21:23:01 +05:30
Kittywhiskers Van Gogh
da690542f4 merge bitcoin#19222: Add fuzzing harness for BanMan 2022-07-15 21:09:53 +05:30
Kittywhiskers Van Gogh
cd9b83c15e merge bitcoin#19247: Add fuzzing harness for {Read,Write}{LE,BE}{16,32,64} 2022-07-15 21:09:53 +05:30
Kittywhiskers Van Gogh
a7109d8724 partial bitcoin#18314: Add deserialization fuzzing of SnapshotMetadata (utxo_snapshot). Increase fuzzing coverage 2022-07-15 21:09:53 +05:30
Kittywhiskers Van Gogh
0d5a7929ac partial bitcoin#18047: Add basic fuzzing harness for CNetAddr/CService/CSubNet related functions (netaddress.h) 2022-07-15 21:09:53 +05:30
Kittywhiskers Van Gogh
09825e4678 merge bitcoin#18867: Add fuzzing harness for CCoinsViewCache 2022-07-15 21:09:53 +05:30
Kittywhiskers Van Gogh
d016ccd065 merge bitcoin#18565: Add fuzzing harnesses for classes/functions in checkqueue.h and cuckoocache.h. Add fuzzing coverage. 2022-07-06 22:14:04 +05:30
Kittywhiskers Van Gogh
ee7e37ae01 merge bitcoin#18455: Add fuzzing harness for functions/classes in flatfile.h, merkleblock.h, random.h, serialize.h and span.h 2022-07-06 22:13:37 +05:30
Kittywhiskers Van Gogh
1b424f6b3b merge bitcoin#18407: Add proof-of-work fuzzing harness 2022-07-06 22:13:37 +05:30
Kittywhiskers Van Gogh
7a954b8bd7 merge bitcoin#18423: Add fuzzing harness for classes/functions in blockfilter.h. Add integer {de,}serialization fuzzing 2022-07-06 22:13:37 +05:30
Kittywhiskers Van Gogh
f319ddbe85 merge bitcoin#18176: Add fuzzing harness for CScript and CScriptNum operations 2022-07-06 22:13:37 +05:30
Kittywhiskers Van Gogh
26ea6762d3 merge bitcoin#18529: Add fuzzer version of randomized prevector test 2022-07-06 22:13:37 +05:30
Kittywhiskers Van Gogh
1552a1e9dc merge bitcoin#18521: Add process_messages harness 2022-07-06 22:13:37 +05:30
Kittywhiskers Van Gogh
6ee033b2da merge bitcoin#18417: Add fuzzing harnesses for functions in addrdb.h, net_permissions.h and timedata.h 2022-07-06 22:13:36 +05:30
Kittywhiskers Van Gogh
ab8822c184 merge bitcoin#18353: Add fuzzing harnesses for classes CBlockHeader, CFeeRate and various functions 2022-07-06 21:48:11 +05:30
Kittywhiskers Van Gogh
d807cc7a8a merge bitcoin#17926: Add key_io fuzzing harness. Fuzz additional functions in existing fuzzing harnesses 2022-07-06 21:48:10 +05:30
Kittywhiskers Van Gogh
d2d7febd0e fuzz: sort ENABLE_FUZZ block alphabetically to avoid merge conflicts 2022-07-02 23:47:42 +05:30
Kittywhiskers Van Gogh
b37a692571 merge bitcoin#15934: Merge settings one place instead of five places
Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2022-06-03 18:25:21 +05:30
PastaPastaPasta
604cdbc447
Merge pull request #4642 from Munkybooty/backports-0.18-pr19
Backports 0.18 pr19
2022-05-29 15:05:15 -05:00
MarcoFalke
a557022252 Merge #14092: tests: Dry run bench_bitcoin as part "make check" to allow for quick identification of assertion/sanitizer failures in benchmarking code
dfef0df840 tests: Dry run bench_bitcoin (-evals=1 -scaling=0: <1 second running time) as part "make check" to allow for quick identification of assertion/sanitizer failures in benchmarking code (practicalswift)
00c6306a61 Remove RUN_BENCH logic (practicalswift)

Pull request description:

  Dry run `bench_bitcoin` (`-evals=1 -scaling=0`: <1 second running time) as part `make check` to allow for quick identification of assertion/sanitizer failures or crashes in benchmarking code.

  This is already tested in Travis but it is nice to have it locally too. The cost is near zero.

Tree-SHA512: 1f51b86b34bf97f75785f2694891d80f1bfb3e050211e6f6c35d8d9bc80c75bdebaa5ebfa51855ac0cf76d8773c3026bc576f60d0227afb0e646d728b83abde7
2022-05-23 02:15:41 -04:00
Kittywhiskers Van Gogh
2fb3a9fbf5 merge bitcoin#18637: allow cache resize after init
Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2022-05-23 10:39:43 +05:30
Kittywhiskers Van Gogh
8b9e784a64 merge bitcoin#17737: Add ChainstateManager, remove BlockManager global
Co-authored-by: "UdjinM6 <UdjinM6@users.noreply.github.com>"
2022-05-18 20:53:40 +05:30
Kittywhiskers Van Gogh
1a65972c2e merge bitcoin#18740: Remove g_rpc_node global 2022-05-18 20:50:50 +05:30
Kittywhiskers Van Gogh
b47d4843bf
merge bitcoin#22646: tighter Univalue integration, remove --with-system-univalue (#4823)
* merge bitcoin#22646: tighter Univalue integration, remove `--with-system-univalue`

* masternode: add missing header in meta.cpp
2022-05-02 10:31:46 -05:00
Kittywhiskers Van Gogh
2314ba4c99 merge bitcoin#17265: Remove OpenSSL 2022-04-25 15:29:52 +05:30
Kittywhiskers Van Gogh
43152b2b35
merge #17165: Remove BIP70 support (#4023)
* compat: remove bswap_* check on macOS

This was originally added in #9366 to fix the gui build, as
Protobuf would also define these macros. Now that we're no-longer
using Protobuf, remove the additional check.

* build: skip building OpenSSL lib_ssl

* build: remove OpenSSL from Qt build

More info available from:
https://doc.qt.io/qt-5/ssl.html#enabling-and-disabling-ssl-support

* build: remove EVP_MD_CTX_new detection

This was added in #9475 to fix LibreSSL compatibility for
BIP70, so is no longer required.

* build: remove SSL lib detection

* gui: update BIP70 support message

* build: remove BIP70 entries from macOS Info.plist

* gui: remove payment request file handling from OpenURI dialog

* gui: remove BIP70 Support

* build: remove protobuf from depends and contrib
2022-04-25 12:01:47 +03:00
Kittywhiskers Van Gogh
f0263a3629 partial bitcoin#17989: Add fuzzing harness for ProcessMessage(...). Enables high-level fuzzing of the P2P layer
Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2022-04-20 00:24:10 +05:30
Odysseas Gabrielides
83ef1c6c66
feat: implement quorum rotation and updated LLMQ parameters (#4752)
* Added GET_SNAPSHOT_INFO message handling

* Quorum members by rotation

* Quorum utils functions

* Handle GET_QUORUM_ROTATION_INFO with baseBlockHash from client

* Storing QuorumSnaphots in evoDB when requesting them

* Added DIP Enforcement param

* quorumIndex cache

* Quorum Rotation deployment control

* Usage of Bitsets for storing CQuorumSnapshots

* Correct handling of early quorum quarters

* More asserts

* Corrections

* Handling of quorumIndex

* Refactoring of truncate mechanism

* Various fixes

* Interface correction

* Added template type for indexed cache

* Added quorumIndex into commitmenHash

* Various changes

* Needs to update maqQuorumsCache along with indexedQuorumsCache

* Added CFinalCommitment version 2

* Renamed variables

* Fixes

* Refactoring & correct caching of quorumMembers by rotation

* Added assertions

* Refactoring

* Interface change

* Handling of previous DKG session failure

* Applied refactoring

* Build quarter members improvments

* Merge Quorum Rotation and Decreased fee into one deployment (DIP24)

* Added new LLMQ Type

* Added functional tests + refactoring

* Refactoring

* Spreaded Quorum creation and Quorum Index adaptation

* quorumIndex adaptations

* Added quorumIndex in CFinalCommitment

* Latest work

* Final refactoring

* Batch of refactoring

* Fixes for tests

* Fix for CFinalCommitment

* Fix for Quorums

* Fix

* Small changes

* Thread sync fic

* Safety changes

* Reuse mns when needed

* Refactoring

* More refactoring

* Fixes for rotationinfo handling

* Fix for rotation of members

* Correct order of MNs lists in Quorum Snapshots

* Adding extra logs

* Sync rotation quorums + qrinfo changes

* Fix + extra logs

* Removed redundant field

* Fix for null final commitment + refactoring

* Added timers in tests

* Fix for qrinfo message: quorumdiff and merkleRootQuorums

* Small changes for rotation test

* Remove reading from scanQuorumCache

* Added quorum list output

* Crash fix

* Experimental commit

* apply changes to specialtxman.cpp from specialtx.cpp

* all the changes

* substancially speed up feature_llmq_rotation.py

* reenable asserts, add check for reorgs

* Refactoring

* Added extra logs

* format

* trivial

* drop extra boost includes

* drop ContainsMN

* fix ScanQuorums

* check quorum hash and index in CFinalCommitment::Verify

* fix/tweak tests

* IsQuorumRotationEnabled should be aware of the context

* Calculating members based on earlier block.

* Fix for Quorum Members Cache

* Removed duplicate size of baseBlockHashes

* Adaptations of qrinfo to -8 mn lists

* Introduction of llmqTypeDIP24InstantSend

* Adaptation for llmqTypeDIP24InstantSend

* Adaptations for IS

* bump protocol version

* Added feature_llmq_is_migration test

* Various cleanups

* use unordered_lru_cache for quorumSnapshotCache

* trivial refactor ComputeQuorumMembersByQuarterRotation

* Reduced CFinalCommitment::quorumIndex from 32 to 16 bits

* Keep verified LLMQ relay connections

* Experimental Relay connection fix

* Fix for EnsureQuorumConnections rotation

* Using only valid Mns for checking

* Override of nPowTargetSpacing (devnet only)

* Show penalty score in masternode rpc

* fixups

* Rotation refactoring

* Update src/chainparams.cpp

* Replaced LogPrintf with LogPrint

* IS locking fix once DIP24 activation

* Various cleanup

* Updated MIN_MASTERNODE_PROTO_VERSION

* Introduce LLMQ_TEST_INSTANTSEND reg-test only quorum and actually test switching to dip0024 quorums

* Renamed field lastQuorumHashPerIndex

* Renamed to DIP0024

* chore: update nStartTime and nTimeout for mainnet / testnet for DEPLOYMENT_DIP0024

Co-authored-by: Kittywhiskers Van Gogh <63189531+kittywhiskers@users.noreply.github.com>
Co-authored-by: pasta <pasta@dashboost.org>
Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2022-04-16 17:46:04 +03:00
PastaPastaPasta
e84bf45cef
Merge pull request #4744 from vijaydasmp/bp2003
Merge #17119,1683,17102,17134,17691,17992,18170,18382,16975,18472, 18486,17633,7833
2022-04-03 17:44:16 -05:00
Vijay Manikpuri
77e84287e9
Merge #16226: Move ismine to the wallet module (#4640)
e61de6306fd89fe9aae90253062e7b1b20343f8a Change ismine to take a CWallet instead of CKeyStore (Andrew Chow)
7c611e20007bf5face34d33dffa26c8db67e29ec Move ismine to wallet module (Andrew Chow)

Pull request description:

  `IsMine` isn't used outside of the wallet except for the tests. It also doesn't make sense to be outside of the wallet. This PR moves `IsMine` into the wallet module and for it to take a `CWallet` instead of `CKeyStore`. The test that used `IsMine` is also moved to the wallet tests.

  This is first [prerequisites](https://github.com/bitcoin-core/bitcoin-devwiki/wiki/Wallet-Class-Structure-Changes#ismine) for the wallet structure changes.

ACKs for commit e61de6:
  MarcoFalke:
    re-ACK e61de6306f (only change is rebase with git auto-merge)
  meshcollider:
    Very light code review ACK e61de6306f

Tree-SHA512: 1cb4ad12652aef7922ab7460c6d413e8b9d1855dca78c0a286ae49d5c0765bc7996c55f262c742001d434eb9bd4215dc2cc7aae1b371ee1a82d46b32c17e6341

Co-authored-by: MeshCollider <dobsonsa68@gmail.com>
2022-04-03 17:26:52 -05:00
MarcoFalke
639386a7a1
Merge #18472: test: Remove unsafe BOOST_TEST_MESSAGE
fa3cc0bfc4c4fc13a384fc291403c9fd41082f18 test: Remove unsafe BOOST_TEST_MESSAGE (MarcoFalke)

Pull request description:

  Fixes #17987

  Can be tested with

  ```
  ./src/test/test_bitcoin -l test_suite  -- DEBUG_LOG_OUT

ACKs for top commit:
  fjahr:
    tested ACK fa3cc0bfc4c4fc13a384fc291403c9fd41082f18
  mzumsande:
    Tested ACK fa3cc0bfc4c4fc13a384fc291403c9fd41082f18

Tree-SHA512: f63b110d77882cd7c0d7574ff6c9c948db8febb3400ecdac45164746b587b0fa223463041801271b3959267ddc1d9a4a67ba76939e242e7dd2f92a2834a400a0
2022-04-03 08:35:45 +05:30
Kittywhiskers Van Gogh
b28395f23b merge bitcoin#18126: Add fuzzing harness for locale independence testing 2022-03-25 00:58:21 +05:30
Kittywhiskers Van Gogh
feb4ce584e merge bitcoin#17972: Add fuzzing harness for CKey related functions 2022-03-25 00:58:20 +05:30
Kittywhiskers Van Gogh
bc25f29eec merge bitcoin#18206: Add fuzzing harness for bloom filter classes (CBloomFilter + CRollingBloomFilter) 2022-03-25 00:58:20 +05:30
Kittywhiskers Van Gogh
4678db1a04 merge bitcoin#17996: Add fuzzing harness for serialization/deserialization of floating-points and integrals 2022-03-25 00:58:20 +05:30
Kittywhiskers Van Gogh
55abb1ecec merge bitcoin#18512: Improve asmap checks and add sanity check 2022-03-25 00:58:20 +05:30
Kittywhiskers Van Gogh
c4491309dc merge bitcoin#18029: Add fuzzing harness for AS-mapping (asmap) 2022-03-24 09:27:25 +05:30
Kittywhiskers Van Gogh
8dc6222163 merge bitcoin#18009: Add fuzzing harness for strprintf(…) 2022-03-24 09:27:25 +05:30
Kittywhiskers Van Gogh
a9d0cbb8f7 merge bitcoin#17113: Add fuzzing harness for descriptor Span-parsing helpers 2022-03-24 09:27:25 +05:30
Kittywhiskers Van Gogh
d3c28bf50b merge bitcoin#17771: Add fuzzing harness for V1TransportDeserializer (P2P transport) 2022-03-24 09:27:25 +05:30
Kittywhiskers Van Gogh
347c0f75ee merge bitcoin#17777: Add fuzzing harness for DecodeHexTx(...) 2022-03-24 09:27:25 +05:30
Kittywhiskers Van Gogh
933efc36fc merge bitcoin#17229: Add fuzzing harnesses for various Base{32,58,64} and hex related functions 2022-03-24 09:27:25 +05:30
Kittywhiskers Van Gogh
27d70d2fdf merge bitcoin#17050: Add fuzzing harnesses for functions parsing scripts, numbers, JSON and HD keypaths (bip32) 2022-03-24 09:27:25 +05:30
Kittywhiskers Van Gogh
166232b6f3 merge bitcoin#17291: Add fuzzing harness for ISO-8601 related functions 2022-03-24 09:27:25 +05:30
Kittywhiskers Van Gogh
fd4c6f8239 merge bitcoin#17083: Add fuzzing harness for various CScript related functions 2022-03-24 09:27:25 +05:30
Kittywhiskers Van Gogh
b605f3412f test: fix FUZZ_SUITE_LD_COMMON missing bracket 2022-03-17 11:43:58 +05:30
PastaPastaPasta
9e648f5d70
test: add very basic tests for llmq::CInstantSendLock::IsDeterministic (#4719)
* test: add very basic tests for llmq::CInstantSendLock::IsDeterministic

* fix linter
2022-03-13 23:56:10 +03:00
UdjinM6
ac654efa60
Merge pull request #4709 from PastaPastaPasta/develop-trivial-2022-02-26
backport: trivial backports Feb 26 2022
2022-03-08 02:54:23 +03:00
MarcoFalke
0485b3a187 Merge #17071: tests: Add fuzzing harness for CheckBlock(...) and other CBlock related functions
893aa207e84b74e7623243967d29f03570fdfd6f tests: Add fuzzing harness for CheckBlock(...) and other CBlock related functions (practicalswift)
ec8dcb0199c6d6ae47a13abbd158f59532554adb tests: Add corpora suppression (FUZZERS_MISSING_CORPORA) for fuzzers missing in https://github.com/bitcoin-core/qa-assets/tree/master/fuzz_seed_corpus (practicalswift)

Pull request description:

  Add fuzzing harness for `CheckBlock(...)` and other `CBlock` related functions.

  **Testing this PR**

  Run:

  ```
  $ CC=clang CXX=clang++ ./configure --enable-fuzz --with-sanitizers=address,fuzzer,undefined
  $ make
  $ src/test/fuzz/block
  …
  # And to to quickly verify that the relevant code regions are triggered, that the
  # fuzzing throughput seems reasonable, etc.
  $ contrib/devtools/test_fuzzing_harnesses.sh '^block$'
  ```

  `test_fuzzing_harnesses.sh` can be found in PR #17000.

Top commit has no ACKs.

Tree-SHA512: 275abd46d8ac970b28d8176f59124988b1e07c070173e001acd55995b830333417f301c309199fc589da08a6ac4c03aa74650d5e1638f6e3023dfbd3c9f6921d
2022-03-07 09:40:31 -06:00
MarcoFalke
0e7b64575c Merge #17109: tests: Add fuzzing harness for various functions consuming only integrals
597d10ceb9fd2a118c7e551cd6263379691d9295 tests: Add fuzzing harness for various functions consuming only integrals (practicalswift)
575383b3e1361e60ba88738a34d92b1662f915a7 tests: Add corpora suppression (FUZZERS_MISSING_CORPORA) for fuzzers missing in https://github.com/bitcoin-core/qa-assets/tree/master/fuzz_seed_corpus (practicalswift)

Pull request description:

  Add fuzzing harness for various functions consuming only integrals.

  **Testing this PR**

  Run:

  ```
  $ CC=clang CXX=clang++ ./configure --enable-fuzz \
        --with-sanitizers=address,fuzzer,undefined
  $ make
  $ src/test/fuzz/integer
  ```

Top commit has no ACKs.

Tree-SHA512: f0ccbd63671636f8e661385b682e16ad287fef8f92e7f91327ee2093afc36fcd424e1646fe90279388e28a760bcc795766eb80cf6375e0f873efff37fc7e2393
2022-03-07 09:40:31 -06:00
Kittywhiskers Van Gogh
80777646d8
tests: (in)valid unit test vectors against IsTriviallyValid() evo calls (#4660)
* evo: resolve suggestions given in dash#4696

* evo: add known-good mainnet vectors for IsTriviallyValid()

* evo: add artificially malformed vectors for IsTriviallyValid()

* evo: add IsTriviallyValid() tests

Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>

* Make sure we deserialize the right type of a special tx in GetTxPayload, and debug assert

Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2022-03-06 00:54:26 -06:00
PastaPastaPasta
47ad9ab146
Merge pull request #4706 from kittywhiskers/libnatpmp
merge bitcoin#18077...22397: Add NAT-PMP port forwarding support
2022-03-05 11:03:44 -06:00
Kittywhiskers Van Gogh
687c7d4a5d merge bitcoin#18077: Add NAT-PMP port forwarding support 2022-02-26 17:49:13 +05:30
Kittywhiskers Van Gogh
01dc196162 merge bitcoin#17542: Create test utility library from src/test/util 2022-02-26 10:45:13 +05:30
Kittywhiskers Van Gogh
e36ee01f99 merge bitcoin#17384: Create new test library 2022-02-26 10:45:13 +05:30
Kittywhiskers Van Gogh
52e62b6601 merge bitcoin#17357: Add fuzzing harness for Bech32 encoding/decoding 2022-02-26 10:45:13 +05:30
Kittywhiskers Van Gogh
d34c016e3f merge bitcoin#17228: Add RegTestingSetup to setup_common 2022-02-26 10:45:13 +05:30
Kittywhiskers Van Gogh
61e2c6d228 merge bitcoin#17183: test/bench: dedup Build{Crediting,Spending}Transaction() 2022-02-26 10:45:13 +05:30
Kittywhiskers Van Gogh
831b0057d9 merge bitcoin#17009: Add EvalScript(...) fuzzing harness 2022-02-26 10:45:13 +05:30
Kittywhiskers Van Gogh
5086ad7c2f merge bitcoin#16540: Add ASSERT_DEBUG_LOG to unit test framework 2022-02-26 10:37:36 +05:30
UdjinM6
99cbd9d0d2
test: replace feature_block_reward_reallocation.py with two corresponding unit tests (#4603)
* test: Add BRR and DAT unit tests

* test: Drop feature_block_reward_reallocation.py

* change copyright

* remove trivially removable includes

* use constexpr, remove empty statement

* Don't use BOOST_ASSERT, fix bug?

Not sure if this was a bug, as it does an assignment. If this isn't a bug please add a comment / explanation
```
BOOST_ASSERT(::ChainActive().Tip()->nVersion = 536870912);
```

* deduplicate all the things (also test all activation periods)

* use try_emplace, and remove some tempararies

* update threshold to be inline with dynamic

* explicitly include map, vector, remove now unneeded base58.h

* remove unused param, and replace raw loop with range loop

* re: Don't use BOOST_ASSERT, fix bug?

* Make TestChain<smth>Setup in dynamic_activation_thresholds_tests more general

* Specify min level activation tests correctly

Co-authored-by: Pasta <pasta@dashboost.org>
2021-12-11 23:01:20 +03:00
pravblockc
459bc3ee7e
add ehf special tx (#4577) 2021-12-11 23:00:27 +03:00
Wladimir J. van der Laan
8179bd5316 Merge #15985: Add test for GCC bug 90348
58e291cfa Add test for GCC bug 90348 (Pieter Wuille)

Pull request description:

  This adds a test for GCC bug 90348 (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90348), using a test case extracted from our own `sha256d64` test in crypto_tests.cpp, which was failing on some platforms.

  This is based on top of #15983 to make sure the bug doesn't trigger (it does in some Travis configurations without it).

ACKs for commit 58e291:

Tree-SHA512: 4dc9084e92dd143a53930e42bb68e33d922a2a2b891406b259d3a0bed4511dcc49e7447a7a8e4eb793a26e3eacb188ca293b71e0e061f9b3230f8e7fcfd29525
2021-11-09 14:08:50 -05:00
Kittywhiskers Van Gogh
ad203019f9 merge bitcoin#15788: Unify testing setups for fuzz, bench, and unit tests 2021-10-25 21:28:37 +05:30
Kittywhiskers Van Gogh
f9c4b85575 merge bitcoin#16945: introduce CChainState::GetCoinsCacheSizeState 2021-10-22 08:15:38 +05:30
PastaPastaPasta
76af0435ca Merge #14146: wallet: Remove trailing separators from -walletdir arg
2d471636eb9160ab51b08e491e3f003f57adbc36 wallet: Remove trailing separators from -walletdir arg (Pierre Rochard)
ea3009ee942188750480ca6cc273b2b91cf77ded wallet: Add walletdir arg unit tests (Pierre Rochard)

Pull request description:

  If a user passes in a path with a trailing separator as the `walletdir`, multiple BerkeleyEnvironments may be created in the same directory which can lead to data corruption.

  Discovered while reviewing https://github.com/bitcoin/bitcoin/pull/12493#issuecomment-417147646

Tree-SHA512: f2bbf1749d904fd3f326b88f2ead58c8386034355910906d7faea155d518642e9cd4ceb3cae272f2d9d8feb61f126523e1c97502799d24e4315bb53e49fd7c09
2021-10-16 10:27:36 +05:30
MarcoFalke
ea750966f9
Merge #12246: Bugfix: Only run bitcoin-tx tests when bitcoin-tx is enabled
a2a04a5abb Bugfix: Only run bitcoin-tx tests when bitcoin-tx is enabled (Luke Dashjr)
92af71cea9 configure: Make it possible to build only one of bitcoin-cli or bitcoin-tx (Luke Dashjr)

Pull request description:

  Includes #5618 (which the reasons for rejecting no longer hold true)

Tree-SHA512: f30a8e4a2f70166b7cabef77c4674163b3a9da14c6a547d34f00d1056a19bf4d23e22851eea726fad2afc8735d5473ae91122c770b65ac3886663dc20e2c5b70
2021-10-08 19:13:56 +05:30
UdjinM6
02b75f0566
Merge pull request #4449 from PastaPastaPasta/backport-trivial-pr22
Backport trivial pr22
2021-09-25 00:43:30 +03:00
UdjinM6
b6640644eb
Merge pull request #4442 from UdjinM6/pr4319_new
Backport #14023, #13825, #14411 (and revert #14441)
2021-09-24 12:01:27 +03:00
fanquake
8ab4e7f45b Merge #19718: build: Add missed gcov files to 'make clean'
6cb8771173d835bdeb89c76b1d53191d3c896968 build: Add missed gcov files to 'make clean' (Hennadii Stepanov)

Pull request description:

  On master (b4d0366b47dd9b8fe29cc9a100dcdf6ca1d3cabf):
  ```
  $ ./autogen.sh
  $ ./configure --enable-lcov
  $ make && make cov
  $ make clean
  $ find . -name '*.gcno'
  ./src/rpc/libbitcoin_server_a-blockchain.gcno
  ./src/rpc/libbitcoin_common_a-util.gcno
  ./src/rpc/libbitcoin_common_a-rawtransaction_util.gcno
  ./src/rpc/libbitcoin_server_a-rawtransaction.gcno
  ./src/rpc/libbitcoin_util_a-request.gcno
  ./src/rpc/libbitcoin_server_a-net.gcno
  ./src/rpc/libbitcoin_server_a-server.gcno
  ./src/rpc/libbitcoin_server_a-mining.gcno
  ./src/rpc/libbitcoin_server_a-misc.gcno
  ./src/rpc/libbitcoin_cli_a-client.gcno
  ./src/node/libbitcoin_server_a-coinstats.gcno
  ./src/node/libbitcoin_server_a-transaction.gcno
  ./src/node/libbitcoin_server_a-context.gcno
  ./src/node/libbitcoin_server_a-psbt.gcno
  ./src/node/libbitcoin_server_a-ui_interface.gcno
  ./src/node/libbitcoin_server_a-coin.gcno
  ./src/test/util/libtest_util_a-setup_common.gcno
  ./src/test/util/libtest_util_a-net.gcno
  ./src/test/util/libtest_util_a-blockfilter.gcno
  ./src/test/util/libtest_util_a-mining.gcno
  ./src/test/util/libtest_util_a-transaction_utils.gcno
  ./src/test/util/libtest_util_a-wallet.gcno
  ./src/test/util/libtest_util_a-str.gcno
  ./src/test/util/libtest_util_a-logging.gcno
  ./src/index/libbitcoin_server_a-txindex.gcno
  ./src/index/libbitcoin_server_a-base.gcno
  ./src/index/libbitcoin_server_a-blockfilterindex.gcno
  ./src/util/libbitcoin_util_a-error.gcno
  ./src/util/libbitcoin_util_a-rbf.gcno
  ./src/util/libbitcoin_util_a-message.gcno
  ./src/util/libbitcoin_util_a-time.gcno
  ./src/util/libbitcoin_util_a-moneystr.gcno
  ./src/util/libbitcoin_util_a-url.gcno
  ./src/util/libbitcoin_consensus_a-strencodings.gcno
  ./src/util/libbitcoin_util_a-settings.gcno
  ./src/util/libbitcoin_util_a-system.gcno
  ./src/util/libbitcoin_util_a-threadnames.gcno
  ./src/util/libbitcoin_util_a-fees.gcno
  ./src/util/libbitcoin_util_a-asmap.gcno
  ./src/util/libbitcoin_util_a-strencodings.gcno
  ./src/util/libbitcoin_util_a-string.gcno
  ./src/util/libbitcoin_util_a-bytevectorhash.gcno
  ./src/util/libbitcoin_util_a-bip32.gcno
  ./src/util/libbitcoin_util_a-spanparsing.gcno
  ./src/util/libbitcoinconsensus_la-strencodings.gcno
  ./src/interfaces/libbitcoin_wallet_a-wallet.gcno
  ./src/interfaces/libbitcoin_util_a-handler.gcno
  ./src/interfaces/libbitcoin_server_a-chain.gcno
  ./src/interfaces/libbitcoin_server_a-node.gcno
  ./src/crc32c/src/libcrc32c_a-crc32c_portable.gcno
  ./src/crc32c/src/libcrc32c_a-crc32c.gcno
  ./src/crc32c/src/libcrc32c_sse42_a-crc32c_sse42.gcno
  ```

  This PR fixes this issue.

ACKs for top commit:
  practicalswift:
    ACK 6cb8771173d835bdeb89c76b1d53191d3c896968 -- patch looks correct

Tree-SHA512: d331b8fa18f2e0cb2c107de747a39a018f73bcc20b05ed403aa38cf316b5be30b3229e92fb6c85469747571d0048a34b2846432994d0911c8234d207d4e32f1a
2021-09-21 14:51:55 -04:00
UdjinM6
6ac3b30107
Merge pull request #4433 from PastaPastaPasta/backport-trivial-pr19
Backport trivial pr19
2021-09-19 10:34:12 +03:00
MarcoFalke
db62c6f314
Merge #19672: build: make clean removes .gcda and .gcno files from fuzz directory
90bd476ea67bd80b35188b5f139f159a3836aa7d build: make clean removes .gcda and .gcno files from fuzz directory (eugene)

Pull request description:

  I believe these should also be deleted upon invoking `make clean`. It also garbles the coverage file if you try to fuzz the same harness again.

ACKs for top commit:
  practicalswift:
    ACK 90bd476ea67bd80b35188b5f139f159a3836aa7d -- patch looks correct
  hebasto:
    ACK 90bd476ea67bd80b35188b5f139f159a3836aa7d, tested with hints from #12602 and #18107.
  darosior:
    ACK 90bd476ea67bd80b35188b5f139f159a3836aa7d

Tree-SHA512: 4b2eb664f64d18bc0385c5a0040b0b9fa6fe470c941ae39c7cb4544c4283427a8d4985517475fe0295c3ab2794b9a2ad4f76b6a443c05d846c97c966add87ca9
2021-09-18 21:46:28 -04:00
MarcoFalke
853592e0f5 Merge #17093: tests: Add fuzzing harness for various CTx{In,Out} related functions
d5766f223f627bf2eb731ce8552dfafa2b824378 tests: Add corpora suppression (FUZZERS_MISSING_CORPORA) for fuzzers missing in https://github.com/bitcoin-core/qa-assets/tree/master/fuzz_seed_corpus (practicalswift)
e75ecb91c730115290e1201371492c2cd334e9b4 tests: Add fuzzing harness for various CTxOut related functions (practicalswift)
ce935292c041162e160d95fc6afeda3dceded2cf tests: Add fuzzing harness for various CTxIn related functions (practicalswift)

Pull request description:

  Add fuzzing harness for various `CTx{In,Out}` related functions.

  **Testing this PR**

  Run:

  ```
  $ CC=clang CXX=clang++ ./configure --enable-fuzz --with-sanitizers=address,fuzzer,undefined
  $ make
  $ src/test/fuzz/tx_in
  …
  $ src/test/fuzz/tx_out
  …
  # And to to quickly verify that the relevant code regions are triggered, that the
  # fuzzing throughput seems reasonable, etc.
  $ contrib/devtools/test_fuzzing_harnesses.sh '^tx_'
  ```

  `test_fuzzing_harnesses.sh` can be found in PR #17000.

Top commit has no ACKs.

Tree-SHA512: f1374307a2581ebc3968d012ea2438061bbb84ece068e584fae9750669a6cd003723dde14db88e77c9579281ecd4eaa2a7ff0614f253d8c075e6dd16dd2e68d5
2021-09-17 15:48:14 -04:00
Wladimir J. van der Laan
b00e1b6331
Merge #14023: Remove accounts rpcs
bb08423d5ca866d4a139a3b57ff110d818d08b32 [doc] Add release notes for 'account' API removal (John Newbery)
1f4b865e57b4567270b1586bb1f348ab9106485d [wallet] Re-sort wallet RPC commands (John Newbery)
f0dc850bf698f7377797d7d68365d4fc79b0221c [wallet] Remove wallet account RPCs (John Newbery)
c410f415758913c933ad6c71cf50227cc85aa385 [tests] Remove wallet accounts test (John Newbery)

Pull request description:

  This is the first part of #13825. It simply removes the RPC methods and tests.

  #13825 touches lots of files and will require frequent rebasing.

  Breaking it down for easier reviewing and fewer rebases.

Tree-SHA512: d29af8e7a035e4484e6b9bb56cb86592be0ec112d8ba4ce19c15d15366ff3086e89e99fca26b90c9d66f6d3e06894486d0f29948df0bb7dcb1e2c49c6887a85a
2021-09-17 02:17:00 +03:00
Kittywhiskers Van Gogh
21c7e57493 bitcoin#14121: Index for BIP 157 block filters
Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2021-08-12 12:44:03 +05:30
Kittywhiskers Van Gogh
4d3e3d7b07 bitcoin#15118: Refactor block file logic 2021-08-12 12:32:29 +05:30
Kittywhiskers Van Gogh
4e6aca0ac1 bitcoin#17051: Add deserialization fuzzing harnesses 2021-08-11 09:48:41 +05:30
Kittywhiskers Van Gogh
f47768b94c bitcoin#17018: Add descriptor Parse(...) fuzzing harness 2021-08-11 09:48:41 +05:30
Kittywhiskers Van Gogh
19b94c6dfa bitcoin#17076: Add fuzzing harness for CheckTransaction(...), IsStandardTx(...) and other CTransaction related functions 2021-08-11 09:48:41 +05:30
Kittywhiskers Van Gogh
f202a902bf bitcoin#15504: Link BasicTestingSetup (shared with unit tests) 2021-08-11 09:48:40 +05:30
Kittywhiskers Van Gogh
0dde23949b bitcoin#15399: Script validation flags 2021-08-11 08:50:43 +05:30
Kittywhiskers Van Gogh
d967c39222 bitcoin#15295: Add test/fuzz/test_runner.py and run it in travis 2021-08-11 08:50:43 +05:30
Kittywhiskers Van Gogh
0e7fe9e6ab bitcoin#15043: Build fuzz targets into separate executables 2021-08-11 08:50:43 +05:30
Kittywhiskers Van Gogh
fc8952aa19
build: add libgmp detection, make immer a package (#4311)
* build: detect the presence of libgmp before generating Makefile

* depends: add arximboldi/immer@v0.6.2 as a package and add detection

* depends: remove immer from source tree, build using package only

* Drop immer refs from tools

Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2021-08-10 22:35:55 +03:00
PastaPastaPasta
edf0552c0c
Merge pull request #4187 from kittywhiskers/scantxout
merge #12196, #13697: Add scantxoutset RPC method
2021-07-25 19:10:11 -05:00
Kittywhiskers Van Gogh
2bdb8540b6 Merge #13697: Support output descriptors in scantxoutset
Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2021-07-21 11:58:00 +05:30
MarcoFalke
c4a60148b9 Merge #14455: build: unbreak make clean
a48e44bd4f Fix CLEAN_BITCOIN_TEST to remove .log files for all BITCOIN_TESTS files (James O'Beirne)

Pull request description:

  My preferred alternative to https://github.com/bitcoin/bitcoin/pull/14440 (I'm too lazy to review an entire file move). This just applies a `.log` suffix addition to all `BITCOIN_TESTS` files for the purposes of cleaning, and thus doesn't erroneously remove test/scriptnum10.h.

Tree-SHA512: 06a0d9fb2c4851f4e74215aa4bca9cf81f49787f16c46b0172e5c1cf18ca744d747c5b0c1564cac433e0dea29b0afabd2d95f0f58a0157d1e05b2b7cb7800e00
2021-07-17 13:52:11 -05:00
MarcoFalke
9d0fb5c295 Merge #14253: Build: during 'make clean', remove some files that are currently missed.
3f5ac27205 Include some files currently missed by 'make distclean'. (murrayn)

Pull request description:

  `make clean` currently leaves behind some cache and test log files that should be removed.

Tree-SHA512: a1877e776e24232f6dd1468d7f392ea0bd1e93fdd975e623897d48c4b23a080a2e84ebb199f5482abd6b8c9ddd036850325e7b7ed07e2f9fe7a32f83cc99da4a
2021-07-17 13:50:02 -05:00
UdjinM6
85b8a05690
Merge pull request #4263 from UdjinM6/bp11911
Merge #11911: Free BerkeleyEnvironment instances when not in use
2021-07-16 03:37:08 +03:00