tx_out.cpp raw

   1  // Copyright (c) 2019-present The Bitcoin Core developers
   2  // Distributed under the MIT software license, see the accompanying
   3  // file COPYING or http://www.opensource.org/licenses/mit-license.php.
   4  
   5  #include <consensus/validation.h>
   6  #include <core_memusage.h>
   7  #include <policy/feerate.h>
   8  #include <policy/policy.h>
   9  #include <primitives/transaction.h>
  10  #include <streams.h>
  11  #include <test/fuzz/fuzz.h>
  12  
  13  FUZZ_TARGET(tx_out)
  14  {
  15      CTxOut tx_out;
  16      try {
  17          SpanReader{buffer} >> tx_out;
  18      } catch (const std::ios_base::failure&) {
  19          return;
  20      }
  21  
  22      const CFeeRate dust_relay_fee{DUST_RELAY_TX_FEE};
  23      (void)GetDustThreshold(tx_out, dust_relay_fee);
  24      (void)IsDust(tx_out, dust_relay_fee);
  25      (void)RecursiveDynamicUsage(tx_out);
  26  
  27      (void)tx_out.ToString();
  28      (void)tx_out.IsNull();
  29      tx_out.SetNull();
  30      assert(tx_out.IsNull());
  31  }
  32