diff options
author | practicalswift <practicalswift@users.noreply.github.com> | 2020-04-28 12:27:56 +0000 |
---|---|---|
committer | practicalswift <practicalswift@users.noreply.github.com> | 2020-05-25 10:05:06 +0000 |
commit | f9b22e3bdb54acb2f830b3ebbad47ff17dfb5781 (patch) | |
tree | 92fe0607d55de25c993027e29cba4e68413fc0f9 /src/test/fuzz/util.h | |
parent | 24f70290642c9c5108d3dc62dbe055f5d1bcff9d (diff) | |
download | bitcoin-f9b22e3bdb54acb2f830b3ebbad47ff17dfb5781.tar.xz |
tests: Add fuzzing harness for CCoinsViewCache
Diffstat (limited to 'src/test/fuzz/util.h')
-rw-r--r-- | src/test/fuzz/util.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/test/fuzz/util.h b/src/test/fuzz/util.h index f72d9380eb..9d0fb02128 100644 --- a/src/test/fuzz/util.h +++ b/src/test/fuzz/util.h @@ -8,6 +8,7 @@ #include <amount.h> #include <arith_uint256.h> #include <attributes.h> +#include <coins.h> #include <consensus/consensus.h> #include <primitives/transaction.h> #include <script/script.h> @@ -149,4 +150,15 @@ NODISCARD bool AdditionOverflow(const T i, const T j) noexcept return std::numeric_limits<T>::max() - i < j; } +NODISCARD inline bool ContainsSpentInput(const CTransaction& tx, const CCoinsViewCache& inputs) noexcept +{ + for (const CTxIn& tx_in : tx.vin) { + const Coin& coin = inputs.AccessCoin(tx_in.prevout); + if (coin.IsSpent()) { + return true; + } + } + return false; +} + #endif // BITCOIN_TEST_FUZZ_UTIL_H |