coins.cpp raw

   1  // Copyright (c) 2023-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 <test/util/coins.h>
   6  
   7  #include <coins.h>
   8  #include <primitives/transaction.h>
   9  #include <script/script.h>
  10  #include <test/util/random.h>
  11  #include <uint256.h>
  12  
  13  #include <cstdint>
  14  #include <utility>
  15  
  16  COutPoint AddTestCoin(FastRandomContext& rng, CCoinsViewCache& coins_view)
  17  {
  18      Coin new_coin;
  19      COutPoint outpoint{Txid::FromUint256(rng.rand256()), /*nIn=*/0};
  20      new_coin.nHeight = 1;
  21      new_coin.out.nValue = RandMoney(rng);
  22      new_coin.out.scriptPubKey.assign(uint32_t{56}, 1);
  23      coins_view.AddCoin(outpoint, std::move(new_coin), /*possible_overwrite=*/false);
  24  
  25      return outpoint;
  26  };
  27