/root/bitcoin/src/policy/policy.h
Line | Count | Source (jump to first uncovered line) |
1 | | // Copyright (c) 2009-2010 Satoshi Nakamoto |
2 | | // Copyright (c) 2009-2022 The Bitcoin Core developers |
3 | | // Distributed under the MIT software license, see the accompanying |
4 | | // file COPYING or http://www.opensource.org/licenses/mit-license.php. |
5 | | |
6 | | #ifndef BITCOIN_POLICY_POLICY_H |
7 | | #define BITCOIN_POLICY_POLICY_H |
8 | | |
9 | | #include <consensus/amount.h> |
10 | | #include <consensus/consensus.h> |
11 | | #include <primitives/transaction.h> |
12 | | #include <script/interpreter.h> |
13 | | #include <script/solver.h> |
14 | | |
15 | | #include <cstdint> |
16 | | #include <string> |
17 | | |
18 | | class CCoinsViewCache; |
19 | | class CFeeRate; |
20 | | class CScript; |
21 | | |
22 | | /** Default for -blockmaxweight, which controls the range of block weights the mining code will create **/ |
23 | | static constexpr unsigned int DEFAULT_BLOCK_MAX_WEIGHT{MAX_BLOCK_WEIGHT}; |
24 | | /** Default for -blockreservedweight **/ |
25 | | static constexpr unsigned int DEFAULT_BLOCK_RESERVED_WEIGHT{8000}; |
26 | | /** This accounts for the block header, var_int encoding of the transaction count and a minimally viable |
27 | | * coinbase transaction. It adds an additional safety margin, because even with a thorough understanding |
28 | | * of block serialization, it's easy to make a costly mistake when trying to squeeze every last byte. |
29 | | * Setting a lower value is prevented at startup. */ |
30 | | static constexpr unsigned int MINIMUM_BLOCK_RESERVED_WEIGHT{2000}; |
31 | | /** Default for -blockmintxfee, which sets the minimum feerate for a transaction in blocks created by mining code **/ |
32 | | static constexpr unsigned int DEFAULT_BLOCK_MIN_TX_FEE{1000}; |
33 | | /** The maximum weight for transactions we're willing to relay/mine */ |
34 | | static constexpr int32_t MAX_STANDARD_TX_WEIGHT{400000}; |
35 | | /** The minimum non-witness size for transactions we're willing to relay/mine: one larger than 64 */ |
36 | | static constexpr unsigned int MIN_STANDARD_TX_NONWITNESS_SIZE{65}; |
37 | | /** Maximum number of signature check operations in an IsStandard() P2SH script */ |
38 | | static constexpr unsigned int MAX_P2SH_SIGOPS{15}; |
39 | | /** The maximum number of sigops we're willing to relay/mine in a single tx */ |
40 | | static constexpr unsigned int MAX_STANDARD_TX_SIGOPS_COST{MAX_BLOCK_SIGOPS_COST/5}; |
41 | | /** Default for -incrementalrelayfee, which sets the minimum feerate increase for mempool limiting or replacement **/ |
42 | | static constexpr unsigned int DEFAULT_INCREMENTAL_RELAY_FEE{1000}; |
43 | | /** Default for -bytespersigop */ |
44 | | static constexpr unsigned int DEFAULT_BYTES_PER_SIGOP{20}; |
45 | | /** Default for -permitbaremultisig */ |
46 | | static constexpr bool DEFAULT_PERMIT_BAREMULTISIG{true}; |
47 | | /** The maximum number of witness stack items in a standard P2WSH script */ |
48 | | static constexpr unsigned int MAX_STANDARD_P2WSH_STACK_ITEMS{100}; |
49 | | /** The maximum size in bytes of each witness stack item in a standard P2WSH script */ |
50 | | static constexpr unsigned int MAX_STANDARD_P2WSH_STACK_ITEM_SIZE{80}; |
51 | | /** The maximum size in bytes of each witness stack item in a standard BIP 342 script (Taproot, leaf version 0xc0) */ |
52 | | static constexpr unsigned int MAX_STANDARD_TAPSCRIPT_STACK_ITEM_SIZE{80}; |
53 | | /** The maximum size in bytes of a standard witnessScript */ |
54 | | static constexpr unsigned int MAX_STANDARD_P2WSH_SCRIPT_SIZE{3600}; |
55 | | /** The maximum size of a standard ScriptSig */ |
56 | | static constexpr unsigned int MAX_STANDARD_SCRIPTSIG_SIZE{1650}; |
57 | | /** Min feerate for defining dust. |
58 | | * Changing the dust limit changes which transactions are |
59 | | * standard and should be done with care and ideally rarely. It makes sense to |
60 | | * only increase the dust limit after prior releases were already not creating |
61 | | * outputs below the new threshold */ |
62 | | static constexpr unsigned int DUST_RELAY_TX_FEE{3000}; |
63 | | /** Default for -minrelaytxfee, minimum relay fee for transactions */ |
64 | | static constexpr unsigned int DEFAULT_MIN_RELAY_TX_FEE{1000}; |
65 | | /** Default for -limitancestorcount, max number of in-mempool ancestors */ |
66 | | static constexpr unsigned int DEFAULT_ANCESTOR_LIMIT{25}; |
67 | | /** Default for -limitancestorsize, maximum kilobytes of tx + all in-mempool ancestors */ |
68 | | static constexpr unsigned int DEFAULT_ANCESTOR_SIZE_LIMIT_KVB{101}; |
69 | | /** Default for -limitdescendantcount, max number of in-mempool descendants */ |
70 | | static constexpr unsigned int DEFAULT_DESCENDANT_LIMIT{25}; |
71 | | /** Default for -limitdescendantsize, maximum kilobytes of in-mempool descendants */ |
72 | | static constexpr unsigned int DEFAULT_DESCENDANT_SIZE_LIMIT_KVB{101}; |
73 | | /** Default for -datacarrier */ |
74 | | static const bool DEFAULT_ACCEPT_DATACARRIER = true; |
75 | | /** |
76 | | * Default setting for -datacarriersize. 80 bytes of data, +1 for OP_RETURN, |
77 | | * +2 for the pushdata opcodes. |
78 | | */ |
79 | | static const unsigned int MAX_OP_RETURN_RELAY = 83; |
80 | | /** |
81 | | * An extra transaction can be added to a package, as long as it only has one |
82 | | * ancestor and is no larger than this. Not really any reason to make this |
83 | | * configurable as it doesn't materially change DoS parameters. |
84 | | */ |
85 | | static constexpr unsigned int EXTRA_DESCENDANT_TX_SIZE_LIMIT{10000}; |
86 | | |
87 | | /** |
88 | | * Maximum number of ephemeral dust outputs allowed. |
89 | | */ |
90 | | static constexpr unsigned int MAX_DUST_OUTPUTS_PER_TX{1}; |
91 | | |
92 | | /** |
93 | | * Mandatory script verification flags that all new transactions must comply with for |
94 | | * them to be valid. Failing one of these tests may trigger a DoS ban; |
95 | | * see CheckInputScripts() for details. |
96 | | * |
97 | | * Note that this does not affect consensus validity; see GetBlockScriptFlags() |
98 | | * for that. |
99 | | */ |
100 | | static constexpr unsigned int MANDATORY_SCRIPT_VERIFY_FLAGS{SCRIPT_VERIFY_P2SH | |
101 | | SCRIPT_VERIFY_DERSIG | |
102 | | SCRIPT_VERIFY_NULLDUMMY | |
103 | | SCRIPT_VERIFY_CHECKLOCKTIMEVERIFY | |
104 | | SCRIPT_VERIFY_CHECKSEQUENCEVERIFY | |
105 | | SCRIPT_VERIFY_WITNESS | |
106 | | SCRIPT_VERIFY_TAPROOT}; |
107 | | |
108 | | /** |
109 | | * Standard script verification flags that standard transactions will comply |
110 | | * with. However we do not ban/disconnect nodes that forward txs violating |
111 | | * the additional (non-mandatory) rules here, to improve forwards and |
112 | | * backwards compatibility. |
113 | | */ |
114 | | static constexpr unsigned int STANDARD_SCRIPT_VERIFY_FLAGS{MANDATORY_SCRIPT_VERIFY_FLAGS | |
115 | | SCRIPT_VERIFY_STRICTENC | |
116 | | SCRIPT_VERIFY_MINIMALDATA | |
117 | | SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_NOPS | |
118 | | SCRIPT_VERIFY_CLEANSTACK | |
119 | | SCRIPT_VERIFY_MINIMALIF | |
120 | | SCRIPT_VERIFY_NULLFAIL | |
121 | | SCRIPT_VERIFY_LOW_S | |
122 | | SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_WITNESS_PROGRAM | |
123 | | SCRIPT_VERIFY_WITNESS_PUBKEYTYPE | |
124 | | SCRIPT_VERIFY_CONST_SCRIPTCODE | |
125 | | SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_TAPROOT_VERSION | |
126 | | SCRIPT_VERIFY_DISCOURAGE_OP_SUCCESS | |
127 | | SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_PUBKEYTYPE}; |
128 | | |
129 | | /** For convenience, standard but not mandatory verify flags. */ |
130 | | static constexpr unsigned int STANDARD_NOT_MANDATORY_VERIFY_FLAGS{STANDARD_SCRIPT_VERIFY_FLAGS & ~MANDATORY_SCRIPT_VERIFY_FLAGS}; |
131 | | |
132 | | /** Used as the flags parameter to sequence and nLocktime checks in non-consensus code. */ |
133 | | static constexpr unsigned int STANDARD_LOCKTIME_VERIFY_FLAGS{LOCKTIME_VERIFY_SEQUENCE}; |
134 | | |
135 | | CAmount GetDustThreshold(const CTxOut& txout, const CFeeRate& dustRelayFee); |
136 | | |
137 | | bool IsDust(const CTxOut& txout, const CFeeRate& dustRelayFee); |
138 | | |
139 | | bool IsStandard(const CScript& scriptPubKey, const std::optional<unsigned>& max_datacarrier_bytes, TxoutType& whichType); |
140 | | |
141 | | /** Get the vout index numbers of all dust outputs */ |
142 | | std::vector<uint32_t> GetDust(const CTransaction& tx, CFeeRate dust_relay_rate); |
143 | | |
144 | | // Changing the default transaction version requires a two step process: first |
145 | | // adapting relay policy by bumping TX_MAX_STANDARD_VERSION, and then later |
146 | | // allowing the new transaction version in the wallet/RPC. |
147 | | static constexpr decltype(CTransaction::version) TX_MAX_STANDARD_VERSION{3}; |
148 | | |
149 | | /** |
150 | | * Check for standard transaction types |
151 | | * @return True if all outputs (scriptPubKeys) use only standard transaction forms |
152 | | */ |
153 | | bool IsStandardTx(const CTransaction& tx, const std::optional<unsigned>& max_datacarrier_bytes, bool permit_bare_multisig, const CFeeRate& dust_relay_fee, std::string& reason); |
154 | | /** |
155 | | * Check for standard transaction types |
156 | | * @param[in] mapInputs Map of previous transactions that have outputs we're spending |
157 | | * @return True if all inputs (scriptSigs) use only standard transaction forms |
158 | | */ |
159 | | bool AreInputsStandard(const CTransaction& tx, const CCoinsViewCache& mapInputs); |
160 | | /** |
161 | | * Check if the transaction is over standard P2WSH resources limit: |
162 | | * 3600bytes witnessScript size, 80bytes per witness stack element, 100 witness stack elements |
163 | | * These limits are adequate for multisignatures up to n-of-100 using OP_CHECKSIG, OP_ADD, and OP_EQUAL. |
164 | | * |
165 | | * Also enforce a maximum stack item size limit and no annexes for tapscript spends. |
166 | | */ |
167 | | bool IsWitnessStandard(const CTransaction& tx, const CCoinsViewCache& mapInputs); |
168 | | |
169 | | /** Compute the virtual transaction size (weight reinterpreted as bytes). */ |
170 | | int64_t GetVirtualTransactionSize(int64_t nWeight, int64_t nSigOpCost, unsigned int bytes_per_sigop); |
171 | | int64_t GetVirtualTransactionSize(const CTransaction& tx, int64_t nSigOpCost, unsigned int bytes_per_sigop); |
172 | | int64_t GetVirtualTransactionInputSize(const CTxIn& tx, int64_t nSigOpCost, unsigned int bytes_per_sigop); |
173 | | |
174 | | static inline int64_t GetVirtualTransactionSize(const CTransaction& tx) |
175 | 0 | { |
176 | 0 | return GetVirtualTransactionSize(tx, 0, 0); |
177 | 0 | } Unexecuted instantiation: block.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: block_index.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: coins_view.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: feeratediagram.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: headerssync.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: integer.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: key.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: kitchen_sink.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: load_external_block_file.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: miniscript.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: mini_miner.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: p2p_handshake.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: p2p_headers_presync.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: package_eval.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: partially_downloaded_block.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: policy_estimator.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: process_message.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: process_messages.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: rbf.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: script.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: script_format.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: transaction.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: txdownloadman.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: tx_in.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: tx_out.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: tx_pool.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: txorphan.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: utxo_snapshot.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: utxo_total_supply.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: validation_load_mempool.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: coincontrol.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: coinselection.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: fees.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: notifications.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: scriptpubkeyman.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: spend.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: mempool.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: messages.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: policy.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: psbt.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: util.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: descriptor.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: sign.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: dump.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: receive.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: wallet.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: interfaces.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: feebumper.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: load.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: rawtransaction_util.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: transactions.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: addresses.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: backup.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: encrypt.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: coins.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: signmessage.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: external_signer_scriptpubkeyman.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: walletdb.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: mining.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: setup_common.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: txmempool.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: validation.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: blockencodings.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: init.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: base.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: txindex.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: coinstatsindex.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: blockfilterindex.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: coinstats.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: net_processing.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: blockmanager_args.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: blockstorage.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: chainstate.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: chainstatemanager_args.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: context.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: coin.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: mempool_args.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: mempool_persist.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: mempool_persist_args.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: miner.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: txdownloadman_impl.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: packages.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: settings.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: rest.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: blockchain.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: net.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: node.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: rawtransaction.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: server.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: server_util.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: txoutproof.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: txorphanage.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: ephemeral_policy.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: truc_policy.cpp:GetVirtualTransactionSize(CTransaction const&) Unexecuted instantiation: validationinterface.cpp:GetVirtualTransactionSize(CTransaction const&) |
178 | | |
179 | | static inline int64_t GetVirtualTransactionInputSize(const CTxIn& tx) |
180 | 0 | { |
181 | 0 | return GetVirtualTransactionInputSize(tx, 0, 0); |
182 | 0 | } Unexecuted instantiation: block.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: block_index.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: coins_view.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: feeratediagram.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: headerssync.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: integer.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: key.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: kitchen_sink.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: load_external_block_file.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: miniscript.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: mini_miner.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: p2p_handshake.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: p2p_headers_presync.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: package_eval.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: partially_downloaded_block.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: policy_estimator.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: process_message.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: process_messages.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: rbf.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: script.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: script_format.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: transaction.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: txdownloadman.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: tx_in.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: tx_out.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: tx_pool.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: txorphan.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: utxo_snapshot.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: utxo_total_supply.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: validation_load_mempool.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: coincontrol.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: coinselection.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: fees.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: notifications.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: scriptpubkeyman.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: spend.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: mempool.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: messages.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: policy.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: psbt.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: util.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: descriptor.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: sign.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: dump.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: receive.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: wallet.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: interfaces.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: feebumper.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: load.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: rawtransaction_util.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: transactions.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: addresses.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: backup.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: encrypt.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: coins.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: signmessage.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: external_signer_scriptpubkeyman.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: walletdb.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: mining.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: setup_common.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: txmempool.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: validation.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: blockencodings.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: init.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: base.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: txindex.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: coinstatsindex.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: blockfilterindex.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: coinstats.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: net_processing.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: blockmanager_args.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: blockstorage.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: chainstate.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: chainstatemanager_args.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: context.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: coin.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: mempool_args.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: mempool_persist.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: mempool_persist_args.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: miner.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: txdownloadman_impl.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: packages.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: settings.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: rest.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: blockchain.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: net.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: node.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: rawtransaction.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: server.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: server_util.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: txoutproof.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: txorphanage.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: ephemeral_policy.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: truc_policy.cpp:GetVirtualTransactionInputSize(CTxIn const&) Unexecuted instantiation: validationinterface.cpp:GetVirtualTransactionInputSize(CTxIn const&) |
183 | | |
184 | | #endif // BITCOIN_POLICY_POLICY_H |