dash-docs/en/doxygen/html/classCTxMemPool.html

2698 lines
165 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Dash Core: CTxMemPool Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="bitcoin_logo_doxygen.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Dash Core
&#160;<span id="projectnumber">0.12.2.1</span>
</div>
<div id="projectbrief">P2P Digital Currency</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classCTxMemPool.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="#pri-types">Private Types</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classCTxMemPool-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">CTxMemPool Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="txmempool_8h_source.html">txmempool.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structCTxMemPool_1_1CompareIteratorByHash.html">CompareIteratorByHash</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structCTxMemPool_1_1TxLinks.html">TxLinks</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:aea53c094f11c906fdcf5c0238c481328"><td class="memItemLeft" align="right" valign="top">typedef boost::multi_index_container&lt; <a class="el" href="classCTxMemPoolEntry.html">CTxMemPoolEntry</a>, boost::multi_index::indexed_by&lt; boost::multi_index::ordered_unique&lt; <a class="el" href="structmempoolentry__txid.html">mempoolentry_txid</a> &gt;, boost::multi_index::ordered_non_unique&lt; boost::multi_index::identity&lt; <a class="el" href="classCTxMemPoolEntry.html">CTxMemPoolEntry</a> &gt;, <a class="el" href="classCompareTxMemPoolEntryByDescendantScore.html">CompareTxMemPoolEntryByDescendantScore</a> &gt;, boost::multi_index::ordered_non_unique&lt; boost::multi_index::identity&lt; <a class="el" href="classCTxMemPoolEntry.html">CTxMemPoolEntry</a> &gt;, <a class="el" href="classCompareTxMemPoolEntryByEntryTime.html">CompareTxMemPoolEntryByEntryTime</a> &gt;, boost::multi_index::ordered_unique&lt; boost::multi_index::identity&lt; <a class="el" href="classCTxMemPoolEntry.html">CTxMemPoolEntry</a> &gt;, <a class="el" href="classCompareTxMemPoolEntryByScore.html">CompareTxMemPoolEntryByScore</a> &gt; &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#aea53c094f11c906fdcf5c0238c481328">indexed_transaction_set</a></td></tr>
<tr class="separator:aea53c094f11c906fdcf5c0238c481328"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3b42beec827c813a0c4b42e50615f5a"><td class="memItemLeft" align="right" valign="top">typedef indexed_transaction_set::nth_index&lt; 0 &gt;::type::iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#aa3b42beec827c813a0c4b42e50615f5a">txiter</a></td></tr>
<tr class="separator:aa3b42beec827c813a0c4b42e50615f5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8da3f55d23d335261338753b22e0171d"><td class="memItemLeft" align="right" valign="top">typedef std::set&lt; <a class="el" href="classCTxMemPool.html#aa3b42beec827c813a0c4b42e50615f5a">txiter</a>, <a class="el" href="structCTxMemPool_1_1CompareIteratorByHash.html">CompareIteratorByHash</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a8da3f55d23d335261338753b22e0171d">setEntries</a></td></tr>
<tr class="separator:a8da3f55d23d335261338753b22e0171d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ac3336a567bb5cd890057482170e5553d"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classCTxMemPool.html#a8da3f55d23d335261338753b22e0171d">setEntries</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#ac3336a567bb5cd890057482170e5553d">GetMemPoolParents</a> (<a class="el" href="classCTxMemPool.html#aa3b42beec827c813a0c4b42e50615f5a">txiter</a> entry) const</td></tr>
<tr class="separator:ac3336a567bb5cd890057482170e5553d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f163f91b8590b86acd43b26438d7ee1"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classCTxMemPool.html#a8da3f55d23d335261338753b22e0171d">setEntries</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a0f163f91b8590b86acd43b26438d7ee1">GetMemPoolChildren</a> (<a class="el" href="classCTxMemPool.html#aa3b42beec827c813a0c4b42e50615f5a">txiter</a> entry) const</td></tr>
<tr class="separator:a0f163f91b8590b86acd43b26438d7ee1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb5db4571d759f0fb540fabb4281a45e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#abb5db4571d759f0fb540fabb4281a45e">CTxMemPool</a> (const <a class="el" href="classCFeeRate.html">CFeeRate</a> &amp;_minReasonableRelayFee)</td></tr>
<tr class="separator:abb5db4571d759f0fb540fabb4281a45e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a038108efea0c4312e5bed2ce064702b2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a038108efea0c4312e5bed2ce064702b2">~CTxMemPool</a> ()</td></tr>
<tr class="separator:a038108efea0c4312e5bed2ce064702b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab30fadfa811829e79accca41da6a8328"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#ab30fadfa811829e79accca41da6a8328">check</a> (const <a class="el" href="classCCoinsViewCache.html">CCoinsViewCache</a> *pcoins) const</td></tr>
<tr class="separator:ab30fadfa811829e79accca41da6a8328"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38b06f21a5158f26024e9f311165d459"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a38b06f21a5158f26024e9f311165d459">setSanityCheck</a> (double dFrequency=1.0)</td></tr>
<tr class="separator:a38b06f21a5158f26024e9f311165d459"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab557615eb380db41237382bab239f7c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#aab557615eb380db41237382bab239f7c">addUnchecked</a> (const <a class="el" href="classuint256.html">uint256</a> &amp;hash, const <a class="el" href="classCTxMemPoolEntry.html">CTxMemPoolEntry</a> &amp;entry, bool fCurrentEstimate=true)</td></tr>
<tr class="separator:aab557615eb380db41237382bab239f7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7cc3e776299144a8db82be568063e671"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a7cc3e776299144a8db82be568063e671">addUnchecked</a> (const <a class="el" href="classuint256.html">uint256</a> &amp;hash, const <a class="el" href="classCTxMemPoolEntry.html">CTxMemPoolEntry</a> &amp;entry, <a class="el" href="classCTxMemPool.html#a8da3f55d23d335261338753b22e0171d">setEntries</a> &amp;setAncestors, bool fCurrentEstimate=true)</td></tr>
<tr class="separator:a7cc3e776299144a8db82be568063e671"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16884a575b85f500781477a487a9b1dd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a16884a575b85f500781477a487a9b1dd">addAddressIndex</a> (const <a class="el" href="classCTxMemPoolEntry.html">CTxMemPoolEntry</a> &amp;entry, const <a class="el" href="classCCoinsViewCache.html">CCoinsViewCache</a> &amp;view)</td></tr>
<tr class="separator:a16884a575b85f500781477a487a9b1dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5225c61b3c034a9920c77f0cadc438f0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a5225c61b3c034a9920c77f0cadc438f0">getAddressIndex</a> (std::vector&lt; std::pair&lt; <a class="el" href="classuint160.html">uint160</a>, int &gt; &gt; &amp;addresses, std::vector&lt; std::pair&lt; <a class="el" href="structCMempoolAddressDeltaKey.html">CMempoolAddressDeltaKey</a>, <a class="el" href="structCMempoolAddressDelta.html">CMempoolAddressDelta</a> &gt; &gt; &amp;results)</td></tr>
<tr class="separator:a5225c61b3c034a9920c77f0cadc438f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a347e70ba792d5738158536b513f56aa5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a347e70ba792d5738158536b513f56aa5">removeAddressIndex</a> (const <a class="el" href="classuint256.html">uint256</a> txhash)</td></tr>
<tr class="separator:a347e70ba792d5738158536b513f56aa5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c4f1513000ff34c3fe341e6674b2bd9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a2c4f1513000ff34c3fe341e6674b2bd9">addSpentIndex</a> (const <a class="el" href="classCTxMemPoolEntry.html">CTxMemPoolEntry</a> &amp;entry, const <a class="el" href="classCCoinsViewCache.html">CCoinsViewCache</a> &amp;view)</td></tr>
<tr class="separator:a2c4f1513000ff34c3fe341e6674b2bd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5ae2f4442200f4d80e7b3aa61ec0435"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#ad5ae2f4442200f4d80e7b3aa61ec0435">getSpentIndex</a> (<a class="el" href="structCSpentIndexKey.html">CSpentIndexKey</a> &amp;key, <a class="el" href="structCSpentIndexValue.html">CSpentIndexValue</a> &amp;value)</td></tr>
<tr class="separator:ad5ae2f4442200f4d80e7b3aa61ec0435"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9da5a96517cbc52516da1552f834685"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#af9da5a96517cbc52516da1552f834685">removeSpentIndex</a> (const <a class="el" href="classuint256.html">uint256</a> txhash)</td></tr>
<tr class="separator:af9da5a96517cbc52516da1552f834685"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a497097d9d5f325a2922a3970ac9da2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a3a497097d9d5f325a2922a3970ac9da2">remove</a> (const <a class="el" href="classCTransaction.html">CTransaction</a> &amp;tx, std::list&lt; <a class="el" href="classCTransaction.html">CTransaction</a> &gt; &amp;removed, bool fRecursive=false)</td></tr>
<tr class="separator:a3a497097d9d5f325a2922a3970ac9da2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf12e024f4d6d5c0437227bc419c28fb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#acf12e024f4d6d5c0437227bc419c28fb">removeForReorg</a> (const <a class="el" href="classCCoinsViewCache.html">CCoinsViewCache</a> *pcoins, unsigned int nMemPoolHeight, int <a class="el" href="dash-tx_8cpp.html#ac8bf36fe0577cba66bccda3a6f7e80a4">flags</a>)</td></tr>
<tr class="separator:acf12e024f4d6d5c0437227bc419c28fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11f1bddfbae7c03c6244db322876c0a7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a11f1bddfbae7c03c6244db322876c0a7">removeConflicts</a> (const <a class="el" href="classCTransaction.html">CTransaction</a> &amp;tx, std::list&lt; <a class="el" href="classCTransaction.html">CTransaction</a> &gt; &amp;removed)</td></tr>
<tr class="separator:a11f1bddfbae7c03c6244db322876c0a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea14d073b24e31251465ac3c2279ee65"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#aea14d073b24e31251465ac3c2279ee65">removeForBlock</a> (const std::vector&lt; <a class="el" href="classCTransaction.html">CTransaction</a> &gt; &amp;vtx, unsigned int nBlockHeight, std::list&lt; <a class="el" href="classCTransaction.html">CTransaction</a> &gt; &amp;conflicts, bool fCurrentEstimate=true)</td></tr>
<tr class="separator:aea14d073b24e31251465ac3c2279ee65"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6dba6bce4139392751321438a29b6b09"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a6dba6bce4139392751321438a29b6b09">clear</a> ()</td></tr>
<tr class="separator:a6dba6bce4139392751321438a29b6b09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d04be1a3e144d466d45a5f1ec48f62c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a2d04be1a3e144d466d45a5f1ec48f62c">_clear</a> ()</td></tr>
<tr class="separator:a2d04be1a3e144d466d45a5f1ec48f62c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42fa7d41a45562d02e356f2e7708bb02"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a42fa7d41a45562d02e356f2e7708bb02">queryHashes</a> (std::vector&lt; <a class="el" href="classuint256.html">uint256</a> &gt; &amp;vtxid)</td></tr>
<tr class="separator:a42fa7d41a45562d02e356f2e7708bb02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6142b7cd3a58dae6cdaf03551c2f989"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#ad6142b7cd3a58dae6cdaf03551c2f989">pruneSpent</a> (const <a class="el" href="classuint256.html">uint256</a> &amp;hash, <a class="el" href="classCCoins.html">CCoins</a> &amp;coins)</td></tr>
<tr class="separator:ad6142b7cd3a58dae6cdaf03551c2f989"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd2a709a0e6cb34a57ff2f9fd0774e6c"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#afd2a709a0e6cb34a57ff2f9fd0774e6c">GetTransactionsUpdated</a> () const</td></tr>
<tr class="separator:afd2a709a0e6cb34a57ff2f9fd0774e6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3039b67e5eebaa3ff830261c192816f2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a3039b67e5eebaa3ff830261c192816f2">AddTransactionsUpdated</a> (unsigned int n)</td></tr>
<tr class="separator:a3039b67e5eebaa3ff830261c192816f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a5b17b8cf4560cd681ef035880e3245"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a7a5b17b8cf4560cd681ef035880e3245">HasNoInputsOf</a> (const <a class="el" href="classCTransaction.html">CTransaction</a> &amp;tx) const</td></tr>
<tr class="separator:a7a5b17b8cf4560cd681ef035880e3245"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a0a00279c941051af1b74c5ebeac40d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a1a0a00279c941051af1b74c5ebeac40d">PrioritiseTransaction</a> (const <a class="el" href="classuint256.html">uint256</a> hash, const std::string strHash, double dPriorityDelta, const <a class="el" href="amount_8h.html#a4eaf3a5239714d8c45b851527f7cb564">CAmount</a> &amp;nFeeDelta)</td></tr>
<tr class="separator:a1a0a00279c941051af1b74c5ebeac40d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8bf3b1d8436f9abc68f0c8391377df5d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a8bf3b1d8436f9abc68f0c8391377df5d">ApplyDeltas</a> (const <a class="el" href="classuint256.html">uint256</a> hash, double &amp;dPriorityDelta, <a class="el" href="amount_8h.html#a4eaf3a5239714d8c45b851527f7cb564">CAmount</a> &amp;nFeeDelta) const</td></tr>
<tr class="separator:a8bf3b1d8436f9abc68f0c8391377df5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11dea05121ab8321e1d1f1a21ec5c9ac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a11dea05121ab8321e1d1f1a21ec5c9ac">ClearPrioritisation</a> (const <a class="el" href="classuint256.html">uint256</a> hash)</td></tr>
<tr class="separator:a11dea05121ab8321e1d1f1a21ec5c9ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abed0125e15673d8ad9daec4309f8d513"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#abed0125e15673d8ad9daec4309f8d513">RemoveStaged</a> (<a class="el" href="classCTxMemPool.html#a8da3f55d23d335261338753b22e0171d">setEntries</a> &amp;stage)</td></tr>
<tr class="separator:abed0125e15673d8ad9daec4309f8d513"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a809f5ae70a2fabbf5bd707345ef671e9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a809f5ae70a2fabbf5bd707345ef671e9">UpdateTransactionsFromBlock</a> (const std::vector&lt; <a class="el" href="classuint256.html">uint256</a> &gt; &amp;hashesToUpdate)</td></tr>
<tr class="separator:a809f5ae70a2fabbf5bd707345ef671e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae755bb5ccada190327c26d09388b4139"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#ae755bb5ccada190327c26d09388b4139">CalculateMemPoolAncestors</a> (const <a class="el" href="classCTxMemPoolEntry.html">CTxMemPoolEntry</a> &amp;entry, <a class="el" href="classCTxMemPool.html#a8da3f55d23d335261338753b22e0171d">setEntries</a> &amp;setAncestors, uint64_t limitAncestorCount, uint64_t limitAncestorSize, uint64_t limitDescendantCount, uint64_t limitDescendantSize, std::string &amp;errString, bool fSearchForParents=true)</td></tr>
<tr class="separator:ae755bb5ccada190327c26d09388b4139"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea6c845956f051442dac0a13975b2192"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#aea6c845956f051442dac0a13975b2192">CalculateDescendants</a> (<a class="el" href="classCTxMemPool.html#aa3b42beec827c813a0c4b42e50615f5a">txiter</a> it, <a class="el" href="classCTxMemPool.html#a8da3f55d23d335261338753b22e0171d">setEntries</a> &amp;setDescendants)</td></tr>
<tr class="separator:aea6c845956f051442dac0a13975b2192"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a232651541c3393c81153ffc289e7b71d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCFeeRate.html">CFeeRate</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a232651541c3393c81153ffc289e7b71d">GetMinFee</a> (size_t sizelimit) const</td></tr>
<tr class="separator:a232651541c3393c81153ffc289e7b71d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e70f24dbd2361ec933bc4194e61ff38"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a5e70f24dbd2361ec933bc4194e61ff38">UpdateMinFee</a> (const <a class="el" href="classCFeeRate.html">CFeeRate</a> &amp;_minReasonableRelayFee)</td></tr>
<tr class="separator:a5e70f24dbd2361ec933bc4194e61ff38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75ada1d7bb5d96989cc73ee4a0a158d8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a75ada1d7bb5d96989cc73ee4a0a158d8">TrimToSize</a> (size_t sizelimit, std::vector&lt; <a class="el" href="classuint256.html">uint256</a> &gt; *pvNoSpendsRemaining=NULL)</td></tr>
<tr class="separator:a75ada1d7bb5d96989cc73ee4a0a158d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a283d0422469c908a881a6484308ee2b6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a283d0422469c908a881a6484308ee2b6">Expire</a> (int64_t time)</td></tr>
<tr class="separator:a283d0422469c908a881a6484308ee2b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a867f7b452141770f3b2e8697fb3513d8"><td class="memItemLeft" align="right" valign="top">unsigned long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a867f7b452141770f3b2e8697fb3513d8">size</a> ()</td></tr>
<tr class="separator:a867f7b452141770f3b2e8697fb3513d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad388f6544c2ca90f1550b06d9d86d54f"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#ad388f6544c2ca90f1550b06d9d86d54f">GetTotalTxSize</a> ()</td></tr>
<tr class="separator:ad388f6544c2ca90f1550b06d9d86d54f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b7a13b5289ab839d4460f41a7da9789"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a8b7a13b5289ab839d4460f41a7da9789">exists</a> (<a class="el" href="classuint256.html">uint256</a> hash) const</td></tr>
<tr class="separator:a8b7a13b5289ab839d4460f41a7da9789"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6d9966cdeb4b6586f7186e709b4e77e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#ad6d9966cdeb4b6586f7186e709b4e77e">lookup</a> (<a class="el" href="classuint256.html">uint256</a> hash, <a class="el" href="classCTransaction.html">CTransaction</a> &amp;result) const</td></tr>
<tr class="separator:ad6d9966cdeb4b6586f7186e709b4e77e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b8d1adf0207a6464ef16319c53e00b1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCFeeRate.html">CFeeRate</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a2b8d1adf0207a6464ef16319c53e00b1">estimateSmartFee</a> (int nBlocks, int *answerFoundAtBlocks=NULL) const</td></tr>
<tr class="separator:a2b8d1adf0207a6464ef16319c53e00b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32dd66c128330aed86865c8a61857c6c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCFeeRate.html">CFeeRate</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a32dd66c128330aed86865c8a61857c6c">estimateFee</a> (int nBlocks) const</td></tr>
<tr class="separator:a32dd66c128330aed86865c8a61857c6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2913b51062eb4f4e8110fca4223f172"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#ab2913b51062eb4f4e8110fca4223f172">estimateSmartPriority</a> (int nBlocks, int *answerFoundAtBlocks=NULL) const</td></tr>
<tr class="separator:ab2913b51062eb4f4e8110fca4223f172"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a225378304025c093d2dc5fcb754ade3b"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a225378304025c093d2dc5fcb754ade3b">estimatePriority</a> (int nBlocks) const</td></tr>
<tr class="separator:a225378304025c093d2dc5fcb754ade3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a251f595b6527be005634574ce5d01f70"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a251f595b6527be005634574ce5d01f70">WriteFeeEstimates</a> (<a class="el" href="classCAutoFile.html">CAutoFile</a> &amp;<a class="el" href="util_8cpp.html#a5256be9be45ec4d0909f14a61d455e23">fileout</a>) const</td></tr>
<tr class="separator:a251f595b6527be005634574ce5d01f70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0dbbcb6a3b7e1a6c564410668c12cd4f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a0dbbcb6a3b7e1a6c564410668c12cd4f">ReadFeeEstimates</a> (<a class="el" href="classCAutoFile.html">CAutoFile</a> &amp;filein)</td></tr>
<tr class="separator:a0dbbcb6a3b7e1a6c564410668c12cd4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4fcf05ad5f15a565c4b43c4b9f29906e"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a4fcf05ad5f15a565c4b43c4b9f29906e">DynamicMemoryUsage</a> () const</td></tr>
<tr class="separator:a4fcf05ad5f15a565c4b43c4b9f29906e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:ac7ee8c06837c7d2688e2d7e3d071bdbb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="sync_8h.html#a37a4692b2d517f2843655ca11af7668a">CCriticalSection</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#ac7ee8c06837c7d2688e2d7e3d071bdbb">cs</a></td></tr>
<tr class="separator:ac7ee8c06837c7d2688e2d7e3d071bdbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd27558d400055a08b970bd2a0d9c953"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTxMemPool.html#aea53c094f11c906fdcf5c0238c481328">indexed_transaction_set</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#acd27558d400055a08b970bd2a0d9c953">mapTx</a></td></tr>
<tr class="separator:acd27558d400055a08b970bd2a0d9c953"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae6f1162f0b2e42b369971f32a9f71e8"><td class="memItemLeft" align="right" valign="top">std::map&lt; <a class="el" href="classCOutPoint.html">COutPoint</a>, <a class="el" href="classCInPoint.html">CInPoint</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#aae6f1162f0b2e42b369971f32a9f71e8">mapNextTx</a></td></tr>
<tr class="separator:aae6f1162f0b2e42b369971f32a9f71e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a341709e31a39ce7a7a951a85c775c589"><td class="memItemLeft" align="right" valign="top">std::map&lt; <a class="el" href="classuint256.html">uint256</a>, std::pair&lt; double, <a class="el" href="amount_8h.html#a4eaf3a5239714d8c45b851527f7cb564">CAmount</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a341709e31a39ce7a7a951a85c775c589">mapDeltas</a></td></tr>
<tr class="separator:a341709e31a39ce7a7a951a85c775c589"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:a8ba840e58bc02d95adad746491960dcd"><td class="memItemLeft" align="right" valign="top">static const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a8ba840e58bc02d95adad746491960dcd">ROLLING_FEE_HALFLIFE</a> = 60 * 60 * 12</td></tr>
<tr class="separator:a8ba840e58bc02d95adad746491960dcd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-types"></a>
Private Types</h2></td></tr>
<tr class="memitem:ab8c5d7b49c7e2576e7da2cb604fc96dc"><td class="memItemLeft" align="right" valign="top">typedef std::map&lt; <a class="el" href="classCTxMemPool.html#aa3b42beec827c813a0c4b42e50615f5a">txiter</a>, <a class="el" href="classCTxMemPool.html#a8da3f55d23d335261338753b22e0171d">setEntries</a>, <a class="el" href="structCTxMemPool_1_1CompareIteratorByHash.html">CompareIteratorByHash</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#ab8c5d7b49c7e2576e7da2cb604fc96dc">cacheMap</a></td></tr>
<tr class="separator:ab8c5d7b49c7e2576e7da2cb604fc96dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9e550dc645abb4ee484e6874a09b818"><td class="memItemLeft" align="right" valign="top">typedef std::map&lt; <a class="el" href="classCTxMemPool.html#aa3b42beec827c813a0c4b42e50615f5a">txiter</a>, <a class="el" href="structCTxMemPool_1_1TxLinks.html">TxLinks</a>, <a class="el" href="structCTxMemPool_1_1CompareIteratorByHash.html">CompareIteratorByHash</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#af9e550dc645abb4ee484e6874a09b818">txlinksMap</a></td></tr>
<tr class="separator:af9e550dc645abb4ee484e6874a09b818"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b3346f8adcc9ab6a8bd6992938add1c"><td class="memItemLeft" align="right" valign="top">typedef std::map&lt; <a class="el" href="structCMempoolAddressDeltaKey.html">CMempoolAddressDeltaKey</a>, <a class="el" href="structCMempoolAddressDelta.html">CMempoolAddressDelta</a>, <a class="el" href="structCMempoolAddressDeltaKeyCompare.html">CMempoolAddressDeltaKeyCompare</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a0b3346f8adcc9ab6a8bd6992938add1c">addressDeltaMap</a></td></tr>
<tr class="separator:a0b3346f8adcc9ab6a8bd6992938add1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a958fa4082c4a392b8ced05b42283d2d9"><td class="memItemLeft" align="right" valign="top">typedef std::map&lt; <a class="el" href="classuint256.html">uint256</a>, std::vector&lt; <a class="el" href="structCMempoolAddressDeltaKey.html">CMempoolAddressDeltaKey</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a958fa4082c4a392b8ced05b42283d2d9">addressDeltaMapInserted</a></td></tr>
<tr class="separator:a958fa4082c4a392b8ced05b42283d2d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3db7ce7f89e1b794887507ad4235d865"><td class="memItemLeft" align="right" valign="top">typedef std::map&lt; <a class="el" href="structCSpentIndexKey.html">CSpentIndexKey</a>, <a class="el" href="structCSpentIndexValue.html">CSpentIndexValue</a>, <a class="el" href="structCSpentIndexKeyCompare.html">CSpentIndexKeyCompare</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a3db7ce7f89e1b794887507ad4235d865">mapSpentIndex</a></td></tr>
<tr class="separator:a3db7ce7f89e1b794887507ad4235d865"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7baee441f601429b6d05701006624f4b"><td class="memItemLeft" align="right" valign="top">typedef std::map&lt; <a class="el" href="classuint256.html">uint256</a>, std::vector&lt; <a class="el" href="structCSpentIndexKey.html">CSpentIndexKey</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a7baee441f601429b6d05701006624f4b">mapSpentIndexInserted</a></td></tr>
<tr class="separator:a7baee441f601429b6d05701006624f4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:a68c3b6c23f83b77a45616525c63a0a30"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a68c3b6c23f83b77a45616525c63a0a30">trackPackageRemoved</a> (const <a class="el" href="classCFeeRate.html">CFeeRate</a> &amp;rate)</td></tr>
<tr class="memdesc:a68c3b6c23f83b77a45616525c63a0a30"><td class="mdescLeft">&#160;</td><td class="mdescRight">minimum fee to get into the pool, decreases exponentially <a href="#a68c3b6c23f83b77a45616525c63a0a30">More...</a><br /></td></tr>
<tr class="separator:a68c3b6c23f83b77a45616525c63a0a30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6cc140209f782be93c522048595b797"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#ae6cc140209f782be93c522048595b797">UpdateParent</a> (<a class="el" href="classCTxMemPool.html#aa3b42beec827c813a0c4b42e50615f5a">txiter</a> entry, <a class="el" href="classCTxMemPool.html#aa3b42beec827c813a0c4b42e50615f5a">txiter</a> parent, bool add)</td></tr>
<tr class="separator:ae6cc140209f782be93c522048595b797"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93ee11ea2adc6021d5bf0842516222b4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a93ee11ea2adc6021d5bf0842516222b4">UpdateChild</a> (<a class="el" href="classCTxMemPool.html#aa3b42beec827c813a0c4b42e50615f5a">txiter</a> entry, <a class="el" href="classCTxMemPool.html#aa3b42beec827c813a0c4b42e50615f5a">txiter</a> child, bool add)</td></tr>
<tr class="separator:a93ee11ea2adc6021d5bf0842516222b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca7e15dfa82ccc9ab190b7c45d2c8d47"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#aca7e15dfa82ccc9ab190b7c45d2c8d47">UpdateForDescendants</a> (<a class="el" href="classCTxMemPool.html#aa3b42beec827c813a0c4b42e50615f5a">txiter</a> updateIt, int maxDescendantsToVisit, <a class="el" href="classCTxMemPool.html#ab8c5d7b49c7e2576e7da2cb604fc96dc">cacheMap</a> &amp;cachedDescendants, const std::set&lt; <a class="el" href="classuint256.html">uint256</a> &gt; &amp;setExclude)</td></tr>
<tr class="separator:aca7e15dfa82ccc9ab190b7c45d2c8d47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e5540275b4a83746d491a5741ec85be"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a1e5540275b4a83746d491a5741ec85be">UpdateAncestorsOf</a> (bool add, <a class="el" href="classCTxMemPool.html#aa3b42beec827c813a0c4b42e50615f5a">txiter</a> hash, <a class="el" href="classCTxMemPool.html#a8da3f55d23d335261338753b22e0171d">setEntries</a> &amp;setAncestors)</td></tr>
<tr class="separator:a1e5540275b4a83746d491a5741ec85be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a198883c2a8c25d20aea8c2d197cccf53"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a198883c2a8c25d20aea8c2d197cccf53">UpdateForRemoveFromMempool</a> (const <a class="el" href="classCTxMemPool.html#a8da3f55d23d335261338753b22e0171d">setEntries</a> &amp;entriesToRemove)</td></tr>
<tr class="separator:a198883c2a8c25d20aea8c2d197cccf53"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87623d672631b33a26e38810fa2d0006"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a87623d672631b33a26e38810fa2d0006">UpdateChildrenForRemoval</a> (<a class="el" href="classCTxMemPool.html#aa3b42beec827c813a0c4b42e50615f5a">txiter</a> entry)</td></tr>
<tr class="separator:a87623d672631b33a26e38810fa2d0006"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab88e4013df24a814545aa2a142d907a8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#ab88e4013df24a814545aa2a142d907a8">removeUnchecked</a> (<a class="el" href="classCTxMemPool.html#aa3b42beec827c813a0c4b42e50615f5a">txiter</a> entry)</td></tr>
<tr class="separator:ab88e4013df24a814545aa2a142d907a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a2bedc6fa86cb206e0a3077b29d14aee0"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a2bedc6fa86cb206e0a3077b29d14aee0">nCheckFrequency</a></td></tr>
<tr class="separator:a2bedc6fa86cb206e0a3077b29d14aee0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a230bbfe440e222787d8d94a1aaef73d4"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a230bbfe440e222787d8d94a1aaef73d4">nTransactionsUpdated</a></td></tr>
<tr class="memdesc:a230bbfe440e222787d8d94a1aaef73d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Value n means that n times in 2^32 we check. <a href="#a230bbfe440e222787d8d94a1aaef73d4">More...</a><br /></td></tr>
<tr class="separator:a230bbfe440e222787d8d94a1aaef73d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4d48ac0d6d62e7044ba21a45709f743"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCBlockPolicyEstimator.html">CBlockPolicyEstimator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#af4d48ac0d6d62e7044ba21a45709f743">minerPolicyEstimator</a></td></tr>
<tr class="separator:af4d48ac0d6d62e7044ba21a45709f743"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac59656df749b33e9eb667a6850f36b7b"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#ac59656df749b33e9eb667a6850f36b7b">totalTxSize</a></td></tr>
<tr class="separator:ac59656df749b33e9eb667a6850f36b7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cf8ed535f89c0a1332af6c15e4a2aa9"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a9cf8ed535f89c0a1332af6c15e4a2aa9">cachedInnerUsage</a></td></tr>
<tr class="memdesc:a9cf8ed535f89c0a1332af6c15e4a2aa9"><td class="mdescLeft">&#160;</td><td class="mdescRight">sum of all mempool tx' byte sizes <a href="#a9cf8ed535f89c0a1332af6c15e4a2aa9">More...</a><br /></td></tr>
<tr class="separator:a9cf8ed535f89c0a1332af6c15e4a2aa9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a721ce90d5b34cbe28705b969e4e984fe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCFeeRate.html">CFeeRate</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a721ce90d5b34cbe28705b969e4e984fe">minReasonableRelayFee</a></td></tr>
<tr class="memdesc:a721ce90d5b34cbe28705b969e4e984fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">sum of dynamic memory usage of all the map elements (NOT the maps themselves) <a href="#a721ce90d5b34cbe28705b969e4e984fe">More...</a><br /></td></tr>
<tr class="separator:a721ce90d5b34cbe28705b969e4e984fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a606251440078b03cee0d4568974e5ef4"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a606251440078b03cee0d4568974e5ef4">lastRollingFeeUpdate</a></td></tr>
<tr class="separator:a606251440078b03cee0d4568974e5ef4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1878f46ec4c9609ea0b6c5bd96e2541"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#af1878f46ec4c9609ea0b6c5bd96e2541">blockSinceLastRollingFeeBump</a></td></tr>
<tr class="separator:af1878f46ec4c9609ea0b6c5bd96e2541"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ceb50a47dff1a60d36d036f54d239c5"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a3ceb50a47dff1a60d36d036f54d239c5">rollingMinimumFeeRate</a></td></tr>
<tr class="separator:a3ceb50a47dff1a60d36d036f54d239c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09c360447dc81cbfe684246f40f5e889"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTxMemPool.html#af9e550dc645abb4ee484e6874a09b818">txlinksMap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a09c360447dc81cbfe684246f40f5e889">mapLinks</a></td></tr>
<tr class="separator:a09c360447dc81cbfe684246f40f5e889"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d073dc0cc608d0c466d2a077c713ccc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTxMemPool.html#a0b3346f8adcc9ab6a8bd6992938add1c">addressDeltaMap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a0d073dc0cc608d0c466d2a077c713ccc">mapAddress</a></td></tr>
<tr class="separator:a0d073dc0cc608d0c466d2a077c713ccc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f43d13d3305151113b643487a4cd597"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTxMemPool.html#a958fa4082c4a392b8ced05b42283d2d9">addressDeltaMapInserted</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a7f43d13d3305151113b643487a4cd597">mapAddressInserted</a></td></tr>
<tr class="separator:a7f43d13d3305151113b643487a4cd597"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a846825f206a8ea2ff6d5431780c882"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTxMemPool.html#a3db7ce7f89e1b794887507ad4235d865">mapSpentIndex</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#a0a846825f206a8ea2ff6d5431780c882">mapSpent</a></td></tr>
<tr class="separator:a0a846825f206a8ea2ff6d5431780c882"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab59b98a493b962027fdf71072d57a443"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCTxMemPool.html#a7baee441f601429b6d05701006624f4b">mapSpentIndexInserted</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCTxMemPool.html#ab59b98a493b962027fdf71072d57a443">mapSpentInserted</a></td></tr>
<tr class="separator:ab59b98a493b962027fdf71072d57a443"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p><a class="el" href="classCTxMemPool.html">CTxMemPool</a> stores valid-according-to-the-current-best-chain transactions that may be included in the next block.</p>
<p>Transactions are added when they are seen on the network (or created by the local node), but not all transactions seen are added to the pool: if a new transaction double-spends an input of a transaction in the pool, it is dropped, as are non-standard transactions.</p>
<p><a class="el" href="classCTxMemPool.html#acd27558d400055a08b970bd2a0d9c953">CTxMemPool::mapTx</a>, and <a class="el" href="classCTxMemPoolEntry.html">CTxMemPoolEntry</a> bookkeeping:</p>
<p>mapTx is a boost::multi_index that sorts the mempool on 4 criteria:</p><ul>
<li>transaction hash</li>
<li>feerate [we use max(feerate of tx, feerate of tx with all descendants)]</li>
<li>time in mempool</li>
<li>mining score (feerate modified by any fee deltas from PrioritiseTransaction)</li>
</ul>
<p>Note: the term "descendant" refers to in-mempool transactions that depend on this one, while "ancestor" refers to in-mempool transactions that a given transaction depends on.</p>
<p>In order for the feerate sort to remain correct, we must update transactions in the mempool when new descendants arrive. To facilitate this, we track the set of in-mempool direct parents and direct children in mapLinks. Within each <a class="el" href="classCTxMemPoolEntry.html">CTxMemPoolEntry</a>, we track the size and fees of all descendants.</p>
<p>Usually when a new transaction is added to the mempool, it has no in-mempool children (because any such children would be an orphan). So in <a class="el" href="classCTxMemPool.html#aab557615eb380db41237382bab239f7c">addUnchecked()</a>, we:</p><ul>
<li>update a new entry's setMemPoolParents to include all in-mempool parents</li>
<li>update the new entry's direct parents to include the new tx as a child</li>
<li>update all ancestors of the transaction to include the new tx's size/fee</li>
</ul>
<p>When a transaction is removed from the mempool, we must:</p><ul>
<li>update all in-mempool parents to not track the tx in setMemPoolChildren</li>
<li>update all ancestors to not include the tx's size/fees in descendant state</li>
<li>update all in-mempool children to not include it as a parent</li>
</ul>
<p>These happen in <a class="el" href="classCTxMemPool.html#a198883c2a8c25d20aea8c2d197cccf53">UpdateForRemoveFromMempool()</a>. (Note that when removing a transaction along with its descendants, we must calculate that set of transactions to be removed before doing the removal, or else the mempool can be in an inconsistent state where it's impossible to walk the ancestors of a transaction.)</p>
<p>In the event of a reorg, the assumption that a newly added tx has no in-mempool children is false. In particular, the mempool is in an inconsistent state while new transactions are being added, because there may be descendant transactions of a tx coming from a disconnected block that are unreachable from just looking at transactions in the mempool (the linking transactions may also be in the disconnected block, waiting to be added). Because of this, there's not much benefit in trying to search for in-mempool children in <a class="el" href="classCTxMemPool.html#aab557615eb380db41237382bab239f7c">addUnchecked()</a>. Instead, in the special case of transactions being added from a disconnected block, we require the caller to clean up the state, to account for in-mempool, out-of-block descendants for all the in-block transactions by calling <a class="el" href="classCTxMemPool.html#a809f5ae70a2fabbf5bd707345ef671e9">UpdateTransactionsFromBlock()</a>. Note that until this is called, the mempool state is not consistent, and in particular mapLinks may not be correct (and therefore functions like <a class="el" href="classCTxMemPool.html#ae755bb5ccada190327c26d09388b4139">CalculateMemPoolAncestors()</a> and <a class="el" href="classCTxMemPool.html#aea6c845956f051442dac0a13975b2192">CalculateDescendants()</a> that rely on them to walk the mempool are not generally safe to use).</p>
<p>Computational limits:</p>
<p>Updating all in-mempool ancestors of a newly added transaction can be slow, if no bound exists on how many in-mempool ancestors there may be. <a class="el" href="classCTxMemPool.html#ae755bb5ccada190327c26d09388b4139">CalculateMemPoolAncestors()</a> takes configurable limits that are designed to prevent these calculations from being too CPU intensive.</p>
<p>Adding transactions from a disconnected block can be very time consuming, because we don't have a way to limit the number of in-mempool descendants. To bound CPU processing, we limit the amount of work we're willing to do to properly update the descendant information for a tx being added from a disconnected block. If we would exceed the limit, then we instead mark the entry as "dirty", and set the feerate for sorting purposes to be equal the feerate of the transaction without any descendants. </p>
<p class="definition">Definition at line <a class="el" href="txmempool_8h_source.html#l00357">357</a> of file <a class="el" href="txmempool_8h_source.html">txmempool.h</a>.</p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a id="a0b3346f8adcc9ab6a8bd6992938add1c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0b3346f8adcc9ab6a8bd6992938add1c">&#9670;&nbsp;</a></span>addressDeltaMap</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">typedef std::map&lt;<a class="el" href="structCMempoolAddressDeltaKey.html">CMempoolAddressDeltaKey</a>, <a class="el" href="structCMempoolAddressDelta.html">CMempoolAddressDelta</a>, <a class="el" href="structCMempoolAddressDeltaKeyCompare.html">CMempoolAddressDeltaKeyCompare</a>&gt; <a class="el" href="classCTxMemPool.html#a0b3346f8adcc9ab6a8bd6992938add1c">CTxMemPool::addressDeltaMap</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8h_source.html#l00425">425</a> of file <a class="el" href="txmempool_8h_source.html">txmempool.h</a>.</p>
</div>
</div>
<a id="a958fa4082c4a392b8ced05b42283d2d9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a958fa4082c4a392b8ced05b42283d2d9">&#9670;&nbsp;</a></span>addressDeltaMapInserted</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">typedef std::map&lt;<a class="el" href="classuint256.html">uint256</a>, std::vector&lt;<a class="el" href="structCMempoolAddressDeltaKey.html">CMempoolAddressDeltaKey</a>&gt; &gt; <a class="el" href="classCTxMemPool.html#a958fa4082c4a392b8ced05b42283d2d9">CTxMemPool::addressDeltaMapInserted</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8h_source.html#l00428">428</a> of file <a class="el" href="txmempool_8h_source.html">txmempool.h</a>.</p>
</div>
</div>
<a id="ab8c5d7b49c7e2576e7da2cb604fc96dc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab8c5d7b49c7e2576e7da2cb604fc96dc">&#9670;&nbsp;</a></span>cacheMap</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">typedef std::map&lt;<a class="el" href="classCTxMemPool.html#aa3b42beec827c813a0c4b42e50615f5a">txiter</a>, <a class="el" href="classCTxMemPool.html#a8da3f55d23d335261338753b22e0171d">setEntries</a>, <a class="el" href="structCTxMemPool_1_1CompareIteratorByHash.html">CompareIteratorByHash</a>&gt; <a class="el" href="classCTxMemPool.html#ab8c5d7b49c7e2576e7da2cb604fc96dc">CTxMemPool::cacheMap</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8h_source.html#l00415">415</a> of file <a class="el" href="txmempool_8h_source.html">txmempool.h</a>.</p>
</div>
</div>
<a id="aea53c094f11c906fdcf5c0238c481328"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aea53c094f11c906fdcf5c0238c481328">&#9670;&nbsp;</a></span>indexed_transaction_set</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef boost::multi_index_container&lt; <a class="el" href="classCTxMemPoolEntry.html">CTxMemPoolEntry</a>, boost::multi_index::indexed_by&lt; boost::multi_index::ordered_unique&lt;<a class="el" href="structmempoolentry__txid.html">mempoolentry_txid</a>&gt;, boost::multi_index::ordered_non_unique&lt; boost::multi_index::identity&lt;<a class="el" href="classCTxMemPoolEntry.html">CTxMemPoolEntry</a>&gt;, <a class="el" href="classCompareTxMemPoolEntryByDescendantScore.html">CompareTxMemPoolEntryByDescendantScore</a> &gt;, boost::multi_index::ordered_non_unique&lt; boost::multi_index::identity&lt;<a class="el" href="classCTxMemPoolEntry.html">CTxMemPoolEntry</a>&gt;, <a class="el" href="classCompareTxMemPoolEntryByEntryTime.html">CompareTxMemPoolEntryByEntryTime</a> &gt;, boost::multi_index::ordered_unique&lt; boost::multi_index::identity&lt;<a class="el" href="classCTxMemPoolEntry.html">CTxMemPoolEntry</a>&gt;, <a class="el" href="classCompareTxMemPoolEntryByScore.html">CompareTxMemPoolEntryByScore</a> &gt; &gt; &gt; <a class="el" href="classCTxMemPool.html#aea53c094f11c906fdcf5c0238c481328">CTxMemPool::indexed_transaction_set</a></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8h_source.html#l00400">400</a> of file <a class="el" href="txmempool_8h_source.html">txmempool.h</a>.</p>
</div>
</div>
<a id="a3db7ce7f89e1b794887507ad4235d865"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3db7ce7f89e1b794887507ad4235d865">&#9670;&nbsp;</a></span>mapSpentIndex</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">typedef std::map&lt;<a class="el" href="structCSpentIndexKey.html">CSpentIndexKey</a>, <a class="el" href="structCSpentIndexValue.html">CSpentIndexValue</a>, <a class="el" href="structCSpentIndexKeyCompare.html">CSpentIndexKeyCompare</a>&gt; <a class="el" href="classCTxMemPool.html#a3db7ce7f89e1b794887507ad4235d865">CTxMemPool::mapSpentIndex</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8h_source.html#l00431">431</a> of file <a class="el" href="txmempool_8h_source.html">txmempool.h</a>.</p>
</div>
</div>
<a id="a7baee441f601429b6d05701006624f4b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7baee441f601429b6d05701006624f4b">&#9670;&nbsp;</a></span>mapSpentIndexInserted</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">typedef std::map&lt;<a class="el" href="classuint256.html">uint256</a>, std::vector&lt;<a class="el" href="structCSpentIndexKey.html">CSpentIndexKey</a>&gt; &gt; <a class="el" href="classCTxMemPool.html#a7baee441f601429b6d05701006624f4b">CTxMemPool::mapSpentIndexInserted</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8h_source.html#l00434">434</a> of file <a class="el" href="txmempool_8h_source.html">txmempool.h</a>.</p>
</div>
</div>
<a id="a8da3f55d23d335261338753b22e0171d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8da3f55d23d335261338753b22e0171d">&#9670;&nbsp;</a></span>setEntries</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef std::set&lt;<a class="el" href="classCTxMemPool.html#aa3b42beec827c813a0c4b42e50615f5a">txiter</a>, <a class="el" href="structCTxMemPool_1_1CompareIteratorByHash.html">CompareIteratorByHash</a>&gt; <a class="el" href="classCTxMemPool.html#a8da3f55d23d335261338753b22e0171d">CTxMemPool::setEntries</a></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8h_source.html#l00410">410</a> of file <a class="el" href="txmempool_8h_source.html">txmempool.h</a>.</p>
</div>
</div>
<a id="aa3b42beec827c813a0c4b42e50615f5a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa3b42beec827c813a0c4b42e50615f5a">&#9670;&nbsp;</a></span>txiter</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef indexed_transaction_set::nth_index&lt;0&gt;::type::iterator <a class="el" href="classCTxMemPool.html#aa3b42beec827c813a0c4b42e50615f5a">CTxMemPool::txiter</a></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8h_source.html#l00404">404</a> of file <a class="el" href="txmempool_8h_source.html">txmempool.h</a>.</p>
</div>
</div>
<a id="af9e550dc645abb4ee484e6874a09b818"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af9e550dc645abb4ee484e6874a09b818">&#9670;&nbsp;</a></span>txlinksMap</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">typedef std::map&lt;<a class="el" href="classCTxMemPool.html#aa3b42beec827c813a0c4b42e50615f5a">txiter</a>, <a class="el" href="structCTxMemPool_1_1TxLinks.html">TxLinks</a>, <a class="el" href="structCTxMemPool_1_1CompareIteratorByHash.html">CompareIteratorByHash</a>&gt; <a class="el" href="classCTxMemPool.html#af9e550dc645abb4ee484e6874a09b818">CTxMemPool::txlinksMap</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8h_source.html#l00422">422</a> of file <a class="el" href="txmempool_8h_source.html">txmempool.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="abb5db4571d759f0fb540fabb4281a45e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abb5db4571d759f0fb540fabb4281a45e">&#9670;&nbsp;</a></span>CTxMemPool()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">CTxMemPool::CTxMemPool </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classCFeeRate.html">CFeeRate</a> &amp;&#160;</td>
<td class="paramname"><em>_minReasonableRelayFee</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a new <a class="el" href="classCTxMemPool.html">CTxMemPool</a>. minReasonableRelayFee should be a feerate which is, roughly, somewhere around what it "costs" to relay a transaction around the network and below which we would reasonably say a transaction has 0-effective-fee. </p>
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l00328">328</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
</div>
</div>
<a id="a038108efea0c4312e5bed2ce064702b2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a038108efea0c4312e5bed2ce064702b2">&#9670;&nbsp;</a></span>~CTxMemPool()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">CTxMemPool::~CTxMemPool </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l00342">342</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a2d04be1a3e144d466d45a5f1ec48f62c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2d04be1a3e144d466d45a5f1ec48f62c">&#9670;&nbsp;</a></span>_clear()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void CTxMemPool::_clear </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l00732">732</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="txmempool_8cpp_source.html#l00745">clear()</a>, and <a class="el" href="txmempool_8cpp_source.html#l00328">CTxMemPool()</a>.</p>
</div>
</div>
<a id="a16884a575b85f500781477a487a9b1dd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a16884a575b85f500781477a487a9b1dd">&#9670;&nbsp;</a></span>addAddressIndex()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void CTxMemPool::addAddressIndex </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classCTxMemPoolEntry.html">CTxMemPoolEntry</a> &amp;&#160;</td>
<td class="paramname"><em>entry</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classCCoinsViewCache.html">CCoinsViewCache</a> &amp;&#160;</td>
<td class="paramname"><em>view</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l00426">426</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="validation_8cpp_source.html#l00549">AcceptToMemoryPoolWorker()</a>.</p>
</div>
</div>
<a id="a2c4f1513000ff34c3fe341e6674b2bd9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2c4f1513000ff34c3fe341e6674b2bd9">&#9670;&nbsp;</a></span>addSpentIndex()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void CTxMemPool::addSpentIndex </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classCTxMemPoolEntry.html">CTxMemPoolEntry</a> &amp;&#160;</td>
<td class="paramname"><em>entry</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classCCoinsViewCache.html">CCoinsViewCache</a> &amp;&#160;</td>
<td class="paramname"><em>view</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l00500">500</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="validation_8cpp_source.html#l00549">AcceptToMemoryPoolWorker()</a>.</p>
</div>
</div>
<a id="a3039b67e5eebaa3ff830261c192816f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3039b67e5eebaa3ff830261c192816f2">&#9670;&nbsp;</a></span>AddTransactionsUpdated()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void CTxMemPool::AddTransactionsUpdated </td>
<td>(</td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>n</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l00366">366</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="init_8cpp_source.html#l00210">PrepareShutdown()</a>, and <a class="el" href="validation_8cpp_source.html#l02420">UpdateTip()</a>.</p>
</div>
</div>
<a id="aab557615eb380db41237382bab239f7c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aab557615eb380db41237382bab239f7c">&#9670;&nbsp;</a></span>addUnchecked() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool CTxMemPool::addUnchecked </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classuint256.html">uint256</a> &amp;&#160;</td>
<td class="paramname"><em>hash</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classCTxMemPoolEntry.html">CTxMemPoolEntry</a> &amp;&#160;</td>
<td class="paramname"><em>entry</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>fCurrentEstimate</em> = <code>true</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l01030">1030</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="validation_8cpp_source.html#l00549">AcceptToMemoryPoolWorker()</a>.</p>
</div>
</div>
<a id="a7cc3e776299144a8db82be568063e671"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7cc3e776299144a8db82be568063e671">&#9670;&nbsp;</a></span>addUnchecked() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool CTxMemPool::addUnchecked </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classuint256.html">uint256</a> &amp;&#160;</td>
<td class="paramname"><em>hash</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classCTxMemPoolEntry.html">CTxMemPoolEntry</a> &amp;&#160;</td>
<td class="paramname"><em>entry</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classCTxMemPool.html#a8da3f55d23d335261338753b22e0171d">setEntries</a> &amp;&#160;</td>
<td class="paramname"><em>setAncestors</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>fCurrentEstimate</em> = <code>true</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l00372">372</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
</div>
</div>
<a id="a8bf3b1d8436f9abc68f0c8391377df5d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8bf3b1d8436f9abc68f0c8391377df5d">&#9670;&nbsp;</a></span>ApplyDeltas()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void CTxMemPool::ApplyDeltas </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classuint256.html">uint256</a>&#160;</td>
<td class="paramname"><em>hash</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double &amp;&#160;</td>
<td class="paramname"><em>dPriorityDelta</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="amount_8h.html#a4eaf3a5239714d8c45b851527f7cb564">CAmount</a> &amp;&#160;</td>
<td class="paramname"><em>nFeeDelta</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l00957">957</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="validation_8cpp_source.html#l00549">AcceptToMemoryPoolWorker()</a>, and <a class="el" href="miner_8cpp_source.html#l00077">CreateNewBlock()</a>.</p>
</div>
</div>
<a id="aea6c845956f051442dac0a13975b2192"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aea6c845956f051442dac0a13975b2192">&#9670;&nbsp;</a></span>CalculateDescendants()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void CTxMemPool::CalculateDescendants </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classCTxMemPool.html#aa3b42beec827c813a0c4b42e50615f5a">txiter</a>&#160;</td>
<td class="paramname"><em>it</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classCTxMemPool.html#a8da3f55d23d335261338753b22e0171d">setEntries</a> &amp;&#160;</td>
<td class="paramname"><em>setDescendants</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Populate setDescendants with all in-mempool descendants of hash. Assumes that setDescendants includes all in-mempool descendants of anything already in it. </p>
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l00588">588</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="validation_8cpp_source.html#l00549">AcceptToMemoryPoolWorker()</a>, <a class="el" href="txmempool_8cpp_source.html#l01014">Expire()</a>, <a class="el" href="txmempool_8cpp_source.html#l00611">remove()</a>, and <a class="el" href="txmempool_8cpp_source.html#l01116">TrimToSize()</a>.</p>
</div>
</div>
<a id="ae755bb5ccada190327c26d09388b4139"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae755bb5ccada190327c26d09388b4139">&#9670;&nbsp;</a></span>CalculateMemPoolAncestors()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool CTxMemPool::CalculateMemPoolAncestors </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classCTxMemPoolEntry.html">CTxMemPoolEntry</a> &amp;&#160;</td>
<td class="paramname"><em>entry</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classCTxMemPool.html#a8da3f55d23d335261338753b22e0171d">setEntries</a> &amp;&#160;</td>
<td class="paramname"><em>setAncestors</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint64_t&#160;</td>
<td class="paramname"><em>limitAncestorCount</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint64_t&#160;</td>
<td class="paramname"><em>limitAncestorSize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint64_t&#160;</td>
<td class="paramname"><em>limitDescendantCount</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint64_t&#160;</td>
<td class="paramname"><em>limitDescendantSize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::string &amp;&#160;</td>
<td class="paramname"><em>errString</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>fSearchForParents</em> = <code>true</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Try to calculate all in-mempool ancestors of entry. (these are all calculated including the tx itself) limitAncestorCount = max number of ancestors limitAncestorSize = max size of ancestors limitDescendantCount = max number of descendants any ancestor can have limitDescendantSize = max size of descendants any ancestor can have errString = populated with error reason if any limits are hit fSearchForParents = whether to search a tx's vin for in-mempool parents, or look up parents from mapLinks. Must be true for entries not in the mempool </p>
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l00183">183</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="validation_8cpp_source.html#l00549">AcceptToMemoryPoolWorker()</a>, <a class="el" href="txmempool_8cpp_source.html#l01030">addUnchecked()</a>, <a class="el" href="rbf_8cpp_source.html#l00017">IsRBFOptIn()</a>, <a class="el" href="txmempool_8cpp_source.html#l00934">PrioritiseTransaction()</a>, and <a class="el" href="txmempool_8cpp_source.html#l00268">UpdateForRemoveFromMempool()</a>.</p>
</div>
</div>
<a id="ab30fadfa811829e79accca41da6a8328"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab30fadfa811829e79accca41da6a8328">&#9670;&nbsp;</a></span>check()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void CTxMemPool::check </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classCCoinsViewCache.html">CCoinsViewCache</a> *&#160;</td>
<td class="paramname"><em>pcoins</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>If sanity-checking is turned on, check makes sure the pool is consistent (does not contain two transactions that spend the same inputs, all inputs are in the mapNextTx array). If sanity-checking is turned off, check does nothing. </p>
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l00751">751</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="validation_8cpp_source.html#l02709">ActivateBestChainStep()</a>, and <a class="el" href="net__processing_8cpp_source.html#l01074">ProcessMessage()</a>.</p>
</div>
</div>
<a id="a6dba6bce4139392751321438a29b6b09"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6dba6bce4139392751321438a29b6b09">&#9670;&nbsp;</a></span>clear()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void CTxMemPool::clear </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l00745">745</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="validation_8cpp_source.html#l03922">UnloadBlockIndex()</a>.</p>
</div>
</div>
<a id="a11dea05121ab8321e1d1f1a21ec5c9ac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a11dea05121ab8321e1d1f1a21ec5c9ac">&#9670;&nbsp;</a></span>ClearPrioritisation()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void CTxMemPool::ClearPrioritisation </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classuint256.html">uint256</a>&#160;</td>
<td class="paramname"><em>hash</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l00968">968</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="txmempool_8cpp_source.html#l00685">removeConflicts()</a>, and <a class="el" href="txmempool_8cpp_source.html#l00706">removeForBlock()</a>.</p>
</div>
</div>
<a id="a4fcf05ad5f15a565c4b43c4b9f29906e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4fcf05ad5f15a565c4b43c4b9f29906e">&#9670;&nbsp;</a></span>DynamicMemoryUsage()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t CTxMemPool::DynamicMemoryUsage </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l01000">1000</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="clientmodel_8cpp_source.html#l00155">ClientModel::getMempoolDynamicUsage()</a>, <a class="el" href="txmempool_8cpp_source.html#l01076">GetMinFee()</a>, <a class="el" href="blockchain_8cpp_source.html#l00948">mempoolInfoToJSON()</a>, <a class="el" href="net__processing_8cpp_source.html#l01074">ProcessMessage()</a>, and <a class="el" href="txmempool_8cpp_source.html#l01116">TrimToSize()</a>.</p>
</div>
</div>
<a id="a32dd66c128330aed86865c8a61857c6c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a32dd66c128330aed86865c8a61857c6c">&#9670;&nbsp;</a></span>estimateFee()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classCFeeRate.html">CFeeRate</a> CTxMemPool::estimateFee </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>nBlocks</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Estimate fee rate needed to get into the next nBlocks </p>
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l00878">878</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="mining_8cpp_source.html#l00811">estimatefee()</a>.</p>
</div>
</div>
<a id="a225378304025c093d2dc5fcb754ade3b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a225378304025c093d2dc5fcb754ade3b">&#9670;&nbsp;</a></span>estimatePriority()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double CTxMemPool::estimatePriority </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>nBlocks</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Estimate priority needed to get into the next nBlocks </p>
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l00888">888</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="mining_8cpp_source.html#l00842">estimatepriority()</a>.</p>
</div>
</div>
<a id="a2b8d1adf0207a6464ef16319c53e00b1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2b8d1adf0207a6464ef16319c53e00b1">&#9670;&nbsp;</a></span>estimateSmartFee()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classCFeeRate.html">CFeeRate</a> CTxMemPool::estimateSmartFee </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>nBlocks</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>answerFoundAtBlocks</em> = <code>NULL</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Estimate fee rate needed to get into the next nBlocks If no answer can be given at nBlocks, return an estimate at the lowest number of blocks where one can be given </p>
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l00883">883</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="mining_8cpp_source.html#l00869">estimatesmartfee()</a>, <a class="el" href="wallet_8cpp_source.html#l03596">CWallet::GetMinimumFee()</a>, <a class="el" href="coincontroldialog_8cpp_source.html#l00479">CoinControlDialog::updateLabels()</a>, and <a class="el" href="sendcoinsdialog_8cpp_source.html#l00746">SendCoinsDialog::updateSmartFeeLabel()</a>.</p>
</div>
</div>
<a id="ab2913b51062eb4f4e8110fca4223f172"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab2913b51062eb4f4e8110fca4223f172">&#9670;&nbsp;</a></span>estimateSmartPriority()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double CTxMemPool::estimateSmartPriority </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>nBlocks</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>answerFoundAtBlocks</em> = <code>NULL</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Estimate priority needed to get into the next nBlocks If no answer can be given at nBlocks, return an estimate at the lowest number of blocks where one can be given </p>
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l00893">893</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="wallet_8cpp_source.html#l03173">CWallet::CreateTransaction()</a>, <a class="el" href="mining_8cpp_source.html#l00905">estimatesmartpriority()</a>, and <a class="el" href="coincontroldialog_8cpp_source.html#l00479">CoinControlDialog::updateLabels()</a>.</p>
</div>
</div>
<a id="a8b7a13b5289ab839d4460f41a7da9789"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8b7a13b5289ab839d4460f41a7da9789">&#9670;&nbsp;</a></span>exists()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool CTxMemPool::exists </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classuint256.html">uint256</a>&#160;</td>
<td class="paramname"><em>hash</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8h_source.html#l00563">563</a> of file <a class="el" href="txmempool_8h_source.html">txmempool.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="validation_8cpp_source.html#l00549">AcceptToMemoryPoolWorker()</a>, <a class="el" href="net__processing_8cpp_source.html#l00677">AlreadyHave()</a>, <a class="el" href="validation_8cpp_source.html#l02477">DisconnectTip()</a>, <a class="el" href="wallet_8cpp_source.html#l04416">CMerkleTx::GetDepthInMainChain()</a>, <a class="el" href="txmempool_8cpp_source.html#l00974">HasNoInputsOf()</a>, <a class="el" href="txmempool_8cpp_source.html#l00996">CCoinsViewMemPool::HaveCoins()</a>, <a class="el" href="wallet_8cpp_source.html#l02032">CWalletTx::InMempool()</a>, <a class="el" href="rbf_8cpp_source.html#l00017">IsRBFOptIn()</a>, <a class="el" href="blockchain_8cpp_source.html#l00182">mempoolToJSON()</a>, <a class="el" href="rawtransaction_8cpp_source.html#l00830">sendrawtransaction()</a>, <a class="el" href="txmempool_8cpp_source.html#l01116">TrimToSize()</a>, and <a class="el" href="rpcwallet_8cpp_source.html#l00060">WalletTxToJSON()</a>.</p>
</div>
</div>
<a id="a283d0422469c908a881a6484308ee2b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a283d0422469c908a881a6484308ee2b6">&#9670;&nbsp;</a></span>Expire()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int CTxMemPool::Expire </td>
<td>(</td>
<td class="paramtype">int64_t&#160;</td>
<td class="paramname"><em>time</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Expire all transaction (and their dependencies) in the mempool older than time. Return the number of removed transactions. </p>
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l01014">1014</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="validation_8cpp_source.html#l00529">LimitMempoolSize()</a>.</p>
</div>
</div>
<a id="a5225c61b3c034a9920c77f0cadc438f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5225c61b3c034a9920c77f0cadc438f0">&#9670;&nbsp;</a></span>getAddressIndex()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool CTxMemPool::getAddressIndex </td>
<td>(</td>
<td class="paramtype">std::vector&lt; std::pair&lt; <a class="el" href="classuint160.html">uint160</a>, int &gt; &gt; &amp;&#160;</td>
<td class="paramname"><em>addresses</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; std::pair&lt; <a class="el" href="structCMempoolAddressDeltaKey.html">CMempoolAddressDeltaKey</a>, <a class="el" href="structCMempoolAddressDelta.html">CMempoolAddressDelta</a> &gt; &gt; &amp;&#160;</td>
<td class="paramname"><em>results</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l00470">470</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="misc_8cpp_source.html#l00583">getaddressmempool()</a>.</p>
</div>
</div>
<a id="a0f163f91b8590b86acd43b26438d7ee1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f163f91b8590b86acd43b26438d7ee1">&#9670;&nbsp;</a></span>GetMemPoolChildren()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classCTxMemPool.html#a8da3f55d23d335261338753b22e0171d">CTxMemPool::setEntries</a> &amp; CTxMemPool::GetMemPoolChildren </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classCTxMemPool.html#aa3b42beec827c813a0c4b42e50615f5a">txiter</a>&#160;</td>
<td class="paramname"><em>entry</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l01068">1068</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="txmempool_8cpp_source.html#l00588">CalculateDescendants()</a>, <a class="el" href="txmempool_8cpp_source.html#l00751">check()</a>, <a class="el" href="miner_8cpp_source.html#l00077">CreateNewBlock()</a>, <a class="el" href="txmempool_8cpp_source.html#l00260">UpdateChildrenForRemoval()</a>, and <a class="el" href="txmempool_8cpp_source.html#l00073">UpdateForDescendants()</a>.</p>
</div>
</div>
<a id="ac3336a567bb5cd890057482170e5553d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac3336a567bb5cd890057482170e5553d">&#9670;&nbsp;</a></span>GetMemPoolParents()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classCTxMemPool.html#a8da3f55d23d335261338753b22e0171d">CTxMemPool::setEntries</a> &amp; CTxMemPool::GetMemPoolParents </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classCTxMemPool.html#aa3b42beec827c813a0c4b42e50615f5a">txiter</a>&#160;</td>
<td class="paramname"><em>entry</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l01060">1060</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="txmempool_8cpp_source.html#l00183">CalculateMemPoolAncestors()</a>, <a class="el" href="txmempool_8cpp_source.html#l00751">check()</a>, <a class="el" href="miner_8cpp_source.html#l00077">CreateNewBlock()</a>, and <a class="el" href="txmempool_8cpp_source.html#l00245">UpdateAncestorsOf()</a>.</p>
</div>
</div>
<a id="a232651541c3393c81153ffc289e7b71d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a232651541c3393c81153ffc289e7b71d">&#9670;&nbsp;</a></span>GetMinFee()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classCFeeRate.html">CFeeRate</a> CTxMemPool::GetMinFee </td>
<td>(</td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>sizelimit</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>The minimum fee to get into the mempool, which may itself not be enough for larger-sized transactions. The minReasonableRelayFee constructor arg is used to bound the time it takes the fee rate to go back down all the way to 0. When the feerate would otherwise be half of this, it is set to 0 instead. </p>
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l01076">1076</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="validation_8cpp_source.html#l00549">AcceptToMemoryPoolWorker()</a>, <a class="el" href="fees_8cpp_source.html#l00506">CBlockPolicyEstimator::estimateSmartFee()</a>, <a class="el" href="fees_8cpp_source.html#l00542">CBlockPolicyEstimator::estimateSmartPriority()</a>, and <a class="el" href="blockchain_8cpp_source.html#l00948">mempoolInfoToJSON()</a>.</p>
</div>
</div>
<a id="ad5ae2f4442200f4d80e7b3aa61ec0435"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad5ae2f4442200f4d80e7b3aa61ec0435">&#9670;&nbsp;</a></span>getSpentIndex()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool CTxMemPool::getSpentIndex </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structCSpentIndexKey.html">CSpentIndexKey</a> &amp;&#160;</td>
<td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structCSpentIndexValue.html">CSpentIndexValue</a> &amp;&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l00536">536</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="validation_8cpp_source.html#l01041">GetSpentIndex()</a>.</p>
</div>
</div>
<a id="ad388f6544c2ca90f1550b06d9d86d54f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad388f6544c2ca90f1550b06d9d86d54f">&#9670;&nbsp;</a></span>GetTotalTxSize()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint64_t CTxMemPool::GetTotalTxSize </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8h_source.html#l00557">557</a> of file <a class="el" href="txmempool_8h_source.html">txmempool.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="blockchain_8cpp_source.html#l00948">mempoolInfoToJSON()</a>.</p>
</div>
</div>
<a id="afd2a709a0e6cb34a57ff2f9fd0774e6c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afd2a709a0e6cb34a57ff2f9fd0774e6c">&#9670;&nbsp;</a></span>GetTransactionsUpdated()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int CTxMemPool::GetTransactionsUpdated </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l00360">360</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="miner_8cpp_source.html#l00403">BitcoinMiner()</a>, and <a class="el" href="mining_8cpp_source.html#l00337">getblocktemplate()</a>.</p>
</div>
</div>
<a id="a7a5b17b8cf4560cd681ef035880e3245"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7a5b17b8cf4560cd681ef035880e3245">&#9670;&nbsp;</a></span>HasNoInputsOf()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool CTxMemPool::HasNoInputsOf </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classCTransaction.html">CTransaction</a> &amp;&#160;</td>
<td class="paramname"><em>tx</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Check that none of this transactions inputs are in the mempool, and thus the tx is not dependent on other mempool transactions to be included in a block. </p>
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l00974">974</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="validation_8cpp_source.html#l00549">AcceptToMemoryPoolWorker()</a>.</p>
</div>
</div>
<a id="ad6d9966cdeb4b6586f7186e709b4e77e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad6d9966cdeb4b6586f7186e709b4e77e">&#9670;&nbsp;</a></span>lookup()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool CTxMemPool::lookup </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classuint256.html">uint256</a>&#160;</td>
<td class="paramname"><em>hash</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classCTransaction.html">CTransaction</a> &amp;&#160;</td>
<td class="paramname"><em>result</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l00869">869</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="txmempool_8cpp_source.html#l00984">CCoinsViewMemPool::GetCoins()</a>, <a class="el" href="validation_8cpp_source.html#l01080">GetTransaction()</a>, <a class="el" href="net__processing_8cpp_source.html#l00785">ProcessGetData()</a>, and <a class="el" href="net__processing_8cpp_source.html#l01074">ProcessMessage()</a>.</p>
</div>
</div>
<a id="a1a0a00279c941051af1b74c5ebeac40d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1a0a00279c941051af1b74c5ebeac40d">&#9670;&nbsp;</a></span>PrioritiseTransaction()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void CTxMemPool::PrioritiseTransaction </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classuint256.html">uint256</a>&#160;</td>
<td class="paramname"><em>hash</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string&#160;</td>
<td class="paramname"><em>strHash</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>dPriorityDelta</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="amount_8h.html#a4eaf3a5239714d8c45b851527f7cb564">CAmount</a> &amp;&#160;</td>
<td class="paramname"><em>nFeeDelta</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Affect CreateNewBlock prioritisation of transactions </p>
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l00934">934</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="privatesend-server_8cpp_source.html#l00331">CPrivateSendServer::CommitFinalTransaction()</a>, <a class="el" href="mining_8cpp_source.html#l00279">prioritisetransaction()</a>, <a class="el" href="privatesend-server_8cpp_source.html#l00018">CPrivateSendServer::ProcessMessage()</a>, <a class="el" href="net__processing_8cpp_source.html#l01074">ProcessMessage()</a>, and <a class="el" href="privatesend-client_8cpp_source.html#l00362">CPrivateSendClient::SendDenominate()</a>.</p>
</div>
</div>
<a id="ad6142b7cd3a58dae6cdaf03551c2f989"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad6142b7cd3a58dae6cdaf03551c2f989">&#9670;&nbsp;</a></span>pruneSpent()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void CTxMemPool::pruneSpent </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classuint256.html">uint256</a> &amp;&#160;</td>
<td class="paramname"><em>hash</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classCCoins.html">CCoins</a> &amp;&#160;</td>
<td class="paramname"><em>coins</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l00347">347</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="blockchain_8cpp_source.html#l00591">gettxout()</a>, and <a class="el" href="rest_8cpp_source.html#l00403">rest_getutxos()</a>.</p>
</div>
</div>
<a id="a42fa7d41a45562d02e356f2e7708bb02"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a42fa7d41a45562d02e356f2e7708bb02">&#9670;&nbsp;</a></span>queryHashes()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void CTxMemPool::queryHashes </td>
<td>(</td>
<td class="paramtype">std::vector&lt; <a class="el" href="classuint256.html">uint256</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>vtxid</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l00859">859</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="blockchain_8cpp_source.html#l00182">mempoolToJSON()</a>, and <a class="el" href="net__processing_8cpp_source.html#l01074">ProcessMessage()</a>.</p>
</div>
</div>
<a id="a0dbbcb6a3b7e1a6c564410668c12cd4f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0dbbcb6a3b7e1a6c564410668c12cd4f">&#9670;&nbsp;</a></span>ReadFeeEstimates()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool CTxMemPool::ReadFeeEstimates </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classCAutoFile.html">CAutoFile</a> &amp;&#160;</td>
<td class="paramname"><em>filein</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l00916">916</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="init_8cpp_source.html#l00942">AppInit2()</a>.</p>
</div>
</div>
<a id="a3a497097d9d5f325a2922a3970ac9da2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3a497097d9d5f325a2922a3970ac9da2">&#9670;&nbsp;</a></span>remove()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void CTxMemPool::remove </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classCTransaction.html">CTransaction</a> &amp;&#160;</td>
<td class="paramname"><em>tx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::list&lt; <a class="el" href="classCTransaction.html">CTransaction</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>removed</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>fRecursive</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l00611">611</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="validation_8cpp_source.html#l02477">DisconnectTip()</a>.</p>
</div>
</div>
<a id="a347e70ba792d5738158536b513f56aa5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a347e70ba792d5738158536b513f56aa5">&#9670;&nbsp;</a></span>removeAddressIndex()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool CTxMemPool::removeAddressIndex </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classuint256.html">uint256</a>&#160;</td>
<td class="paramname"><em>txhash</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l00484">484</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="txmempool_8cpp_source.html#l00565">removeUnchecked()</a>.</p>
</div>
</div>
<a id="a11f1bddfbae7c03c6244db322876c0a7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a11f1bddfbae7c03c6244db322876c0a7">&#9670;&nbsp;</a></span>removeConflicts()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void CTxMemPool::removeConflicts </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classCTransaction.html">CTransaction</a> &amp;&#160;</td>
<td class="paramname"><em>tx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::list&lt; <a class="el" href="classCTransaction.html">CTransaction</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>removed</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l00685">685</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="txmempool_8cpp_source.html#l00706">removeForBlock()</a>.</p>
</div>
</div>
<a id="aea14d073b24e31251465ac3c2279ee65"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aea14d073b24e31251465ac3c2279ee65">&#9670;&nbsp;</a></span>removeForBlock()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void CTxMemPool::removeForBlock </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classCTransaction.html">CTransaction</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>vtx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>nBlockHeight</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::list&lt; <a class="el" href="classCTransaction.html">CTransaction</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>conflicts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>fCurrentEstimate</em> = <code>true</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Called when a block is connected. Removes from mempool and updates the miner fee estimator. </p>
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l00706">706</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="validation_8cpp_source.html#l02535">ConnectTip()</a>.</p>
</div>
</div>
<a id="acf12e024f4d6d5c0437227bc419c28fb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acf12e024f4d6d5c0437227bc419c28fb">&#9670;&nbsp;</a></span>removeForReorg()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void CTxMemPool::removeForReorg </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classCCoinsViewCache.html">CCoinsViewCache</a> *&#160;</td>
<td class="paramname"><em>pcoins</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>nMemPoolHeight</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>flags</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l00649">649</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="validation_8cpp_source.html#l02709">ActivateBestChainStep()</a>, and <a class="el" href="validation_8cpp_source.html#l02863">InvalidateBlock()</a>.</p>
</div>
</div>
<a id="af9da5a96517cbc52516da1552f834685"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af9da5a96517cbc52516da1552f834685">&#9670;&nbsp;</a></span>removeSpentIndex()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool CTxMemPool::removeSpentIndex </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classuint256.html">uint256</a>&#160;</td>
<td class="paramname"><em>txhash</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l00549">549</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="txmempool_8cpp_source.html#l00565">removeUnchecked()</a>.</p>
</div>
</div>
<a id="abed0125e15673d8ad9daec4309f8d513"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abed0125e15673d8ad9daec4309f8d513">&#9670;&nbsp;</a></span>RemoveStaged()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void CTxMemPool::RemoveStaged </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classCTxMemPool.html#a8da3f55d23d335261338753b22e0171d">setEntries</a> &amp;&#160;</td>
<td class="paramname"><em>stage</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Remove a set of transactions from the mempool. If a transaction is in this set, then all in-mempool descendants must also be in the set. </p>
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l01006">1006</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="validation_8cpp_source.html#l00549">AcceptToMemoryPoolWorker()</a>, <a class="el" href="txmempool_8cpp_source.html#l01014">Expire()</a>, <a class="el" href="txmempool_8cpp_source.html#l00611">remove()</a>, and <a class="el" href="txmempool_8cpp_source.html#l01116">TrimToSize()</a>.</p>
</div>
</div>
<a id="ab88e4013df24a814545aa2a142d907a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab88e4013df24a814545aa2a142d907a8">&#9670;&nbsp;</a></span>removeUnchecked()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void CTxMemPool::removeUnchecked </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classCTxMemPool.html#aa3b42beec827c813a0c4b42e50615f5a">txiter</a>&#160;</td>
<td class="paramname"><em>entry</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Before calling removeUnchecked for a given transaction, UpdateForRemoveFromMempool must be called on the entire (dependent) set of transactions being removed at the same time. We use each <a class="el" href="classCTxMemPoolEntry.html">CTxMemPoolEntry</a>'s setMemPoolParents in order to walk ancestors of a given transaction that is removed, so we can't remove intermediate transactions in a chain before we've updated all the state for the removal. </p>
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l00565">565</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="txmempool_8cpp_source.html#l01006">RemoveStaged()</a>.</p>
</div>
</div>
<a id="a38b06f21a5158f26024e9f311165d459"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a38b06f21a5158f26024e9f311165d459">&#9670;&nbsp;</a></span>setSanityCheck()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void CTxMemPool::setSanityCheck </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>dFrequency</em> = <code>1.0</code></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8h_source.html#l00459">459</a> of file <a class="el" href="txmempool_8h_source.html">txmempool.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="init_8cpp_source.html#l00942">AppInit2()</a>.</p>
</div>
</div>
<a id="a867f7b452141770f3b2e8697fb3513d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a867f7b452141770f3b2e8697fb3513d8">&#9670;&nbsp;</a></span>size()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">unsigned long CTxMemPool::size </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8h_source.html#l00551">551</a> of file <a class="el" href="txmempool_8h_source.html">txmempool.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="clientmodel_8cpp_source.html#l00150">ClientModel::getMempoolSize()</a>, <a class="el" href="mining_8cpp_source.html#l00235">getmininginfo()</a>, <a class="el" href="blockchain_8cpp_source.html#l00948">mempoolInfoToJSON()</a>, and <a class="el" href="net__processing_8cpp_source.html#l01074">ProcessMessage()</a>.</p>
</div>
</div>
<a id="a68c3b6c23f83b77a45616525c63a0a30"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a68c3b6c23f83b77a45616525c63a0a30">&#9670;&nbsp;</a></span>trackPackageRemoved()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void CTxMemPool::trackPackageRemoved </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classCFeeRate.html">CFeeRate</a> &amp;&#160;</td>
<td class="paramname"><em>rate</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>minimum fee to get into the pool, decreases exponentially </p>
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l01108">1108</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="txmempool_8cpp_source.html#l01116">TrimToSize()</a>.</p>
</div>
</div>
<a id="a75ada1d7bb5d96989cc73ee4a0a158d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a75ada1d7bb5d96989cc73ee4a0a158d8">&#9670;&nbsp;</a></span>TrimToSize()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void CTxMemPool::TrimToSize </td>
<td>(</td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>sizelimit</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="classuint256.html">uint256</a> &gt; *&#160;</td>
<td class="paramname"><em>pvNoSpendsRemaining</em> = <code>NULL</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Remove transactions from the mempool until its dynamic size is &lt;= sizelimit. pvNoSpendsRemaining, if set, will be populated with the list of transactions which are not in mempool which no longer have any spends in this mempool. </p>
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l01116">1116</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="validation_8cpp_source.html#l00529">LimitMempoolSize()</a>.</p>
</div>
</div>
<a id="a1e5540275b4a83746d491a5741ec85be"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1e5540275b4a83746d491a5741ec85be">&#9670;&nbsp;</a></span>UpdateAncestorsOf()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void CTxMemPool::UpdateAncestorsOf </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>add</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classCTxMemPool.html#aa3b42beec827c813a0c4b42e50615f5a">txiter</a>&#160;</td>
<td class="paramname"><em>hash</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classCTxMemPool.html#a8da3f55d23d335261338753b22e0171d">setEntries</a> &amp;&#160;</td>
<td class="paramname"><em>setAncestors</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Update ancestors of hash to add/remove it as a descendant transaction. </p>
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l00245">245</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="txmempool_8cpp_source.html#l00372">addUnchecked()</a>, and <a class="el" href="txmempool_8cpp_source.html#l00268">UpdateForRemoveFromMempool()</a>.</p>
</div>
</div>
<a id="a93ee11ea2adc6021d5bf0842516222b4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a93ee11ea2adc6021d5bf0842516222b4">&#9670;&nbsp;</a></span>UpdateChild()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void CTxMemPool::UpdateChild </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classCTxMemPool.html#aa3b42beec827c813a0c4b42e50615f5a">txiter</a>&#160;</td>
<td class="paramname"><em>entry</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classCTxMemPool.html#aa3b42beec827c813a0c4b42e50615f5a">txiter</a>&#160;</td>
<td class="paramname"><em>child</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>add</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l01040">1040</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="txmempool_8cpp_source.html#l00245">UpdateAncestorsOf()</a>, and <a class="el" href="txmempool_8cpp_source.html#l00137">UpdateTransactionsFromBlock()</a>.</p>
</div>
</div>
<a id="a87623d672631b33a26e38810fa2d0006"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a87623d672631b33a26e38810fa2d0006">&#9670;&nbsp;</a></span>UpdateChildrenForRemoval()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void CTxMemPool::UpdateChildrenForRemoval </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classCTxMemPool.html#aa3b42beec827c813a0c4b42e50615f5a">txiter</a>&#160;</td>
<td class="paramname"><em>entry</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Sever link between specified transaction and direct children. </p>
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l00260">260</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="txmempool_8cpp_source.html#l00268">UpdateForRemoveFromMempool()</a>.</p>
</div>
</div>
<a id="aca7e15dfa82ccc9ab190b7c45d2c8d47"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aca7e15dfa82ccc9ab190b7c45d2c8d47">&#9670;&nbsp;</a></span>UpdateForDescendants()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool CTxMemPool::UpdateForDescendants </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classCTxMemPool.html#aa3b42beec827c813a0c4b42e50615f5a">txiter</a>&#160;</td>
<td class="paramname"><em>updateIt</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>maxDescendantsToVisit</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classCTxMemPool.html#ab8c5d7b49c7e2576e7da2cb604fc96dc">cacheMap</a> &amp;&#160;</td>
<td class="paramname"><em>cachedDescendants</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::set&lt; <a class="el" href="classuint256.html">uint256</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>setExclude</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>UpdateForDescendants is used by UpdateTransactionsFromBlock to update the descendants for a single transaction that has been added to the mempool but may have child transactions in the mempool, eg during a chain reorg. setExclude is the set of descendant transactions in the mempool that must not be accounted for (because any descendants in setExclude were added to the mempool after the transaction being updated and hence their state is already reflected in the parent state).</p>
<p>If updating an entry requires looking at more than maxDescendantsToVisit transactions, outside of the ones in setExclude, then give up.</p>
<p>cachedDescendants will be updated with the descendants of the transaction being updated, so that future invocations don't need to walk the same transaction again, if encountered in another transaction chain. </p>
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l00073">73</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="txmempool_8cpp_source.html#l00137">UpdateTransactionsFromBlock()</a>.</p>
</div>
</div>
<a id="a198883c2a8c25d20aea8c2d197cccf53"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a198883c2a8c25d20aea8c2d197cccf53">&#9670;&nbsp;</a></span>UpdateForRemoveFromMempool()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void CTxMemPool::UpdateForRemoveFromMempool </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classCTxMemPool.html#a8da3f55d23d335261338753b22e0171d">setEntries</a> &amp;&#160;</td>
<td class="paramname"><em>entriesToRemove</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>For each transaction being removed, update ancestors and any direct children. </p>
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l00268">268</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="txmempool_8cpp_source.html#l01006">RemoveStaged()</a>.</p>
</div>
</div>
<a id="a5e70f24dbd2361ec933bc4194e61ff38"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5e70f24dbd2361ec933bc4194e61ff38">&#9670;&nbsp;</a></span>UpdateMinFee()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void CTxMemPool::UpdateMinFee </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classCFeeRate.html">CFeeRate</a> &amp;&#160;</td>
<td class="paramname"><em>_minReasonableRelayFee</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l01100">1100</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="dsnotificationinterface_8cpp_source.html#l00030">CDSNotificationInterface::UpdatedBlockTip()</a>.</p>
</div>
</div>
<a id="ae6cc140209f782be93c522048595b797"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae6cc140209f782be93c522048595b797">&#9670;&nbsp;</a></span>UpdateParent()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void CTxMemPool::UpdateParent </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classCTxMemPool.html#aa3b42beec827c813a0c4b42e50615f5a">txiter</a>&#160;</td>
<td class="paramname"><em>entry</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classCTxMemPool.html#aa3b42beec827c813a0c4b42e50615f5a">txiter</a>&#160;</td>
<td class="paramname"><em>parent</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>add</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l01050">1050</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="txmempool_8cpp_source.html#l00372">addUnchecked()</a>, <a class="el" href="txmempool_8cpp_source.html#l00260">UpdateChildrenForRemoval()</a>, and <a class="el" href="txmempool_8cpp_source.html#l00137">UpdateTransactionsFromBlock()</a>.</p>
</div>
</div>
<a id="a809f5ae70a2fabbf5bd707345ef671e9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a809f5ae70a2fabbf5bd707345ef671e9">&#9670;&nbsp;</a></span>UpdateTransactionsFromBlock()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void CTxMemPool::UpdateTransactionsFromBlock </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classuint256.html">uint256</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>hashesToUpdate</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>When adding transactions from a disconnected block back to the mempool, new mempool entries may have children in the mempool (which is generally not the case when otherwise adding transactions). <a class="el" href="classCTxMemPool.html#a809f5ae70a2fabbf5bd707345ef671e9">UpdateTransactionsFromBlock()</a> will find child transactions and update the descendant state for each transaction in hashesToUpdate (excluding any child transactions present in hashesToUpdate, which are already accounted for). Note: hashesToUpdate should be the set of transactions from the disconnected block that have been accepted back into the mempool. </p>
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l00137">137</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="validation_8cpp_source.html#l02477">DisconnectTip()</a>.</p>
</div>
</div>
<a id="a251f595b6527be005634574ce5d01f70"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a251f595b6527be005634574ce5d01f70">&#9670;&nbsp;</a></span>WriteFeeEstimates()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool CTxMemPool::WriteFeeEstimates </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classCAutoFile.html">CAutoFile</a> &amp;&#160;</td>
<td class="paramname"><em>fileout</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Write/Read estimates to disk </p>
<p class="definition">Definition at line <a class="el" href="txmempool_8cpp_source.html#l00900">900</a> of file <a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="init_8cpp_source.html#l00210">PrepareShutdown()</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="af1878f46ec4c9609ea0b6c5bd96e2541"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af1878f46ec4c9609ea0b6c5bd96e2541">&#9670;&nbsp;</a></span>blockSinceLastRollingFeeBump</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool CTxMemPool::blockSinceLastRollingFeeBump</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">mutable</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8h_source.html#l00370">370</a> of file <a class="el" href="txmempool_8h_source.html">txmempool.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="txmempool_8cpp_source.html#l00732">_clear()</a>, <a class="el" href="txmempool_8cpp_source.html#l01076">GetMinFee()</a>, <a class="el" href="txmempool_8cpp_source.html#l00706">removeForBlock()</a>, and <a class="el" href="txmempool_8cpp_source.html#l01108">trackPackageRemoved()</a>.</p>
</div>
</div>
<a id="a9cf8ed535f89c0a1332af6c15e4a2aa9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9cf8ed535f89c0a1332af6c15e4a2aa9">&#9670;&nbsp;</a></span>cachedInnerUsage</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint64_t CTxMemPool::cachedInnerUsage</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>sum of all mempool tx' byte sizes </p>
<p class="definition">Definition at line <a class="el" href="txmempool_8h_source.html#l00365">365</a> of file <a class="el" href="txmempool_8h_source.html">txmempool.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="txmempool_8cpp_source.html#l00732">_clear()</a>, <a class="el" href="txmempool_8cpp_source.html#l00372">addUnchecked()</a>, <a class="el" href="txmempool_8cpp_source.html#l00751">check()</a>, <a class="el" href="txmempool_8cpp_source.html#l01000">DynamicMemoryUsage()</a>, <a class="el" href="txmempool_8cpp_source.html#l00565">removeUnchecked()</a>, <a class="el" href="txmempool_8cpp_source.html#l01040">UpdateChild()</a>, and <a class="el" href="txmempool_8cpp_source.html#l01050">UpdateParent()</a>.</p>
</div>
</div>
<a id="ac7ee8c06837c7d2688e2d7e3d071bdbb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac7ee8c06837c7d2688e2d7e3d071bdbb">&#9670;&nbsp;</a></span>cs</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="sync_8h.html#a37a4692b2d517f2843655ca11af7668a">CCriticalSection</a> CTxMemPool::cs</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">mutable</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8h_source.html#l00402">402</a> of file <a class="el" href="txmempool_8h_source.html">txmempool.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="validation_8cpp_source.html#l00549">AcceptToMemoryPoolWorker()</a>, <a class="el" href="txmempool_8cpp_source.html#l00426">addAddressIndex()</a>, <a class="el" href="txmempool_8cpp_source.html#l00500">addSpentIndex()</a>, <a class="el" href="txmempool_8cpp_source.html#l00366">AddTransactionsUpdated()</a>, <a class="el" href="txmempool_8cpp_source.html#l00372">addUnchecked()</a>, <a class="el" href="txmempool_8cpp_source.html#l00957">ApplyDeltas()</a>, <a class="el" href="txmempool_8cpp_source.html#l00751">check()</a>, <a class="el" href="validation_8cpp_source.html#l00346">CheckSequenceLocks()</a>, <a class="el" href="txmempool_8cpp_source.html#l00745">clear()</a>, <a class="el" href="txmempool_8cpp_source.html#l00968">ClearPrioritisation()</a>, <a class="el" href="miner_8cpp_source.html#l00077">CreateNewBlock()</a>, <a class="el" href="txmempool_8cpp_source.html#l01000">DynamicMemoryUsage()</a>, <a class="el" href="txmempool_8cpp_source.html#l00878">estimateFee()</a>, <a class="el" href="txmempool_8cpp_source.html#l00888">estimatePriority()</a>, <a class="el" href="txmempool_8cpp_source.html#l00883">estimateSmartFee()</a>, <a class="el" href="txmempool_8cpp_source.html#l00893">estimateSmartPriority()</a>, <a class="el" href="txmempool_8h_source.html#l00563">exists()</a>, <a class="el" href="txmempool_8cpp_source.html#l01014">Expire()</a>, <a class="el" href="txmempool_8cpp_source.html#l00470">getAddressIndex()</a>, <a class="el" href="txmempool_8cpp_source.html#l01076">GetMinFee()</a>, <a class="el" href="txmempool_8cpp_source.html#l00536">getSpentIndex()</a>, <a class="el" href="txmempool_8h_source.html#l00557">GetTotalTxSize()</a>, <a class="el" href="txmempool_8cpp_source.html#l00360">GetTransactionsUpdated()</a>, <a class="el" href="blockchain_8cpp_source.html#l00591">gettxout()</a>, <a class="el" href="wallet_8cpp_source.html#l02032">CWalletTx::InMempool()</a>, <a class="el" href="rbf_8cpp_source.html#l00017">IsRBFOptIn()</a>, <a class="el" href="txmempool_8cpp_source.html#l00869">lookup()</a>, <a class="el" href="blockchain_8cpp_source.html#l00182">mempoolToJSON()</a>, <a class="el" href="txmempool_8cpp_source.html#l00934">PrioritiseTransaction()</a>, <a class="el" href="txmempool_8cpp_source.html#l00347">pruneSpent()</a>, <a class="el" href="txmempool_8cpp_source.html#l00859">queryHashes()</a>, <a class="el" href="wallet_8cpp_source.html#l01728">CWallet::ReacceptWalletTransactions()</a>, <a class="el" href="txmempool_8cpp_source.html#l00916">ReadFeeEstimates()</a>, <a class="el" href="txmempool_8cpp_source.html#l00611">remove()</a>, <a class="el" href="txmempool_8cpp_source.html#l00484">removeAddressIndex()</a>, <a class="el" href="txmempool_8cpp_source.html#l00685">removeConflicts()</a>, <a class="el" href="txmempool_8cpp_source.html#l00706">removeForBlock()</a>, <a class="el" href="txmempool_8cpp_source.html#l00649">removeForReorg()</a>, <a class="el" href="txmempool_8cpp_source.html#l00549">removeSpentIndex()</a>, <a class="el" href="txmempool_8cpp_source.html#l01006">RemoveStaged()</a>, <a class="el" href="instantx_8cpp_source.html#l00539">CInstantSend::ResolveConflicts()</a>, <a class="el" href="rest_8cpp_source.html#l00403">rest_getutxos()</a>, <a class="el" href="rawtransaction_8cpp_source.html#l00588">signrawtransaction()</a>, <a class="el" href="txmempool_8h_source.html#l00551">size()</a>, <a class="el" href="txmempool_8cpp_source.html#l01108">trackPackageRemoved()</a>, <a class="el" href="txmempool_8cpp_source.html#l01116">TrimToSize()</a>, <a class="el" href="txmempool_8cpp_source.html#l01100">UpdateMinFee()</a>, <a class="el" href="txmempool_8cpp_source.html#l00137">UpdateTransactionsFromBlock()</a>, <a class="el" href="rpcwallet_8cpp_source.html#l00060">WalletTxToJSON()</a>, and <a class="el" href="txmempool_8cpp_source.html#l00900">WriteFeeEstimates()</a>.</p>
</div>
</div>
<a id="a606251440078b03cee0d4568974e5ef4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a606251440078b03cee0d4568974e5ef4">&#9670;&nbsp;</a></span>lastRollingFeeUpdate</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int64_t CTxMemPool::lastRollingFeeUpdate</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">mutable</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8h_source.html#l00369">369</a> of file <a class="el" href="txmempool_8h_source.html">txmempool.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="txmempool_8cpp_source.html#l00732">_clear()</a>, <a class="el" href="txmempool_8cpp_source.html#l01076">GetMinFee()</a>, and <a class="el" href="txmempool_8cpp_source.html#l00706">removeForBlock()</a>.</p>
</div>
</div>
<a id="a0d073dc0cc608d0c466d2a077c713ccc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0d073dc0cc608d0c466d2a077c713ccc">&#9670;&nbsp;</a></span>mapAddress</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classCTxMemPool.html#a0b3346f8adcc9ab6a8bd6992938add1c">addressDeltaMap</a> CTxMemPool::mapAddress</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8h_source.html#l00426">426</a> of file <a class="el" href="txmempool_8h_source.html">txmempool.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="txmempool_8cpp_source.html#l00426">addAddressIndex()</a>, <a class="el" href="txmempool_8cpp_source.html#l00470">getAddressIndex()</a>, and <a class="el" href="txmempool_8cpp_source.html#l00484">removeAddressIndex()</a>.</p>
</div>
</div>
<a id="a7f43d13d3305151113b643487a4cd597"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f43d13d3305151113b643487a4cd597">&#9670;&nbsp;</a></span>mapAddressInserted</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classCTxMemPool.html#a958fa4082c4a392b8ced05b42283d2d9">addressDeltaMapInserted</a> CTxMemPool::mapAddressInserted</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8h_source.html#l00429">429</a> of file <a class="el" href="txmempool_8h_source.html">txmempool.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="txmempool_8cpp_source.html#l00426">addAddressIndex()</a>, and <a class="el" href="txmempool_8cpp_source.html#l00484">removeAddressIndex()</a>.</p>
</div>
</div>
<a id="a341709e31a39ce7a7a951a85c775c589"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a341709e31a39ce7a7a951a85c775c589">&#9670;&nbsp;</a></span>mapDeltas</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::map&lt;<a class="el" href="classuint256.html">uint256</a>, std::pair&lt;double, <a class="el" href="amount_8h.html#a4eaf3a5239714d8c45b851527f7cb564">CAmount</a>&gt; &gt; CTxMemPool::mapDeltas</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8h_source.html#l00442">442</a> of file <a class="el" href="txmempool_8h_source.html">txmempool.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="txmempool_8cpp_source.html#l00372">addUnchecked()</a>, <a class="el" href="txmempool_8cpp_source.html#l00957">ApplyDeltas()</a>, <a class="el" href="txmempool_8cpp_source.html#l00968">ClearPrioritisation()</a>, <a class="el" href="txmempool_8cpp_source.html#l01000">DynamicMemoryUsage()</a>, and <a class="el" href="txmempool_8cpp_source.html#l00934">PrioritiseTransaction()</a>.</p>
</div>
</div>
<a id="a09c360447dc81cbfe684246f40f5e889"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a09c360447dc81cbfe684246f40f5e889">&#9670;&nbsp;</a></span>mapLinks</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classCTxMemPool.html#af9e550dc645abb4ee484e6874a09b818">txlinksMap</a> CTxMemPool::mapLinks</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8h_source.html#l00423">423</a> of file <a class="el" href="txmempool_8h_source.html">txmempool.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="txmempool_8cpp_source.html#l00732">_clear()</a>, <a class="el" href="txmempool_8cpp_source.html#l00372">addUnchecked()</a>, <a class="el" href="txmempool_8cpp_source.html#l00751">check()</a>, <a class="el" href="txmempool_8cpp_source.html#l01000">DynamicMemoryUsage()</a>, <a class="el" href="txmempool_8cpp_source.html#l01068">GetMemPoolChildren()</a>, <a class="el" href="txmempool_8cpp_source.html#l01060">GetMemPoolParents()</a>, <a class="el" href="txmempool_8cpp_source.html#l00565">removeUnchecked()</a>, <a class="el" href="txmempool_8cpp_source.html#l01040">UpdateChild()</a>, and <a class="el" href="txmempool_8cpp_source.html#l01050">UpdateParent()</a>.</p>
</div>
</div>
<a id="aae6f1162f0b2e42b369971f32a9f71e8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aae6f1162f0b2e42b369971f32a9f71e8">&#9670;&nbsp;</a></span>mapNextTx</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::map&lt;<a class="el" href="classCOutPoint.html">COutPoint</a>, <a class="el" href="classCInPoint.html">CInPoint</a>&gt; CTxMemPool::mapNextTx</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8h_source.html#l00441">441</a> of file <a class="el" href="txmempool_8h_source.html">txmempool.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="txmempool_8cpp_source.html#l00732">_clear()</a>, <a class="el" href="validation_8cpp_source.html#l00549">AcceptToMemoryPoolWorker()</a>, <a class="el" href="txmempool_8cpp_source.html#l00372">addUnchecked()</a>, <a class="el" href="txmempool_8cpp_source.html#l00751">check()</a>, <a class="el" href="txmempool_8cpp_source.html#l01000">DynamicMemoryUsage()</a>, <a class="el" href="txmempool_8cpp_source.html#l00347">pruneSpent()</a>, <a class="el" href="txmempool_8cpp_source.html#l00611">remove()</a>, <a class="el" href="txmempool_8cpp_source.html#l00685">removeConflicts()</a>, <a class="el" href="txmempool_8cpp_source.html#l00565">removeUnchecked()</a>, <a class="el" href="instantx_8cpp_source.html#l00539">CInstantSend::ResolveConflicts()</a>, <a class="el" href="txmempool_8cpp_source.html#l01116">TrimToSize()</a>, and <a class="el" href="txmempool_8cpp_source.html#l00137">UpdateTransactionsFromBlock()</a>.</p>
</div>
</div>
<a id="a0a846825f206a8ea2ff6d5431780c882"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0a846825f206a8ea2ff6d5431780c882">&#9670;&nbsp;</a></span>mapSpent</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classCTxMemPool.html#a3db7ce7f89e1b794887507ad4235d865">mapSpentIndex</a> CTxMemPool::mapSpent</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8h_source.html#l00432">432</a> of file <a class="el" href="txmempool_8h_source.html">txmempool.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="txmempool_8cpp_source.html#l00500">addSpentIndex()</a>, <a class="el" href="txmempool_8cpp_source.html#l00536">getSpentIndex()</a>, and <a class="el" href="txmempool_8cpp_source.html#l00549">removeSpentIndex()</a>.</p>
</div>
</div>
<a id="ab59b98a493b962027fdf71072d57a443"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab59b98a493b962027fdf71072d57a443">&#9670;&nbsp;</a></span>mapSpentInserted</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classCTxMemPool.html#a7baee441f601429b6d05701006624f4b">mapSpentIndexInserted</a> CTxMemPool::mapSpentInserted</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8h_source.html#l00435">435</a> of file <a class="el" href="txmempool_8h_source.html">txmempool.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="txmempool_8cpp_source.html#l00500">addSpentIndex()</a>, and <a class="el" href="txmempool_8cpp_source.html#l00549">removeSpentIndex()</a>.</p>
</div>
</div>
<a id="acd27558d400055a08b970bd2a0d9c953"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acd27558d400055a08b970bd2a0d9c953">&#9670;&nbsp;</a></span>mapTx</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classCTxMemPool.html#aea53c094f11c906fdcf5c0238c481328">indexed_transaction_set</a> CTxMemPool::mapTx</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8h_source.html#l00403">403</a> of file <a class="el" href="txmempool_8h_source.html">txmempool.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="txmempool_8cpp_source.html#l00732">_clear()</a>, <a class="el" href="validation_8cpp_source.html#l00549">AcceptToMemoryPoolWorker()</a>, <a class="el" href="txmempool_8cpp_source.html#l00372">addUnchecked()</a>, <a class="el" href="txmempool_8cpp_source.html#l00183">CalculateMemPoolAncestors()</a>, <a class="el" href="txmempool_8cpp_source.html#l00751">check()</a>, <a class="el" href="miner_8cpp_source.html#l00077">CreateNewBlock()</a>, <a class="el" href="txmempool_8cpp_source.html#l01000">DynamicMemoryUsage()</a>, <a class="el" href="txmempool_8h_source.html#l00563">exists()</a>, <a class="el" href="txmempool_8cpp_source.html#l01014">Expire()</a>, <a class="el" href="txmempool_8cpp_source.html#l01068">GetMemPoolChildren()</a>, <a class="el" href="txmempool_8cpp_source.html#l01060">GetMemPoolParents()</a>, <a class="el" href="txmempool_8cpp_source.html#l00869">lookup()</a>, <a class="el" href="blockchain_8cpp_source.html#l00182">mempoolToJSON()</a>, <a class="el" href="txmempool_8cpp_source.html#l00934">PrioritiseTransaction()</a>, <a class="el" href="txmempool_8cpp_source.html#l00859">queryHashes()</a>, <a class="el" href="txmempool_8cpp_source.html#l00611">remove()</a>, <a class="el" href="txmempool_8cpp_source.html#l00706">removeForBlock()</a>, <a class="el" href="txmempool_8cpp_source.html#l00649">removeForReorg()</a>, <a class="el" href="txmempool_8cpp_source.html#l00565">removeUnchecked()</a>, <a class="el" href="txmempool_8h_source.html#l00551">size()</a>, <a class="el" href="txmempool_8cpp_source.html#l01116">TrimToSize()</a>, <a class="el" href="txmempool_8cpp_source.html#l00245">UpdateAncestorsOf()</a>, <a class="el" href="txmempool_8cpp_source.html#l00073">UpdateForDescendants()</a>, <a class="el" href="txmempool_8cpp_source.html#l00137">UpdateTransactionsFromBlock()</a>, and <a class="el" href="rpcwallet_8cpp_source.html#l00060">WalletTxToJSON()</a>.</p>
</div>
</div>
<a id="af4d48ac0d6d62e7044ba21a45709f743"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af4d48ac0d6d62e7044ba21a45709f743">&#9670;&nbsp;</a></span>minerPolicyEstimator</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classCBlockPolicyEstimator.html">CBlockPolicyEstimator</a>* CTxMemPool::minerPolicyEstimator</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8h_source.html#l00362">362</a> of file <a class="el" href="txmempool_8h_source.html">txmempool.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="txmempool_8cpp_source.html#l00372">addUnchecked()</a>, <a class="el" href="txmempool_8cpp_source.html#l00328">CTxMemPool()</a>, <a class="el" href="txmempool_8cpp_source.html#l00878">estimateFee()</a>, <a class="el" href="txmempool_8cpp_source.html#l00888">estimatePriority()</a>, <a class="el" href="txmempool_8cpp_source.html#l00883">estimateSmartFee()</a>, <a class="el" href="txmempool_8cpp_source.html#l00893">estimateSmartPriority()</a>, <a class="el" href="txmempool_8cpp_source.html#l00916">ReadFeeEstimates()</a>, <a class="el" href="txmempool_8cpp_source.html#l00706">removeForBlock()</a>, <a class="el" href="txmempool_8cpp_source.html#l00565">removeUnchecked()</a>, <a class="el" href="txmempool_8cpp_source.html#l01100">UpdateMinFee()</a>, <a class="el" href="txmempool_8cpp_source.html#l00900">WriteFeeEstimates()</a>, and <a class="el" href="txmempool_8cpp_source.html#l00342">~CTxMemPool()</a>.</p>
</div>
</div>
<a id="a721ce90d5b34cbe28705b969e4e984fe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a721ce90d5b34cbe28705b969e4e984fe">&#9670;&nbsp;</a></span>minReasonableRelayFee</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classCFeeRate.html">CFeeRate</a> CTxMemPool::minReasonableRelayFee</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>sum of dynamic memory usage of all the map elements (NOT the maps themselves) </p>
<p class="definition">Definition at line <a class="el" href="txmempool_8h_source.html#l00367">367</a> of file <a class="el" href="txmempool_8h_source.html">txmempool.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="txmempool_8cpp_source.html#l00328">CTxMemPool()</a>, <a class="el" href="txmempool_8cpp_source.html#l01076">GetMinFee()</a>, <a class="el" href="txmempool_8cpp_source.html#l01116">TrimToSize()</a>, and <a class="el" href="txmempool_8cpp_source.html#l01100">UpdateMinFee()</a>.</p>
</div>
</div>
<a id="a2bedc6fa86cb206e0a3077b29d14aee0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2bedc6fa86cb206e0a3077b29d14aee0">&#9670;&nbsp;</a></span>nCheckFrequency</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint32_t CTxMemPool::nCheckFrequency</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8h_source.html#l00360">360</a> of file <a class="el" href="txmempool_8h_source.html">txmempool.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="txmempool_8cpp_source.html#l00751">check()</a>, <a class="el" href="txmempool_8cpp_source.html#l00328">CTxMemPool()</a>, <a class="el" href="txmempool_8cpp_source.html#l00649">removeForReorg()</a>, and <a class="el" href="txmempool_8h_source.html#l00459">setSanityCheck()</a>.</p>
</div>
</div>
<a id="a230bbfe440e222787d8d94a1aaef73d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a230bbfe440e222787d8d94a1aaef73d4">&#9670;&nbsp;</a></span>nTransactionsUpdated</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">unsigned int CTxMemPool::nTransactionsUpdated</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Value n means that n times in 2^32 we check. </p>
<p class="definition">Definition at line <a class="el" href="txmempool_8h_source.html#l00361">361</a> of file <a class="el" href="txmempool_8h_source.html">txmempool.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="txmempool_8cpp_source.html#l00732">_clear()</a>, <a class="el" href="txmempool_8cpp_source.html#l00366">AddTransactionsUpdated()</a>, <a class="el" href="txmempool_8cpp_source.html#l00372">addUnchecked()</a>, <a class="el" href="txmempool_8cpp_source.html#l00360">GetTransactionsUpdated()</a>, and <a class="el" href="txmempool_8cpp_source.html#l00565">removeUnchecked()</a>.</p>
</div>
</div>
<a id="a8ba840e58bc02d95adad746491960dcd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8ba840e58bc02d95adad746491960dcd">&#9670;&nbsp;</a></span>ROLLING_FEE_HALFLIFE</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const int CTxMemPool::ROLLING_FEE_HALFLIFE = 60 * 60 * 12</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8h_source.html#l00377">377</a> of file <a class="el" href="txmempool_8h_source.html">txmempool.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="txmempool_8cpp_source.html#l01076">GetMinFee()</a>.</p>
</div>
</div>
<a id="a3ceb50a47dff1a60d36d036f54d239c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3ceb50a47dff1a60d36d036f54d239c5">&#9670;&nbsp;</a></span>rollingMinimumFeeRate</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">double CTxMemPool::rollingMinimumFeeRate</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">mutable</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8h_source.html#l00371">371</a> of file <a class="el" href="txmempool_8h_source.html">txmempool.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="txmempool_8cpp_source.html#l00732">_clear()</a>, <a class="el" href="txmempool_8cpp_source.html#l01076">GetMinFee()</a>, and <a class="el" href="txmempool_8cpp_source.html#l01108">trackPackageRemoved()</a>.</p>
</div>
</div>
<a id="ac59656df749b33e9eb667a6850f36b7b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac59656df749b33e9eb667a6850f36b7b">&#9670;&nbsp;</a></span>totalTxSize</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint64_t CTxMemPool::totalTxSize</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="txmempool_8h_source.html#l00364">364</a> of file <a class="el" href="txmempool_8h_source.html">txmempool.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="txmempool_8cpp_source.html#l00732">_clear()</a>, <a class="el" href="txmempool_8cpp_source.html#l00372">addUnchecked()</a>, <a class="el" href="txmempool_8cpp_source.html#l00751">check()</a>, <a class="el" href="txmempool_8h_source.html#l00557">GetTotalTxSize()</a>, and <a class="el" href="txmempool_8cpp_source.html#l00565">removeUnchecked()</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>src/<a class="el" href="txmempool_8h_source.html">txmempool.h</a></li>
<li>src/<a class="el" href="txmempool_8cpp_source.html">txmempool.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="classCTxMemPool.html">CTxMemPool</a></li>
<li class="footer">Generated on Thu Dec 14 2017 13:15:13 for Dash Core by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
</ul>
</div>
</body>
</html>