Bitcoin Core  31.0.0
P2P Digital Currency
transaction.h
Go to the documentation of this file.
1 // Copyright (c) 2017-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 #ifndef BITCOIN_NODE_TRANSACTION_H
6 #define BITCOIN_NODE_TRANSACTION_H
7 
8 #include <common/messages.h>
9 #include <node/types.h>
10 #include <policy/feerate.h>
11 #include <primitives/transaction.h>
12 
13 class CBlockIndex;
14 class CTxMemPool;
15 namespace Consensus {
16 struct Params;
17 }
18 
19 namespace node {
20 class BlockManager;
21 struct NodeContext;
22 
29 
35 
53 [[nodiscard]] TransactionError BroadcastTransaction(NodeContext& node,
54  CTransactionRef tx,
55  std::string& err_string,
56  const CAmount& max_tx_fee,
57  TxBroadcast broadcast_method,
58  bool wait_callback);
59 
73 CTransactionRef GetTransaction(const CBlockIndex* block_index, const CTxMemPool* mempool, const Txid& hash, const BlockManager& blockman, uint256& hashBlock);
74 } // namespace node
75 
76 #endif // BITCOIN_NODE_TRANSACTION_H
std::shared_ptr< const CTransaction > CTransactionRef
Definition: transaction.h:403
TransactionError
Definition: types.h:28
TxBroadcast
How to broadcast a local transaction.
Definition: types.h:165
is a home for simple string functions returning descriptive messages that are used in RPC and GUI int...
Transaction validation functions.
int64_t CAmount
Amount in satoshis (Can be negative)
Definition: amount.h:12
CTransactionRef GetTransaction(const CBlockIndex *const block_index, const CTxMemPool *const mempool, const Txid &hash, const BlockManager &blockman, uint256 &hashBlock)
Return transaction with a given hash.
Definition: messages.h:21
256-bit opaque blob.
Definition: uint256.h:195
CTxMemPool stores valid-according-to-the-current-best-chain transactions that may be included in the ...
Definition: txmempool.h:186
static const CAmount DEFAULT_MAX_BURN_AMOUNT
Maximum burn value for sendrawtransaction, submitpackage, and testmempoolaccept RPC calls...
Definition: transaction.h:34
The block chain is a tree shaped structure starting with the genesis block at the root...
Definition: chain.h:93
const CChainParams & Params()
Return the currently selected parameters.
Fee rate in satoshis per virtualbyte: CAmount / vB the feerate is represented internally as FeeFrac...
Definition: feerate.h:31
TransactionError BroadcastTransaction(NodeContext &node, const CTransactionRef tx, std::string &err_string, const CAmount &max_tx_fee, TxBroadcast broadcast_method, bool wait_callback)
Submit a transaction to the mempool and (optionally) relay it to all P2P peers.
Definition: transaction.cpp:32
is a home for public enum and struct type definitions that are used internally by node code...
static const CFeeRate DEFAULT_MAX_RAW_TX_FEE_RATE
Maximum fee rate for sendrawtransaction and testmempoolaccept RPC calls.
Definition: transaction.h:28
static constexpr CAmount COIN
The amount of satoshis in one BTC.
Definition: amount.h:15