![]() |
Bitcoin Core 22.99.0
P2P Digital Currency
|
#include <consensus/validation.h>
#include <index/txindex.h>
#include <net.h>
#include <net_processing.h>
#include <node/blockstorage.h>
#include <node/context.h>
#include <txmempool.h>
#include <validation.h>
#include <validationinterface.h>
#include <node/transaction.h>
#include <future>
Go to the source code of this file.
Functions | |
static TransactionError | HandleATMPError (const TxValidationState &state, std::string &err_string_out) |
TransactionError | BroadcastTransaction (NodeContext &node, const CTransactionRef tx, std::string &err_string, const CAmount &max_tx_fee, bool relay, bool wait_callback) |
Submit a transaction to the mempool and (optionally) relay it to all P2P peers. More... | |
CTransactionRef | GetTransaction (const CBlockIndex *const block_index, const CTxMemPool *const mempool, const uint256 &hash, const Consensus::Params &consensusParams, uint256 &hashBlock) |
Return transaction with a given hash. More... | |
TransactionError BroadcastTransaction | ( | NodeContext & | node, |
CTransactionRef | tx, | ||
std::string & | err_string, | ||
const CAmount & | max_tx_fee, | ||
bool | relay, | ||
bool | wait_callback | ||
) |
Submit a transaction to the mempool and (optionally) relay it to all P2P peers.
Mempool submission can be synchronous (will await mempool entry notification over the CValidationInterface) or asynchronous (will submit and not wait for notification), depending on the value of wait_callback. wait_callback MUST NOT be set while cs_main, cs_mempool or cs_wallet are held to avoid deadlock.
[in] | node | reference to node context |
[in] | tx | the transaction to broadcast |
[out] | err_string | reference to std::string to fill with error string if available |
[in] | max_tx_fee | reject txs with fees higher than this (if 0, accept any fee) |
[in] | relay | flag if both mempool insertion and p2p relay are requested |
[in] | wait_callback | wait until callbacks have been processed to avoid stale result due to a sequentially RPC. return error |
Definition at line 32 of file transaction.cpp.
CTransactionRef GetTransaction | ( | const CBlockIndex *const | block_index, |
const CTxMemPool *const | mempool, | ||
const uint256 & | hash, | ||
const Consensus::Params & | consensusParams, | ||
uint256 & | hashBlock | ||
) |
Return transaction with a given hash.
If mempool is provided and block_index is not provided, check it first for the tx. If -txindex is available, check it next for the tx. Finally, if block_index is provided, check for tx by reading entire block from disk.
[in] | block_index | The block to read from disk, or nullptr |
[in] | mempool | If provided, check mempool for tx |
[in] | hash | The txid |
[in] | consensusParams | The params |
[out] | hashBlock | The block hash, if the tx was found via -txindex or block_index |
Definition at line 126 of file transaction.cpp.
|
static |
Definition at line 19 of file transaction.cpp.