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

383 lines
17 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: smartfees Namespace 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('namespacesmartfees.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="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle">
<div class="title">smartfees Namespace Reference</div> </div>
</div><!--header-->
<div class="contents">
<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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmartfees_1_1DecimalEncoder.html">DecimalEncoder</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmartfees_1_1EstimateFeeTest.html">EstimateFeeTest</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="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ae9dcb2bd8269740a62a65dd3ebd1f3d8"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacesmartfees.html#ae9dcb2bd8269740a62a65dd3ebd1f3d8">swap_outputs_in_rawtx</a> (rawtx, outputs, inputnum)</td></tr>
<tr class="separator:ae9dcb2bd8269740a62a65dd3ebd1f3d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5f204405afc52e283a9cbf8142d9f8e"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacesmartfees.html#ac5f204405afc52e283a9cbf8142d9f8e">small_txpuzzle_randfee</a> (from_node, conflist, unconflist, amount, min_fee, fee_increment)</td></tr>
<tr class="separator:ac5f204405afc52e283a9cbf8142d9f8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab04aab9bf2b8bcd5cb6f8a02b5f6d523"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacesmartfees.html#ab04aab9bf2b8bcd5cb6f8a02b5f6d523">split_inputs</a> (from_node, txins, txouts, initial_split=False)</td></tr>
<tr class="separator:ab04aab9bf2b8bcd5cb6f8a02b5f6d523"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b2c13a4e712459ac15f99e967a7052c"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacesmartfees.html#a7b2c13a4e712459ac15f99e967a7052c">check_estimates</a> (node, fees_seen, max_invalid, print_estimates=True)</td></tr>
<tr class="separator:a7b2c13a4e712459ac15f99e967a7052c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:aef93cd577f95432b3d9c384bf1888fdb"><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacesmartfees.html#aef93cd577f95432b3d9c384bf1888fdb">P2SH_1</a> = &quot;8kctg1WWKdoLveifyNnDYtRAqBPpqgL8z2&quot;</td></tr>
<tr class="separator:aef93cd577f95432b3d9c384bf1888fdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a742ffde42ac785506364c215e930dfa0"><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacesmartfees.html#a742ffde42ac785506364c215e930dfa0">P2SH_2</a> = &quot;8xp4fcNB8rz9UbZC47tv6eui1ZSPMd3iYT&quot;</td></tr>
<tr class="separator:a742ffde42ac785506364c215e930dfa0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7369254de537c5571b2ae1b3519b790a"><td class="memItemLeft" align="right" valign="top">list&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacesmartfees.html#a7369254de537c5571b2ae1b3519b790a">SCRIPT_SIG</a> = [&quot;0451025175&quot;, &quot;0451025275&quot;]</td></tr>
<tr class="separator:a7369254de537c5571b2ae1b3519b790a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="a7b2c13a4e712459ac15f99e967a7052c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7b2c13a4e712459ac15f99e967a7052c">&#9670;&nbsp;</a></span>check_estimates()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">def smartfees.check_estimates </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>node</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>fees_seen</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>max_invalid</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>print_estimates</em> = <code>True</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<pre class="fragment">This function calls estimatefee and verifies that the estimates
meet certain invariants.
</pre>
<p class="definition">Definition at line <a class="el" href="smartfees_8py_source.html#l00119">119</a> of file <a class="el" href="smartfees_8py_source.html">smartfees.py</a>.</p>
</div>
</div>
<a id="ac5f204405afc52e283a9cbf8142d9f8e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac5f204405afc52e283a9cbf8142d9f8e">&#9670;&nbsp;</a></span>small_txpuzzle_randfee()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">def smartfees.small_txpuzzle_randfee </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>from_node</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>conflist</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>unconflist</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>amount</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>min_fee</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>fee_increment</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<pre class="fragment">Create and send a transaction with a random fee.
The transaction pays to a trivial P2SH script, and assumes that its inputs
are of the same form.
The function takes a list of confirmed outputs and unconfirmed outputs
and attempts to use the confirmed list first for its inputs.
It adds the newly created outputs to the unconfirmed list.
Returns (raw transaction, fee)
</pre>
<p class="definition">Definition at line <a class="el" href="smartfees_8py_source.html#l00043">43</a> of file <a class="el" href="smartfees_8py_source.html">smartfees.py</a>.</p>
<p class="reference">Referenced by <a class="el" href="smartfees_8py_source.html#l00231">smartfees.EstimateFeeTest.transact_and_mine()</a>.</p>
</div>
</div>
<a id="ab04aab9bf2b8bcd5cb6f8a02b5f6d523"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab04aab9bf2b8bcd5cb6f8a02b5f6d523">&#9670;&nbsp;</a></span>split_inputs()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">def smartfees.split_inputs </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>from_node</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>txins</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>txouts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>initial_split</em> = <code>False</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<pre class="fragment">We need to generate a lot of very small inputs so we can generate a ton of transactions
and they will have low priority.
This function takes an input from txins, and creates and sends a transaction
which splits the value into 2 outputs which are appended to txouts.
</pre>
<p class="definition">Definition at line <a class="el" href="smartfees_8py_source.html#l00094">94</a> of file <a class="el" href="smartfees_8py_source.html">smartfees.py</a>.</p>
</div>
</div>
<a id="ae9dcb2bd8269740a62a65dd3ebd1f3d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae9dcb2bd8269740a62a65dd3ebd1f3d8">&#9670;&nbsp;</a></span>swap_outputs_in_rawtx()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">def smartfees.swap_outputs_in_rawtx </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>rawtx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>outputs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>inputnum</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<pre class="fragment">Since dictionaries in python are unsorted make sure that our outputs are correctly ordered.
Note: comparing strings to get "correct order" is based on the fact that
P2SH_1 string is &lt; P2SH_2 string in this particular case.
</pre>
<p class="definition">Definition at line <a class="el" href="smartfees_8py_source.html#l00029">29</a> of file <a class="el" href="smartfees_8py_source.html">smartfees.py</a>.</p>
<p class="reference">Referenced by <a class="el" href="smartfees_8py_source.html#l00043">small_txpuzzle_randfee()</a>, and <a class="el" href="smartfees_8py_source.html#l00094">split_inputs()</a>.</p>
</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="aef93cd577f95432b3d9c384bf1888fdb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef93cd577f95432b3d9c384bf1888fdb">&#9670;&nbsp;</a></span>P2SH_1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">string smartfees.P2SH_1 = &quot;8kctg1WWKdoLveifyNnDYtRAqBPpqgL8z2&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="smartfees_8py_source.html#l00017">17</a> of file <a class="el" href="smartfees_8py_source.html">smartfees.py</a>.</p>
</div>
</div>
<a id="a742ffde42ac785506364c215e930dfa0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a742ffde42ac785506364c215e930dfa0">&#9670;&nbsp;</a></span>P2SH_2</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">string smartfees.P2SH_2 = &quot;8xp4fcNB8rz9UbZC47tv6eui1ZSPMd3iYT&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="smartfees_8py_source.html#l00018">18</a> of file <a class="el" href="smartfees_8py_source.html">smartfees.py</a>.</p>
</div>
</div>
<a id="a7369254de537c5571b2ae1b3519b790a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7369254de537c5571b2ae1b3519b790a">&#9670;&nbsp;</a></span>SCRIPT_SIG</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">list smartfees.SCRIPT_SIG = [&quot;0451025175&quot;, &quot;0451025275&quot;]</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="smartfees_8py_source.html#l00021">21</a> of file <a class="el" href="smartfees_8py_source.html">smartfees.py</a>.</p>
</div>
</div>
</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="namespacesmartfees.html">smartfees</a></li>
<li class="footer">Generated on Thu Dec 14 2017 13:15:14 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>