Bitcoin Core  25.99.0
P2P Digital Currency
tx_in.cpp
Go to the documentation of this file.
1 // Copyright (c) 2019-2020 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/policy.h>
9 #include <streams.h>
10 #include <test/fuzz/fuzz.h>
11 #include <version.h>
12 
13 #include <cassert>
14 
16 {
17  DataStream ds{buffer};
18  CTxIn tx_in;
19  try {
20  ds >> tx_in;
21  } catch (const std::ios_base::failure&) {
22  return;
23  }
24 
25  (void)GetTransactionInputWeight(tx_in);
26  (void)GetVirtualTransactionInputSize(tx_in);
27  (void)RecursiveDynamicUsage(tx_in);
28 
29  (void)tx_in.ToString();
30 }
An input of a transaction.
Definition: transaction.h:75
std::string ToString() const
Definition: transaction.cpp:39
Double ended buffer combining vector and stream-like interfaces.
Definition: streams.h:186
static int64_t GetTransactionInputWeight(const CTxIn &txin)
Definition: validation.h:156
static size_t RecursiveDynamicUsage(const CScript &script)
Definition: core_memusage.h:12
int64_t GetVirtualTransactionInputSize(const CTxIn &txin, int64_t nSigOpCost, unsigned int bytes_per_sigop)
Definition: policy.cpp:305
FUZZ_TARGET(tx_in)
Definition: tx_in.cpp:15