mirror of
https://github.com/seigler/dash-docs
synced 2025-07-27 09:46:12 +00:00
423 lines
433 KiB
HTML
423 lines
433 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: qa/rpc-tests/test_framework/mininode.py Source File</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&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
|
|
 <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&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&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&dn=gpl-2.0.txt GPL-v2 */
|
|
$(document).ready(function(){initNavTree('mininode_8py_source.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="headertitle">
|
|
<div class="title">mininode.py</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
<a href="mininode_8py.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"><a class="line" href="namespacetest__framework_1_1mininode.html"> 1</a></span> <span class="comment"># mininode.py - Dash P2P network half-a-node</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">#</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"># Distributed under the MIT/X11 software license, see the accompanying</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"># file COPYING or http://www.opensource.org/licenses/mit-license.php.</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">#</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"># This python code was modified from ArtForz' public domain half-a-node, as</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"># found in the mini-node branch of http://github.com/jgarzik/pynode.</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">#</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"># NodeConn: an object which manages p2p connectivity to a dash node</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"># NodeConnCB: a base class that describes the interface for receiving</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"># callbacks with network messages from a NodeConn</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"># CBlock, CTransaction, CBlockHeader, CTxIn, CTxOut, etc....:</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"># data structures that should map to corresponding structures in</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"># dash/primitives</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"># msg_block, msg_tx, msg_headers, etc.:</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"># data structures that represent network messages</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"># ser_*, deser_*: functions that handle serialization/deserialization</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> </div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="keyword">import</span> struct</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="keyword">import</span> socket</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="keyword">import</span> asyncore</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="keyword">import</span> time</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="keyword">import</span> sys</div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="keyword">import</span> random</div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="keyword">from</span> binascii <span class="keyword">import</span> hexlify, unhexlify</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="keyword">from</span> io <span class="keyword">import</span> BytesIO</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="keyword">from</span> codecs <span class="keyword">import</span> encode</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="keyword">import</span> hashlib</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="keyword">from</span> threading <span class="keyword">import</span> RLock</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="keyword">from</span> threading <span class="keyword">import</span> Thread</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="keyword">import</span> logging</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="keyword">import</span> copy</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keyword">import</span> dash_hash</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="namespacetest__framework_1_1mininode.html#a578778661ec1cc9bbe7c4f0773fcee99"> 37</a></span> BIP0031_VERSION = 60000</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="namespacetest__framework_1_1mininode.html#a9dd686baf1dfc115b3e33a7dbc21debb"> 38</a></span> MY_VERSION = 70206 <span class="comment"># current MIN_PEER_PROTO_VERSION</span></div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="namespacetest__framework_1_1mininode.html#ad0b2abb63606483a91e51b4b2eaa74d7"> 39</a></span> MY_SUBVERSION = b<span class="stringliteral">"/python-mininode-tester:0.0.2/"</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="namespacetest__framework_1_1mininode.html#ac7e9cf114f2962bafebfdead6b5896c9"> 41</a></span> MAX_INV_SZ = 50000</div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="namespacetest__framework_1_1mininode.html#ae934c507d607f83fb5e23020f8518c5d"> 42</a></span> MAX_BLOCK_SIZE = 1000000</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="namespacetest__framework_1_1mininode.html#a1794c47d74af74c2b86b6036c6f53605"> 44</a></span> COIN = 100000000L <span class="comment"># 1 btc in satoshis</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"># Keep our own socket map for asyncore, so that we can track disconnects</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"># ourselves (to workaround an issue with closing an asyncore socket when </span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"># using select)</span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="namespacetest__framework_1_1mininode.html#a693f32e2eec320f236a864b14291c1c2"> 49</a></span> mininode_socket_map = dict()</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"># One lock for synchronizing all data access between the networking thread (see</span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"># NetworkThread below) and the thread running the test logic. For simplicity,</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"># NodeConn acquires this lock whenever delivering a message to to a NodeConnCB,</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"># and whenever adding anything to the send buffer (in send_message()). This</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"># lock should be acquired in the thread running the test logic to synchronize</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"># access to any data shared with the NodeConnCB or NodeConn.</span></div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="namespacetest__framework_1_1mininode.html#a20c9f6abaaa8e4d85d6724b886dedba5"> 57</a></span> mininode_lock = RLock()</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"># Serialization/deserialization tools</span></div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="namespacetest__framework_1_1mininode.html#adde6b9e7f98d83e9e54668f45f7732da"> 60</a></span> <span class="keyword">def </span><a class="code" href="namespacetest__framework_1_1mininode.html#adde6b9e7f98d83e9e54668f45f7732da">sha256</a>(s):</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keywordflow">return</span> hashlib.new(<span class="stringliteral">'sha256'</span>, s).digest()</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="namespacetest__framework_1_1mininode.html#ac74a69ca5fea2dacf48b0772fb4cbd2c"> 64</a></span> <span class="keyword">def </span><a class="code" href="namespacetest__framework_1_1mininode.html#ac74a69ca5fea2dacf48b0772fb4cbd2c">hash256</a>(s):</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keywordflow">return</span> <a class="code" href="namespacesha256.html">sha256</a>(<a class="code" href="namespacesha256.html">sha256</a>(s))</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="namespacetest__framework_1_1mininode.html#aaa8edcca59b6861176f881e5dd10b6e1"> 67</a></span> <span class="keyword">def </span><a class="code" href="namespacetest__framework_1_1mininode.html#aaa8edcca59b6861176f881e5dd10b6e1">dashhash</a>(s):</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keywordflow">return</span> dash_hash.getPoWHash(s)</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="namespacetest__framework_1_1mininode.html#a809123fac983049b3133dea8c9d2b5bc"> 70</a></span> <span class="keyword">def </span><a class="code" href="namespacetest__framework_1_1mininode.html#a809123fac983049b3133dea8c9d2b5bc">deser_string</a>(f):</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  nit = struct.unpack(<span class="stringliteral">"<B"</span>, f.read(1))[0]</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <span class="keywordflow">if</span> nit == 253:</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  nit = struct.unpack(<span class="stringliteral">"<H"</span>, f.read(2))[0]</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordflow">elif</span> nit == 254:</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  nit = struct.unpack(<span class="stringliteral">"<I"</span>, f.read(4))[0]</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keywordflow">elif</span> nit == 255:</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  nit = struct.unpack(<span class="stringliteral">"<Q"</span>, f.read(8))[0]</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="keywordflow">return</span> f.read(nit)</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="namespacetest__framework_1_1mininode.html#a0d10ddcce8c03b9a96ba703e59bd8ee7"> 81</a></span> <span class="keyword">def </span><a class="code" href="namespacetest__framework_1_1mininode.html#a0d10ddcce8c03b9a96ba703e59bd8ee7">ser_string</a>(s):</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <span class="keywordflow">if</span> len(s) < 253:</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keywordflow">return</span> struct.pack(<span class="stringliteral">"B"</span>, len(s)) + s</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keywordflow">elif</span> len(s) < 0x10000:</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keywordflow">return</span> struct.pack(<span class="stringliteral">"<BH"</span>, 253, len(s)) + s</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keywordflow">elif</span> len(s) < 0x100000000L:</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keywordflow">return</span> struct.pack(<span class="stringliteral">"<BI"</span>, 254, len(s)) + s</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keywordflow">return</span> struct.pack(<span class="stringliteral">"<BQ"</span>, 255, len(s)) + s</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="namespacetest__framework_1_1mininode.html#a92ca8c58b41dbdde48516f70444ab860"> 91</a></span> <span class="keyword">def </span><a class="code" href="namespacetest__framework_1_1mininode.html#a92ca8c58b41dbdde48516f70444ab860">deser_uint256</a>(f):</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  r = 0L</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keywordflow">for</span> i <span class="keywordflow">in</span> xrange(8):</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  t = struct.unpack(<span class="stringliteral">"<I"</span>, f.read(4))[0]</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  r += t << (i * 32)</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="keywordflow">return</span> r</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div><div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="namespacetest__framework_1_1mininode.html#a648cf4cad8cb92b1a0b64ae7907682d5"> 99</a></span> <span class="keyword">def </span><a class="code" href="namespacetest__framework_1_1mininode.html#a648cf4cad8cb92b1a0b64ae7907682d5">ser_uint256</a>(u):</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  rs = b<span class="stringliteral">""</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keywordflow">for</span> i <span class="keywordflow">in</span> xrange(8):</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  rs += struct.pack(<span class="stringliteral">"<I"</span>, u & 0xFFFFFFFFL)</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  u >>= 32</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keywordflow">return</span> rs</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="namespacetest__framework_1_1mininode.html#afba5ad294ca29a92a4e1d39552feb5dd"> 107</a></span> <span class="keyword">def </span><a class="code" href="namespacetest__framework_1_1mininode.html#afba5ad294ca29a92a4e1d39552feb5dd">uint256_from_str</a>(s):</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  r = 0L</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  t = struct.unpack(<span class="stringliteral">"<IIIIIIII"</span>, s[:32])</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keywordflow">for</span> i <span class="keywordflow">in</span> xrange(8):</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  r += t[i] << (i * 32)</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keywordflow">return</span> r</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div><div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="namespacetest__framework_1_1mininode.html#ad72dfbd1fc12a679a9d1984ac914614d"> 115</a></span> <span class="keyword">def </span><a class="code" href="namespacetest__framework_1_1mininode.html#ad72dfbd1fc12a679a9d1984ac914614d">uint256_from_compact</a>(c):</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  nbytes = (c >> 24) & 0xFF</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  v = (c & 0xFFFFFFL) << (8 * (nbytes - 3))</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keywordflow">return</span> v</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div><div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="namespacetest__framework_1_1mininode.html#a5514860ac26078aedc3579c46f752d3a"> 121</a></span> <span class="keyword">def </span><a class="code" href="namespacetest__framework_1_1mininode.html#a5514860ac26078aedc3579c46f752d3a">deser_vector</a>(f, c):</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  nit = struct.unpack(<span class="stringliteral">"<B"</span>, f.read(1))[0]</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keywordflow">if</span> nit == 253:</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  nit = struct.unpack(<span class="stringliteral">"<H"</span>, f.read(2))[0]</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keywordflow">elif</span> nit == 254:</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  nit = struct.unpack(<span class="stringliteral">"<I"</span>, f.read(4))[0]</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordflow">elif</span> nit == 255:</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  nit = struct.unpack(<span class="stringliteral">"<Q"</span>, f.read(8))[0]</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  r = []</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <span class="keywordflow">for</span> i <span class="keywordflow">in</span> xrange(nit):</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  t = c()</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  t.deserialize(f)</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  r.append(t)</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <span class="keywordflow">return</span> r</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div><div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="namespacetest__framework_1_1mininode.html#ae765b797da21bb7074ce578bbc3f9f20"> 137</a></span> <span class="keyword">def </span><a class="code" href="namespacetest__framework_1_1mininode.html#ae765b797da21bb7074ce578bbc3f9f20">ser_vector</a>(l):</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  r = b<span class="stringliteral">""</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keywordflow">if</span> len(l) < 253:</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  r = struct.pack(<span class="stringliteral">"B"</span>, len(l))</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keywordflow">elif</span> len(l) < 0x10000:</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  r = struct.pack(<span class="stringliteral">"<BH"</span>, 253, len(l))</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="keywordflow">elif</span> len(l) < 0x100000000L:</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  r = struct.pack(<span class="stringliteral">"<BI"</span>, 254, len(l))</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  r = struct.pack(<span class="stringliteral">"<BQ"</span>, 255, len(l))</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <span class="keywordflow">for</span> i <span class="keywordflow">in</span> l:</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  r += i.serialize()</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keywordflow">return</span> r</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div><div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="namespacetest__framework_1_1mininode.html#acd8c32759ce791d31c28a14ad8f8fa7a"> 152</a></span> <span class="keyword">def </span><a class="code" href="namespacetest__framework_1_1mininode.html#acd8c32759ce791d31c28a14ad8f8fa7a">deser_uint256_vector</a>(f):</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  nit = struct.unpack(<span class="stringliteral">"<B"</span>, f.read(1))[0]</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordflow">if</span> nit == 253:</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  nit = struct.unpack(<span class="stringliteral">"<H"</span>, f.read(2))[0]</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keywordflow">elif</span> nit == 254:</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  nit = struct.unpack(<span class="stringliteral">"<I"</span>, f.read(4))[0]</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="keywordflow">elif</span> nit == 255:</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  nit = struct.unpack(<span class="stringliteral">"<Q"</span>, f.read(8))[0]</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  r = []</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="keywordflow">for</span> i <span class="keywordflow">in</span> xrange(nit):</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  t = <a class="code" href="namespacetest__framework_1_1mininode.html#a92ca8c58b41dbdde48516f70444ab860">deser_uint256</a>(f)</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  r.append(t)</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="keywordflow">return</span> r</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div><div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="namespacetest__framework_1_1mininode.html#a0d9f906723421906130d7c15403e3bd7"> 167</a></span> <span class="keyword">def </span><a class="code" href="namespacetest__framework_1_1mininode.html#a0d9f906723421906130d7c15403e3bd7">ser_uint256_vector</a>(l):</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  r = b<span class="stringliteral">""</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keywordflow">if</span> len(l) < 253:</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  r = struct.pack(<span class="stringliteral">"B"</span>, len(l))</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keywordflow">elif</span> len(l) < 0x10000:</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  r = struct.pack(<span class="stringliteral">"<BH"</span>, 253, len(l))</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <span class="keywordflow">elif</span> len(l) < 0x100000000L:</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  r = struct.pack(<span class="stringliteral">"<BI"</span>, 254, len(l))</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  r = struct.pack(<span class="stringliteral">"<BQ"</span>, 255, len(l))</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <span class="keywordflow">for</span> i <span class="keywordflow">in</span> l:</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  r += <a class="code" href="namespacetest__framework_1_1mininode.html#a648cf4cad8cb92b1a0b64ae7907682d5">ser_uint256</a>(i)</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="keywordflow">return</span> r</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div><div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="namespacetest__framework_1_1mininode.html#ad394a525fb7b6779f56b92da72ad23d2"> 182</a></span> <span class="keyword">def </span><a class="code" href="namespacetest__framework_1_1mininode.html#ad394a525fb7b6779f56b92da72ad23d2">deser_string_vector</a>(f):</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  nit = struct.unpack(<span class="stringliteral">"<B"</span>, f.read(1))[0]</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <span class="keywordflow">if</span> nit == 253:</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  nit = struct.unpack(<span class="stringliteral">"<H"</span>, f.read(2))[0]</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="keywordflow">elif</span> nit == 254:</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  nit = struct.unpack(<span class="stringliteral">"<I"</span>, f.read(4))[0]</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <span class="keywordflow">elif</span> nit == 255:</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  nit = struct.unpack(<span class="stringliteral">"<Q"</span>, f.read(8))[0]</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  r = []</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <span class="keywordflow">for</span> i <span class="keywordflow">in</span> xrange(nit):</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  t = <a class="code" href="namespacetest__framework_1_1mininode.html#a809123fac983049b3133dea8c9d2b5bc">deser_string</a>(f)</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  r.append(t)</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <span class="keywordflow">return</span> r</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span> </div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div><div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="namespacetest__framework_1_1mininode.html#a03d4db4cbc7cedf02985f9026fdff1ca"> 197</a></span> <span class="keyword">def </span><a class="code" href="namespacetest__framework_1_1mininode.html#a03d4db4cbc7cedf02985f9026fdff1ca">ser_string_vector</a>(l):</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  r = b<span class="stringliteral">""</span></div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <span class="keywordflow">if</span> len(l) < 253:</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  r = struct.pack(<span class="stringliteral">"B"</span>, len(l))</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <span class="keywordflow">elif</span> len(l) < 0x10000:</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  r = struct.pack(<span class="stringliteral">"<BH"</span>, 253, len(l))</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="keywordflow">elif</span> len(l) < 0x100000000L:</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  r = struct.pack(<span class="stringliteral">"<BI"</span>, 254, len(l))</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  r = struct.pack(<span class="stringliteral">"<BQ"</span>, 255, len(l))</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <span class="keywordflow">for</span> sv <span class="keywordflow">in</span> l:</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  r += <a class="code" href="namespacetest__framework_1_1mininode.html#a0d10ddcce8c03b9a96ba703e59bd8ee7">ser_string</a>(sv)</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <span class="keywordflow">return</span> r</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div><div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="namespacetest__framework_1_1mininode.html#a3a32c11095028bb81ff9c719f8b5118a"> 212</a></span> <span class="keyword">def </span><a class="code" href="namespacetest__framework_1_1mininode.html#a3a32c11095028bb81ff9c719f8b5118a">deser_int_vector</a>(f):</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  nit = struct.unpack(<span class="stringliteral">"<B"</span>, f.read(1))[0]</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <span class="keywordflow">if</span> nit == 253:</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  nit = struct.unpack(<span class="stringliteral">"<H"</span>, f.read(2))[0]</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keywordflow">elif</span> nit == 254:</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  nit = struct.unpack(<span class="stringliteral">"<I"</span>, f.read(4))[0]</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <span class="keywordflow">elif</span> nit == 255:</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  nit = struct.unpack(<span class="stringliteral">"<Q"</span>, f.read(8))[0]</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  r = []</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <span class="keywordflow">for</span> i <span class="keywordflow">in</span> xrange(nit):</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  t = struct.unpack(<span class="stringliteral">"<i"</span>, f.read(4))[0]</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  r.append(t)</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="keywordflow">return</span> r</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span> </div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span> </div><div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="namespacetest__framework_1_1mininode.html#a6f0a63f3711bbe5e39958b29e969d0ed"> 227</a></span> <span class="keyword">def </span><a class="code" href="namespacetest__framework_1_1mininode.html#a6f0a63f3711bbe5e39958b29e969d0ed">ser_int_vector</a>(l):</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  r = b<span class="stringliteral">""</span></div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <span class="keywordflow">if</span> len(l) < 253:</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  r = struct.pack(<span class="stringliteral">"B"</span>, len(l))</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <span class="keywordflow">elif</span> len(l) < 0x10000:</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  r = struct.pack(<span class="stringliteral">"<BH"</span>, 253, len(l))</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <span class="keywordflow">elif</span> len(l) < 0x100000000L:</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  r = struct.pack(<span class="stringliteral">"<BI"</span>, 254, len(l))</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  r = struct.pack(<span class="stringliteral">"<BQ"</span>, 255, len(l))</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <span class="keywordflow">for</span> i <span class="keywordflow">in</span> l:</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  r += struct.pack(<span class="stringliteral">"<i"</span>, i)</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  <span class="keywordflow">return</span> r</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="comment"># Deserialize from a hex string representation (eg from RPC)</span></div><div class="line"><a name="l00242"></a><span class="lineno"><a class="line" href="namespacetest__framework_1_1mininode.html#a684ec83d0d8a5e70d5200fd103a632dc"> 242</a></span> <span class="keyword">def </span><a class="code" href="namespacetest__framework_1_1mininode.html#a684ec83d0d8a5e70d5200fd103a632dc">FromHex</a>(obj, hex_string):</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  obj.deserialize(BytesIO(unhexlify(hex_string.encode(<span class="stringliteral">'ascii'</span>))))</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  <span class="keywordflow">return</span> obj</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="comment"># Convert a binary-serializable object to hex (eg for submission via RPC)</span></div><div class="line"><a name="l00247"></a><span class="lineno"><a class="line" href="namespacetest__framework_1_1mininode.html#a05141ef4265c701934d0d61d8dafda34"> 247</a></span> <span class="keyword">def </span><a class="code" href="namespacetest__framework_1_1mininode.html#a05141ef4265c701934d0d61d8dafda34">ToHex</a>(obj):</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="keywordflow">return</span> hexlify(obj.serialize()).decode(<span class="stringliteral">'ascii'</span>)</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span> </div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="comment"># Objects that map to dashd objects, which can be serialized/deserialized</span></div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div><div class="line"><a name="l00252"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CAddress.html"> 252</a></span> <span class="keyword">class </span><a class="code" href="classtest__framework_1_1mininode_1_1CAddress.html">CAddress</a>(object):</div><div class="line"><a name="l00253"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CAddress.html#a81da29dc677c7c5794d258c806d78e02"> 253</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CAddress.html#a81da29dc677c7c5794d258c806d78e02">__init__</a>(self):</div><div class="line"><a name="l00254"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CAddress.html#a687e01da4de53e20e8818e1b77a52471"> 254</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CAddress.html#a687e01da4de53e20e8818e1b77a52471">nServices</a> = 1</div><div class="line"><a name="l00255"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CAddress.html#ab8982d7a4e9b8c9a24171d0367727454"> 255</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CAddress.html#ab8982d7a4e9b8c9a24171d0367727454">pchReserved</a> = b<span class="stringliteral">"\x00"</span> * 10 + b<span class="stringliteral">"\xff"</span> * 2</div><div class="line"><a name="l00256"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CAddress.html#a2e1acaef6777049e78ce3cc2b07c1610"> 256</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CAddress.html#a2e1acaef6777049e78ce3cc2b07c1610">ip</a> = <span class="stringliteral">"0.0.0.0"</span></div><div class="line"><a name="l00257"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CAddress.html#a7ca501a453625c30efa9fa398cbe5a31"> 257</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CAddress.html#a7ca501a453625c30efa9fa398cbe5a31">port</a> = 0</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span> </div><div class="line"><a name="l00259"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CAddress.html#a58ae36a1fdafd413d7da8eb70b6014e3"> 259</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CAddress.html#a58ae36a1fdafd413d7da8eb70b6014e3">deserialize</a>(self, f):</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CAddress.html#a687e01da4de53e20e8818e1b77a52471">nServices</a> = struct.unpack(<span class="stringliteral">"<Q"</span>, f.read(8))[0]</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CAddress.html#ab8982d7a4e9b8c9a24171d0367727454">pchReserved</a> = f.read(12)</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CAddress.html#a2e1acaef6777049e78ce3cc2b07c1610">ip</a> = socket.inet_ntoa(f.read(4))</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CAddress.html#a7ca501a453625c30efa9fa398cbe5a31">port</a> = struct.unpack(<span class="stringliteral">">H"</span>, f.read(2))[0]</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span> </div><div class="line"><a name="l00265"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CAddress.html#a79614d745a444b9377f60c0af9f956a6"> 265</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CAddress.html#a79614d745a444b9377f60c0af9f956a6">serialize</a>(self):</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  r = b<span class="stringliteral">""</span></div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  r += struct.pack(<span class="stringliteral">"<Q"</span>, self.<a class="code" href="classtest__framework_1_1mininode_1_1CAddress.html#a687e01da4de53e20e8818e1b77a52471">nServices</a>)</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  r += self.<a class="code" href="classtest__framework_1_1mininode_1_1CAddress.html#ab8982d7a4e9b8c9a24171d0367727454">pchReserved</a></div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  r += socket.inet_aton(self.<a class="code" href="classtest__framework_1_1mininode_1_1CAddress.html#a2e1acaef6777049e78ce3cc2b07c1610">ip</a>)</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  r += struct.pack(<span class="stringliteral">">H"</span>, self.<a class="code" href="classtest__framework_1_1mininode_1_1CAddress.html#a7ca501a453625c30efa9fa398cbe5a31">port</a>)</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <span class="keywordflow">return</span> r</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span> </div><div class="line"><a name="l00273"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CAddress.html#ad1cd4ceb23f50a7f0d43240d1005b7b3"> 273</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CAddress.html#ad1cd4ceb23f50a7f0d43240d1005b7b3">__repr__</a>(self):</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  <span class="keywordflow">return</span> <span class="stringliteral">"CAddress(nServices=%i ip=%s port=%i)"</span> % (self.<a class="code" href="classtest__framework_1_1mininode_1_1CAddress.html#a687e01da4de53e20e8818e1b77a52471">nServices</a>,</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CAddress.html#a2e1acaef6777049e78ce3cc2b07c1610">ip</a>, self.<a class="code" href="classtest__framework_1_1mininode_1_1CAddress.html#a7ca501a453625c30efa9fa398cbe5a31">port</a>)</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span> </div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span> </div><div class="line"><a name="l00278"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CInv.html"> 278</a></span> <span class="keyword">class </span><a class="code" href="classtest__framework_1_1mininode_1_1CInv.html">CInv</a>(object):</div><div class="line"><a name="l00279"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CInv.html#a74e374aa1f3c6e0584f537ca05858ea6"> 279</a></span>  typemap = {</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  0: <span class="stringliteral">"Error"</span>,</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  1: <span class="stringliteral">"TX"</span>,</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  2: <span class="stringliteral">"Block"</span>}</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span> </div><div class="line"><a name="l00284"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CInv.html#a2268f128f966516dc3abdac78530dbd4"> 284</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CInv.html#a2268f128f966516dc3abdac78530dbd4">__init__</a>(self, t=0, h=0L):</div><div class="line"><a name="l00285"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CInv.html#a2961fbda0c27b8547cf1db8e499a0b2d"> 285</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CInv.html#a2961fbda0c27b8547cf1db8e499a0b2d">type</a> = t</div><div class="line"><a name="l00286"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CInv.html#a314787a6153f4359fa0e3f7c78fd8fbb"> 286</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CInv.html#a314787a6153f4359fa0e3f7c78fd8fbb">hash</a> = h</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div><div class="line"><a name="l00288"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CInv.html#a2341166afdeaa6e232707e8b569ec86a"> 288</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CInv.html#a2341166afdeaa6e232707e8b569ec86a">deserialize</a>(self, f):</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CInv.html#a2961fbda0c27b8547cf1db8e499a0b2d">type</a> = struct.unpack(<span class="stringliteral">"<i"</span>, f.read(4))[0]</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CInv.html#a314787a6153f4359fa0e3f7c78fd8fbb">hash</a> = <a class="code" href="namespacetest__framework_1_1mininode.html#a92ca8c58b41dbdde48516f70444ab860">deser_uint256</a>(f)</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span> </div><div class="line"><a name="l00292"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CInv.html#a88ac991900297667e41b261275d71baf"> 292</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CInv.html#a88ac991900297667e41b261275d71baf">serialize</a>(self):</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  r = b<span class="stringliteral">""</span></div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  r += struct.pack(<span class="stringliteral">"<i"</span>, self.<a class="code" href="classtest__framework_1_1mininode_1_1CInv.html#a2961fbda0c27b8547cf1db8e499a0b2d">type</a>)</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  r += <a class="code" href="namespacetest__framework_1_1mininode.html#a648cf4cad8cb92b1a0b64ae7907682d5">ser_uint256</a>(self.<a class="code" href="classtest__framework_1_1mininode_1_1CInv.html#a314787a6153f4359fa0e3f7c78fd8fbb">hash</a>)</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <span class="keywordflow">return</span> r</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span> </div><div class="line"><a name="l00298"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CInv.html#a5946554235da4922dbd6679ca809e8a5"> 298</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CInv.html#a5946554235da4922dbd6679ca809e8a5">__repr__</a>(self):</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  <span class="keywordflow">return</span> <span class="stringliteral">"CInv(type=%s hash=%064x)"</span> \</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  % (self.<a class="code" href="classtest__framework_1_1mininode_1_1CInv.html#a74e374aa1f3c6e0584f537ca05858ea6">typemap</a>[self.<a class="code" href="classtest__framework_1_1mininode_1_1CInv.html#a2961fbda0c27b8547cf1db8e499a0b2d">type</a>], self.<a class="code" href="classtest__framework_1_1mininode_1_1CInv.html#a314787a6153f4359fa0e3f7c78fd8fbb">hash</a>)</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span> </div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span> </div><div class="line"><a name="l00303"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CBlockLocator.html"> 303</a></span> <span class="keyword">class </span><a class="code" href="classtest__framework_1_1mininode_1_1CBlockLocator.html">CBlockLocator</a>(object):</div><div class="line"><a name="l00304"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CBlockLocator.html#a9a2ae7e03b176cdebc45f8d478d6f598"> 304</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CBlockLocator.html#a9a2ae7e03b176cdebc45f8d478d6f598">__init__</a>(self):</div><div class="line"><a name="l00305"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CBlockLocator.html#aa155c783db4872914f9fe357b59e9fbb"> 305</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockLocator.html#aa155c783db4872914f9fe357b59e9fbb">nVersion</a> = MY_VERSION</div><div class="line"><a name="l00306"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CBlockLocator.html#a2c9e7d0a12a48c644898f76aa440bae4"> 306</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockLocator.html#a2c9e7d0a12a48c644898f76aa440bae4">vHave</a> = []</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span> </div><div class="line"><a name="l00308"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CBlockLocator.html#a6cbe0a8884a5b171d54153f62bc32de4"> 308</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CBlockLocator.html#a6cbe0a8884a5b171d54153f62bc32de4">deserialize</a>(self, f):</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockLocator.html#aa155c783db4872914f9fe357b59e9fbb">nVersion</a> = struct.unpack(<span class="stringliteral">"<i"</span>, f.read(4))[0]</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockLocator.html#a2c9e7d0a12a48c644898f76aa440bae4">vHave</a> = <a class="code" href="namespacetest__framework_1_1mininode.html#acd8c32759ce791d31c28a14ad8f8fa7a">deser_uint256_vector</a>(f)</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span> </div><div class="line"><a name="l00312"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CBlockLocator.html#ad3b3ca83c080ee7470961fd0f171cdc8"> 312</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CBlockLocator.html#ad3b3ca83c080ee7470961fd0f171cdc8">serialize</a>(self):</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  r = b<span class="stringliteral">""</span></div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  r += struct.pack(<span class="stringliteral">"<i"</span>, self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockLocator.html#aa155c783db4872914f9fe357b59e9fbb">nVersion</a>)</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  r += <a class="code" href="namespacetest__framework_1_1mininode.html#a0d9f906723421906130d7c15403e3bd7">ser_uint256_vector</a>(self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockLocator.html#a2c9e7d0a12a48c644898f76aa440bae4">vHave</a>)</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <span class="keywordflow">return</span> r</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div><div class="line"><a name="l00318"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CBlockLocator.html#a11a028c7c86b9562ea5f82d039cb8f62"> 318</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CBlockLocator.html#a11a028c7c86b9562ea5f82d039cb8f62">__repr__</a>(self):</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  <span class="keywordflow">return</span> <span class="stringliteral">"CBlockLocator(nVersion=%i vHave=%s)"</span> \</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  % (self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockLocator.html#aa155c783db4872914f9fe357b59e9fbb">nVersion</a>, repr(self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockLocator.html#a2c9e7d0a12a48c644898f76aa440bae4">vHave</a>))</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span> </div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span> </div><div class="line"><a name="l00323"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1COutPoint.html"> 323</a></span> <span class="keyword">class </span><a class="code" href="classtest__framework_1_1mininode_1_1COutPoint.html">COutPoint</a>(object):</div><div class="line"><a name="l00324"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1COutPoint.html#a1bed21465741601879627944d95560aa"> 324</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1COutPoint.html#a1bed21465741601879627944d95560aa">__init__</a>(self, hash=0, n=0):</div><div class="line"><a name="l00325"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1COutPoint.html#a25217f2ff0fc75d3fda5b6310a2838fb"> 325</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1COutPoint.html#a25217f2ff0fc75d3fda5b6310a2838fb">hash</a> = hash</div><div class="line"><a name="l00326"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1COutPoint.html#a57feb99b3a23288bde5067299cf5a323"> 326</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1COutPoint.html#a57feb99b3a23288bde5067299cf5a323">n</a> = n</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span> </div><div class="line"><a name="l00328"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1COutPoint.html#a7611e80fa6f9dcdc8d6ef02bf65f288f"> 328</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1COutPoint.html#a7611e80fa6f9dcdc8d6ef02bf65f288f">deserialize</a>(self, f):</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1COutPoint.html#a25217f2ff0fc75d3fda5b6310a2838fb">hash</a> = <a class="code" href="namespacetest__framework_1_1mininode.html#a92ca8c58b41dbdde48516f70444ab860">deser_uint256</a>(f)</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1COutPoint.html#a57feb99b3a23288bde5067299cf5a323">n</a> = struct.unpack(<span class="stringliteral">"<I"</span>, f.read(4))[0]</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span> </div><div class="line"><a name="l00332"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1COutPoint.html#a84728eb79308f5ee01cef717842f6ed5"> 332</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1COutPoint.html#a84728eb79308f5ee01cef717842f6ed5">serialize</a>(self):</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  r = b<span class="stringliteral">""</span></div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  r += <a class="code" href="namespacetest__framework_1_1mininode.html#a648cf4cad8cb92b1a0b64ae7907682d5">ser_uint256</a>(self.<a class="code" href="classtest__framework_1_1mininode_1_1COutPoint.html#a25217f2ff0fc75d3fda5b6310a2838fb">hash</a>)</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  r += struct.pack(<span class="stringliteral">"<I"</span>, self.<a class="code" href="classtest__framework_1_1mininode_1_1COutPoint.html#a57feb99b3a23288bde5067299cf5a323">n</a>)</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  <span class="keywordflow">return</span> r</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span> </div><div class="line"><a name="l00338"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1COutPoint.html#ac7bb3e1e6191f28f7ec8a69b8d28392d"> 338</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1COutPoint.html#ac7bb3e1e6191f28f7ec8a69b8d28392d">__repr__</a>(self):</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <span class="keywordflow">return</span> <span class="stringliteral">"COutPoint(hash=%064x n=%i)"</span> % (self.<a class="code" href="classtest__framework_1_1mininode_1_1COutPoint.html#a25217f2ff0fc75d3fda5b6310a2838fb">hash</a>, self.<a class="code" href="classtest__framework_1_1mininode_1_1COutPoint.html#a57feb99b3a23288bde5067299cf5a323">n</a>)</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span> </div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span> </div><div class="line"><a name="l00342"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CTxIn.html"> 342</a></span> <span class="keyword">class </span><a class="code" href="classtest__framework_1_1mininode_1_1CTxIn.html">CTxIn</a>(object):</div><div class="line"><a name="l00343"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CTxIn.html#adfbea0d690e3d17cee8795f02842eca9"> 343</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CTxIn.html#adfbea0d690e3d17cee8795f02842eca9">__init__</a>(self, outpoint=None, scriptSig=b"", nSequence=0):</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <span class="keywordflow">if</span> outpoint <span class="keywordflow">is</span> <span class="keywordtype">None</span>:</div><div class="line"><a name="l00345"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CTxIn.html#a52efe2e7f5f5279ef354c6e16829f5d9"> 345</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CTxIn.html#a52efe2e7f5f5279ef354c6e16829f5d9">prevout</a> = <a class="code" href="classtest__framework_1_1mininode_1_1COutPoint.html">COutPoint</a>()</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CTxIn.html#a52efe2e7f5f5279ef354c6e16829f5d9">prevout</a> = outpoint</div><div class="line"><a name="l00348"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CTxIn.html#acc6b127f42e1dd7259b44f794a0ef711"> 348</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CTxIn.html#acc6b127f42e1dd7259b44f794a0ef711">scriptSig</a> = scriptSig</div><div class="line"><a name="l00349"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CTxIn.html#a857ab5a142fa3fce26c29bf9b16344e3"> 349</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CTxIn.html#a857ab5a142fa3fce26c29bf9b16344e3">nSequence</a> = nSequence</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span> </div><div class="line"><a name="l00351"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CTxIn.html#a2357a08bc704fd8057a1aa9591a1cb2e"> 351</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CTxIn.html#a2357a08bc704fd8057a1aa9591a1cb2e">deserialize</a>(self, f):</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CTxIn.html#a52efe2e7f5f5279ef354c6e16829f5d9">prevout</a> = <a class="code" href="classtest__framework_1_1mininode_1_1COutPoint.html">COutPoint</a>()</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CTxIn.html#a52efe2e7f5f5279ef354c6e16829f5d9">prevout</a>.<a class="code" href="classtest__framework_1_1mininode_1_1CTxIn.html#a2357a08bc704fd8057a1aa9591a1cb2e">deserialize</a>(f)</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CTxIn.html#acc6b127f42e1dd7259b44f794a0ef711">scriptSig</a> = <a class="code" href="namespacetest__framework_1_1mininode.html#a809123fac983049b3133dea8c9d2b5bc">deser_string</a>(f)</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CTxIn.html#a857ab5a142fa3fce26c29bf9b16344e3">nSequence</a> = struct.unpack(<span class="stringliteral">"<I"</span>, f.read(4))[0]</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span> </div><div class="line"><a name="l00357"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CTxIn.html#a936a195f07037ddab30bba5d7cfde111"> 357</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CTxIn.html#a936a195f07037ddab30bba5d7cfde111">serialize</a>(self):</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  r = b<span class="stringliteral">""</span></div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  r += self.<a class="code" href="classtest__framework_1_1mininode_1_1CTxIn.html#a52efe2e7f5f5279ef354c6e16829f5d9">prevout</a>.<a class="code" href="classtest__framework_1_1mininode_1_1CTxIn.html#a936a195f07037ddab30bba5d7cfde111">serialize</a>()</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  r += <a class="code" href="namespacetest__framework_1_1mininode.html#a0d10ddcce8c03b9a96ba703e59bd8ee7">ser_string</a>(self.<a class="code" href="classtest__framework_1_1mininode_1_1CTxIn.html#acc6b127f42e1dd7259b44f794a0ef711">scriptSig</a>)</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  r += struct.pack(<span class="stringliteral">"<I"</span>, self.<a class="code" href="classtest__framework_1_1mininode_1_1CTxIn.html#a857ab5a142fa3fce26c29bf9b16344e3">nSequence</a>)</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  <span class="keywordflow">return</span> r</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span> </div><div class="line"><a name="l00364"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CTxIn.html#aa3e22c103bc6b242f092773031ccc17c"> 364</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CTxIn.html#aa3e22c103bc6b242f092773031ccc17c">__repr__</a>(self):</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  <span class="keywordflow">return</span> <span class="stringliteral">"CTxIn(prevout=%s scriptSig=%s nSequence=%i)"</span> \</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  % (repr(self.<a class="code" href="classtest__framework_1_1mininode_1_1CTxIn.html#a52efe2e7f5f5279ef354c6e16829f5d9">prevout</a>), hexlify(self.<a class="code" href="classtest__framework_1_1mininode_1_1CTxIn.html#acc6b127f42e1dd7259b44f794a0ef711">scriptSig</a>),</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CTxIn.html#a857ab5a142fa3fce26c29bf9b16344e3">nSequence</a>)</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span> </div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span> </div><div class="line"><a name="l00370"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CTxOut.html"> 370</a></span> <span class="keyword">class </span><a class="code" href="classtest__framework_1_1mininode_1_1CTxOut.html">CTxOut</a>(object):</div><div class="line"><a name="l00371"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CTxOut.html#a49f5329af80c06a1b65ddc431196340a"> 371</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CTxOut.html#a49f5329af80c06a1b65ddc431196340a">__init__</a>(self, nValue=0, scriptPubKey=b""):</div><div class="line"><a name="l00372"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CTxOut.html#ae4cee48bb8e8c300b2c2f3c01d83f0d2"> 372</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CTxOut.html#ae4cee48bb8e8c300b2c2f3c01d83f0d2">nValue</a> = nValue</div><div class="line"><a name="l00373"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CTxOut.html#ab1a62bdfbd18c48ad5c5fc32971bba3e"> 373</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CTxOut.html#ab1a62bdfbd18c48ad5c5fc32971bba3e">scriptPubKey</a> = scriptPubKey</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span> </div><div class="line"><a name="l00375"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CTxOut.html#a94231648c01e8b6bbb89326758bb4e70"> 375</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CTxOut.html#a94231648c01e8b6bbb89326758bb4e70">deserialize</a>(self, f):</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CTxOut.html#ae4cee48bb8e8c300b2c2f3c01d83f0d2">nValue</a> = struct.unpack(<span class="stringliteral">"<q"</span>, f.read(8))[0]</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CTxOut.html#ab1a62bdfbd18c48ad5c5fc32971bba3e">scriptPubKey</a> = <a class="code" href="namespacetest__framework_1_1mininode.html#a809123fac983049b3133dea8c9d2b5bc">deser_string</a>(f)</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span> </div><div class="line"><a name="l00379"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CTxOut.html#a472629cdce71f91d1fa8e02773fe5ae7"> 379</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CTxOut.html#a472629cdce71f91d1fa8e02773fe5ae7">serialize</a>(self):</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  r = b<span class="stringliteral">""</span></div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  r += struct.pack(<span class="stringliteral">"<q"</span>, self.<a class="code" href="classtest__framework_1_1mininode_1_1CTxOut.html#ae4cee48bb8e8c300b2c2f3c01d83f0d2">nValue</a>)</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  r += <a class="code" href="namespacetest__framework_1_1mininode.html#a0d10ddcce8c03b9a96ba703e59bd8ee7">ser_string</a>(self.<a class="code" href="classtest__framework_1_1mininode_1_1CTxOut.html#ab1a62bdfbd18c48ad5c5fc32971bba3e">scriptPubKey</a>)</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <span class="keywordflow">return</span> r</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span> </div><div class="line"><a name="l00385"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CTxOut.html#abac19a0fa7b5fd1bff160b620f01243e"> 385</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CTxOut.html#abac19a0fa7b5fd1bff160b620f01243e">__repr__</a>(self):</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  <span class="keywordflow">return</span> <span class="stringliteral">"CTxOut(nValue=%i.%08i scriptPubKey=%s)"</span> \</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  % (self.<a class="code" href="classtest__framework_1_1mininode_1_1CTxOut.html#ae4cee48bb8e8c300b2c2f3c01d83f0d2">nValue</a> // COIN, self.<a class="code" href="classtest__framework_1_1mininode_1_1CTxOut.html#ae4cee48bb8e8c300b2c2f3c01d83f0d2">nValue</a> % COIN,</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  hexlify(self.<a class="code" href="classtest__framework_1_1mininode_1_1CTxOut.html#ab1a62bdfbd18c48ad5c5fc32971bba3e">scriptPubKey</a>))</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span> </div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span> </div><div class="line"><a name="l00391"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CTransaction.html"> 391</a></span> <span class="keyword">class </span><a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html">CTransaction</a>(object):</div><div class="line"><a name="l00392"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CTransaction.html#aa286618878851bb972c49ca3b507f013"> 392</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#aa286618878851bb972c49ca3b507f013">__init__</a>(self, tx=None):</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  <span class="keywordflow">if</span> tx <span class="keywordflow">is</span> <span class="keywordtype">None</span>:</div><div class="line"><a name="l00394"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CTransaction.html#a64e806bb24d40bb710a5df9002ac6621"> 394</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#a64e806bb24d40bb710a5df9002ac6621">nVersion</a> = 1</div><div class="line"><a name="l00395"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CTransaction.html#ae7f7fe048195865be3e1c4ca4926d8cb"> 395</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#ae7f7fe048195865be3e1c4ca4926d8cb">vin</a> = []</div><div class="line"><a name="l00396"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CTransaction.html#a246dc827de800cea916f303f808ade31"> 396</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#a246dc827de800cea916f303f808ade31">vout</a> = []</div><div class="line"><a name="l00397"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CTransaction.html#ac9652046899a663000b4e1e503541a4c"> 397</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#ac9652046899a663000b4e1e503541a4c">nLockTime</a> = 0</div><div class="line"><a name="l00398"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CTransaction.html#a1f073a37e1e735f7f5e0114e3f57af4b"> 398</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#a1f073a37e1e735f7f5e0114e3f57af4b">sha256</a> = <span class="keywordtype">None</span></div><div class="line"><a name="l00399"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CTransaction.html#ad2552c9b568e38dc278da6caf36f807d"> 399</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#ad2552c9b568e38dc278da6caf36f807d">hash</a> = <span class="keywordtype">None</span></div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#a64e806bb24d40bb710a5df9002ac6621">nVersion</a> = tx.nVersion</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#ae7f7fe048195865be3e1c4ca4926d8cb">vin</a> = copy.deepcopy(tx.vin)</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#a246dc827de800cea916f303f808ade31">vout</a> = copy.deepcopy(tx.vout)</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#ac9652046899a663000b4e1e503541a4c">nLockTime</a> = tx.nLockTime</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#a1f073a37e1e735f7f5e0114e3f57af4b">sha256</a> = <span class="keywordtype">None</span></div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#ad2552c9b568e38dc278da6caf36f807d">hash</a> = <span class="keywordtype">None</span></div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span> </div><div class="line"><a name="l00408"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CTransaction.html#a010722c1b649ea48e3f81e814aec3e7c"> 408</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#a010722c1b649ea48e3f81e814aec3e7c">deserialize</a>(self, f):</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#a64e806bb24d40bb710a5df9002ac6621">nVersion</a> = struct.unpack(<span class="stringliteral">"<i"</span>, f.read(4))[0]</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#ae7f7fe048195865be3e1c4ca4926d8cb">vin</a> = <a class="code" href="namespacetest__framework_1_1mininode.html#a5514860ac26078aedc3579c46f752d3a">deser_vector</a>(f, CTxIn)</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#a246dc827de800cea916f303f808ade31">vout</a> = <a class="code" href="namespacetest__framework_1_1mininode.html#a5514860ac26078aedc3579c46f752d3a">deser_vector</a>(f, CTxOut)</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#ac9652046899a663000b4e1e503541a4c">nLockTime</a> = struct.unpack(<span class="stringliteral">"<I"</span>, f.read(4))[0]</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#a1f073a37e1e735f7f5e0114e3f57af4b">sha256</a> = <span class="keywordtype">None</span></div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#ad2552c9b568e38dc278da6caf36f807d">hash</a> = <span class="keywordtype">None</span></div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span> </div><div class="line"><a name="l00416"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CTransaction.html#a22e53593676a71b0c348c6e6ab1237c9"> 416</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#a22e53593676a71b0c348c6e6ab1237c9">serialize</a>(self):</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  r = b<span class="stringliteral">""</span></div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  r += struct.pack(<span class="stringliteral">"<i"</span>, self.<a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#a64e806bb24d40bb710a5df9002ac6621">nVersion</a>)</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  r += <a class="code" href="namespacetest__framework_1_1mininode.html#ae765b797da21bb7074ce578bbc3f9f20">ser_vector</a>(self.<a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#ae7f7fe048195865be3e1c4ca4926d8cb">vin</a>)</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  r += <a class="code" href="namespacetest__framework_1_1mininode.html#ae765b797da21bb7074ce578bbc3f9f20">ser_vector</a>(self.<a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#a246dc827de800cea916f303f808ade31">vout</a>)</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  r += struct.pack(<span class="stringliteral">"<I"</span>, self.<a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#ac9652046899a663000b4e1e503541a4c">nLockTime</a>)</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  <span class="keywordflow">return</span> r</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span> </div><div class="line"><a name="l00424"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CTransaction.html#a2cb9cfd433065771edde55e44dc60836"> 424</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#a2cb9cfd433065771edde55e44dc60836">rehash</a>(self):</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#a1f073a37e1e735f7f5e0114e3f57af4b">sha256</a> = <span class="keywordtype">None</span></div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#a25a68ed4a1c194eb043cecdaa3cf77f9">calc_sha256</a>()</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span> </div><div class="line"><a name="l00428"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CTransaction.html#a25a68ed4a1c194eb043cecdaa3cf77f9"> 428</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#a25a68ed4a1c194eb043cecdaa3cf77f9">calc_sha256</a>(self):</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>  <span class="keywordflow">if</span> self.<a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#a1f073a37e1e735f7f5e0114e3f57af4b">sha256</a> <span class="keywordflow">is</span> <span class="keywordtype">None</span>:</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#a1f073a37e1e735f7f5e0114e3f57af4b">sha256</a> = <a class="code" href="namespacetest__framework_1_1mininode.html#afba5ad294ca29a92a4e1d39552feb5dd">uint256_from_str</a>(<a class="code" href="namespacetest__framework_1_1mininode.html#ac74a69ca5fea2dacf48b0772fb4cbd2c">hash256</a>(self.<a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#a22e53593676a71b0c348c6e6ab1237c9">serialize</a>()))</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#ad2552c9b568e38dc278da6caf36f807d">hash</a> = encode(<a class="code" href="namespacetest__framework_1_1mininode.html#ac74a69ca5fea2dacf48b0772fb4cbd2c">hash256</a>(self.<a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#a22e53593676a71b0c348c6e6ab1237c9">serialize</a>())[::-1], <span class="stringliteral">'hex_codec'</span>).decode(<span class="stringliteral">'ascii'</span>)</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span> </div><div class="line"><a name="l00433"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CTransaction.html#ab0dc5371a7c54ee327410f02bcb70e57"> 433</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#ab0dc5371a7c54ee327410f02bcb70e57">is_valid</a>(self):</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#a25a68ed4a1c194eb043cecdaa3cf77f9">calc_sha256</a>()</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  <span class="keywordflow">for</span> tout <span class="keywordflow">in</span> self.<a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#a246dc827de800cea916f303f808ade31">vout</a>:</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  <span class="keywordflow">if</span> tout.nValue < 0 <span class="keywordflow">or</span> tout.nValue > 21000000 * COIN:</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  <span class="keywordflow">return</span> <span class="keyword">False</span></div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  <span class="keywordflow">return</span> <span class="keyword">True</span></div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span> </div><div class="line"><a name="l00440"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CTransaction.html#a1c309827a204604a1e8869110d817ec6"> 440</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#a1c309827a204604a1e8869110d817ec6">__repr__</a>(self):</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  <span class="keywordflow">return</span> <span class="stringliteral">"CTransaction(nVersion=%i vin=%s vout=%s nLockTime=%i)"</span> \</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  % (self.<a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#a64e806bb24d40bb710a5df9002ac6621">nVersion</a>, repr(self.<a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#ae7f7fe048195865be3e1c4ca4926d8cb">vin</a>), repr(self.<a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#a246dc827de800cea916f303f808ade31">vout</a>), self.<a class="code" href="classtest__framework_1_1mininode_1_1CTransaction.html#ac9652046899a663000b4e1e503541a4c">nLockTime</a>)</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span> </div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span> </div><div class="line"><a name="l00445"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CBlockHeader.html"> 445</a></span> <span class="keyword">class </span><a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html">CBlockHeader</a>(object):</div><div class="line"><a name="l00446"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a891c14d0d8eed6c580b731669158072c"> 446</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a891c14d0d8eed6c580b731669158072c">__init__</a>(self, header=None):</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  <span class="keywordflow">if</span> header <span class="keywordflow">is</span> <span class="keywordtype">None</span>:</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a1c8cf1e3ceba92400831df71de5312e6">set_null</a>()</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00450"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a78376dfd1cc9cb00cd1479ae9f2cb963"> 450</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a78376dfd1cc9cb00cd1479ae9f2cb963">nVersion</a> = header.nVersion</div><div class="line"><a name="l00451"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a7b97489b2fb8e17535cd0f38a67d2e7f"> 451</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a7b97489b2fb8e17535cd0f38a67d2e7f">hashPrevBlock</a> = header.hashPrevBlock</div><div class="line"><a name="l00452"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#ae3efcbd222899932360b7a3f4639e010"> 452</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#ae3efcbd222899932360b7a3f4639e010">hashMerkleRoot</a> = header.hashMerkleRoot</div><div class="line"><a name="l00453"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a72414535b4d571a43eebd3cb15e2899f"> 453</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a72414535b4d571a43eebd3cb15e2899f">nTime</a> = header.nTime</div><div class="line"><a name="l00454"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a2ee5e87c676a0fa6159968565720a1a4"> 454</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a2ee5e87c676a0fa6159968565720a1a4">nBits</a> = header.nBits</div><div class="line"><a name="l00455"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a8e42d6d1e8dbd24878f46db86b10fc19"> 455</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a8e42d6d1e8dbd24878f46db86b10fc19">nNonce</a> = header.nNonce</div><div class="line"><a name="l00456"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a5fb4471c7fa6a758d56a05e4676b894d"> 456</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a5fb4471c7fa6a758d56a05e4676b894d">sha256</a> = header.sha256</div><div class="line"><a name="l00457"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a146cc03eedd1de6ba94185d7eb3c2e9b"> 457</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a146cc03eedd1de6ba94185d7eb3c2e9b">hash</a> = header.hash</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#abc32372220875a70eef32fd621e17c2c">calc_sha256</a>()</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span> </div><div class="line"><a name="l00460"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a1c8cf1e3ceba92400831df71de5312e6"> 460</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a1c8cf1e3ceba92400831df71de5312e6">set_null</a>(self):</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a78376dfd1cc9cb00cd1479ae9f2cb963">nVersion</a> = 1</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a7b97489b2fb8e17535cd0f38a67d2e7f">hashPrevBlock</a> = 0</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#ae3efcbd222899932360b7a3f4639e010">hashMerkleRoot</a> = 0</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a72414535b4d571a43eebd3cb15e2899f">nTime</a> = 0</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a2ee5e87c676a0fa6159968565720a1a4">nBits</a> = 0</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a8e42d6d1e8dbd24878f46db86b10fc19">nNonce</a> = 0</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a5fb4471c7fa6a758d56a05e4676b894d">sha256</a> = <span class="keywordtype">None</span></div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a146cc03eedd1de6ba94185d7eb3c2e9b">hash</a> = <span class="keywordtype">None</span></div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span> </div><div class="line"><a name="l00470"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#ae162eadaf73062b5ee93146df78eb68c"> 470</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#ae162eadaf73062b5ee93146df78eb68c">deserialize</a>(self, f):</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a78376dfd1cc9cb00cd1479ae9f2cb963">nVersion</a> = struct.unpack(<span class="stringliteral">"<i"</span>, f.read(4))[0]</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a7b97489b2fb8e17535cd0f38a67d2e7f">hashPrevBlock</a> = <a class="code" href="namespacetest__framework_1_1mininode.html#a92ca8c58b41dbdde48516f70444ab860">deser_uint256</a>(f)</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#ae3efcbd222899932360b7a3f4639e010">hashMerkleRoot</a> = <a class="code" href="namespacetest__framework_1_1mininode.html#a92ca8c58b41dbdde48516f70444ab860">deser_uint256</a>(f)</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a72414535b4d571a43eebd3cb15e2899f">nTime</a> = struct.unpack(<span class="stringliteral">"<I"</span>, f.read(4))[0]</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a2ee5e87c676a0fa6159968565720a1a4">nBits</a> = struct.unpack(<span class="stringliteral">"<I"</span>, f.read(4))[0]</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a8e42d6d1e8dbd24878f46db86b10fc19">nNonce</a> = struct.unpack(<span class="stringliteral">"<I"</span>, f.read(4))[0]</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a5fb4471c7fa6a758d56a05e4676b894d">sha256</a> = <span class="keywordtype">None</span></div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a146cc03eedd1de6ba94185d7eb3c2e9b">hash</a> = <span class="keywordtype">None</span></div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span> </div><div class="line"><a name="l00480"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#ae55b865751ee587146fe09050d3caf70"> 480</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#ae55b865751ee587146fe09050d3caf70">serialize</a>(self):</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  r = b<span class="stringliteral">""</span></div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  r += struct.pack(<span class="stringliteral">"<i"</span>, self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a78376dfd1cc9cb00cd1479ae9f2cb963">nVersion</a>)</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  r += <a class="code" href="namespacetest__framework_1_1mininode.html#a648cf4cad8cb92b1a0b64ae7907682d5">ser_uint256</a>(self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a7b97489b2fb8e17535cd0f38a67d2e7f">hashPrevBlock</a>)</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  r += <a class="code" href="namespacetest__framework_1_1mininode.html#a648cf4cad8cb92b1a0b64ae7907682d5">ser_uint256</a>(self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#ae3efcbd222899932360b7a3f4639e010">hashMerkleRoot</a>)</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  r += struct.pack(<span class="stringliteral">"<I"</span>, self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a72414535b4d571a43eebd3cb15e2899f">nTime</a>)</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  r += struct.pack(<span class="stringliteral">"<I"</span>, self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a2ee5e87c676a0fa6159968565720a1a4">nBits</a>)</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>  r += struct.pack(<span class="stringliteral">"<I"</span>, self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a8e42d6d1e8dbd24878f46db86b10fc19">nNonce</a>)</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  <span class="keywordflow">return</span> r</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span> </div><div class="line"><a name="l00490"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#abc32372220875a70eef32fd621e17c2c"> 490</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#abc32372220875a70eef32fd621e17c2c">calc_sha256</a>(self):</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  <span class="keywordflow">if</span> self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a5fb4471c7fa6a758d56a05e4676b894d">sha256</a> <span class="keywordflow">is</span> <span class="keywordtype">None</span>:</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  r = b<span class="stringliteral">""</span></div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  r += struct.pack(<span class="stringliteral">"<i"</span>, self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a78376dfd1cc9cb00cd1479ae9f2cb963">nVersion</a>)</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  r += <a class="code" href="namespacetest__framework_1_1mininode.html#a648cf4cad8cb92b1a0b64ae7907682d5">ser_uint256</a>(self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a7b97489b2fb8e17535cd0f38a67d2e7f">hashPrevBlock</a>)</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  r += <a class="code" href="namespacetest__framework_1_1mininode.html#a648cf4cad8cb92b1a0b64ae7907682d5">ser_uint256</a>(self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#ae3efcbd222899932360b7a3f4639e010">hashMerkleRoot</a>)</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  r += struct.pack(<span class="stringliteral">"<I"</span>, self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a72414535b4d571a43eebd3cb15e2899f">nTime</a>)</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  r += struct.pack(<span class="stringliteral">"<I"</span>, self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a2ee5e87c676a0fa6159968565720a1a4">nBits</a>)</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  r += struct.pack(<span class="stringliteral">"<I"</span>, self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a8e42d6d1e8dbd24878f46db86b10fc19">nNonce</a>)</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a5fb4471c7fa6a758d56a05e4676b894d">sha256</a> = <a class="code" href="namespacetest__framework_1_1mininode.html#afba5ad294ca29a92a4e1d39552feb5dd">uint256_from_str</a>(<a class="code" href="namespacetest__framework_1_1mininode.html#aaa8edcca59b6861176f881e5dd10b6e1">dashhash</a>(r))</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a146cc03eedd1de6ba94185d7eb3c2e9b">hash</a> = encode(<a class="code" href="namespacetest__framework_1_1mininode.html#aaa8edcca59b6861176f881e5dd10b6e1">dashhash</a>(r)[::-1], <span class="stringliteral">'hex_codec'</span>).decode(<span class="stringliteral">'ascii'</span>)</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span> </div><div class="line"><a name="l00502"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#abd15f386fddfcdd4cb6842b8e7264d10"> 502</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#abd15f386fddfcdd4cb6842b8e7264d10">rehash</a>(self):</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a5fb4471c7fa6a758d56a05e4676b894d">sha256</a> = <span class="keywordtype">None</span></div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#abc32372220875a70eef32fd621e17c2c">calc_sha256</a>()</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  <span class="keywordflow">return</span> self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a5fb4471c7fa6a758d56a05e4676b894d">sha256</a></div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span> </div><div class="line"><a name="l00507"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a840de0d2ba276260b13a42d0a03cc712"> 507</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a840de0d2ba276260b13a42d0a03cc712">__repr__</a>(self):</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  <span class="keywordflow">return</span> <span class="stringliteral">"CBlockHeader(nVersion=%i hashPrevBlock=%064x hashMerkleRoot=%064x nTime=%s nBits=%08x nNonce=%08x)"</span> \</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  % (self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a78376dfd1cc9cb00cd1479ae9f2cb963">nVersion</a>, self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a7b97489b2fb8e17535cd0f38a67d2e7f">hashPrevBlock</a>, self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#ae3efcbd222899932360b7a3f4639e010">hashMerkleRoot</a>,</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  time.ctime(self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a72414535b4d571a43eebd3cb15e2899f">nTime</a>), self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a2ee5e87c676a0fa6159968565720a1a4">nBits</a>, self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a8e42d6d1e8dbd24878f46db86b10fc19">nNonce</a>)</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span> </div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span> </div><div class="line"><a name="l00513"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CBlock.html"> 513</a></span> <span class="keyword">class </span><a class="code" href="classtest__framework_1_1mininode_1_1CBlock.html">CBlock</a>(<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html">CBlockHeader</a>):</div><div class="line"><a name="l00514"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CBlock.html#a602a31821c008a20815d1473f6b9721d"> 514</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CBlock.html#a602a31821c008a20815d1473f6b9721d">__init__</a>(self, header=None):</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  super(CBlock, self).<a class="code" href="classtest__framework_1_1mininode_1_1CBlock.html#a602a31821c008a20815d1473f6b9721d">__init__</a>(header)</div><div class="line"><a name="l00516"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CBlock.html#abfb0844aa94e3979aaa216ca0137ea5f"> 516</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlock.html#abfb0844aa94e3979aaa216ca0137ea5f">vtx</a> = []</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span> </div><div class="line"><a name="l00518"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CBlock.html#ae1ebd8ed9926fa56ad9037b92eb5a61b"> 518</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CBlock.html#ae1ebd8ed9926fa56ad9037b92eb5a61b">deserialize</a>(self, f):</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  super(CBlock, self).<a class="code" href="classtest__framework_1_1mininode_1_1CBlock.html#ae1ebd8ed9926fa56ad9037b92eb5a61b">deserialize</a>(f)</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlock.html#abfb0844aa94e3979aaa216ca0137ea5f">vtx</a> = <a class="code" href="namespacetest__framework_1_1mininode.html#a5514860ac26078aedc3579c46f752d3a">deser_vector</a>(f, CTransaction)</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span> </div><div class="line"><a name="l00522"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CBlock.html#a331f6c23ab187ad9cb44e11e51b377b1"> 522</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CBlock.html#a331f6c23ab187ad9cb44e11e51b377b1">serialize</a>(self):</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  r = b<span class="stringliteral">""</span></div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>  r += super(CBlock, self).<a class="code" href="classtest__framework_1_1mininode_1_1CBlock.html#a331f6c23ab187ad9cb44e11e51b377b1">serialize</a>()</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  r += <a class="code" href="namespacetest__framework_1_1mininode.html#ae765b797da21bb7074ce578bbc3f9f20">ser_vector</a>(self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlock.html#abfb0844aa94e3979aaa216ca0137ea5f">vtx</a>)</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  <span class="keywordflow">return</span> r</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span> </div><div class="line"><a name="l00528"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CBlock.html#af4a7b7ab68638345e58745beb1889e67"> 528</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CBlock.html#af4a7b7ab68638345e58745beb1889e67">calc_merkle_root</a>(self):</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  hashes = []</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  <span class="keywordflow">for</span> tx <span class="keywordflow">in</span> self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlock.html#abfb0844aa94e3979aaa216ca0137ea5f">vtx</a>:</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>  tx.calc_sha256()</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>  hashes.append(<a class="code" href="namespacetest__framework_1_1mininode.html#a648cf4cad8cb92b1a0b64ae7907682d5">ser_uint256</a>(tx.sha256))</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>  <span class="keywordflow">while</span> len(hashes) > 1:</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>  newhashes = []</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>  <span class="keywordflow">for</span> i <span class="keywordflow">in</span> xrange(0, len(hashes), 2):</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>  i2 = min(i+1, len(hashes)-1)</div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>  newhashes.append(<a class="code" href="namespacetest__framework_1_1mininode.html#ac74a69ca5fea2dacf48b0772fb4cbd2c">hash256</a>(hashes[i] + hashes[i2]))</div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>  hashes = newhashes</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>  <span class="keywordflow">return</span> <a class="code" href="namespacetest__framework_1_1mininode.html#afba5ad294ca29a92a4e1d39552feb5dd">uint256_from_str</a>(hashes[0])</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span> </div><div class="line"><a name="l00541"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CBlock.html#a8e87ed697185126200ea96f0f815eb4c"> 541</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CBlock.html#a8e87ed697185126200ea96f0f815eb4c">is_valid</a>(self):</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#abc32372220875a70eef32fd621e17c2c">calc_sha256</a>()</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  target = <a class="code" href="namespacetest__framework_1_1mininode.html#ad72dfbd1fc12a679a9d1984ac914614d">uint256_from_compact</a>(self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a2ee5e87c676a0fa6159968565720a1a4">nBits</a>)</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>  <span class="keywordflow">if</span> self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a5fb4471c7fa6a758d56a05e4676b894d">sha256</a> > target:</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>  <span class="keywordflow">return</span> <span class="keyword">False</span></div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>  <span class="keywordflow">for</span> tx <span class="keywordflow">in</span> self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlock.html#abfb0844aa94e3979aaa216ca0137ea5f">vtx</a>:</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>  <span class="keywordflow">if</span> <span class="keywordflow">not</span> tx.is_valid():</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>  <span class="keywordflow">return</span> <span class="keyword">False</span></div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>  <span class="keywordflow">if</span> self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlock.html#af4a7b7ab68638345e58745beb1889e67">calc_merkle_root</a>() != self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#ae3efcbd222899932360b7a3f4639e010">hashMerkleRoot</a>:</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>  <span class="keywordflow">return</span> <span class="keyword">False</span></div><div class="line"><a name="l00551"></a><span class="lineno"> 551</span>  <span class="keywordflow">return</span> <span class="keyword">True</span></div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span> </div><div class="line"><a name="l00553"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CBlock.html#a30d798513843c9342188e78df4a99a68"> 553</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CBlock.html#a30d798513843c9342188e78df4a99a68">solve</a>(self):</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#abd15f386fddfcdd4cb6842b8e7264d10">rehash</a>()</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>  target = <a class="code" href="namespacetest__framework_1_1mininode.html#ad72dfbd1fc12a679a9d1984ac914614d">uint256_from_compact</a>(self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a2ee5e87c676a0fa6159968565720a1a4">nBits</a>)</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>  <span class="keywordflow">while</span> self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a5fb4471c7fa6a758d56a05e4676b894d">sha256</a> > target:</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a8e42d6d1e8dbd24878f46db86b10fc19">nNonce</a> += 1</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#abd15f386fddfcdd4cb6842b8e7264d10">rehash</a>()</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span> </div><div class="line"><a name="l00560"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CBlock.html#a971fd13fd027208c32e716201b15fa98"> 560</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CBlock.html#a971fd13fd027208c32e716201b15fa98">__repr__</a>(self):</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>  <span class="keywordflow">return</span> <span class="stringliteral">"CBlock(nVersion=%i hashPrevBlock=%064x hashMerkleRoot=%064x nTime=%s nBits=%08x nNonce=%08x vtx=%s)"</span> \</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>  % (self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a78376dfd1cc9cb00cd1479ae9f2cb963">nVersion</a>, self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a7b97489b2fb8e17535cd0f38a67d2e7f">hashPrevBlock</a>, self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#ae3efcbd222899932360b7a3f4639e010">hashMerkleRoot</a>,</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>  time.ctime(self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a72414535b4d571a43eebd3cb15e2899f">nTime</a>), self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a2ee5e87c676a0fa6159968565720a1a4">nBits</a>, self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a8e42d6d1e8dbd24878f46db86b10fc19">nNonce</a>, repr(self.<a class="code" href="classtest__framework_1_1mininode_1_1CBlock.html#abfb0844aa94e3979aaa216ca0137ea5f">vtx</a>))</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span> </div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span> </div><div class="line"><a name="l00566"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html"> 566</a></span> <span class="keyword">class </span><a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html">CUnsignedAlert</a>(object):</div><div class="line"><a name="l00567"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a5e17368e5b3f16416f7b0fd8c4577f63"> 567</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a5e17368e5b3f16416f7b0fd8c4577f63">__init__</a>(self):</div><div class="line"><a name="l00568"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a9ace7cd071f76d1d552cba65f0e8f298"> 568</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a9ace7cd071f76d1d552cba65f0e8f298">nVersion</a> = 1</div><div class="line"><a name="l00569"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a599a902b21e853a7d433131e545bd41f"> 569</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a599a902b21e853a7d433131e545bd41f">nRelayUntil</a> = 0</div><div class="line"><a name="l00570"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#ad066cdc79da75e9e2cc1322b91b88243"> 570</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#ad066cdc79da75e9e2cc1322b91b88243">nExpiration</a> = 0</div><div class="line"><a name="l00571"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a543574fc20c406e687dbcb139f692faa"> 571</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a543574fc20c406e687dbcb139f692faa">nID</a> = 0</div><div class="line"><a name="l00572"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a46d625a31befcdbed61b8894c618c42e"> 572</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a46d625a31befcdbed61b8894c618c42e">nCancel</a> = 0</div><div class="line"><a name="l00573"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#ae69df8525d958a56f4fa66ca522937aa"> 573</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#ae69df8525d958a56f4fa66ca522937aa">setCancel</a> = []</div><div class="line"><a name="l00574"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#adf3a10fbfc8f4aaf260bc3ca99a08d22"> 574</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#adf3a10fbfc8f4aaf260bc3ca99a08d22">nMinVer</a> = 0</div><div class="line"><a name="l00575"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#af8fa0cf220d1e0a6f3f73df2e229dca3"> 575</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#af8fa0cf220d1e0a6f3f73df2e229dca3">nMaxVer</a> = 0</div><div class="line"><a name="l00576"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#aba7ace47644f508f8b2c285c2e1af038"> 576</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#aba7ace47644f508f8b2c285c2e1af038">setSubVer</a> = []</div><div class="line"><a name="l00577"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a3856f2c4c0eea7a54b9f379903d6082f"> 577</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a3856f2c4c0eea7a54b9f379903d6082f">nPriority</a> = 0</div><div class="line"><a name="l00578"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a04dfa92869aef1d80f5caf475e407423"> 578</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a04dfa92869aef1d80f5caf475e407423">strComment</a> = b<span class="stringliteral">""</span></div><div class="line"><a name="l00579"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a3dbd3f096f515e8d083dbdbc967b754c"> 579</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a3dbd3f096f515e8d083dbdbc967b754c">strStatusBar</a> = b<span class="stringliteral">""</span></div><div class="line"><a name="l00580"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a473467e88a2e2fa650379fba059458a1"> 580</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a473467e88a2e2fa650379fba059458a1">strReserved</a> = b<span class="stringliteral">""</span></div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span> </div><div class="line"><a name="l00582"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a9426347d65ea4a016225eee12ff76191"> 582</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a9426347d65ea4a016225eee12ff76191">deserialize</a>(self, f):</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a9ace7cd071f76d1d552cba65f0e8f298">nVersion</a> = struct.unpack(<span class="stringliteral">"<i"</span>, f.read(4))[0]</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a599a902b21e853a7d433131e545bd41f">nRelayUntil</a> = struct.unpack(<span class="stringliteral">"<q"</span>, f.read(8))[0]</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#ad066cdc79da75e9e2cc1322b91b88243">nExpiration</a> = struct.unpack(<span class="stringliteral">"<q"</span>, f.read(8))[0]</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a543574fc20c406e687dbcb139f692faa">nID</a> = struct.unpack(<span class="stringliteral">"<i"</span>, f.read(4))[0]</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a46d625a31befcdbed61b8894c618c42e">nCancel</a> = struct.unpack(<span class="stringliteral">"<i"</span>, f.read(4))[0]</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#ae69df8525d958a56f4fa66ca522937aa">setCancel</a> = <a class="code" href="namespacetest__framework_1_1mininode.html#a3a32c11095028bb81ff9c719f8b5118a">deser_int_vector</a>(f)</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#adf3a10fbfc8f4aaf260bc3ca99a08d22">nMinVer</a> = struct.unpack(<span class="stringliteral">"<i"</span>, f.read(4))[0]</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#af8fa0cf220d1e0a6f3f73df2e229dca3">nMaxVer</a> = struct.unpack(<span class="stringliteral">"<i"</span>, f.read(4))[0]</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#aba7ace47644f508f8b2c285c2e1af038">setSubVer</a> = <a class="code" href="namespacetest__framework_1_1mininode.html#ad394a525fb7b6779f56b92da72ad23d2">deser_string_vector</a>(f)</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a3856f2c4c0eea7a54b9f379903d6082f">nPriority</a> = struct.unpack(<span class="stringliteral">"<i"</span>, f.read(4))[0]</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a04dfa92869aef1d80f5caf475e407423">strComment</a> = <a class="code" href="namespacetest__framework_1_1mininode.html#a809123fac983049b3133dea8c9d2b5bc">deser_string</a>(f)</div><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a3dbd3f096f515e8d083dbdbc967b754c">strStatusBar</a> = <a class="code" href="namespacetest__framework_1_1mininode.html#a809123fac983049b3133dea8c9d2b5bc">deser_string</a>(f)</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a473467e88a2e2fa650379fba059458a1">strReserved</a> = <a class="code" href="namespacetest__framework_1_1mininode.html#a809123fac983049b3133dea8c9d2b5bc">deser_string</a>(f)</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span> </div><div class="line"><a name="l00597"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a8aee1a746ae59be2253c7b87caa59c6f"> 597</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a8aee1a746ae59be2253c7b87caa59c6f">serialize</a>(self):</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>  r = b<span class="stringliteral">""</span></div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>  r += struct.pack(<span class="stringliteral">"<i"</span>, self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a9ace7cd071f76d1d552cba65f0e8f298">nVersion</a>)</div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>  r += struct.pack(<span class="stringliteral">"<q"</span>, self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a599a902b21e853a7d433131e545bd41f">nRelayUntil</a>)</div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>  r += struct.pack(<span class="stringliteral">"<q"</span>, self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#ad066cdc79da75e9e2cc1322b91b88243">nExpiration</a>)</div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>  r += struct.pack(<span class="stringliteral">"<i"</span>, self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a543574fc20c406e687dbcb139f692faa">nID</a>)</div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span>  r += struct.pack(<span class="stringliteral">"<i"</span>, self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a46d625a31befcdbed61b8894c618c42e">nCancel</a>)</div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>  r += <a class="code" href="namespacetest__framework_1_1mininode.html#a6f0a63f3711bbe5e39958b29e969d0ed">ser_int_vector</a>(self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#ae69df8525d958a56f4fa66ca522937aa">setCancel</a>)</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>  r += struct.pack(<span class="stringliteral">"<i"</span>, self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#adf3a10fbfc8f4aaf260bc3ca99a08d22">nMinVer</a>)</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>  r += struct.pack(<span class="stringliteral">"<i"</span>, self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#af8fa0cf220d1e0a6f3f73df2e229dca3">nMaxVer</a>)</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span>  r += <a class="code" href="namespacetest__framework_1_1mininode.html#a03d4db4cbc7cedf02985f9026fdff1ca">ser_string_vector</a>(self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#aba7ace47644f508f8b2c285c2e1af038">setSubVer</a>)</div><div class="line"><a name="l00608"></a><span class="lineno"> 608</span>  r += struct.pack(<span class="stringliteral">"<i"</span>, self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a3856f2c4c0eea7a54b9f379903d6082f">nPriority</a>)</div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span>  r += <a class="code" href="namespacetest__framework_1_1mininode.html#a0d10ddcce8c03b9a96ba703e59bd8ee7">ser_string</a>(self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a04dfa92869aef1d80f5caf475e407423">strComment</a>)</div><div class="line"><a name="l00610"></a><span class="lineno"> 610</span>  r += <a class="code" href="namespacetest__framework_1_1mininode.html#a0d10ddcce8c03b9a96ba703e59bd8ee7">ser_string</a>(self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a3dbd3f096f515e8d083dbdbc967b754c">strStatusBar</a>)</div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>  r += <a class="code" href="namespacetest__framework_1_1mininode.html#a0d10ddcce8c03b9a96ba703e59bd8ee7">ser_string</a>(self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a473467e88a2e2fa650379fba059458a1">strReserved</a>)</div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>  <span class="keywordflow">return</span> r</div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span> </div><div class="line"><a name="l00614"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a843ea10ca72a6091079d25b3732df4a4"> 614</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a843ea10ca72a6091079d25b3732df4a4">__repr__</a>(self):</div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>  <span class="keywordflow">return</span> <span class="stringliteral">"CUnsignedAlert(nVersion %d, nRelayUntil %d, nExpiration %d, nID %d, nCancel %d, nMinVer %d, nMaxVer %d, nPriority %d, strComment %s, strStatusBar %s, strReserved %s)"</span> \</div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>  % (self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a9ace7cd071f76d1d552cba65f0e8f298">nVersion</a>, self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a599a902b21e853a7d433131e545bd41f">nRelayUntil</a>, self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#ad066cdc79da75e9e2cc1322b91b88243">nExpiration</a>, self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a543574fc20c406e687dbcb139f692faa">nID</a>,</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a46d625a31befcdbed61b8894c618c42e">nCancel</a>, self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#adf3a10fbfc8f4aaf260bc3ca99a08d22">nMinVer</a>, self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#af8fa0cf220d1e0a6f3f73df2e229dca3">nMaxVer</a>, self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a3856f2c4c0eea7a54b9f379903d6082f">nPriority</a>,</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a04dfa92869aef1d80f5caf475e407423">strComment</a>, self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a3dbd3f096f515e8d083dbdbc967b754c">strStatusBar</a>, self.<a class="code" href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a473467e88a2e2fa650379fba059458a1">strReserved</a>)</div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span> </div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span> </div><div class="line"><a name="l00621"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CAlert.html"> 621</a></span> <span class="keyword">class </span><a class="code" href="classtest__framework_1_1mininode_1_1CAlert.html">CAlert</a>(object):</div><div class="line"><a name="l00622"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CAlert.html#aa32fff68c18f9a1bcf6e0197506d9029"> 622</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CAlert.html#aa32fff68c18f9a1bcf6e0197506d9029">__init__</a>(self):</div><div class="line"><a name="l00623"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CAlert.html#a62a34531fb49e1920a09c33583fc6164"> 623</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CAlert.html#a62a34531fb49e1920a09c33583fc6164">vchMsg</a> = b<span class="stringliteral">""</span></div><div class="line"><a name="l00624"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CAlert.html#ae987af017aeb600d8ee4089938a9175b"> 624</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CAlert.html#ae987af017aeb600d8ee4089938a9175b">vchSig</a> = b<span class="stringliteral">""</span></div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span> </div><div class="line"><a name="l00626"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CAlert.html#ad27d1a9667aa5c73340ac790a7bd68d0"> 626</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CAlert.html#ad27d1a9667aa5c73340ac790a7bd68d0">deserialize</a>(self, f):</div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CAlert.html#a62a34531fb49e1920a09c33583fc6164">vchMsg</a> = <a class="code" href="namespacetest__framework_1_1mininode.html#a809123fac983049b3133dea8c9d2b5bc">deser_string</a>(f)</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1CAlert.html#ae987af017aeb600d8ee4089938a9175b">vchSig</a> = <a class="code" href="namespacetest__framework_1_1mininode.html#a809123fac983049b3133dea8c9d2b5bc">deser_string</a>(f)</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span> </div><div class="line"><a name="l00630"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CAlert.html#a428dc3fbccd01277ddb96454b0f5c9e7"> 630</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CAlert.html#a428dc3fbccd01277ddb96454b0f5c9e7">serialize</a>(self):</div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>  r = b<span class="stringliteral">""</span></div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>  r += <a class="code" href="namespacetest__framework_1_1mininode.html#a0d10ddcce8c03b9a96ba703e59bd8ee7">ser_string</a>(self.<a class="code" href="classtest__framework_1_1mininode_1_1CAlert.html#a62a34531fb49e1920a09c33583fc6164">vchMsg</a>)</div><div class="line"><a name="l00633"></a><span class="lineno"> 633</span>  r += <a class="code" href="namespacetest__framework_1_1mininode.html#a0d10ddcce8c03b9a96ba703e59bd8ee7">ser_string</a>(self.<a class="code" href="classtest__framework_1_1mininode_1_1CAlert.html#ae987af017aeb600d8ee4089938a9175b">vchSig</a>)</div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>  <span class="keywordflow">return</span> r</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span> </div><div class="line"><a name="l00636"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1CAlert.html#a84549439758af59f7abb1b29fa3b0e9e"> 636</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1CAlert.html#a84549439758af59f7abb1b29fa3b0e9e">__repr__</a>(self):</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>  <span class="keywordflow">return</span> <span class="stringliteral">"CAlert(vchMsg.sz %d, vchSig.sz %d)"</span> \</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>  % (len(self.<a class="code" href="classtest__framework_1_1mininode_1_1CAlert.html#a62a34531fb49e1920a09c33583fc6164">vchMsg</a>), len(self.<a class="code" href="classtest__framework_1_1mininode_1_1CAlert.html#ae987af017aeb600d8ee4089938a9175b">vchSig</a>))</div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span> </div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span> </div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span> <span class="comment"># Objects that correspond to messages on the wire</span></div><div class="line"><a name="l00642"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__version.html"> 642</a></span> <span class="keyword">class </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html">msg_version</a>(object):</div><div class="line"><a name="l00643"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__version.html#ac894e4a785e01acf730d85eeb504d82a"> 643</a></span>  command = b<span class="stringliteral">"version"</span></div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span> </div><div class="line"><a name="l00645"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__version.html#a459e4d748d5b59606f2d15b14527d5c9"> 645</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#a459e4d748d5b59606f2d15b14527d5c9">__init__</a>(self):</div><div class="line"><a name="l00646"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__version.html#a1ec5c5884ab5119ca2b10c84e9f8bf3e"> 646</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#a1ec5c5884ab5119ca2b10c84e9f8bf3e">nVersion</a> = MY_VERSION</div><div class="line"><a name="l00647"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__version.html#ab5c28d59711e48f577d449ade3a539bc"> 647</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#ab5c28d59711e48f577d449ade3a539bc">nServices</a> = 1</div><div class="line"><a name="l00648"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__version.html#a64dac72aaf95e8b7b624fae67b92f9b1"> 648</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#a64dac72aaf95e8b7b624fae67b92f9b1">nTime</a> = int(time.time())</div><div class="line"><a name="l00649"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__version.html#a19ef4fabdb02f96abe4ed341a8f086a1"> 649</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#a19ef4fabdb02f96abe4ed341a8f086a1">addrTo</a> = <a class="code" href="classtest__framework_1_1mininode_1_1CAddress.html">CAddress</a>()</div><div class="line"><a name="l00650"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__version.html#aa837a900da4116e3d5756b6f654ba8f6"> 650</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#aa837a900da4116e3d5756b6f654ba8f6">addrFrom</a> = <a class="code" href="classtest__framework_1_1mininode_1_1CAddress.html">CAddress</a>()</div><div class="line"><a name="l00651"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__version.html#ab3a785ba00c8f8d217d42eec9ee9d78d"> 651</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#ab3a785ba00c8f8d217d42eec9ee9d78d">nNonce</a> = random.getrandbits(64)</div><div class="line"><a name="l00652"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__version.html#aa48f0022c79c0fdaa398343482e92eff"> 652</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#aa48f0022c79c0fdaa398343482e92eff">strSubVer</a> = MY_SUBVERSION</div><div class="line"><a name="l00653"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__version.html#ac1d704d4a56bf88e9b91660eddc86760"> 653</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#ac1d704d4a56bf88e9b91660eddc86760">nStartingHeight</a> = -1</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span> </div><div class="line"><a name="l00655"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__version.html#a461e336230041f125ed64d113359fadd"> 655</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#a461e336230041f125ed64d113359fadd">deserialize</a>(self, f):</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#a1ec5c5884ab5119ca2b10c84e9f8bf3e">nVersion</a> = struct.unpack(<span class="stringliteral">"<i"</span>, f.read(4))[0]</div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>  <span class="keywordflow">if</span> self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#a1ec5c5884ab5119ca2b10c84e9f8bf3e">nVersion</a> == 10300:</div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#a1ec5c5884ab5119ca2b10c84e9f8bf3e">nVersion</a> = 300</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#ab5c28d59711e48f577d449ade3a539bc">nServices</a> = struct.unpack(<span class="stringliteral">"<Q"</span>, f.read(8))[0]</div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#a64dac72aaf95e8b7b624fae67b92f9b1">nTime</a> = struct.unpack(<span class="stringliteral">"<q"</span>, f.read(8))[0]</div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#a19ef4fabdb02f96abe4ed341a8f086a1">addrTo</a> = <a class="code" href="classtest__framework_1_1mininode_1_1CAddress.html">CAddress</a>()</div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#a19ef4fabdb02f96abe4ed341a8f086a1">addrTo</a>.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#a461e336230041f125ed64d113359fadd">deserialize</a>(f)</div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>  <span class="keywordflow">if</span> self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#a1ec5c5884ab5119ca2b10c84e9f8bf3e">nVersion</a> >= 106:</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#aa837a900da4116e3d5756b6f654ba8f6">addrFrom</a> = <a class="code" href="classtest__framework_1_1mininode_1_1CAddress.html">CAddress</a>()</div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#aa837a900da4116e3d5756b6f654ba8f6">addrFrom</a>.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#a461e336230041f125ed64d113359fadd">deserialize</a>(f)</div><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#ab3a785ba00c8f8d217d42eec9ee9d78d">nNonce</a> = struct.unpack(<span class="stringliteral">"<Q"</span>, f.read(8))[0]</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#aa48f0022c79c0fdaa398343482e92eff">strSubVer</a> = <a class="code" href="namespacetest__framework_1_1mininode.html#a809123fac983049b3133dea8c9d2b5bc">deser_string</a>(f)</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>  <span class="keywordflow">if</span> self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#a1ec5c5884ab5119ca2b10c84e9f8bf3e">nVersion</a> >= 209:</div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#ac1d704d4a56bf88e9b91660eddc86760">nStartingHeight</a> = struct.unpack(<span class="stringliteral">"<i"</span>, f.read(4))[0]</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#ac1d704d4a56bf88e9b91660eddc86760">nStartingHeight</a> = <span class="keywordtype">None</span></div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00673"></a><span class="lineno"> 673</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#aa837a900da4116e3d5756b6f654ba8f6">addrFrom</a> = <span class="keywordtype">None</span></div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#ab3a785ba00c8f8d217d42eec9ee9d78d">nNonce</a> = <span class="keywordtype">None</span></div><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#aa48f0022c79c0fdaa398343482e92eff">strSubVer</a> = <span class="keywordtype">None</span></div><div class="line"><a name="l00676"></a><span class="lineno"> 676</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#ac1d704d4a56bf88e9b91660eddc86760">nStartingHeight</a> = <span class="keywordtype">None</span></div><div class="line"><a name="l00677"></a><span class="lineno"> 677</span> </div><div class="line"><a name="l00678"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__version.html#aeddd8c046ebd8754fb270d47d6279ab6"> 678</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#aeddd8c046ebd8754fb270d47d6279ab6">serialize</a>(self):</div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>  r = b<span class="stringliteral">""</span></div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>  r += struct.pack(<span class="stringliteral">"<i"</span>, self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#a1ec5c5884ab5119ca2b10c84e9f8bf3e">nVersion</a>)</div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>  r += struct.pack(<span class="stringliteral">"<Q"</span>, self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#ab5c28d59711e48f577d449ade3a539bc">nServices</a>)</div><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>  r += struct.pack(<span class="stringliteral">"<q"</span>, self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#a64dac72aaf95e8b7b624fae67b92f9b1">nTime</a>)</div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span>  r += self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#a19ef4fabdb02f96abe4ed341a8f086a1">addrTo</a>.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#aeddd8c046ebd8754fb270d47d6279ab6">serialize</a>()</div><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>  r += self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#aa837a900da4116e3d5756b6f654ba8f6">addrFrom</a>.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#aeddd8c046ebd8754fb270d47d6279ab6">serialize</a>()</div><div class="line"><a name="l00685"></a><span class="lineno"> 685</span>  r += struct.pack(<span class="stringliteral">"<Q"</span>, self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#ab3a785ba00c8f8d217d42eec9ee9d78d">nNonce</a>)</div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>  r += <a class="code" href="namespacetest__framework_1_1mininode.html#a0d10ddcce8c03b9a96ba703e59bd8ee7">ser_string</a>(self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#aa48f0022c79c0fdaa398343482e92eff">strSubVer</a>)</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>  r += struct.pack(<span class="stringliteral">"<i"</span>, self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#ac1d704d4a56bf88e9b91660eddc86760">nStartingHeight</a>)</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>  <span class="keywordflow">return</span> r</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span> </div><div class="line"><a name="l00690"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__version.html#a192532f3d279955ba37ee6763b85fe42"> 690</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#a192532f3d279955ba37ee6763b85fe42">__repr__</a>(self):</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>  <span class="keywordflow">return</span> <span class="stringliteral">'msg_version(nVersion=%i nServices=%i nTime=%s addrTo=%s addrFrom=%s nNonce=0x%016X strSubVer=%s nStartingHeight=%i)'</span> \</div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>  % (self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#a1ec5c5884ab5119ca2b10c84e9f8bf3e">nVersion</a>, self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#ab5c28d59711e48f577d449ade3a539bc">nServices</a>, time.ctime(self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#a64dac72aaf95e8b7b624fae67b92f9b1">nTime</a>),</div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>  repr(self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#a19ef4fabdb02f96abe4ed341a8f086a1">addrTo</a>), repr(self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#aa837a900da4116e3d5756b6f654ba8f6">addrFrom</a>), self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#ab3a785ba00c8f8d217d42eec9ee9d78d">nNonce</a>,</div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#aa48f0022c79c0fdaa398343482e92eff">strSubVer</a>, self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html#ac1d704d4a56bf88e9b91660eddc86760">nStartingHeight</a>)</div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span> </div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span> </div><div class="line"><a name="l00697"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__verack.html"> 697</a></span> <span class="keyword">class </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__verack.html">msg_verack</a>(object):</div><div class="line"><a name="l00698"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__verack.html#ac86057ab3d32f0e70332b2e335655a39"> 698</a></span>  command = b<span class="stringliteral">"verack"</span></div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span> </div><div class="line"><a name="l00700"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__verack.html#ac46fe86fa2b26e568e880a1d10377151"> 700</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__verack.html#ac46fe86fa2b26e568e880a1d10377151">__init__</a>(self):</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>  <span class="keywordflow">pass</span></div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span> </div><div class="line"><a name="l00703"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__verack.html#a131507fb4eb22ba1034beac4d857db26"> 703</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__verack.html#a131507fb4eb22ba1034beac4d857db26">deserialize</a>(self, f):</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>  <span class="keywordflow">pass</span></div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span> </div><div class="line"><a name="l00706"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__verack.html#a48ce87b5541a89cad180badb46b17981"> 706</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__verack.html#a48ce87b5541a89cad180badb46b17981">serialize</a>(self):</div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>  <span class="keywordflow">return</span> b<span class="stringliteral">""</span></div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span> </div><div class="line"><a name="l00709"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__verack.html#a1738181bf31ec48a374887a3c6c4a935"> 709</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__verack.html#a1738181bf31ec48a374887a3c6c4a935">__repr__</a>(self):</div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>  <span class="keywordflow">return</span> <span class="stringliteral">"msg_verack()"</span></div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span> </div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span> </div><div class="line"><a name="l00713"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__addr.html"> 713</a></span> <span class="keyword">class </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__addr.html">msg_addr</a>(object):</div><div class="line"><a name="l00714"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__addr.html#a3eb553ce80e4835b53612a240491b66e"> 714</a></span>  command = b<span class="stringliteral">"addr"</span></div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span> </div><div class="line"><a name="l00716"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__addr.html#aac3a303c26aefa4ccf58c17356cddbeb"> 716</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__addr.html#aac3a303c26aefa4ccf58c17356cddbeb">__init__</a>(self):</div><div class="line"><a name="l00717"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__addr.html#aaa3030f86691df15fee925fbf5127c91"> 717</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__addr.html#aaa3030f86691df15fee925fbf5127c91">addrs</a> = []</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span> </div><div class="line"><a name="l00719"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__addr.html#a86bf8dcece31261ced19ae9525f22e28"> 719</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__addr.html#a86bf8dcece31261ced19ae9525f22e28">deserialize</a>(self, f):</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__addr.html#aaa3030f86691df15fee925fbf5127c91">addrs</a> = <a class="code" href="namespacetest__framework_1_1mininode.html#a5514860ac26078aedc3579c46f752d3a">deser_vector</a>(f, CAddress)</div><div class="line"><a name="l00721"></a><span class="lineno"> 721</span> </div><div class="line"><a name="l00722"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__addr.html#ac4b5a9a82e7aaabc97d04f6ec3c36088"> 722</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__addr.html#ac4b5a9a82e7aaabc97d04f6ec3c36088">serialize</a>(self):</div><div class="line"><a name="l00723"></a><span class="lineno"> 723</span>  <span class="keywordflow">return</span> <a class="code" href="namespacetest__framework_1_1mininode.html#ae765b797da21bb7074ce578bbc3f9f20">ser_vector</a>(self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__addr.html#aaa3030f86691df15fee925fbf5127c91">addrs</a>)</div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span> </div><div class="line"><a name="l00725"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__addr.html#a1d40ada8659737853044645d2d317a12"> 725</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__addr.html#a1d40ada8659737853044645d2d317a12">__repr__</a>(self):</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>  <span class="keywordflow">return</span> <span class="stringliteral">"msg_addr(addrs=%s)"</span> % (repr(self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__addr.html#aaa3030f86691df15fee925fbf5127c91">addrs</a>))</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span> </div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span> </div><div class="line"><a name="l00729"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__alert.html"> 729</a></span> <span class="keyword">class </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__alert.html">msg_alert</a>(object):</div><div class="line"><a name="l00730"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__alert.html#ac8e19d89a9269f422eb8fc0180a3d4c2"> 730</a></span>  command = b<span class="stringliteral">"alert"</span></div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span> </div><div class="line"><a name="l00732"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__alert.html#ae76dc9f254eed1f8879497a0ea3286a8"> 732</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__alert.html#ae76dc9f254eed1f8879497a0ea3286a8">__init__</a>(self):</div><div class="line"><a name="l00733"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__alert.html#a218a54a2fb4b7cf06877dba1f6f34070"> 733</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__alert.html#a218a54a2fb4b7cf06877dba1f6f34070">alert</a> = <a class="code" href="classtest__framework_1_1mininode_1_1CAlert.html">CAlert</a>()</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span> </div><div class="line"><a name="l00735"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__alert.html#a3d694159733c329e16f4017e10ccc8ad"> 735</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__alert.html#a3d694159733c329e16f4017e10ccc8ad">deserialize</a>(self, f):</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__alert.html#a218a54a2fb4b7cf06877dba1f6f34070">alert</a> = <a class="code" href="classtest__framework_1_1mininode_1_1CAlert.html">CAlert</a>()</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__alert.html#a218a54a2fb4b7cf06877dba1f6f34070">alert</a>.<a class="code" href="classtest__framework_1_1mininode_1_1msg__alert.html#a3d694159733c329e16f4017e10ccc8ad">deserialize</a>(f)</div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span> </div><div class="line"><a name="l00739"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__alert.html#a8089c98df503ede1790d65d09bdfaf51"> 739</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__alert.html#a8089c98df503ede1790d65d09bdfaf51">serialize</a>(self):</div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>  r = b<span class="stringliteral">""</span></div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>  r += self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__alert.html#a218a54a2fb4b7cf06877dba1f6f34070">alert</a>.<a class="code" href="classtest__framework_1_1mininode_1_1msg__alert.html#a8089c98df503ede1790d65d09bdfaf51">serialize</a>()</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>  <span class="keywordflow">return</span> r</div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span> </div><div class="line"><a name="l00744"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__alert.html#ab1070609aeafadfad0f31713f20dc403"> 744</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__alert.html#ab1070609aeafadfad0f31713f20dc403">__repr__</a>(self):</div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span>  <span class="keywordflow">return</span> <span class="stringliteral">"msg_alert(alert=%s)"</span> % (repr(self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__alert.html#a218a54a2fb4b7cf06877dba1f6f34070">alert</a>), )</div><div class="line"><a name="l00746"></a><span class="lineno"> 746</span> </div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span> </div><div class="line"><a name="l00748"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__inv.html"> 748</a></span> <span class="keyword">class </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__inv.html">msg_inv</a>(object):</div><div class="line"><a name="l00749"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__inv.html#a5881d5844386cedc59e8506f8af56d65"> 749</a></span>  command = b<span class="stringliteral">"inv"</span></div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span> </div><div class="line"><a name="l00751"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__inv.html#a57b2e251e837b9c527f31941c47a08ff"> 751</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__inv.html#a57b2e251e837b9c527f31941c47a08ff">__init__</a>(self, inv=None):</div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span>  <span class="keywordflow">if</span> inv <span class="keywordflow">is</span> <span class="keywordtype">None</span>:</div><div class="line"><a name="l00753"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__inv.html#a1037cbe3557bb2a43acbd35ac662e8da"> 753</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__inv.html#a1037cbe3557bb2a43acbd35ac662e8da">inv</a> = []</div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__inv.html#a1037cbe3557bb2a43acbd35ac662e8da">inv</a> = inv</div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span> </div><div class="line"><a name="l00757"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__inv.html#a2e01dd7406c219e06830a996a1142f01"> 757</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__inv.html#a2e01dd7406c219e06830a996a1142f01">deserialize</a>(self, f):</div><div class="line"><a name="l00758"></a><span class="lineno"> 758</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__inv.html#a1037cbe3557bb2a43acbd35ac662e8da">inv</a> = <a class="code" href="namespacetest__framework_1_1mininode.html#a5514860ac26078aedc3579c46f752d3a">deser_vector</a>(f, CInv)</div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span> </div><div class="line"><a name="l00760"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__inv.html#a7c47d4e87affd967c47739227b23ee04"> 760</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__inv.html#a7c47d4e87affd967c47739227b23ee04">serialize</a>(self):</div><div class="line"><a name="l00761"></a><span class="lineno"> 761</span>  <span class="keywordflow">return</span> <a class="code" href="namespacetest__framework_1_1mininode.html#ae765b797da21bb7074ce578bbc3f9f20">ser_vector</a>(self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__inv.html#a1037cbe3557bb2a43acbd35ac662e8da">inv</a>)</div><div class="line"><a name="l00762"></a><span class="lineno"> 762</span> </div><div class="line"><a name="l00763"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__inv.html#a6e604311130dba5f3098495b81205847"> 763</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__inv.html#a6e604311130dba5f3098495b81205847">__repr__</a>(self):</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>  <span class="keywordflow">return</span> <span class="stringliteral">"msg_inv(inv=%s)"</span> % (repr(self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__inv.html#a1037cbe3557bb2a43acbd35ac662e8da">inv</a>))</div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span> </div><div class="line"><a name="l00766"></a><span class="lineno"> 766</span> </div><div class="line"><a name="l00767"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__getdata.html"> 767</a></span> <span class="keyword">class </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__getdata.html">msg_getdata</a>(object):</div><div class="line"><a name="l00768"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__getdata.html#ac28a255daf4ca79ede1849ea4edf79ca"> 768</a></span>  command = b<span class="stringliteral">"getdata"</span></div><div class="line"><a name="l00769"></a><span class="lineno"> 769</span> </div><div class="line"><a name="l00770"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__getdata.html#a5b35c3b655ddd020498de0a239985cd5"> 770</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__getdata.html#a5b35c3b655ddd020498de0a239985cd5">__init__</a>(self, inv=None):</div><div class="line"><a name="l00771"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__getdata.html#a9bb93aa7d392789755604ced9e21fe5b"> 771</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__getdata.html#a9bb93aa7d392789755604ced9e21fe5b">inv</a> = inv <span class="keywordflow">if</span> inv != <span class="keywordtype">None</span> <span class="keywordflow">else</span> []</div><div class="line"><a name="l00772"></a><span class="lineno"> 772</span> </div><div class="line"><a name="l00773"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__getdata.html#ad3b4358dee12fdea2999a32456112ff1"> 773</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__getdata.html#ad3b4358dee12fdea2999a32456112ff1">deserialize</a>(self, f):</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__getdata.html#a9bb93aa7d392789755604ced9e21fe5b">inv</a> = <a class="code" href="namespacetest__framework_1_1mininode.html#a5514860ac26078aedc3579c46f752d3a">deser_vector</a>(f, CInv)</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span> </div><div class="line"><a name="l00776"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__getdata.html#a62aeab2f644f6a849265ae327557168f"> 776</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__getdata.html#a62aeab2f644f6a849265ae327557168f">serialize</a>(self):</div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>  <span class="keywordflow">return</span> <a class="code" href="namespacetest__framework_1_1mininode.html#ae765b797da21bb7074ce578bbc3f9f20">ser_vector</a>(self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__getdata.html#a9bb93aa7d392789755604ced9e21fe5b">inv</a>)</div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span> </div><div class="line"><a name="l00779"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__getdata.html#a67ce799460aa07ec12f4cf78de6be219"> 779</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__getdata.html#a67ce799460aa07ec12f4cf78de6be219">__repr__</a>(self):</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>  <span class="keywordflow">return</span> <span class="stringliteral">"msg_getdata(inv=%s)"</span> % (repr(self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__getdata.html#a9bb93aa7d392789755604ced9e21fe5b">inv</a>))</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span> </div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span> </div><div class="line"><a name="l00783"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__getblocks.html"> 783</a></span> <span class="keyword">class </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__getblocks.html">msg_getblocks</a>(object):</div><div class="line"><a name="l00784"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__getblocks.html#a29ebf8735fc6b35c3f362756fac0742d"> 784</a></span>  command = b<span class="stringliteral">"getblocks"</span></div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span> </div><div class="line"><a name="l00786"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__getblocks.html#af4fcf7297c7ffd7d6eff03c6dab50feb"> 786</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__getblocks.html#af4fcf7297c7ffd7d6eff03c6dab50feb">__init__</a>(self):</div><div class="line"><a name="l00787"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__getblocks.html#a64d4171add615f19ec2aacce08c368e9"> 787</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__getblocks.html#a64d4171add615f19ec2aacce08c368e9">locator</a> = <a class="code" href="classtest__framework_1_1mininode_1_1CBlockLocator.html">CBlockLocator</a>()</div><div class="line"><a name="l00788"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__getblocks.html#a37ce37f837556debff8c28b1a2e11098"> 788</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__getblocks.html#a37ce37f837556debff8c28b1a2e11098">hashstop</a> = 0L</div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span> </div><div class="line"><a name="l00790"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__getblocks.html#aafd4ab837b919c96b0acda9a112ab80f"> 790</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__getblocks.html#aafd4ab837b919c96b0acda9a112ab80f">deserialize</a>(self, f):</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__getblocks.html#a64d4171add615f19ec2aacce08c368e9">locator</a> = <a class="code" href="classtest__framework_1_1mininode_1_1CBlockLocator.html">CBlockLocator</a>()</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__getblocks.html#a64d4171add615f19ec2aacce08c368e9">locator</a>.<a class="code" href="classtest__framework_1_1mininode_1_1msg__getblocks.html#aafd4ab837b919c96b0acda9a112ab80f">deserialize</a>(f)</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__getblocks.html#a37ce37f837556debff8c28b1a2e11098">hashstop</a> = <a class="code" href="namespacetest__framework_1_1mininode.html#a92ca8c58b41dbdde48516f70444ab860">deser_uint256</a>(f)</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span> </div><div class="line"><a name="l00795"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__getblocks.html#acd53e295a5d14908e38c10af8f012c50"> 795</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__getblocks.html#acd53e295a5d14908e38c10af8f012c50">serialize</a>(self):</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>  r = b<span class="stringliteral">""</span></div><div class="line"><a name="l00797"></a><span class="lineno"> 797</span>  r += self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__getblocks.html#a64d4171add615f19ec2aacce08c368e9">locator</a>.<a class="code" href="classtest__framework_1_1mininode_1_1msg__getblocks.html#acd53e295a5d14908e38c10af8f012c50">serialize</a>()</div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>  r += <a class="code" href="namespacetest__framework_1_1mininode.html#a648cf4cad8cb92b1a0b64ae7907682d5">ser_uint256</a>(self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__getblocks.html#a37ce37f837556debff8c28b1a2e11098">hashstop</a>)</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>  <span class="keywordflow">return</span> r</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span> </div><div class="line"><a name="l00801"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__getblocks.html#a10205ced6954f4eae580c10e6d4e7933"> 801</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__getblocks.html#a10205ced6954f4eae580c10e6d4e7933">__repr__</a>(self):</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>  <span class="keywordflow">return</span> <span class="stringliteral">"msg_getblocks(locator=%s hashstop=%064x)"</span> \</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>  % (repr(self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__getblocks.html#a64d4171add615f19ec2aacce08c368e9">locator</a>), self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__getblocks.html#a37ce37f837556debff8c28b1a2e11098">hashstop</a>)</div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span> </div><div class="line"><a name="l00805"></a><span class="lineno"> 805</span> </div><div class="line"><a name="l00806"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__tx.html"> 806</a></span> <span class="keyword">class </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__tx.html">msg_tx</a>(object):</div><div class="line"><a name="l00807"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__tx.html#aaf15ceff9b4deef6dfda01220bad09fb"> 807</a></span>  command = b<span class="stringliteral">"tx"</span></div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span> </div><div class="line"><a name="l00809"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__tx.html#aa8ce04143fb04a4a04c956e8a9dc8cfc"> 809</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__tx.html#aa8ce04143fb04a4a04c956e8a9dc8cfc">__init__</a>(self, tx=CTransaction()):</div><div class="line"><a name="l00810"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__tx.html#aa06d8b39e09e03f92be1bf68d23fa8c5"> 810</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__tx.html#aa06d8b39e09e03f92be1bf68d23fa8c5">tx</a> = tx</div><div class="line"><a name="l00811"></a><span class="lineno"> 811</span> </div><div class="line"><a name="l00812"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__tx.html#aa85e9f227d9e592abe7c57b694ba5058"> 812</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__tx.html#aa85e9f227d9e592abe7c57b694ba5058">deserialize</a>(self, f):</div><div class="line"><a name="l00813"></a><span class="lineno"> 813</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__tx.html#aa06d8b39e09e03f92be1bf68d23fa8c5">tx</a>.<a class="code" href="classtest__framework_1_1mininode_1_1msg__tx.html#aa85e9f227d9e592abe7c57b694ba5058">deserialize</a>(f)</div><div class="line"><a name="l00814"></a><span class="lineno"> 814</span> </div><div class="line"><a name="l00815"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__tx.html#aea4bab64adf1ce8f7418bde84d7fa621"> 815</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__tx.html#aea4bab64adf1ce8f7418bde84d7fa621">serialize</a>(self):</div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span>  <span class="keywordflow">return</span> self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__tx.html#aa06d8b39e09e03f92be1bf68d23fa8c5">tx</a>.<a class="code" href="classtest__framework_1_1mininode_1_1msg__tx.html#aea4bab64adf1ce8f7418bde84d7fa621">serialize</a>()</div><div class="line"><a name="l00817"></a><span class="lineno"> 817</span> </div><div class="line"><a name="l00818"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__tx.html#acfa4c20ad933f1c7d96e05a50d57833b"> 818</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__tx.html#acfa4c20ad933f1c7d96e05a50d57833b">__repr__</a>(self):</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span>  <span class="keywordflow">return</span> <span class="stringliteral">"msg_tx(tx=%s)"</span> % (repr(self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__tx.html#aa06d8b39e09e03f92be1bf68d23fa8c5">tx</a>))</div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span> </div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span> </div><div class="line"><a name="l00822"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__block.html"> 822</a></span> <span class="keyword">class </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__block.html">msg_block</a>(object):</div><div class="line"><a name="l00823"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__block.html#a30ced2e95885b7193aa95eb1e02e5f3a"> 823</a></span>  command = b<span class="stringliteral">"block"</span></div><div class="line"><a name="l00824"></a><span class="lineno"> 824</span> </div><div class="line"><a name="l00825"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__block.html#a30b3e4ad7823ad0ca62a0d65ecc41f3b"> 825</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__block.html#a30b3e4ad7823ad0ca62a0d65ecc41f3b">__init__</a>(self, block=None):</div><div class="line"><a name="l00826"></a><span class="lineno"> 826</span>  <span class="keywordflow">if</span> block <span class="keywordflow">is</span> <span class="keywordtype">None</span>:</div><div class="line"><a name="l00827"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__block.html#a1911fb34098f95c7fefbd47cc4ba0704"> 827</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__block.html#a1911fb34098f95c7fefbd47cc4ba0704">block</a> = <a class="code" href="classtest__framework_1_1mininode_1_1CBlock.html">CBlock</a>()</div><div class="line"><a name="l00828"></a><span class="lineno"> 828</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00829"></a><span class="lineno"> 829</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__block.html#a1911fb34098f95c7fefbd47cc4ba0704">block</a> = block</div><div class="line"><a name="l00830"></a><span class="lineno"> 830</span> </div><div class="line"><a name="l00831"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__block.html#aa0c7f37a3b105c72c0ff7be2d23cf9c2"> 831</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__block.html#aa0c7f37a3b105c72c0ff7be2d23cf9c2">deserialize</a>(self, f):</div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__block.html#a1911fb34098f95c7fefbd47cc4ba0704">block</a>.<a class="code" href="classtest__framework_1_1mininode_1_1msg__block.html#aa0c7f37a3b105c72c0ff7be2d23cf9c2">deserialize</a>(f)</div><div class="line"><a name="l00833"></a><span class="lineno"> 833</span> </div><div class="line"><a name="l00834"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__block.html#af60acb36883774be638b2af4be489739"> 834</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__block.html#af60acb36883774be638b2af4be489739">serialize</a>(self):</div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span>  <span class="keywordflow">return</span> self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__block.html#a1911fb34098f95c7fefbd47cc4ba0704">block</a>.<a class="code" href="classtest__framework_1_1mininode_1_1msg__block.html#af60acb36883774be638b2af4be489739">serialize</a>()</div><div class="line"><a name="l00836"></a><span class="lineno"> 836</span> </div><div class="line"><a name="l00837"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__block.html#adf8990327b3875633bb7709710850d20"> 837</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__block.html#adf8990327b3875633bb7709710850d20">__repr__</a>(self):</div><div class="line"><a name="l00838"></a><span class="lineno"> 838</span>  <span class="keywordflow">return</span> <span class="stringliteral">"msg_block(block=%s)"</span> % (repr(self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__block.html#a1911fb34098f95c7fefbd47cc4ba0704">block</a>))</div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span> </div><div class="line"><a name="l00840"></a><span class="lineno"> 840</span> </div><div class="line"><a name="l00841"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__getaddr.html"> 841</a></span> <span class="keyword">class </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__getaddr.html">msg_getaddr</a>(object):</div><div class="line"><a name="l00842"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__getaddr.html#a50cfc0d3716ab804297f0d303f8ce7f2"> 842</a></span>  command = b<span class="stringliteral">"getaddr"</span></div><div class="line"><a name="l00843"></a><span class="lineno"> 843</span> </div><div class="line"><a name="l00844"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__getaddr.html#a202403fb9a68a9b057c5020a8d6c2428"> 844</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__getaddr.html#a202403fb9a68a9b057c5020a8d6c2428">__init__</a>(self):</div><div class="line"><a name="l00845"></a><span class="lineno"> 845</span>  <span class="keywordflow">pass</span></div><div class="line"><a name="l00846"></a><span class="lineno"> 846</span> </div><div class="line"><a name="l00847"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__getaddr.html#aa480ac6ef29c400e10d72b774275dccb"> 847</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__getaddr.html#aa480ac6ef29c400e10d72b774275dccb">deserialize</a>(self, f):</div><div class="line"><a name="l00848"></a><span class="lineno"> 848</span>  <span class="keywordflow">pass</span></div><div class="line"><a name="l00849"></a><span class="lineno"> 849</span> </div><div class="line"><a name="l00850"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__getaddr.html#a491e9129f7b9db9fc283b2f35e8d2ff1"> 850</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__getaddr.html#a491e9129f7b9db9fc283b2f35e8d2ff1">serialize</a>(self):</div><div class="line"><a name="l00851"></a><span class="lineno"> 851</span>  <span class="keywordflow">return</span> b<span class="stringliteral">""</span></div><div class="line"><a name="l00852"></a><span class="lineno"> 852</span> </div><div class="line"><a name="l00853"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__getaddr.html#a1630cd69b4a870ebdfc0512209d3dcff"> 853</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__getaddr.html#a1630cd69b4a870ebdfc0512209d3dcff">__repr__</a>(self):</div><div class="line"><a name="l00854"></a><span class="lineno"> 854</span>  <span class="keywordflow">return</span> <span class="stringliteral">"msg_getaddr()"</span></div><div class="line"><a name="l00855"></a><span class="lineno"> 855</span> </div><div class="line"><a name="l00856"></a><span class="lineno"> 856</span> </div><div class="line"><a name="l00857"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__ping__prebip31.html"> 857</a></span> <span class="keyword">class </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__ping__prebip31.html">msg_ping_prebip31</a>(object):</div><div class="line"><a name="l00858"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__ping__prebip31.html#aa082a8efa7030f1de7b76e845d71acbd"> 858</a></span>  command = b<span class="stringliteral">"ping"</span></div><div class="line"><a name="l00859"></a><span class="lineno"> 859</span> </div><div class="line"><a name="l00860"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__ping__prebip31.html#a642d2548996cb14517fd68654718f490"> 860</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__ping__prebip31.html#a642d2548996cb14517fd68654718f490">__init__</a>(self):</div><div class="line"><a name="l00861"></a><span class="lineno"> 861</span>  <span class="keywordflow">pass</span></div><div class="line"><a name="l00862"></a><span class="lineno"> 862</span> </div><div class="line"><a name="l00863"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__ping__prebip31.html#ac6c3624a853b73648abe7ac4b672c52e"> 863</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__ping__prebip31.html#ac6c3624a853b73648abe7ac4b672c52e">deserialize</a>(self, f):</div><div class="line"><a name="l00864"></a><span class="lineno"> 864</span>  <span class="keywordflow">pass</span></div><div class="line"><a name="l00865"></a><span class="lineno"> 865</span> </div><div class="line"><a name="l00866"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__ping__prebip31.html#a1aaab0432eef79c2d52c8d7741965d0e"> 866</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__ping__prebip31.html#a1aaab0432eef79c2d52c8d7741965d0e">serialize</a>(self):</div><div class="line"><a name="l00867"></a><span class="lineno"> 867</span>  <span class="keywordflow">return</span> b<span class="stringliteral">""</span></div><div class="line"><a name="l00868"></a><span class="lineno"> 868</span> </div><div class="line"><a name="l00869"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__ping__prebip31.html#ad1be5eb6b20a8e4db2343c2164b84d5f"> 869</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__ping__prebip31.html#ad1be5eb6b20a8e4db2343c2164b84d5f">__repr__</a>(self):</div><div class="line"><a name="l00870"></a><span class="lineno"> 870</span>  <span class="keywordflow">return</span> <span class="stringliteral">"msg_ping() (pre-bip31)"</span></div><div class="line"><a name="l00871"></a><span class="lineno"> 871</span> </div><div class="line"><a name="l00872"></a><span class="lineno"> 872</span> </div><div class="line"><a name="l00873"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__ping.html"> 873</a></span> <span class="keyword">class </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__ping.html">msg_ping</a>(object):</div><div class="line"><a name="l00874"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__ping.html#a80a303fb396248415c9eff5fc775be43"> 874</a></span>  command = b<span class="stringliteral">"ping"</span></div><div class="line"><a name="l00875"></a><span class="lineno"> 875</span> </div><div class="line"><a name="l00876"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__ping.html#ad2ec5929da77b90c980f7489b4f6945c"> 876</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__ping.html#ad2ec5929da77b90c980f7489b4f6945c">__init__</a>(self, nonce=0L):</div><div class="line"><a name="l00877"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__ping.html#a761147d7f405da8936b33c6457c37464"> 877</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__ping.html#a761147d7f405da8936b33c6457c37464">nonce</a> = nonce</div><div class="line"><a name="l00878"></a><span class="lineno"> 878</span> </div><div class="line"><a name="l00879"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__ping.html#ae3563d3bf72826ef9e35d35112cd2c9f"> 879</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__ping.html#ae3563d3bf72826ef9e35d35112cd2c9f">deserialize</a>(self, f):</div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__ping.html#a761147d7f405da8936b33c6457c37464">nonce</a> = struct.unpack(<span class="stringliteral">"<Q"</span>, f.read(8))[0]</div><div class="line"><a name="l00881"></a><span class="lineno"> 881</span> </div><div class="line"><a name="l00882"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__ping.html#a193dde4acdaf6bde007180e6bb1f1aee"> 882</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__ping.html#a193dde4acdaf6bde007180e6bb1f1aee">serialize</a>(self):</div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span>  r = b<span class="stringliteral">""</span></div><div class="line"><a name="l00884"></a><span class="lineno"> 884</span>  r += struct.pack(<span class="stringliteral">"<Q"</span>, self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__ping.html#a761147d7f405da8936b33c6457c37464">nonce</a>)</div><div class="line"><a name="l00885"></a><span class="lineno"> 885</span>  <span class="keywordflow">return</span> r</div><div class="line"><a name="l00886"></a><span class="lineno"> 886</span> </div><div class="line"><a name="l00887"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__ping.html#a0aa5a677131620f4b98019bb0e55bf05"> 887</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__ping.html#a0aa5a677131620f4b98019bb0e55bf05">__repr__</a>(self):</div><div class="line"><a name="l00888"></a><span class="lineno"> 888</span>  <span class="keywordflow">return</span> <span class="stringliteral">"msg_ping(nonce=%08x)"</span> % self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__ping.html#a761147d7f405da8936b33c6457c37464">nonce</a></div><div class="line"><a name="l00889"></a><span class="lineno"> 889</span> </div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span> </div><div class="line"><a name="l00891"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__pong.html"> 891</a></span> <span class="keyword">class </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__pong.html">msg_pong</a>(object):</div><div class="line"><a name="l00892"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__pong.html#a187e6fe3813c560a6c3cc535ee59ee5c"> 892</a></span>  command = b<span class="stringliteral">"pong"</span></div><div class="line"><a name="l00893"></a><span class="lineno"> 893</span> </div><div class="line"><a name="l00894"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__pong.html#a853d41a69daa7d8c59963dc6b41b926f"> 894</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__pong.html#a853d41a69daa7d8c59963dc6b41b926f">__init__</a>(self, nonce=0):</div><div class="line"><a name="l00895"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__pong.html#ad4c66a05c183304af63c6d45834e4eb1"> 895</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__pong.html#ad4c66a05c183304af63c6d45834e4eb1">nonce</a> = nonce</div><div class="line"><a name="l00896"></a><span class="lineno"> 896</span> </div><div class="line"><a name="l00897"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__pong.html#a4f3669a32fcb3b67ce55e6cc0a67351a"> 897</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__pong.html#a4f3669a32fcb3b67ce55e6cc0a67351a">deserialize</a>(self, f):</div><div class="line"><a name="l00898"></a><span class="lineno"> 898</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__pong.html#ad4c66a05c183304af63c6d45834e4eb1">nonce</a> = struct.unpack(<span class="stringliteral">"<Q"</span>, f.read(8))[0]</div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span> </div><div class="line"><a name="l00900"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__pong.html#acb48ddbed0f1b1553fd0333c9e57ff4d"> 900</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__pong.html#acb48ddbed0f1b1553fd0333c9e57ff4d">serialize</a>(self):</div><div class="line"><a name="l00901"></a><span class="lineno"> 901</span>  r = b<span class="stringliteral">""</span></div><div class="line"><a name="l00902"></a><span class="lineno"> 902</span>  r += struct.pack(<span class="stringliteral">"<Q"</span>, self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__pong.html#ad4c66a05c183304af63c6d45834e4eb1">nonce</a>)</div><div class="line"><a name="l00903"></a><span class="lineno"> 903</span>  <span class="keywordflow">return</span> r</div><div class="line"><a name="l00904"></a><span class="lineno"> 904</span> </div><div class="line"><a name="l00905"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__pong.html#aa5d1205307157dc8fdf3d08d9c9f23d9"> 905</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__pong.html#aa5d1205307157dc8fdf3d08d9c9f23d9">__repr__</a>(self):</div><div class="line"><a name="l00906"></a><span class="lineno"> 906</span>  <span class="keywordflow">return</span> <span class="stringliteral">"msg_pong(nonce=%08x)"</span> % self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__pong.html#ad4c66a05c183304af63c6d45834e4eb1">nonce</a></div><div class="line"><a name="l00907"></a><span class="lineno"> 907</span> </div><div class="line"><a name="l00908"></a><span class="lineno"> 908</span> </div><div class="line"><a name="l00909"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__mempool.html"> 909</a></span> <span class="keyword">class </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__mempool.html">msg_mempool</a>(object):</div><div class="line"><a name="l00910"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__mempool.html#af7ac75ce01eac90c060259e816f7a872"> 910</a></span>  command = b<span class="stringliteral">"mempool"</span></div><div class="line"><a name="l00911"></a><span class="lineno"> 911</span> </div><div class="line"><a name="l00912"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__mempool.html#a2b528f5807a73dc3f9429c68e95ace24"> 912</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__mempool.html#a2b528f5807a73dc3f9429c68e95ace24">__init__</a>(self):</div><div class="line"><a name="l00913"></a><span class="lineno"> 913</span>  <span class="keywordflow">pass</span></div><div class="line"><a name="l00914"></a><span class="lineno"> 914</span> </div><div class="line"><a name="l00915"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__mempool.html#a24fbc4af5150bece20788d9b765a4843"> 915</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__mempool.html#a24fbc4af5150bece20788d9b765a4843">deserialize</a>(self, f):</div><div class="line"><a name="l00916"></a><span class="lineno"> 916</span>  <span class="keywordflow">pass</span></div><div class="line"><a name="l00917"></a><span class="lineno"> 917</span> </div><div class="line"><a name="l00918"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__mempool.html#aa514465022b885687cd689684561f9c4"> 918</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__mempool.html#aa514465022b885687cd689684561f9c4">serialize</a>(self):</div><div class="line"><a name="l00919"></a><span class="lineno"> 919</span>  <span class="keywordflow">return</span> b<span class="stringliteral">""</span></div><div class="line"><a name="l00920"></a><span class="lineno"> 920</span> </div><div class="line"><a name="l00921"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__mempool.html#a99a32de2277377f45769f84c8b4733eb"> 921</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__mempool.html#a99a32de2277377f45769f84c8b4733eb">__repr__</a>(self):</div><div class="line"><a name="l00922"></a><span class="lineno"> 922</span>  <span class="keywordflow">return</span> <span class="stringliteral">"msg_mempool()"</span></div><div class="line"><a name="l00923"></a><span class="lineno"> 923</span> </div><div class="line"><a name="l00924"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__sendheaders.html"> 924</a></span> <span class="keyword">class </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__sendheaders.html">msg_sendheaders</a>(object):</div><div class="line"><a name="l00925"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__sendheaders.html#a8ebd01deafb6bbe68b43b64caedee471"> 925</a></span>  command = b<span class="stringliteral">"sendheaders"</span></div><div class="line"><a name="l00926"></a><span class="lineno"> 926</span> </div><div class="line"><a name="l00927"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__sendheaders.html#a6809b9110a68696fbdd71cc5b5386752"> 927</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__sendheaders.html#a6809b9110a68696fbdd71cc5b5386752">__init__</a>(self):</div><div class="line"><a name="l00928"></a><span class="lineno"> 928</span>  <span class="keywordflow">pass</span></div><div class="line"><a name="l00929"></a><span class="lineno"> 929</span> </div><div class="line"><a name="l00930"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__sendheaders.html#a473239fd3e63bbc94217c52f8ac24217"> 930</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__sendheaders.html#a473239fd3e63bbc94217c52f8ac24217">deserialize</a>(self, f):</div><div class="line"><a name="l00931"></a><span class="lineno"> 931</span>  <span class="keywordflow">pass</span></div><div class="line"><a name="l00932"></a><span class="lineno"> 932</span> </div><div class="line"><a name="l00933"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__sendheaders.html#a3d20993d6cd64d3108392eba88c4f44c"> 933</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__sendheaders.html#a3d20993d6cd64d3108392eba88c4f44c">serialize</a>(self):</div><div class="line"><a name="l00934"></a><span class="lineno"> 934</span>  <span class="keywordflow">return</span> b<span class="stringliteral">""</span></div><div class="line"><a name="l00935"></a><span class="lineno"> 935</span> </div><div class="line"><a name="l00936"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__sendheaders.html#a8770d69622ab49afdc34f61a9f465b57"> 936</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__sendheaders.html#a8770d69622ab49afdc34f61a9f465b57">__repr__</a>(self):</div><div class="line"><a name="l00937"></a><span class="lineno"> 937</span>  <span class="keywordflow">return</span> <span class="stringliteral">"msg_sendheaders()"</span></div><div class="line"><a name="l00938"></a><span class="lineno"> 938</span> </div><div class="line"><a name="l00939"></a><span class="lineno"> 939</span> <span class="comment"># getheaders message has</span></div><div class="line"><a name="l00940"></a><span class="lineno"> 940</span> <span class="comment"># number of entries</span></div><div class="line"><a name="l00941"></a><span class="lineno"> 941</span> <span class="comment"># vector of hashes</span></div><div class="line"><a name="l00942"></a><span class="lineno"> 942</span> <span class="comment"># hash_stop (hash of last desired block header, 0 to get as many as possible)</span></div><div class="line"><a name="l00943"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__getheaders.html"> 943</a></span> <span class="keyword">class </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__getheaders.html">msg_getheaders</a>(object):</div><div class="line"><a name="l00944"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__getheaders.html#a0203ef54878ca47fd42856623d8ad518"> 944</a></span>  command = b<span class="stringliteral">"getheaders"</span></div><div class="line"><a name="l00945"></a><span class="lineno"> 945</span> </div><div class="line"><a name="l00946"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__getheaders.html#a8afa96baa7a23de4ed6de3e39fd5f8ea"> 946</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__getheaders.html#a8afa96baa7a23de4ed6de3e39fd5f8ea">__init__</a>(self):</div><div class="line"><a name="l00947"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__getheaders.html#a7850eafdd6cd7a47b69c0f53968d6438"> 947</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__getheaders.html#a7850eafdd6cd7a47b69c0f53968d6438">locator</a> = <a class="code" href="classtest__framework_1_1mininode_1_1CBlockLocator.html">CBlockLocator</a>()</div><div class="line"><a name="l00948"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__getheaders.html#aa16fdf89beaea3886216e1ebbc903b3d"> 948</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__getheaders.html#aa16fdf89beaea3886216e1ebbc903b3d">hashstop</a> = 0L</div><div class="line"><a name="l00949"></a><span class="lineno"> 949</span> </div><div class="line"><a name="l00950"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__getheaders.html#a503daf9f2d3761752d6403e1bb2fb5f9"> 950</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__getheaders.html#a503daf9f2d3761752d6403e1bb2fb5f9">deserialize</a>(self, f):</div><div class="line"><a name="l00951"></a><span class="lineno"> 951</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__getheaders.html#a7850eafdd6cd7a47b69c0f53968d6438">locator</a> = <a class="code" href="classtest__framework_1_1mininode_1_1CBlockLocator.html">CBlockLocator</a>()</div><div class="line"><a name="l00952"></a><span class="lineno"> 952</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__getheaders.html#a7850eafdd6cd7a47b69c0f53968d6438">locator</a>.<a class="code" href="classtest__framework_1_1mininode_1_1msg__getheaders.html#a503daf9f2d3761752d6403e1bb2fb5f9">deserialize</a>(f)</div><div class="line"><a name="l00953"></a><span class="lineno"> 953</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__getheaders.html#aa16fdf89beaea3886216e1ebbc903b3d">hashstop</a> = <a class="code" href="namespacetest__framework_1_1mininode.html#a92ca8c58b41dbdde48516f70444ab860">deser_uint256</a>(f)</div><div class="line"><a name="l00954"></a><span class="lineno"> 954</span> </div><div class="line"><a name="l00955"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__getheaders.html#aa14c009b67d91ac8c062cd82fd59b009"> 955</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__getheaders.html#aa14c009b67d91ac8c062cd82fd59b009">serialize</a>(self):</div><div class="line"><a name="l00956"></a><span class="lineno"> 956</span>  r = b<span class="stringliteral">""</span></div><div class="line"><a name="l00957"></a><span class="lineno"> 957</span>  r += self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__getheaders.html#a7850eafdd6cd7a47b69c0f53968d6438">locator</a>.<a class="code" href="classtest__framework_1_1mininode_1_1msg__getheaders.html#aa14c009b67d91ac8c062cd82fd59b009">serialize</a>()</div><div class="line"><a name="l00958"></a><span class="lineno"> 958</span>  r += <a class="code" href="namespacetest__framework_1_1mininode.html#a648cf4cad8cb92b1a0b64ae7907682d5">ser_uint256</a>(self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__getheaders.html#aa16fdf89beaea3886216e1ebbc903b3d">hashstop</a>)</div><div class="line"><a name="l00959"></a><span class="lineno"> 959</span>  <span class="keywordflow">return</span> r</div><div class="line"><a name="l00960"></a><span class="lineno"> 960</span> </div><div class="line"><a name="l00961"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__getheaders.html#ab667cb6545773d149f3251c7dad9d49c"> 961</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__getheaders.html#ab667cb6545773d149f3251c7dad9d49c">__repr__</a>(self):</div><div class="line"><a name="l00962"></a><span class="lineno"> 962</span>  <span class="keywordflow">return</span> <span class="stringliteral">"msg_getheaders(locator=%s, stop=%064x)"</span> \</div><div class="line"><a name="l00963"></a><span class="lineno"> 963</span>  % (repr(self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__getheaders.html#a7850eafdd6cd7a47b69c0f53968d6438">locator</a>), self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__getheaders.html#aa16fdf89beaea3886216e1ebbc903b3d">hashstop</a>)</div><div class="line"><a name="l00964"></a><span class="lineno"> 964</span> </div><div class="line"><a name="l00965"></a><span class="lineno"> 965</span> </div><div class="line"><a name="l00966"></a><span class="lineno"> 966</span> <span class="comment"># headers message has</span></div><div class="line"><a name="l00967"></a><span class="lineno"> 967</span> <span class="comment"># <count> <vector of block headers></span></div><div class="line"><a name="l00968"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__headers.html"> 968</a></span> <span class="keyword">class </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__headers.html">msg_headers</a>(object):</div><div class="line"><a name="l00969"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__headers.html#a0b40ddfdcc2845c8eba9afcbb3c50f80"> 969</a></span>  command = b<span class="stringliteral">"headers"</span></div><div class="line"><a name="l00970"></a><span class="lineno"> 970</span> </div><div class="line"><a name="l00971"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__headers.html#aa8ebd7fcbc48f7c3bba0cd4599b34c16"> 971</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__headers.html#aa8ebd7fcbc48f7c3bba0cd4599b34c16">__init__</a>(self):</div><div class="line"><a name="l00972"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__headers.html#a891ea39637f1e2cd3fba666d9ea3caa5"> 972</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__headers.html#a891ea39637f1e2cd3fba666d9ea3caa5">headers</a> = []</div><div class="line"><a name="l00973"></a><span class="lineno"> 973</span> </div><div class="line"><a name="l00974"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__headers.html#ae6ea3a55c4b3b935ba7d723e51afa788"> 974</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__headers.html#ae6ea3a55c4b3b935ba7d723e51afa788">deserialize</a>(self, f):</div><div class="line"><a name="l00975"></a><span class="lineno"> 975</span>  <span class="comment"># comment in dashd indicates these should be deserialized as blocks</span></div><div class="line"><a name="l00976"></a><span class="lineno"> 976</span>  blocks = <a class="code" href="namespacetest__framework_1_1mininode.html#a5514860ac26078aedc3579c46f752d3a">deser_vector</a>(f, CBlock)</div><div class="line"><a name="l00977"></a><span class="lineno"> 977</span>  <span class="keywordflow">for</span> x <span class="keywordflow">in</span> blocks:</div><div class="line"><a name="l00978"></a><span class="lineno"> 978</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__headers.html#a891ea39637f1e2cd3fba666d9ea3caa5">headers</a>.append(<a class="code" href="classtest__framework_1_1mininode_1_1CBlockHeader.html">CBlockHeader</a>(x))</div><div class="line"><a name="l00979"></a><span class="lineno"> 979</span> </div><div class="line"><a name="l00980"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__headers.html#ab7668be02c0fca67b3119e5c848a4cd8"> 980</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__headers.html#ab7668be02c0fca67b3119e5c848a4cd8">serialize</a>(self):</div><div class="line"><a name="l00981"></a><span class="lineno"> 981</span>  blocks = [<a class="code" href="classtest__framework_1_1mininode_1_1CBlock.html">CBlock</a>(x) <span class="keywordflow">for</span> x <span class="keywordflow">in</span> self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__headers.html#a891ea39637f1e2cd3fba666d9ea3caa5">headers</a>]</div><div class="line"><a name="l00982"></a><span class="lineno"> 982</span>  <span class="keywordflow">return</span> <a class="code" href="namespacetest__framework_1_1mininode.html#ae765b797da21bb7074ce578bbc3f9f20">ser_vector</a>(blocks)</div><div class="line"><a name="l00983"></a><span class="lineno"> 983</span> </div><div class="line"><a name="l00984"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__headers.html#a900f57b588622837eb1c125a6568a9bb"> 984</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__headers.html#a900f57b588622837eb1c125a6568a9bb">__repr__</a>(self):</div><div class="line"><a name="l00985"></a><span class="lineno"> 985</span>  <span class="keywordflow">return</span> <span class="stringliteral">"msg_headers(headers=%s)"</span> % repr(self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__headers.html#a891ea39637f1e2cd3fba666d9ea3caa5">headers</a>)</div><div class="line"><a name="l00986"></a><span class="lineno"> 986</span> </div><div class="line"><a name="l00987"></a><span class="lineno"> 987</span> </div><div class="line"><a name="l00988"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__reject.html"> 988</a></span> <span class="keyword">class </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__reject.html">msg_reject</a>(object):</div><div class="line"><a name="l00989"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__reject.html#a55ba2a8e38c1af78d0731f826d13e70b"> 989</a></span>  command = b<span class="stringliteral">"reject"</span></div><div class="line"><a name="l00990"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__reject.html#ae88a4e53db74a190b9da39aa58d0182c"> 990</a></span>  REJECT_MALFORMED = 1</div><div class="line"><a name="l00991"></a><span class="lineno"> 991</span> </div><div class="line"><a name="l00992"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__reject.html#ac8897b031a1f044ddb6eb8b5a0eb795a"> 992</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__reject.html#ac8897b031a1f044ddb6eb8b5a0eb795a">__init__</a>(self):</div><div class="line"><a name="l00993"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__reject.html#a9354e23ad75a3e393d2e8aede61fbc53"> 993</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__reject.html#a9354e23ad75a3e393d2e8aede61fbc53">message</a> = b<span class="stringliteral">""</span></div><div class="line"><a name="l00994"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__reject.html#a20547ada9bf7b982dfaa1b8d80ccbc18"> 994</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__reject.html#a20547ada9bf7b982dfaa1b8d80ccbc18">code</a> = 0</div><div class="line"><a name="l00995"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__reject.html#a79ec11998700499d35629509ffc5a1ae"> 995</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__reject.html#a79ec11998700499d35629509ffc5a1ae">reason</a> = b<span class="stringliteral">""</span></div><div class="line"><a name="l00996"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__reject.html#a2a7a9f45ee5f1b8ca61a8e32a06ee02a"> 996</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__reject.html#a2a7a9f45ee5f1b8ca61a8e32a06ee02a">data</a> = 0L</div><div class="line"><a name="l00997"></a><span class="lineno"> 997</span> </div><div class="line"><a name="l00998"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__reject.html#afb500fb2e7f534c072cee4fe1d016aba"> 998</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__reject.html#afb500fb2e7f534c072cee4fe1d016aba">deserialize</a>(self, f):</div><div class="line"><a name="l00999"></a><span class="lineno"> 999</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__reject.html#a9354e23ad75a3e393d2e8aede61fbc53">message</a> = <a class="code" href="namespacetest__framework_1_1mininode.html#a809123fac983049b3133dea8c9d2b5bc">deser_string</a>(f)</div><div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__reject.html#a20547ada9bf7b982dfaa1b8d80ccbc18">code</a> = struct.unpack(<span class="stringliteral">"<B"</span>, f.read(1))[0]</div><div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__reject.html#a79ec11998700499d35629509ffc5a1ae">reason</a> = <a class="code" href="namespacetest__framework_1_1mininode.html#a809123fac983049b3133dea8c9d2b5bc">deser_string</a>(f)</div><div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>  <span class="keywordflow">if</span> (self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__reject.html#a20547ada9bf7b982dfaa1b8d80ccbc18">code</a> != self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__reject.html#ae88a4e53db74a190b9da39aa58d0182c">REJECT_MALFORMED</a> <span class="keywordflow">and</span></div><div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>  (self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__reject.html#a9354e23ad75a3e393d2e8aede61fbc53">message</a> == b<span class="stringliteral">"block"</span> <span class="keywordflow">or</span> self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__reject.html#a9354e23ad75a3e393d2e8aede61fbc53">message</a> == b<span class="stringliteral">"tx"</span>)):</div><div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__reject.html#a2a7a9f45ee5f1b8ca61a8e32a06ee02a">data</a> = <a class="code" href="namespacetest__framework_1_1mininode.html#a92ca8c58b41dbdde48516f70444ab860">deser_uint256</a>(f)</div><div class="line"><a name="l01005"></a><span class="lineno"> 1005</span> </div><div class="line"><a name="l01006"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__reject.html#aa436937dc89aac0868a7c70f517e5725"> 1006</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__reject.html#aa436937dc89aac0868a7c70f517e5725">serialize</a>(self):</div><div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>  r = <a class="code" href="namespacetest__framework_1_1mininode.html#a0d10ddcce8c03b9a96ba703e59bd8ee7">ser_string</a>(self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__reject.html#a9354e23ad75a3e393d2e8aede61fbc53">message</a>)</div><div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>  r += struct.pack(<span class="stringliteral">"<B"</span>, self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__reject.html#a20547ada9bf7b982dfaa1b8d80ccbc18">code</a>)</div><div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>  r += <a class="code" href="namespacetest__framework_1_1mininode.html#a0d10ddcce8c03b9a96ba703e59bd8ee7">ser_string</a>(self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__reject.html#a79ec11998700499d35629509ffc5a1ae">reason</a>)</div><div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>  <span class="keywordflow">if</span> (self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__reject.html#a20547ada9bf7b982dfaa1b8d80ccbc18">code</a> != self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__reject.html#ae88a4e53db74a190b9da39aa58d0182c">REJECT_MALFORMED</a> <span class="keywordflow">and</span></div><div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>  (self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__reject.html#a9354e23ad75a3e393d2e8aede61fbc53">message</a> == b<span class="stringliteral">"block"</span> <span class="keywordflow">or</span> self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__reject.html#a9354e23ad75a3e393d2e8aede61fbc53">message</a> == b<span class="stringliteral">"tx"</span>)):</div><div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>  r += <a class="code" href="namespacetest__framework_1_1mininode.html#a648cf4cad8cb92b1a0b64ae7907682d5">ser_uint256</a>(self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__reject.html#a2a7a9f45ee5f1b8ca61a8e32a06ee02a">data</a>)</div><div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>  <span class="keywordflow">return</span> r</div><div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> </div><div class="line"><a name="l01015"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1msg__reject.html#aa08c778e72f9f2c7e74ce89896e16dd5"> 1015</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1msg__reject.html#aa08c778e72f9f2c7e74ce89896e16dd5">__repr__</a>(self):</div><div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>  <span class="keywordflow">return</span> <span class="stringliteral">"msg_reject: %s %d %s [%064x]"</span> \</div><div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>  % (self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__reject.html#a9354e23ad75a3e393d2e8aede61fbc53">message</a>, self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__reject.html#a20547ada9bf7b982dfaa1b8d80ccbc18">code</a>, self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__reject.html#a79ec11998700499d35629509ffc5a1ae">reason</a>, self.<a class="code" href="classtest__framework_1_1mininode_1_1msg__reject.html#a2a7a9f45ee5f1b8ca61a8e32a06ee02a">data</a>)</div><div class="line"><a name="l01018"></a><span class="lineno"> 1018</span> </div><div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> <span class="comment"># Helper function</span></div><div class="line"><a name="l01020"></a><span class="lineno"><a class="line" href="namespacetest__framework_1_1mininode.html#ab31a602d974f3680fa75698eb77dfec9"> 1020</a></span> <span class="keyword">def </span><a class="code" href="namespacetest__framework_1_1mininode.html#ab31a602d974f3680fa75698eb77dfec9">wait_until</a>(predicate, attempts=float(<span class="stringliteral">'inf'</span>), timeout=float(<span class="stringliteral">'inf'</span>)):</div><div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>  attempt = 0</div><div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>  elapsed = 0</div><div class="line"><a name="l01023"></a><span class="lineno"> 1023</span> </div><div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>  <span class="keywordflow">while</span> attempt < attempts <span class="keywordflow">and</span> elapsed < timeout:</div><div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>  with mininode_lock:</div><div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>  <span class="keywordflow">if</span> predicate():</div><div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>  <span class="keywordflow">return</span> <span class="keyword">True</span></div><div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>  attempt += 1</div><div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>  elapsed += 0.05</div><div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>  time.sleep(0.05)</div><div class="line"><a name="l01031"></a><span class="lineno"> 1031</span> </div><div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>  <span class="keywordflow">return</span> <span class="keyword">False</span></div><div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> </div><div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> <span class="comment"># This is what a callback should look like for NodeConn</span></div><div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> <span class="comment"># Reimplement the on_* functions to provide handling for events</span></div><div class="line"><a name="l01036"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConnCB.html"> 1036</a></span> <span class="keyword">class </span><a class="code" href="classtest__framework_1_1mininode_1_1NodeConnCB.html">NodeConnCB</a>(object):</div><div class="line"><a name="l01037"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#ac7ab196ed01919261b7b38109e056e0a"> 1037</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#ac7ab196ed01919261b7b38109e056e0a">__init__</a>(self):</div><div class="line"><a name="l01038"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#a6e13b71e42a3a4f00e904f22495c5566"> 1038</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#a6e13b71e42a3a4f00e904f22495c5566">verack_received</a> = <span class="keyword">False</span></div><div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>  <span class="comment"># deliver_sleep_time is helpful for debugging race conditions in p2p</span></div><div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>  <span class="comment"># tests; it causes message delivery to sleep for the specified time</span></div><div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>  <span class="comment"># before acquiring the global lock and delivering the next message.</span></div><div class="line"><a name="l01042"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#a73fbacddc1ee21c0d0ccc6f9b24907e1"> 1042</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#a73fbacddc1ee21c0d0ccc6f9b24907e1">deliver_sleep_time</a> = <span class="keywordtype">None</span></div><div class="line"><a name="l01043"></a><span class="lineno"> 1043</span> </div><div class="line"><a name="l01044"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#ac91a75e47f361ae5419d7b408fdc8ea7"> 1044</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#ac91a75e47f361ae5419d7b408fdc8ea7">set_deliver_sleep_time</a>(self, value):</div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>  with mininode_lock:</div><div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#a73fbacddc1ee21c0d0ccc6f9b24907e1">deliver_sleep_time</a> = value</div><div class="line"><a name="l01047"></a><span class="lineno"> 1047</span> </div><div class="line"><a name="l01048"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#a95967387d4367d7df804ff3f214e8c3a"> 1048</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#a95967387d4367d7df804ff3f214e8c3a">get_deliver_sleep_time</a>(self):</div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>  with mininode_lock:</div><div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>  <span class="keywordflow">return</span> self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#a73fbacddc1ee21c0d0ccc6f9b24907e1">deliver_sleep_time</a></div><div class="line"><a name="l01051"></a><span class="lineno"> 1051</span> </div><div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>  <span class="comment"># Spin until verack message is received from the node.</span></div><div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>  <span class="comment"># Tests may want to use this as a signal that the test can begin.</span></div><div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>  <span class="comment"># This can be called from the testing thread, so it needs to acquire the</span></div><div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>  <span class="comment"># global lock.</span></div><div class="line"><a name="l01056"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#aecc55177ae59c8f58108cee82df513de"> 1056</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#aecc55177ae59c8f58108cee82df513de">wait_for_verack</a>(self):</div><div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>  <span class="keywordflow">while</span> <span class="keyword">True</span>:</div><div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>  with mininode_lock:</div><div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>  <span class="keywordflow">if</span> self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#a6e13b71e42a3a4f00e904f22495c5566">verack_received</a>:</div><div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>  <span class="keywordflow">return</span></div><div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>  time.sleep(0.05)</div><div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> </div><div class="line"><a name="l01063"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#a7bd810fa950dc5c0aff1c3a10962e4a7"> 1063</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#a7bd810fa950dc5c0aff1c3a10962e4a7">deliver</a>(self, conn, message):</div><div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>  deliver_sleep = self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#a95967387d4367d7df804ff3f214e8c3a">get_deliver_sleep_time</a>()</div><div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>  <span class="keywordflow">if</span> deliver_sleep <span class="keywordflow">is</span> <span class="keywordflow">not</span> <span class="keywordtype">None</span>:</div><div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>  time.sleep(deliver_sleep)</div><div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>  with mininode_lock:</div><div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>  <span class="keywordflow">try</span>:</div><div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>  getattr(self, <span class="stringliteral">'on_'</span> + message.command)(conn, message)</div><div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>  <span class="keywordflow">except</span>:</div><div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>  <span class="keywordflow">print</span> <span class="stringliteral">"ERROR delivering %s (%s)"</span> % (repr(message),</div><div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>  sys.exc_info()[0])</div><div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> </div><div class="line"><a name="l01074"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#a2f7f58a68ce7d954c5352febc2bc1de4"> 1074</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#a2f7f58a68ce7d954c5352febc2bc1de4">on_version</a>(self, conn, message):</div><div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>  <span class="keywordflow">if</span> message.nVersion >= 209:</div><div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>  conn.send_message(<a class="code" href="classtest__framework_1_1mininode_1_1msg__verack.html">msg_verack</a>())</div><div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>  conn.ver_send = min(MY_VERSION, message.nVersion)</div><div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>  <span class="keywordflow">if</span> message.nVersion < 209:</div><div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>  conn.ver_recv = conn.ver_send</div><div class="line"><a name="l01080"></a><span class="lineno"> 1080</span> </div><div class="line"><a name="l01081"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#abc89d7f729dab96a298de610dd056fa6"> 1081</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#abc89d7f729dab96a298de610dd056fa6">on_verack</a>(self, conn, message):</div><div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>  conn.ver_recv = conn.ver_send</div><div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#a6e13b71e42a3a4f00e904f22495c5566">verack_received</a> = <span class="keyword">True</span></div><div class="line"><a name="l01084"></a><span class="lineno"> 1084</span> </div><div class="line"><a name="l01085"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#a5c57a2e45f16850f2052ca4313ab1a64"> 1085</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#a5c57a2e45f16850f2052ca4313ab1a64">on_inv</a>(self, conn, message):</div><div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>  want = <a class="code" href="classtest__framework_1_1mininode_1_1msg__getdata.html">msg_getdata</a>()</div><div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>  <span class="keywordflow">for</span> i <span class="keywordflow">in</span> message.inv:</div><div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>  <span class="keywordflow">if</span> i.type != 0:</div><div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>  want.inv.append(i)</div><div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>  <span class="keywordflow">if</span> len(want.inv):</div><div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>  conn.send_message(want)</div><div class="line"><a name="l01092"></a><span class="lineno"> 1092</span> </div><div class="line"><a name="l01093"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#a38733342a0daee75dc2d8f1f0e3373d2"> 1093</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#a38733342a0daee75dc2d8f1f0e3373d2">on_addr</a>(self, conn, message): <span class="keyword">pass</span></div><div class="line"><a name="l01094"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#acf754b3195e68d9eb05a9f45f56614d2"> 1094</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#acf754b3195e68d9eb05a9f45f56614d2">on_alert</a>(self, conn, message): <span class="keyword">pass</span></div><div class="line"><a name="l01095"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#ab107a9240414493f869a23efe83aa56d"> 1095</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#ab107a9240414493f869a23efe83aa56d">on_getdata</a>(self, conn, message): <span class="keyword">pass</span></div><div class="line"><a name="l01096"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#a94e1eead50a70df554bc664c2d3e4c0a"> 1096</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#a94e1eead50a70df554bc664c2d3e4c0a">on_getblocks</a>(self, conn, message): <span class="keyword">pass</span></div><div class="line"><a name="l01097"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#ab1b55a26759924d6f9b1aaae1821e00a"> 1097</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#ab1b55a26759924d6f9b1aaae1821e00a">on_tx</a>(self, conn, message): <span class="keyword">pass</span></div><div class="line"><a name="l01098"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#abc6f62d883aca849cfc920323b1d19d4"> 1098</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#abc6f62d883aca849cfc920323b1d19d4">on_block</a>(self, conn, message): <span class="keyword">pass</span></div><div class="line"><a name="l01099"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#ada4198e65fb58b2117733705c7bdf276"> 1099</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#ada4198e65fb58b2117733705c7bdf276">on_getaddr</a>(self, conn, message): <span class="keyword">pass</span></div><div class="line"><a name="l01100"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#a3620d5c1e88c25bbcd11c5f36155df36"> 1100</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#a3620d5c1e88c25bbcd11c5f36155df36">on_headers</a>(self, conn, message): <span class="keyword">pass</span></div><div class="line"><a name="l01101"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#adf6b83c2381b421e370e444e40ae6a1a"> 1101</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#adf6b83c2381b421e370e444e40ae6a1a">on_getheaders</a>(self, conn, message): <span class="keyword">pass</span></div><div class="line"><a name="l01102"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#a24df3a398c30143e71700b9c39728a55"> 1102</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#a24df3a398c30143e71700b9c39728a55">on_ping</a>(self, conn, message):</div><div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>  <span class="keywordflow">if</span> conn.ver_send > BIP0031_VERSION:</div><div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>  conn.send_message(<a class="code" href="classtest__framework_1_1mininode_1_1msg__pong.html">msg_pong</a>(message.nonce))</div><div class="line"><a name="l01105"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#a8fd3ada780b095e78a8e31c3ab4122ad"> 1105</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#a8fd3ada780b095e78a8e31c3ab4122ad">on_reject</a>(self, conn, message): <span class="keyword">pass</span></div><div class="line"><a name="l01106"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#ae57e7bb478960cbc6fa9dd8066d7e934"> 1106</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#ae57e7bb478960cbc6fa9dd8066d7e934">on_close</a>(self, conn): <span class="keyword">pass</span></div><div class="line"><a name="l01107"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#ae11eed4f33db116bab2a1fc8a71dc98c"> 1107</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#ae11eed4f33db116bab2a1fc8a71dc98c">on_mempool</a>(self, conn): <span class="keyword">pass</span></div><div class="line"><a name="l01108"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#a524cfbc5287c21dcfcd11ad15ee81dd7"> 1108</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1NodeConnCB.html#a524cfbc5287c21dcfcd11ad15ee81dd7">on_pong</a>(self, conn, message): <span class="keyword">pass</span></div><div class="line"><a name="l01109"></a><span class="lineno"> 1109</span> </div><div class="line"><a name="l01110"></a><span class="lineno"> 1110</span> <span class="comment"># More useful callbacks and functions for NodeConnCB's which have a single NodeConn</span></div><div class="line"><a name="l01111"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1SingleNodeConnCB.html"> 1111</a></span> <span class="keyword">class </span><a class="code" href="classtest__framework_1_1mininode_1_1SingleNodeConnCB.html">SingleNodeConnCB</a>(<a class="code" href="classtest__framework_1_1mininode_1_1NodeConnCB.html">NodeConnCB</a>):</div><div class="line"><a name="l01112"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1SingleNodeConnCB.html#ad3899e89f43e4afbf9b2fc9863c52755"> 1112</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1SingleNodeConnCB.html#ad3899e89f43e4afbf9b2fc9863c52755">__init__</a>(self):</div><div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>  NodeConnCB.__init__(self)</div><div class="line"><a name="l01114"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1SingleNodeConnCB.html#a6513abdab1671cc509010d912a10de1f"> 1114</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1SingleNodeConnCB.html#a6513abdab1671cc509010d912a10de1f">connection</a> = <span class="keywordtype">None</span></div><div class="line"><a name="l01115"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1SingleNodeConnCB.html#a06eefafb96d462d49db09a8ddc2aa98e"> 1115</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1SingleNodeConnCB.html#a06eefafb96d462d49db09a8ddc2aa98e">ping_counter</a> = 1</div><div class="line"><a name="l01116"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1SingleNodeConnCB.html#af123881ce27743b787e24adcfa1deddd"> 1116</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1SingleNodeConnCB.html#af123881ce27743b787e24adcfa1deddd">last_pong</a> = <a class="code" href="classtest__framework_1_1mininode_1_1msg__pong.html">msg_pong</a>()</div><div class="line"><a name="l01117"></a><span class="lineno"> 1117</span> </div><div class="line"><a name="l01118"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1SingleNodeConnCB.html#aa17afb95dbad6b6f7bcebb1babb3e322"> 1118</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1SingleNodeConnCB.html#aa17afb95dbad6b6f7bcebb1babb3e322">add_connection</a>(self, conn):</div><div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1SingleNodeConnCB.html#a6513abdab1671cc509010d912a10de1f">connection</a> = conn</div><div class="line"><a name="l01120"></a><span class="lineno"> 1120</span> </div><div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>  <span class="comment"># Wrapper for the NodeConn's send_message function</span></div><div class="line"><a name="l01122"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1SingleNodeConnCB.html#af8afbaef7128eb070df8b0fba95e4343"> 1122</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1SingleNodeConnCB.html#af8afbaef7128eb070df8b0fba95e4343">send_message</a>(self, message):</div><div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1SingleNodeConnCB.html#a6513abdab1671cc509010d912a10de1f">connection</a>.<a class="code" href="classtest__framework_1_1mininode_1_1SingleNodeConnCB.html#af8afbaef7128eb070df8b0fba95e4343">send_message</a>(message)</div><div class="line"><a name="l01124"></a><span class="lineno"> 1124</span> </div><div class="line"><a name="l01125"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1SingleNodeConnCB.html#ac5d1e431e3ed16e253993d38e0f16020"> 1125</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1SingleNodeConnCB.html#ac5d1e431e3ed16e253993d38e0f16020">on_pong</a>(self, conn, message):</div><div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1SingleNodeConnCB.html#af123881ce27743b787e24adcfa1deddd">last_pong</a> = message</div><div class="line"><a name="l01127"></a><span class="lineno"> 1127</span> </div><div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>  <span class="comment"># Sync up with the node</span></div><div class="line"><a name="l01129"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1SingleNodeConnCB.html#a6e029f807b9088233aa963a2d7fa0163"> 1129</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1SingleNodeConnCB.html#a6e029f807b9088233aa963a2d7fa0163">sync_with_ping</a>(self, timeout=30):</div><div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>  <span class="keyword">def </span>received_pong():</div><div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>  <span class="keywordflow">return</span> (self.<a class="code" href="classtest__framework_1_1mininode_1_1SingleNodeConnCB.html#af123881ce27743b787e24adcfa1deddd">last_pong</a>.nonce == self.<a class="code" href="classtest__framework_1_1mininode_1_1SingleNodeConnCB.html#a06eefafb96d462d49db09a8ddc2aa98e">ping_counter</a>)</div><div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1SingleNodeConnCB.html#af8afbaef7128eb070df8b0fba95e4343">send_message</a>(<a class="code" href="classtest__framework_1_1mininode_1_1msg__ping.html">msg_ping</a>(nonce=self.<a class="code" href="classtest__framework_1_1mininode_1_1SingleNodeConnCB.html#a06eefafb96d462d49db09a8ddc2aa98e">ping_counter</a>))</div><div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>  success = <a class="code" href="namespacetest__framework_1_1mininode.html#ab31a602d974f3680fa75698eb77dfec9">wait_until</a>(received_pong, timeout)</div><div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1SingleNodeConnCB.html#a06eefafb96d462d49db09a8ddc2aa98e">ping_counter</a> += 1</div><div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>  <span class="keywordflow">return</span> success</div><div class="line"><a name="l01136"></a><span class="lineno"> 1136</span> </div><div class="line"><a name="l01137"></a><span class="lineno"> 1137</span> <span class="comment"># The actual NodeConn class</span></div><div class="line"><a name="l01138"></a><span class="lineno"> 1138</span> <span class="comment"># This class provides an interface for a p2p connection to a specified node</span></div><div class="line"><a name="l01139"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConn.html"> 1139</a></span> <span class="keyword">class </span><a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html">NodeConn</a>(asyncore.dispatcher):</div><div class="line"><a name="l01140"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConn.html#ad1477deb030e51020a744c487f3a93c8"> 1140</a></span>  messagemap = {</div><div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>  b<span class="stringliteral">"version"</span>: msg_version,</div><div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>  b<span class="stringliteral">"verack"</span>: msg_verack,</div><div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>  b<span class="stringliteral">"addr"</span>: msg_addr,</div><div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>  b<span class="stringliteral">"alert"</span>: msg_alert,</div><div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>  b<span class="stringliteral">"inv"</span>: msg_inv,</div><div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>  b<span class="stringliteral">"getdata"</span>: msg_getdata,</div><div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>  b<span class="stringliteral">"getblocks"</span>: msg_getblocks,</div><div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>  b<span class="stringliteral">"tx"</span>: msg_tx,</div><div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>  b<span class="stringliteral">"block"</span>: msg_block,</div><div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>  b<span class="stringliteral">"getaddr"</span>: msg_getaddr,</div><div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>  b<span class="stringliteral">"ping"</span>: msg_ping,</div><div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>  b<span class="stringliteral">"pong"</span>: msg_pong,</div><div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>  b<span class="stringliteral">"headers"</span>: msg_headers,</div><div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>  b<span class="stringliteral">"getheaders"</span>: msg_getheaders,</div><div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>  b<span class="stringliteral">"reject"</span>: msg_reject,</div><div class="line"><a name="l01156"></a><span class="lineno"> 1156</span>  b<span class="stringliteral">"mempool"</span>: msg_mempool,</div><div class="line"><a name="l01157"></a><span class="lineno"> 1157</span>  }</div><div class="line"><a name="l01158"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConn.html#a6d22facc78256ed9630920ac02dd6e5d"> 1158</a></span>  MAGIC_BYTES = {</div><div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>  <span class="stringliteral">"mainnet"</span>: b<span class="stringliteral">"\xbf\x0c\x6b\xbd"</span>, <span class="comment"># mainnet</span></div><div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>  <span class="stringliteral">"testnet3"</span>: b<span class="stringliteral">"\xce\xe2\xca\xff"</span>, <span class="comment"># testnet3</span></div><div class="line"><a name="l01161"></a><span class="lineno"> 1161</span>  <span class="stringliteral">"regtest"</span>: b<span class="stringliteral">"\xfc\xc1\xb7\xdc"</span> <span class="comment"># regtest</span></div><div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>  }</div><div class="line"><a name="l01163"></a><span class="lineno"> 1163</span> </div><div class="line"><a name="l01164"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConn.html#a80814b653e35ef0bb01a215fd6eb0fc3"> 1164</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a80814b653e35ef0bb01a215fd6eb0fc3">__init__</a>(self, dstaddr, dstport, rpc, callback, net="regtest", services=1):</div><div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>  asyncore.dispatcher.__init__(self, map=mininode_socket_map)</div><div class="line"><a name="l01166"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConn.html#a0c61ca1ed5f3ee5de5558ff2f9c4b1ae"> 1166</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a0c61ca1ed5f3ee5de5558ff2f9c4b1ae">log</a> = logging.getLogger(<span class="stringliteral">"NodeConn(%s:%d)"</span> % (dstaddr, dstport))</div><div class="line"><a name="l01167"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConn.html#a137821624e3d23ec68d87e99e66c55d7"> 1167</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a137821624e3d23ec68d87e99e66c55d7">dstaddr</a> = dstaddr</div><div class="line"><a name="l01168"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConn.html#a536fbc5e674cf422c02d9ef4d228164d"> 1168</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a536fbc5e674cf422c02d9ef4d228164d">dstport</a> = dstport</div><div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>  self.create_socket(socket.AF_INET, socket.SOCK_STREAM)</div><div class="line"><a name="l01170"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConn.html#a646f07b4b22e8a98cbf684967d1f94dc"> 1170</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a646f07b4b22e8a98cbf684967d1f94dc">sendbuf</a> = b<span class="stringliteral">""</span></div><div class="line"><a name="l01171"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConn.html#a614b2fc481108849a9fb712d42ae4cc3"> 1171</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a614b2fc481108849a9fb712d42ae4cc3">recvbuf</a> = b<span class="stringliteral">""</span></div><div class="line"><a name="l01172"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConn.html#a51bbe37d9a8deaf7682ab3cba9906864"> 1172</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a51bbe37d9a8deaf7682ab3cba9906864">ver_send</a> = 209</div><div class="line"><a name="l01173"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConn.html#a1f68aa781732aa0c16cfc5c13825fffa"> 1173</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a1f68aa781732aa0c16cfc5c13825fffa">ver_recv</a> = 209</div><div class="line"><a name="l01174"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConn.html#ad9abbc32344122a771829978dcf4ca87"> 1174</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#ad9abbc32344122a771829978dcf4ca87">last_sent</a> = 0</div><div class="line"><a name="l01175"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConn.html#abe03efadefd1788abdc31523dc95818b"> 1175</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#abe03efadefd1788abdc31523dc95818b">state</a> = <span class="stringliteral">"connecting"</span></div><div class="line"><a name="l01176"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConn.html#a3b6b517b455fed38f3ac06b68f76e4f9"> 1176</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a3b6b517b455fed38f3ac06b68f76e4f9">network</a> = net</div><div class="line"><a name="l01177"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConn.html#ad23584b149ea40d025ca59297684ddf4"> 1177</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#ad23584b149ea40d025ca59297684ddf4">cb</a> = callback</div><div class="line"><a name="l01178"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConn.html#a983a2855430f68d1f147f0140427d715"> 1178</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a983a2855430f68d1f147f0140427d715">disconnect</a> = <span class="keyword">False</span></div><div class="line"><a name="l01179"></a><span class="lineno"> 1179</span> </div><div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>  <span class="comment"># stuff version msg into sendbuf</span></div><div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>  vt = <a class="code" href="classtest__framework_1_1mininode_1_1msg__version.html">msg_version</a>()</div><div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>  vt.nServices = services</div><div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>  vt.addrTo.ip = self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a137821624e3d23ec68d87e99e66c55d7">dstaddr</a></div><div class="line"><a name="l01184"></a><span class="lineno"> 1184</span>  vt.addrTo.port = self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a536fbc5e674cf422c02d9ef4d228164d">dstport</a></div><div class="line"><a name="l01185"></a><span class="lineno"> 1185</span>  vt.addrFrom.ip = <span class="stringliteral">"0.0.0.0"</span></div><div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>  vt.addrFrom.port = 0</div><div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a9f54ad93e4b5a6fb47a621e34e5ebd08">send_message</a>(vt, <span class="keyword">True</span>)</div><div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>  <span class="keywordflow">print</span> <span class="stringliteral">'MiniNode: Connecting to Dash Node IP # '</span> + dstaddr + <span class="stringliteral">':'</span> \</div><div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>  + str(dstport)</div><div class="line"><a name="l01190"></a><span class="lineno"> 1190</span> </div><div class="line"><a name="l01191"></a><span class="lineno"> 1191</span>  <span class="keywordflow">try</span>:</div><div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>  self.connect((dstaddr, dstport))</div><div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>  <span class="keywordflow">except</span>:</div><div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a7dd554c2ff08303e7176b9a18d17027c">handle_close</a>()</div><div class="line"><a name="l01195"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConn.html#addc10ce3ce0dfe7a27afd0ba428fc2a0"> 1195</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#addc10ce3ce0dfe7a27afd0ba428fc2a0">rpc</a> = rpc</div><div class="line"><a name="l01196"></a><span class="lineno"> 1196</span> </div><div class="line"><a name="l01197"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConn.html#af6833e9f2c1ad08f3ac7b3721fb1b79f"> 1197</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#af6833e9f2c1ad08f3ac7b3721fb1b79f">show_debug_msg</a>(self, msg):</div><div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a0c61ca1ed5f3ee5de5558ff2f9c4b1ae">log</a>.<a class="code" href="misc_8cpp.html#a5818d0d09a6e077171d4c054bb492de7">debug</a>(msg)</div><div class="line"><a name="l01199"></a><span class="lineno"> 1199</span> </div><div class="line"><a name="l01200"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConn.html#acb20b32028b33e7db4f25bf5378748ca"> 1200</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#acb20b32028b33e7db4f25bf5378748ca">handle_connect</a>(self):</div><div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#af6833e9f2c1ad08f3ac7b3721fb1b79f">show_debug_msg</a>(<span class="stringliteral">"MiniNode: Connected & Listening: \n"</span>)</div><div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#abe03efadefd1788abdc31523dc95818b">state</a> = <span class="stringliteral">"connected"</span></div><div class="line"><a name="l01203"></a><span class="lineno"> 1203</span> </div><div class="line"><a name="l01204"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConn.html#a7dd554c2ff08303e7176b9a18d17027c"> 1204</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a7dd554c2ff08303e7176b9a18d17027c">handle_close</a>(self):</div><div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#af6833e9f2c1ad08f3ac7b3721fb1b79f">show_debug_msg</a>(<span class="stringliteral">"MiniNode: Closing Connection to %s:%d... "</span></div><div class="line"><a name="l01206"></a><span class="lineno"> 1206</span>  % (self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a137821624e3d23ec68d87e99e66c55d7">dstaddr</a>, self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a536fbc5e674cf422c02d9ef4d228164d">dstport</a>))</div><div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#abe03efadefd1788abdc31523dc95818b">state</a> = <span class="stringliteral">"closed"</span></div><div class="line"><a name="l01208"></a><span class="lineno"> 1208</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a614b2fc481108849a9fb712d42ae4cc3">recvbuf</a> = b<span class="stringliteral">""</span></div><div class="line"><a name="l01209"></a><span class="lineno"> 1209</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a646f07b4b22e8a98cbf684967d1f94dc">sendbuf</a> = b<span class="stringliteral">""</span></div><div class="line"><a name="l01210"></a><span class="lineno"> 1210</span>  <span class="keywordflow">try</span>:</div><div class="line"><a name="l01211"></a><span class="lineno"> 1211</span>  self.close()</div><div class="line"><a name="l01212"></a><span class="lineno"> 1212</span>  <span class="keywordflow">except</span>:</div><div class="line"><a name="l01213"></a><span class="lineno"> 1213</span>  <span class="keywordflow">pass</span></div><div class="line"><a name="l01214"></a><span class="lineno"> 1214</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#ad23584b149ea40d025ca59297684ddf4">cb</a>.on_close(self)</div><div class="line"><a name="l01215"></a><span class="lineno"> 1215</span> </div><div class="line"><a name="l01216"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConn.html#abecd4c72d9659048347ec1f4689b3122"> 1216</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#abecd4c72d9659048347ec1f4689b3122">handle_read</a>(self):</div><div class="line"><a name="l01217"></a><span class="lineno"> 1217</span>  <span class="keywordflow">try</span>:</div><div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>  t = self.recv(8192)</div><div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>  <span class="keywordflow">if</span> len(t) > 0:</div><div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a614b2fc481108849a9fb712d42ae4cc3">recvbuf</a> += t</div><div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a0c8eb5008bf5093675c96a4937dff381">got_data</a>()</div><div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>  <span class="keywordflow">except</span>:</div><div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>  <span class="keywordflow">pass</span></div><div class="line"><a name="l01224"></a><span class="lineno"> 1224</span> </div><div class="line"><a name="l01225"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConn.html#ab0fbc7fe3b6ed169f824490bb6e20510"> 1225</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#ab0fbc7fe3b6ed169f824490bb6e20510">readable</a>(self):</div><div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>  <span class="keywordflow">return</span> <span class="keyword">True</span></div><div class="line"><a name="l01227"></a><span class="lineno"> 1227</span> </div><div class="line"><a name="l01228"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConn.html#a43d5d33c2dc547c0dcb90fa568acf343"> 1228</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a43d5d33c2dc547c0dcb90fa568acf343">writable</a>(self):</div><div class="line"><a name="l01229"></a><span class="lineno"> 1229</span>  with mininode_lock:</div><div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>  length = len(self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a646f07b4b22e8a98cbf684967d1f94dc">sendbuf</a>)</div><div class="line"><a name="l01231"></a><span class="lineno"> 1231</span>  <span class="keywordflow">return</span> (length > 0)</div><div class="line"><a name="l01232"></a><span class="lineno"> 1232</span> </div><div class="line"><a name="l01233"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConn.html#a6a4b7ad76beef86e6cf3479dd2541a18"> 1233</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a6a4b7ad76beef86e6cf3479dd2541a18">handle_write</a>(self):</div><div class="line"><a name="l01234"></a><span class="lineno"> 1234</span>  with mininode_lock:</div><div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>  <span class="keywordflow">try</span>:</div><div class="line"><a name="l01236"></a><span class="lineno"> 1236</span>  sent = self.send(self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a646f07b4b22e8a98cbf684967d1f94dc">sendbuf</a>)</div><div class="line"><a name="l01237"></a><span class="lineno"> 1237</span>  <span class="keywordflow">except</span>:</div><div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a7dd554c2ff08303e7176b9a18d17027c">handle_close</a>()</div><div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>  <span class="keywordflow">return</span></div><div class="line"><a name="l01240"></a><span class="lineno"> 1240</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a646f07b4b22e8a98cbf684967d1f94dc">sendbuf</a> = self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a646f07b4b22e8a98cbf684967d1f94dc">sendbuf</a>[sent:]</div><div class="line"><a name="l01241"></a><span class="lineno"> 1241</span> </div><div class="line"><a name="l01242"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConn.html#a0c8eb5008bf5093675c96a4937dff381"> 1242</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a0c8eb5008bf5093675c96a4937dff381">got_data</a>(self):</div><div class="line"><a name="l01243"></a><span class="lineno"> 1243</span>  <span class="keywordflow">try</span>:</div><div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>  <span class="keywordflow">while</span> <span class="keyword">True</span>:</div><div class="line"><a name="l01245"></a><span class="lineno"> 1245</span>  <span class="keywordflow">if</span> len(self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a614b2fc481108849a9fb712d42ae4cc3">recvbuf</a>) < 4:</div><div class="line"><a name="l01246"></a><span class="lineno"> 1246</span>  <span class="keywordflow">return</span></div><div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>  <span class="keywordflow">if</span> self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a614b2fc481108849a9fb712d42ae4cc3">recvbuf</a>[:4] != self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a6d22facc78256ed9630920ac02dd6e5d">MAGIC_BYTES</a>[self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a3b6b517b455fed38f3ac06b68f76e4f9">network</a>]:</div><div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>  <span class="keywordflow">raise</span> ValueError(<span class="stringliteral">"got garbage %s"</span> % repr(self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a614b2fc481108849a9fb712d42ae4cc3">recvbuf</a>))</div><div class="line"><a name="l01249"></a><span class="lineno"> 1249</span>  <span class="keywordflow">if</span> self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a1f68aa781732aa0c16cfc5c13825fffa">ver_recv</a> < 209:</div><div class="line"><a name="l01250"></a><span class="lineno"> 1250</span>  <span class="keywordflow">if</span> len(self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a614b2fc481108849a9fb712d42ae4cc3">recvbuf</a>) < 4 + 12 + 4:</div><div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>  <span class="keywordflow">return</span></div><div class="line"><a name="l01252"></a><span class="lineno"> 1252</span>  command = self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a614b2fc481108849a9fb712d42ae4cc3">recvbuf</a>[4:4+12].split(b<span class="stringliteral">"\x00"</span>, 1)[0]</div><div class="line"><a name="l01253"></a><span class="lineno"> 1253</span>  msglen = struct.unpack(<span class="stringliteral">"<i"</span>, self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a614b2fc481108849a9fb712d42ae4cc3">recvbuf</a>[4+12:4+12+4])[0]</div><div class="line"><a name="l01254"></a><span class="lineno"> 1254</span>  checksum = <span class="keywordtype">None</span></div><div class="line"><a name="l01255"></a><span class="lineno"> 1255</span>  <span class="keywordflow">if</span> len(self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a614b2fc481108849a9fb712d42ae4cc3">recvbuf</a>) < 4 + 12 + 4 + msglen:</div><div class="line"><a name="l01256"></a><span class="lineno"> 1256</span>  <span class="keywordflow">return</span></div><div class="line"><a name="l01257"></a><span class="lineno"> 1257</span>  msg = self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a614b2fc481108849a9fb712d42ae4cc3">recvbuf</a>[4+12+4:4+12+4+msglen]</div><div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a614b2fc481108849a9fb712d42ae4cc3">recvbuf</a> = self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a614b2fc481108849a9fb712d42ae4cc3">recvbuf</a>[4+12+4+msglen:]</div><div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>  <span class="keywordflow">if</span> len(self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a614b2fc481108849a9fb712d42ae4cc3">recvbuf</a>) < 4 + 12 + 4 + 4:</div><div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>  <span class="keywordflow">return</span></div><div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>  command = self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a614b2fc481108849a9fb712d42ae4cc3">recvbuf</a>[4:4+12].split(b<span class="stringliteral">"\x00"</span>, 1)[0]</div><div class="line"><a name="l01263"></a><span class="lineno"> 1263</span>  msglen = struct.unpack(<span class="stringliteral">"<i"</span>, self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a614b2fc481108849a9fb712d42ae4cc3">recvbuf</a>[4+12:4+12+4])[0]</div><div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>  checksum = self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a614b2fc481108849a9fb712d42ae4cc3">recvbuf</a>[4+12+4:4+12+4+4]</div><div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>  <span class="keywordflow">if</span> len(self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a614b2fc481108849a9fb712d42ae4cc3">recvbuf</a>) < 4 + 12 + 4 + 4 + msglen:</div><div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>  <span class="keywordflow">return</span></div><div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>  msg = self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a614b2fc481108849a9fb712d42ae4cc3">recvbuf</a>[4+12+4+4:4+12+4+4+msglen]</div><div class="line"><a name="l01268"></a><span class="lineno"> 1268</span>  th = <a class="code" href="namespacesha256.html">sha256</a>(msg)</div><div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>  h = <a class="code" href="namespacesha256.html">sha256</a>(th)</div><div class="line"><a name="l01270"></a><span class="lineno"> 1270</span>  <span class="keywordflow">if</span> checksum != h[:4]:</div><div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>  <span class="keywordflow">raise</span> ValueError(<span class="stringliteral">"got bad checksum "</span> + repr(self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a614b2fc481108849a9fb712d42ae4cc3">recvbuf</a>))</div><div class="line"><a name="l01272"></a><span class="lineno"> 1272</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a614b2fc481108849a9fb712d42ae4cc3">recvbuf</a> = self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a614b2fc481108849a9fb712d42ae4cc3">recvbuf</a>[4+12+4+4+msglen:]</div><div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>  <span class="keywordflow">if</span> command <span class="keywordflow">in</span> self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#ad1477deb030e51020a744c487f3a93c8">messagemap</a>:</div><div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>  f = BytesIO(msg)</div><div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>  t = self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#ad1477deb030e51020a744c487f3a93c8">messagemap</a>[command]()</div><div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>  t.deserialize(f)</div><div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a44e3b68dc0d47e2ece09017d644b96c8">got_message</a>(t)</div><div class="line"><a name="l01278"></a><span class="lineno"> 1278</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l01279"></a><span class="lineno"> 1279</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#af6833e9f2c1ad08f3ac7b3721fb1b79f">show_debug_msg</a>(<span class="stringliteral">"Unknown command: '"</span> + command + <span class="stringliteral">"' "</span> +</div><div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>  repr(msg))</div><div class="line"><a name="l01281"></a><span class="lineno"> 1281</span>  <span class="keywordflow">except</span> Exception <span class="keyword">as</span> e:</div><div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>  <span class="keywordflow">print</span> <span class="stringliteral">'got_data:'</span>, repr(e)</div><div class="line"><a name="l01283"></a><span class="lineno"> 1283</span> </div><div class="line"><a name="l01284"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConn.html#a9f54ad93e4b5a6fb47a621e34e5ebd08"> 1284</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a9f54ad93e4b5a6fb47a621e34e5ebd08">send_message</a>(self, message, pushbuf=False):</div><div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>  <span class="keywordflow">if</span> self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#abe03efadefd1788abdc31523dc95818b">state</a> != <span class="stringliteral">"connected"</span> <span class="keywordflow">and</span> <span class="keywordflow">not</span> pushbuf:</div><div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>  <span class="keywordflow">return</span></div><div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#af6833e9f2c1ad08f3ac7b3721fb1b79f">show_debug_msg</a>(<span class="stringliteral">"Send %s"</span> % repr(message))</div><div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>  command = message.command</div><div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>  data = message.serialize()</div><div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>  tmsg = self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a6d22facc78256ed9630920ac02dd6e5d">MAGIC_BYTES</a>[self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a3b6b517b455fed38f3ac06b68f76e4f9">network</a>]</div><div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>  tmsg += command</div><div class="line"><a name="l01292"></a><span class="lineno"> 1292</span>  tmsg += b<span class="stringliteral">"\x00"</span> * (12 - len(command))</div><div class="line"><a name="l01293"></a><span class="lineno"> 1293</span>  tmsg += struct.pack(<span class="stringliteral">"<I"</span>, len(data))</div><div class="line"><a name="l01294"></a><span class="lineno"> 1294</span>  <span class="keywordflow">if</span> self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a51bbe37d9a8deaf7682ab3cba9906864">ver_send</a> >= 209:</div><div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>  th = <a class="code" href="namespacesha256.html">sha256</a>(data)</div><div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>  h = <a class="code" href="namespacesha256.html">sha256</a>(th)</div><div class="line"><a name="l01297"></a><span class="lineno"> 1297</span>  tmsg += h[:4]</div><div class="line"><a name="l01298"></a><span class="lineno"> 1298</span>  tmsg += data</div><div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>  with mininode_lock:</div><div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a646f07b4b22e8a98cbf684967d1f94dc">sendbuf</a> += tmsg</div><div class="line"><a name="l01301"></a><span class="lineno"> 1301</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#ad9abbc32344122a771829978dcf4ca87">last_sent</a> = time.time()</div><div class="line"><a name="l01302"></a><span class="lineno"> 1302</span> </div><div class="line"><a name="l01303"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConn.html#a44e3b68dc0d47e2ece09017d644b96c8"> 1303</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a44e3b68dc0d47e2ece09017d644b96c8">got_message</a>(self, message):</div><div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>  <span class="keywordflow">if</span> message.command == b<span class="stringliteral">"version"</span>:</div><div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>  <span class="keywordflow">if</span> message.nVersion <= BIP0031_VERSION:</div><div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#ad1477deb030e51020a744c487f3a93c8">messagemap</a>[b<span class="stringliteral">'ping'</span>] = msg_ping_prebip31</div><div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>  <span class="keywordflow">if</span> self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#ad9abbc32344122a771829978dcf4ca87">last_sent</a> + 30 * 60 < time.time():</div><div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a9f54ad93e4b5a6fb47a621e34e5ebd08">send_message</a>(self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#ad1477deb030e51020a744c487f3a93c8">messagemap</a>[b<span class="stringliteral">'ping'</span>]())</div><div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#af6833e9f2c1ad08f3ac7b3721fb1b79f">show_debug_msg</a>(<span class="stringliteral">"Recv %s"</span> % repr(message))</div><div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#ad23584b149ea40d025ca59297684ddf4">cb</a>.deliver(self, message)</div><div class="line"><a name="l01311"></a><span class="lineno"> 1311</span> </div><div class="line"><a name="l01312"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NodeConn.html#ae77a048672165288dbced1caec225193"> 1312</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#ae77a048672165288dbced1caec225193">disconnect_node</a>(self):</div><div class="line"><a name="l01313"></a><span class="lineno"> 1313</span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1NodeConn.html#a983a2855430f68d1f147f0140427d715">disconnect</a> = <span class="keyword">True</span></div><div class="line"><a name="l01314"></a><span class="lineno"> 1314</span> </div><div class="line"><a name="l01315"></a><span class="lineno"> 1315</span> </div><div class="line"><a name="l01316"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NetworkThread.html"> 1316</a></span> <span class="keyword">class </span><a class="code" href="classtest__framework_1_1mininode_1_1NetworkThread.html">NetworkThread</a>(Thread):</div><div class="line"><a name="l01317"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1NetworkThread.html#abdd5679fe3ad2a66e57262e612a2dd61"> 1317</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1NetworkThread.html#abdd5679fe3ad2a66e57262e612a2dd61">run</a>(self):</div><div class="line"><a name="l01318"></a><span class="lineno"> 1318</span>  <span class="keywordflow">while</span> mininode_socket_map:</div><div class="line"><a name="l01319"></a><span class="lineno"> 1319</span>  <span class="comment"># We check for whether to disconnect outside of the asyncore</span></div><div class="line"><a name="l01320"></a><span class="lineno"> 1320</span>  <span class="comment"># loop to workaround the behavior of asyncore when using</span></div><div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>  <span class="comment"># select</span></div><div class="line"><a name="l01322"></a><span class="lineno"> 1322</span>  disconnected = []</div><div class="line"><a name="l01323"></a><span class="lineno"> 1323</span>  <span class="keywordflow">for</span> fd, obj <span class="keywordflow">in</span> mininode_socket_map.items():</div><div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>  <span class="keywordflow">if</span> obj.disconnect:</div><div class="line"><a name="l01325"></a><span class="lineno"> 1325</span>  disconnected.append(obj)</div><div class="line"><a name="l01326"></a><span class="lineno"> 1326</span>  [ obj.handle_close() <span class="keywordflow">for</span> obj <span class="keywordflow">in</span> disconnected ]</div><div class="line"><a name="l01327"></a><span class="lineno"> 1327</span>  asyncore.loop(0.1, use_poll=<span class="keyword">True</span>, map=mininode_socket_map, count=1)</div><div class="line"><a name="l01328"></a><span class="lineno"> 1328</span> </div><div class="line"><a name="l01329"></a><span class="lineno"> 1329</span> </div><div class="line"><a name="l01330"></a><span class="lineno"> 1330</span> <span class="comment"># An exception we can raise if we detect a potential disconnect</span></div><div class="line"><a name="l01331"></a><span class="lineno"> 1331</span> <span class="comment"># (p2p or rpc) before the test is complete</span></div><div class="line"><a name="l01332"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1EarlyDisconnectError.html"> 1332</a></span> <span class="keyword">class </span><a class="code" href="classtest__framework_1_1mininode_1_1EarlyDisconnectError.html">EarlyDisconnectError</a>(Exception):</div><div class="line"><a name="l01333"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1EarlyDisconnectError.html#a368e30b60b4a474dae8a6970db35f91b"> 1333</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1EarlyDisconnectError.html#a368e30b60b4a474dae8a6970db35f91b">__init__</a>(self, value):</div><div class="line"><a name="l01334"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1EarlyDisconnectError.html#a65dfa9b0984cc998bd97aa834aec942e"> 1334</a></span>  self.<a class="code" href="classtest__framework_1_1mininode_1_1EarlyDisconnectError.html#a65dfa9b0984cc998bd97aa834aec942e">value</a> = value</div><div class="line"><a name="l01335"></a><span class="lineno"> 1335</span> </div><div class="line"><a name="l01336"></a><span class="lineno"><a class="line" href="classtest__framework_1_1mininode_1_1EarlyDisconnectError.html#a982c4107c73c609e0372fe11c1adce86"> 1336</a></span>  <span class="keyword">def </span><a class="code" href="classtest__framework_1_1mininode_1_1EarlyDisconnectError.html#a982c4107c73c609e0372fe11c1adce86">__str__</a>(self):</div><div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>  <span class="keywordflow">return</span> repr(self.<a class="code" href="classtest__framework_1_1mininode_1_1EarlyDisconnectError.html#a65dfa9b0984cc998bd97aa834aec942e">value</a>)</div><div class="ttc" id="classtest__framework_1_1mininode_1_1msg__getdata_html_a5b35c3b655ddd020498de0a239985cd5"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__getdata.html#a5b35c3b655ddd020498de0a239985cd5">test_framework.mininode.msg_getdata.__init__</a></div><div class="ttdeci">def __init__(self, inv=None)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00770">mininode.py:770</a></div></div>
|
|
<div class="ttc" id="namespacetest__framework_1_1mininode_html_a5514860ac26078aedc3579c46f752d3a"><div class="ttname"><a href="namespacetest__framework_1_1mininode.html#a5514860ac26078aedc3579c46f752d3a">test_framework.mininode.deser_vector</a></div><div class="ttdeci">def deser_vector(f, c)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00121">mininode.py:121</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CBlockHeader_html_ae3efcbd222899932360b7a3f4639e010"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CBlockHeader.html#ae3efcbd222899932360b7a3f4639e010">test_framework.mininode.CBlockHeader.hashMerkleRoot</a></div><div class="ttdeci">hashMerkleRoot</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00452">mininode.py:452</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConn_html_a983a2855430f68d1f147f0140427d715"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConn.html#a983a2855430f68d1f147f0140427d715">test_framework.mininode.NodeConn.disconnect</a></div><div class="ttdeci">disconnect</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01178">mininode.py:1178</a></div></div>
|
|
<div class="ttc" id="namespacetest__framework_1_1mininode_html_ad72dfbd1fc12a679a9d1984ac914614d"><div class="ttname"><a href="namespacetest__framework_1_1mininode.html#ad72dfbd1fc12a679a9d1984ac914614d">test_framework.mininode.uint256_from_compact</a></div><div class="ttdeci">def uint256_from_compact(c)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00115">mininode.py:115</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CBlockHeader_html_a8e42d6d1e8dbd24878f46db86b10fc19"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a8e42d6d1e8dbd24878f46db86b10fc19">test_framework.mininode.CBlockHeader.nNonce</a></div><div class="ttdeci">nNonce</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00455">mininode.py:455</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CUnsignedAlert_html_a9ace7cd071f76d1d552cba65f0e8f298"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a9ace7cd071f76d1d552cba65f0e8f298">test_framework.mininode.CUnsignedAlert.nVersion</a></div><div class="ttdeci">nVersion</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00568">mininode.py:568</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CBlockLocator_html_a11a028c7c86b9562ea5f82d039cb8f62"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CBlockLocator.html#a11a028c7c86b9562ea5f82d039cb8f62">test_framework.mininode.CBlockLocator.__repr__</a></div><div class="ttdeci">def __repr__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00318">mininode.py:318</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__alert_html_a8089c98df503ede1790d65d09bdfaf51"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__alert.html#a8089c98df503ede1790d65d09bdfaf51">test_framework.mininode.msg_alert.serialize</a></div><div class="ttdeci">def serialize(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00739">mininode.py:739</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CBlockLocator_html_aa155c783db4872914f9fe357b59e9fbb"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CBlockLocator.html#aa155c783db4872914f9fe357b59e9fbb">test_framework.mininode.CBlockLocator.nVersion</a></div><div class="ttdeci">nVersion</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00305">mininode.py:305</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1SingleNodeConnCB_html_aa17afb95dbad6b6f7bcebb1babb3e322"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1SingleNodeConnCB.html#aa17afb95dbad6b6f7bcebb1babb3e322">test_framework.mininode.SingleNodeConnCB.add_connection</a></div><div class="ttdeci">def add_connection(self, conn)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01118">mininode.py:1118</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CTxIn_html_a2357a08bc704fd8057a1aa9591a1cb2e"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CTxIn.html#a2357a08bc704fd8057a1aa9591a1cb2e">test_framework.mininode.CTxIn.deserialize</a></div><div class="ttdeci">def deserialize(self, f)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00351">mininode.py:351</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CBlock_html_ae1ebd8ed9926fa56ad9037b92eb5a61b"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CBlock.html#ae1ebd8ed9926fa56ad9037b92eb5a61b">test_framework.mininode.CBlock.deserialize</a></div><div class="ttdeci">def deserialize(self, f)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00518">mininode.py:518</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CBlockLocator_html_a6cbe0a8884a5b171d54153f62bc32de4"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CBlockLocator.html#a6cbe0a8884a5b171d54153f62bc32de4">test_framework.mininode.CBlockLocator.deserialize</a></div><div class="ttdeci">def deserialize(self, f)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00308">mininode.py:308</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__addr_html_aaa3030f86691df15fee925fbf5127c91"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__addr.html#aaa3030f86691df15fee925fbf5127c91">test_framework.mininode.msg_addr.addrs</a></div><div class="ttdeci">addrs</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00717">mininode.py:717</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__getdata_html_a62aeab2f644f6a849265ae327557168f"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__getdata.html#a62aeab2f644f6a849265ae327557168f">test_framework.mininode.msg_getdata.serialize</a></div><div class="ttdeci">def serialize(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00776">mininode.py:776</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CAlert_html_ad27d1a9667aa5c73340ac790a7bd68d0"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CAlert.html#ad27d1a9667aa5c73340ac790a7bd68d0">test_framework.mininode.CAlert.deserialize</a></div><div class="ttdeci">def deserialize(self, f)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00626">mininode.py:626</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__tx_html_aa8ce04143fb04a4a04c956e8a9dc8cfc"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__tx.html#aa8ce04143fb04a4a04c956e8a9dc8cfc">test_framework.mininode.msg_tx.__init__</a></div><div class="ttdeci">def __init__(self, tx=CTransaction())</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00809">mininode.py:809</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__ping_html_ad2ec5929da77b90c980f7489b4f6945c"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__ping.html#ad2ec5929da77b90c980f7489b4f6945c">test_framework.mininode.msg_ping.__init__</a></div><div class="ttdeci">def __init__(self, nonce=0L)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00876">mininode.py:876</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__inv_html_a7c47d4e87affd967c47739227b23ee04"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__inv.html#a7c47d4e87affd967c47739227b23ee04">test_framework.mininode.msg_inv.serialize</a></div><div class="ttdeci">def serialize(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00760">mininode.py:760</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1EarlyDisconnectError_html_a368e30b60b4a474dae8a6970db35f91b"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1EarlyDisconnectError.html#a368e30b60b4a474dae8a6970db35f91b">test_framework.mininode.EarlyDisconnectError.__init__</a></div><div class="ttdeci">def __init__(self, value)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01333">mininode.py:1333</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__getheaders_html_a8afa96baa7a23de4ed6de3e39fd5f8ea"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__getheaders.html#a8afa96baa7a23de4ed6de3e39fd5f8ea">test_framework.mininode.msg_getheaders.__init__</a></div><div class="ttdeci">def __init__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00946">mininode.py:946</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__inv_html_a6e604311130dba5f3098495b81205847"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__inv.html#a6e604311130dba5f3098495b81205847">test_framework.mininode.msg_inv.__repr__</a></div><div class="ttdeci">def __repr__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00763">mininode.py:763</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CUnsignedAlert_html_a9426347d65ea4a016225eee12ff76191"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a9426347d65ea4a016225eee12ff76191">test_framework.mininode.CUnsignedAlert.deserialize</a></div><div class="ttdeci">def deserialize(self, f)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00582">mininode.py:582</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__addr_html_aac3a303c26aefa4ccf58c17356cddbeb"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__addr.html#aac3a303c26aefa4ccf58c17356cddbeb">test_framework.mininode.msg_addr.__init__</a></div><div class="ttdeci">def __init__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00716">mininode.py:716</a></div></div>
|
|
<div class="ttc" id="namespacetest__framework_1_1mininode_html_a03d4db4cbc7cedf02985f9026fdff1ca"><div class="ttname"><a href="namespacetest__framework_1_1mininode.html#a03d4db4cbc7cedf02985f9026fdff1ca">test_framework.mininode.ser_string_vector</a></div><div class="ttdeci">def ser_string_vector(l)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00197">mininode.py:197</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConnCB_html_a7bd810fa950dc5c0aff1c3a10962e4a7"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConnCB.html#a7bd810fa950dc5c0aff1c3a10962e4a7">test_framework.mininode.NodeConnCB.deliver</a></div><div class="ttdeci">def deliver(self, conn, message)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01063">mininode.py:1063</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CBlockHeader_html_ae162eadaf73062b5ee93146df78eb68c"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CBlockHeader.html#ae162eadaf73062b5ee93146df78eb68c">test_framework.mininode.CBlockHeader.deserialize</a></div><div class="ttdeci">def deserialize(self, f)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00470">mininode.py:470</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConnCB_html_a6e13b71e42a3a4f00e904f22495c5566"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConnCB.html#a6e13b71e42a3a4f00e904f22495c5566">test_framework.mininode.NodeConnCB.verack_received</a></div><div class="ttdeci">verack_received</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01038">mininode.py:1038</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CUnsignedAlert_html_ae69df8525d958a56f4fa66ca522937aa"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#ae69df8525d958a56f4fa66ca522937aa">test_framework.mininode.CUnsignedAlert.setCancel</a></div><div class="ttdeci">setCancel</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00573">mininode.py:573</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CBlock_html_a331f6c23ab187ad9cb44e11e51b377b1"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CBlock.html#a331f6c23ab187ad9cb44e11e51b377b1">test_framework.mininode.CBlock.serialize</a></div><div class="ttdeci">def serialize(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00522">mininode.py:522</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConnCB_html_a94e1eead50a70df554bc664c2d3e4c0a"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConnCB.html#a94e1eead50a70df554bc664c2d3e4c0a">test_framework.mininode.NodeConnCB.on_getblocks</a></div><div class="ttdeci">def on_getblocks(self, conn, message)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01096">mininode.py:1096</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CInv_html"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CInv.html">test_framework.mininode.CInv</a></div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00278">mininode.py:278</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1SingleNodeConnCB_html_a06eefafb96d462d49db09a8ddc2aa98e"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1SingleNodeConnCB.html#a06eefafb96d462d49db09a8ddc2aa98e">test_framework.mininode.SingleNodeConnCB.ping_counter</a></div><div class="ttdeci">ping_counter</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01115">mininode.py:1115</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CTransaction_html_ae7f7fe048195865be3e1c4ca4926d8cb"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CTransaction.html#ae7f7fe048195865be3e1c4ca4926d8cb">test_framework.mininode.CTransaction.vin</a></div><div class="ttdeci">vin</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00395">mininode.py:395</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__block_html_adf8990327b3875633bb7709710850d20"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__block.html#adf8990327b3875633bb7709710850d20">test_framework.mininode.msg_block.__repr__</a></div><div class="ttdeci">def __repr__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00837">mininode.py:837</a></div></div>
|
|
<div class="ttc" id="namespacetest__framework_1_1mininode_html_ad394a525fb7b6779f56b92da72ad23d2"><div class="ttname"><a href="namespacetest__framework_1_1mininode.html#ad394a525fb7b6779f56b92da72ad23d2">test_framework.mininode.deser_string_vector</a></div><div class="ttdeci">def deser_string_vector(f)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00182">mininode.py:182</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CUnsignedAlert_html"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html">test_framework.mininode.CUnsignedAlert</a></div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00566">mininode.py:566</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__mempool_html"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__mempool.html">test_framework.mininode.msg_mempool</a></div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00909">mininode.py:909</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__getaddr_html"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__getaddr.html">test_framework.mininode.msg_getaddr</a></div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00841">mininode.py:841</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__version_html_ab5c28d59711e48f577d449ade3a539bc"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__version.html#ab5c28d59711e48f577d449ade3a539bc">test_framework.mininode.msg_version.nServices</a></div><div class="ttdeci">nServices</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00647">mininode.py:647</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__version_html_ac1d704d4a56bf88e9b91660eddc86760"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__version.html#ac1d704d4a56bf88e9b91660eddc86760">test_framework.mininode.msg_version.nStartingHeight</a></div><div class="ttdeci">nStartingHeight</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00653">mininode.py:653</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__reject_html_aa436937dc89aac0868a7c70f517e5725"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__reject.html#aa436937dc89aac0868a7c70f517e5725">test_framework.mininode.msg_reject.serialize</a></div><div class="ttdeci">def serialize(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01006">mininode.py:1006</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__getblocks_html"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__getblocks.html">test_framework.mininode.msg_getblocks</a></div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00783">mininode.py:783</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CAlert_html_a62a34531fb49e1920a09c33583fc6164"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CAlert.html#a62a34531fb49e1920a09c33583fc6164">test_framework.mininode.CAlert.vchMsg</a></div><div class="ttdeci">vchMsg</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00623">mininode.py:623</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CTxOut_html_a472629cdce71f91d1fa8e02773fe5ae7"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CTxOut.html#a472629cdce71f91d1fa8e02773fe5ae7">test_framework.mininode.CTxOut.serialize</a></div><div class="ttdeci">def serialize(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00379">mininode.py:379</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CUnsignedAlert_html_a843ea10ca72a6091079d25b3732df4a4"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a843ea10ca72a6091079d25b3732df4a4">test_framework.mininode.CUnsignedAlert.__repr__</a></div><div class="ttdeci">def __repr__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00614">mininode.py:614</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CAlert_html_ae987af017aeb600d8ee4089938a9175b"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CAlert.html#ae987af017aeb600d8ee4089938a9175b">test_framework.mininode.CAlert.vchSig</a></div><div class="ttdeci">vchSig</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00624">mininode.py:624</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CBlock_html_a8e87ed697185126200ea96f0f815eb4c"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CBlock.html#a8e87ed697185126200ea96f0f815eb4c">test_framework.mininode.CBlock.is_valid</a></div><div class="ttdeci">def is_valid(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00541">mininode.py:541</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConn_html_ab0fbc7fe3b6ed169f824490bb6e20510"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConn.html#ab0fbc7fe3b6ed169f824490bb6e20510">test_framework.mininode.NodeConn.readable</a></div><div class="ttdeci">def readable(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01225">mininode.py:1225</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CBlockHeader_html_abc32372220875a70eef32fd621e17c2c"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CBlockHeader.html#abc32372220875a70eef32fd621e17c2c">test_framework.mininode.CBlockHeader.calc_sha256</a></div><div class="ttdeci">def calc_sha256(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00490">mininode.py:490</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__block_html_a1911fb34098f95c7fefbd47cc4ba0704"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__block.html#a1911fb34098f95c7fefbd47cc4ba0704">test_framework.mininode.msg_block.block</a></div><div class="ttdeci">block</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00827">mininode.py:827</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConnCB_html_a3620d5c1e88c25bbcd11c5f36155df36"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConnCB.html#a3620d5c1e88c25bbcd11c5f36155df36">test_framework.mininode.NodeConnCB.on_headers</a></div><div class="ttdeci">def on_headers(self, conn, message)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01100">mininode.py:1100</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1SingleNodeConnCB_html_ad3899e89f43e4afbf9b2fc9863c52755"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1SingleNodeConnCB.html#ad3899e89f43e4afbf9b2fc9863c52755">test_framework.mininode.SingleNodeConnCB.__init__</a></div><div class="ttdeci">def __init__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01112">mininode.py:1112</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConn_html_a6d22facc78256ed9630920ac02dd6e5d"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConn.html#a6d22facc78256ed9630920ac02dd6e5d">test_framework.mininode.NodeConn.MAGIC_BYTES</a></div><div class="ttdeci">dictionary MAGIC_BYTES</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01158">mininode.py:1158</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__sendheaders_html"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__sendheaders.html">test_framework.mininode.msg_sendheaders</a></div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00924">mininode.py:924</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1SingleNodeConnCB_html"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1SingleNodeConnCB.html">test_framework.mininode.SingleNodeConnCB</a></div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01111">mininode.py:1111</a></div></div>
|
|
<div class="ttc" id="namespacetest__framework_1_1mininode_html_a684ec83d0d8a5e70d5200fd103a632dc"><div class="ttname"><a href="namespacetest__framework_1_1mininode.html#a684ec83d0d8a5e70d5200fd103a632dc">test_framework.mininode.FromHex</a></div><div class="ttdeci">def FromHex(obj, hex_string)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00242">mininode.py:242</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CBlockHeader_html"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CBlockHeader.html">test_framework.mininode.CBlockHeader</a></div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00445">mininode.py:445</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConnCB_html_acf754b3195e68d9eb05a9f45f56614d2"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConnCB.html#acf754b3195e68d9eb05a9f45f56614d2">test_framework.mininode.NodeConnCB.on_alert</a></div><div class="ttdeci">def on_alert(self, conn, message)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01094">mininode.py:1094</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConnCB_html_ada4198e65fb58b2117733705c7bdf276"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConnCB.html#ada4198e65fb58b2117733705c7bdf276">test_framework.mininode.NodeConnCB.on_getaddr</a></div><div class="ttdeci">def on_getaddr(self, conn, message)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01099">mininode.py:1099</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CBlockLocator_html_a9a2ae7e03b176cdebc45f8d478d6f598"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CBlockLocator.html#a9a2ae7e03b176cdebc45f8d478d6f598">test_framework.mininode.CBlockLocator.__init__</a></div><div class="ttdeci">def __init__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00304">mininode.py:304</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConnCB_html_a95967387d4367d7df804ff3f214e8c3a"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConnCB.html#a95967387d4367d7df804ff3f214e8c3a">test_framework.mininode.NodeConnCB.get_deliver_sleep_time</a></div><div class="ttdeci">def get_deliver_sleep_time(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01048">mininode.py:1048</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__ping__prebip31_html_ad1be5eb6b20a8e4db2343c2164b84d5f"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__ping__prebip31.html#ad1be5eb6b20a8e4db2343c2164b84d5f">test_framework.mininode.msg_ping_prebip31.__repr__</a></div><div class="ttdeci">def __repr__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00869">mininode.py:869</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__headers_html_aa8ebd7fcbc48f7c3bba0cd4599b34c16"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__headers.html#aa8ebd7fcbc48f7c3bba0cd4599b34c16">test_framework.mininode.msg_headers.__init__</a></div><div class="ttdeci">def __init__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00971">mininode.py:971</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__getaddr_html_a1630cd69b4a870ebdfc0512209d3dcff"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__getaddr.html#a1630cd69b4a870ebdfc0512209d3dcff">test_framework.mininode.msg_getaddr.__repr__</a></div><div class="ttdeci">def __repr__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00853">mininode.py:853</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CAddress_html_ab8982d7a4e9b8c9a24171d0367727454"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CAddress.html#ab8982d7a4e9b8c9a24171d0367727454">test_framework.mininode.CAddress.pchReserved</a></div><div class="ttdeci">pchReserved</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00255">mininode.py:255</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CUnsignedAlert_html_a8aee1a746ae59be2253c7b87caa59c6f"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a8aee1a746ae59be2253c7b87caa59c6f">test_framework.mininode.CUnsignedAlert.serialize</a></div><div class="ttdeci">def serialize(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00597">mininode.py:597</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CInv_html_a5946554235da4922dbd6679ca809e8a5"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CInv.html#a5946554235da4922dbd6679ca809e8a5">test_framework.mininode.CInv.__repr__</a></div><div class="ttdeci">def __repr__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00298">mininode.py:298</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CInv_html_a314787a6153f4359fa0e3f7c78fd8fbb"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CInv.html#a314787a6153f4359fa0e3f7c78fd8fbb">test_framework.mininode.CInv.hash</a></div><div class="ttdeci">hash</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00286">mininode.py:286</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CUnsignedAlert_html_a46d625a31befcdbed61b8894c618c42e"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a46d625a31befcdbed61b8894c618c42e">test_framework.mininode.CUnsignedAlert.nCancel</a></div><div class="ttdeci">nCancel</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00572">mininode.py:572</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConnCB_html_adf6b83c2381b421e370e444e40ae6a1a"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConnCB.html#adf6b83c2381b421e370e444e40ae6a1a">test_framework.mininode.NodeConnCB.on_getheaders</a></div><div class="ttdeci">def on_getheaders(self, conn, message)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01101">mininode.py:1101</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__inv_html_a1037cbe3557bb2a43acbd35ac662e8da"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__inv.html#a1037cbe3557bb2a43acbd35ac662e8da">test_framework.mininode.msg_inv.inv</a></div><div class="ttdeci">inv</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00753">mininode.py:753</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__pong_html_ad4c66a05c183304af63c6d45834e4eb1"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__pong.html#ad4c66a05c183304af63c6d45834e4eb1">test_framework.mininode.msg_pong.nonce</a></div><div class="ttdeci">nonce</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00895">mininode.py:895</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__headers_html_a891ea39637f1e2cd3fba666d9ea3caa5"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__headers.html#a891ea39637f1e2cd3fba666d9ea3caa5">test_framework.mininode.msg_headers.headers</a></div><div class="ttdeci">headers</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00972">mininode.py:972</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConnCB_html_ae57e7bb478960cbc6fa9dd8066d7e934"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConnCB.html#ae57e7bb478960cbc6fa9dd8066d7e934">test_framework.mininode.NodeConnCB.on_close</a></div><div class="ttdeci">def on_close(self, conn)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01106">mininode.py:1106</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1SingleNodeConnCB_html_af123881ce27743b787e24adcfa1deddd"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1SingleNodeConnCB.html#af123881ce27743b787e24adcfa1deddd">test_framework.mininode.SingleNodeConnCB.last_pong</a></div><div class="ttdeci">last_pong</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01116">mininode.py:1116</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CUnsignedAlert_html_aba7ace47644f508f8b2c285c2e1af038"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#aba7ace47644f508f8b2c285c2e1af038">test_framework.mininode.CUnsignedAlert.setSubVer</a></div><div class="ttdeci">setSubVer</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00576">mininode.py:576</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__getheaders_html_a7850eafdd6cd7a47b69c0f53968d6438"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__getheaders.html#a7850eafdd6cd7a47b69c0f53968d6438">test_framework.mininode.msg_getheaders.locator</a></div><div class="ttdeci">locator</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00947">mininode.py:947</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CTxIn_html_adfbea0d690e3d17cee8795f02842eca9"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CTxIn.html#adfbea0d690e3d17cee8795f02842eca9">test_framework.mininode.CTxIn.__init__</a></div><div class="ttdeci">def __init__(self, outpoint=None, scriptSig=b"", nSequence=0)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00343">mininode.py:343</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CInv_html_a74e374aa1f3c6e0584f537ca05858ea6"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CInv.html#a74e374aa1f3c6e0584f537ca05858ea6">test_framework.mininode.CInv.typemap</a></div><div class="ttdeci">dictionary typemap</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00279">mininode.py:279</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CBlockHeader_html_a146cc03eedd1de6ba94185d7eb3c2e9b"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a146cc03eedd1de6ba94185d7eb3c2e9b">test_framework.mininode.CBlockHeader.hash</a></div><div class="ttdeci">hash</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00457">mininode.py:457</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConn_html_ad9abbc32344122a771829978dcf4ca87"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConn.html#ad9abbc32344122a771829978dcf4ca87">test_framework.mininode.NodeConn.last_sent</a></div><div class="ttdeci">last_sent</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01174">mininode.py:1174</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__reject_html_aa08c778e72f9f2c7e74ce89896e16dd5"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__reject.html#aa08c778e72f9f2c7e74ce89896e16dd5">test_framework.mininode.msg_reject.__repr__</a></div><div class="ttdeci">def __repr__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01015">mininode.py:1015</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CTransaction_html_a1c309827a204604a1e8869110d817ec6"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CTransaction.html#a1c309827a204604a1e8869110d817ec6">test_framework.mininode.CTransaction.__repr__</a></div><div class="ttdeci">def __repr__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00440">mininode.py:440</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CBlock_html_a30d798513843c9342188e78df4a99a68"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CBlock.html#a30d798513843c9342188e78df4a99a68">test_framework.mininode.CBlock.solve</a></div><div class="ttdeci">def solve(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00553">mininode.py:553</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConn_html_a80814b653e35ef0bb01a215fd6eb0fc3"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConn.html#a80814b653e35ef0bb01a215fd6eb0fc3">test_framework.mininode.NodeConn.__init__</a></div><div class="ttdeci">def __init__(self, dstaddr, dstport, rpc, callback, net="regtest", services=1)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01164">mininode.py:1164</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__ping__prebip31_html_a1aaab0432eef79c2d52c8d7741965d0e"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__ping__prebip31.html#a1aaab0432eef79c2d52c8d7741965d0e">test_framework.mininode.msg_ping_prebip31.serialize</a></div><div class="ttdeci">def serialize(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00866">mininode.py:866</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CTransaction_html_ac9652046899a663000b4e1e503541a4c"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CTransaction.html#ac9652046899a663000b4e1e503541a4c">test_framework.mininode.CTransaction.nLockTime</a></div><div class="ttdeci">nLockTime</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00397">mininode.py:397</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConnCB_html_a24df3a398c30143e71700b9c39728a55"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConnCB.html#a24df3a398c30143e71700b9c39728a55">test_framework.mininode.NodeConnCB.on_ping</a></div><div class="ttdeci">def on_ping(self, conn, message)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01102">mininode.py:1102</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConn_html_a7dd554c2ff08303e7176b9a18d17027c"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConn.html#a7dd554c2ff08303e7176b9a18d17027c">test_framework.mininode.NodeConn.handle_close</a></div><div class="ttdeci">def handle_close(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01204">mininode.py:1204</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__version_html_aa48f0022c79c0fdaa398343482e92eff"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__version.html#aa48f0022c79c0fdaa398343482e92eff">test_framework.mininode.msg_version.strSubVer</a></div><div class="ttdeci">strSubVer</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00652">mininode.py:652</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__ping_html"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__ping.html">test_framework.mininode.msg_ping</a></div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00873">mininode.py:873</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CBlockLocator_html_a2c9e7d0a12a48c644898f76aa440bae4"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CBlockLocator.html#a2c9e7d0a12a48c644898f76aa440bae4">test_framework.mininode.CBlockLocator.vHave</a></div><div class="ttdeci">vHave</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00306">mininode.py:306</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__alert_html_ab1070609aeafadfad0f31713f20dc403"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__alert.html#ab1070609aeafadfad0f31713f20dc403">test_framework.mininode.msg_alert.__repr__</a></div><div class="ttdeci">def __repr__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00744">mininode.py:744</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CBlockLocator_html_ad3b3ca83c080ee7470961fd0f171cdc8"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CBlockLocator.html#ad3b3ca83c080ee7470961fd0f171cdc8">test_framework.mininode.CBlockLocator.serialize</a></div><div class="ttdeci">def serialize(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00312">mininode.py:312</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConnCB_html_abc89d7f729dab96a298de610dd056fa6"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConnCB.html#abc89d7f729dab96a298de610dd056fa6">test_framework.mininode.NodeConnCB.on_verack</a></div><div class="ttdeci">def on_verack(self, conn, message)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01081">mininode.py:1081</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConn_html_a6a4b7ad76beef86e6cf3479dd2541a18"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConn.html#a6a4b7ad76beef86e6cf3479dd2541a18">test_framework.mininode.NodeConn.handle_write</a></div><div class="ttdeci">def handle_write(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01233">mininode.py:1233</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__version_html"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__version.html">test_framework.mininode.msg_version</a></div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00642">mininode.py:642</a></div></div>
|
|
<div class="ttc" id="namespacetest__framework_1_1mininode_html_ae765b797da21bb7074ce578bbc3f9f20"><div class="ttname"><a href="namespacetest__framework_1_1mininode.html#ae765b797da21bb7074ce578bbc3f9f20">test_framework.mininode.ser_vector</a></div><div class="ttdeci">def ser_vector(l)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00137">mininode.py:137</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CUnsignedAlert_html_adf3a10fbfc8f4aaf260bc3ca99a08d22"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#adf3a10fbfc8f4aaf260bc3ca99a08d22">test_framework.mininode.CUnsignedAlert.nMinVer</a></div><div class="ttdeci">nMinVer</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00574">mininode.py:574</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__pong_html"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__pong.html">test_framework.mininode.msg_pong</a></div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00891">mininode.py:891</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__block_html_aa0c7f37a3b105c72c0ff7be2d23cf9c2"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__block.html#aa0c7f37a3b105c72c0ff7be2d23cf9c2">test_framework.mininode.msg_block.deserialize</a></div><div class="ttdeci">def deserialize(self, f)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00831">mininode.py:831</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CBlockHeader_html_a78376dfd1cc9cb00cd1479ae9f2cb963"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a78376dfd1cc9cb00cd1479ae9f2cb963">test_framework.mininode.CBlockHeader.nVersion</a></div><div class="ttdeci">nVersion</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00450">mininode.py:450</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CBlockHeader_html_a72414535b4d571a43eebd3cb15e2899f"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a72414535b4d571a43eebd3cb15e2899f">test_framework.mininode.CBlockHeader.nTime</a></div><div class="ttdeci">nTime</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00453">mininode.py:453</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__version_html_a19ef4fabdb02f96abe4ed341a8f086a1"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__version.html#a19ef4fabdb02f96abe4ed341a8f086a1">test_framework.mininode.msg_version.addrTo</a></div><div class="ttdeci">addrTo</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00649">mininode.py:649</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConnCB_html_ab107a9240414493f869a23efe83aa56d"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConnCB.html#ab107a9240414493f869a23efe83aa56d">test_framework.mininode.NodeConnCB.on_getdata</a></div><div class="ttdeci">def on_getdata(self, conn, message)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01095">mininode.py:1095</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CInv_html_a2268f128f966516dc3abdac78530dbd4"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CInv.html#a2268f128f966516dc3abdac78530dbd4">test_framework.mininode.CInv.__init__</a></div><div class="ttdeci">def __init__(self, t=0, h=0L)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00284">mininode.py:284</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CUnsignedAlert_html_a599a902b21e853a7d433131e545bd41f"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a599a902b21e853a7d433131e545bd41f">test_framework.mininode.CUnsignedAlert.nRelayUntil</a></div><div class="ttdeci">nRelayUntil</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00569">mininode.py:569</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__ping_html_ae3563d3bf72826ef9e35d35112cd2c9f"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__ping.html#ae3563d3bf72826ef9e35d35112cd2c9f">test_framework.mininode.msg_ping.deserialize</a></div><div class="ttdeci">def deserialize(self, f)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00879">mininode.py:879</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CTxOut_html_a94231648c01e8b6bbb89326758bb4e70"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CTxOut.html#a94231648c01e8b6bbb89326758bb4e70">test_framework.mininode.CTxOut.deserialize</a></div><div class="ttdeci">def deserialize(self, f)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00375">mininode.py:375</a></div></div>
|
|
<div class="ttc" id="namespacetest__framework_1_1mininode_html_a6f0a63f3711bbe5e39958b29e969d0ed"><div class="ttname"><a href="namespacetest__framework_1_1mininode.html#a6f0a63f3711bbe5e39958b29e969d0ed">test_framework.mininode.ser_int_vector</a></div><div class="ttdeci">def ser_int_vector(l)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00227">mininode.py:227</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1COutPoint_html_a84728eb79308f5ee01cef717842f6ed5"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1COutPoint.html#a84728eb79308f5ee01cef717842f6ed5">test_framework.mininode.COutPoint.serialize</a></div><div class="ttdeci">def serialize(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00332">mininode.py:332</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__version_html_aa837a900da4116e3d5756b6f654ba8f6"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__version.html#aa837a900da4116e3d5756b6f654ba8f6">test_framework.mininode.msg_version.addrFrom</a></div><div class="ttdeci">addrFrom</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00650">mininode.py:650</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NetworkThread_html"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NetworkThread.html">test_framework.mininode.NetworkThread</a></div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01316">mininode.py:1316</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__tx_html_aa85e9f227d9e592abe7c57b694ba5058"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__tx.html#aa85e9f227d9e592abe7c57b694ba5058">test_framework.mininode.msg_tx.deserialize</a></div><div class="ttdeci">def deserialize(self, f)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00812">mininode.py:812</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CAddress_html_a58ae36a1fdafd413d7da8eb70b6014e3"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CAddress.html#a58ae36a1fdafd413d7da8eb70b6014e3">test_framework.mininode.CAddress.deserialize</a></div><div class="ttdeci">def deserialize(self, f)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00259">mininode.py:259</a></div></div>
|
|
<div class="ttc" id="namespacetest__framework_1_1mininode_html_ab31a602d974f3680fa75698eb77dfec9"><div class="ttname"><a href="namespacetest__framework_1_1mininode.html#ab31a602d974f3680fa75698eb77dfec9">test_framework.mininode.wait_until</a></div><div class="ttdeci">def wait_until(predicate, attempts=float('inf'), timeout=float('inf'))</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01020">mininode.py:1020</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__inv_html_a57b2e251e837b9c527f31941c47a08ff"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__inv.html#a57b2e251e837b9c527f31941c47a08ff">test_framework.mininode.msg_inv.__init__</a></div><div class="ttdeci">def __init__(self, inv=None)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00751">mininode.py:751</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CUnsignedAlert_html_a543574fc20c406e687dbcb139f692faa"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a543574fc20c406e687dbcb139f692faa">test_framework.mininode.CUnsignedAlert.nID</a></div><div class="ttdeci">nID</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00571">mininode.py:571</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CTransaction_html_a22e53593676a71b0c348c6e6ab1237c9"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CTransaction.html#a22e53593676a71b0c348c6e6ab1237c9">test_framework.mininode.CTransaction.serialize</a></div><div class="ttdeci">def serialize(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00416">mininode.py:416</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConn_html_a0c61ca1ed5f3ee5de5558ff2f9c4b1ae"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConn.html#a0c61ca1ed5f3ee5de5558ff2f9c4b1ae">test_framework.mininode.NodeConn.log</a></div><div class="ttdeci">log</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01166">mininode.py:1166</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1COutPoint_html"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1COutPoint.html">test_framework.mininode.COutPoint</a></div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00323">mininode.py:323</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__getheaders_html_aa14c009b67d91ac8c062cd82fd59b009"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__getheaders.html#aa14c009b67d91ac8c062cd82fd59b009">test_framework.mininode.msg_getheaders.serialize</a></div><div class="ttdeci">def serialize(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00955">mininode.py:955</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConn_html_a0c8eb5008bf5093675c96a4937dff381"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConn.html#a0c8eb5008bf5093675c96a4937dff381">test_framework.mininode.NodeConn.got_data</a></div><div class="ttdeci">def got_data(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01242">mininode.py:1242</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__getblocks_html_a64d4171add615f19ec2aacce08c368e9"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__getblocks.html#a64d4171add615f19ec2aacce08c368e9">test_framework.mininode.msg_getblocks.locator</a></div><div class="ttdeci">locator</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00787">mininode.py:787</a></div></div>
|
|
<div class="ttc" id="namespacetest__framework_1_1mininode_html_a0d10ddcce8c03b9a96ba703e59bd8ee7"><div class="ttname"><a href="namespacetest__framework_1_1mininode.html#a0d10ddcce8c03b9a96ba703e59bd8ee7">test_framework.mininode.ser_string</a></div><div class="ttdeci">def ser_string(s)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00081">mininode.py:81</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1SingleNodeConnCB_html_a6e029f807b9088233aa963a2d7fa0163"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1SingleNodeConnCB.html#a6e029f807b9088233aa963a2d7fa0163">test_framework.mininode.SingleNodeConnCB.sync_with_ping</a></div><div class="ttdeci">def sync_with_ping(self, timeout=30)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01129">mininode.py:1129</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConn_html_addc10ce3ce0dfe7a27afd0ba428fc2a0"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConn.html#addc10ce3ce0dfe7a27afd0ba428fc2a0">test_framework.mininode.NodeConn.rpc</a></div><div class="ttdeci">rpc</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01195">mininode.py:1195</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__verack_html_a131507fb4eb22ba1034beac4d857db26"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__verack.html#a131507fb4eb22ba1034beac4d857db26">test_framework.mininode.msg_verack.deserialize</a></div><div class="ttdeci">def deserialize(self, f)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00703">mininode.py:703</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CTxOut_html_ae4cee48bb8e8c300b2c2f3c01d83f0d2"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CTxOut.html#ae4cee48bb8e8c300b2c2f3c01d83f0d2">test_framework.mininode.CTxOut.nValue</a></div><div class="ttdeci">nValue</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00372">mininode.py:372</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConn_html_ad1477deb030e51020a744c487f3a93c8"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConn.html#ad1477deb030e51020a744c487f3a93c8">test_framework.mininode.NodeConn.messagemap</a></div><div class="ttdeci">dictionary messagemap</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01140">mininode.py:1140</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__addr_html"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__addr.html">test_framework.mininode.msg_addr</a></div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00713">mininode.py:713</a></div></div>
|
|
<div class="ttc" id="namespacetest__framework_1_1mininode_html_adde6b9e7f98d83e9e54668f45f7732da"><div class="ttname"><a href="namespacetest__framework_1_1mininode.html#adde6b9e7f98d83e9e54668f45f7732da">test_framework.mininode.sha256</a></div><div class="ttdeci">def sha256(s)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00060">mininode.py:60</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConnCB_html_a38733342a0daee75dc2d8f1f0e3373d2"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConnCB.html#a38733342a0daee75dc2d8f1f0e3373d2">test_framework.mininode.NodeConnCB.on_addr</a></div><div class="ttdeci">def on_addr(self, conn, message)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01093">mininode.py:1093</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1COutPoint_html_a57feb99b3a23288bde5067299cf5a323"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1COutPoint.html#a57feb99b3a23288bde5067299cf5a323">test_framework.mininode.COutPoint.n</a></div><div class="ttdeci">n</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00326">mininode.py:326</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConn_html_ae77a048672165288dbced1caec225193"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConn.html#ae77a048672165288dbced1caec225193">test_framework.mininode.NodeConn.disconnect_node</a></div><div class="ttdeci">def disconnect_node(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01312">mininode.py:1312</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__sendheaders_html_a8770d69622ab49afdc34f61a9f465b57"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__sendheaders.html#a8770d69622ab49afdc34f61a9f465b57">test_framework.mininode.msg_sendheaders.__repr__</a></div><div class="ttdeci">def __repr__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00936">mininode.py:936</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConn_html_a43d5d33c2dc547c0dcb90fa568acf343"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConn.html#a43d5d33c2dc547c0dcb90fa568acf343">test_framework.mininode.NodeConn.writable</a></div><div class="ttdeci">def writable(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01228">mininode.py:1228</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__pong_html_acb48ddbed0f1b1553fd0333c9e57ff4d"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__pong.html#acb48ddbed0f1b1553fd0333c9e57ff4d">test_framework.mininode.msg_pong.serialize</a></div><div class="ttdeci">def serialize(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00900">mininode.py:900</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConnCB_html_ab1b55a26759924d6f9b1aaae1821e00a"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConnCB.html#ab1b55a26759924d6f9b1aaae1821e00a">test_framework.mininode.NodeConnCB.on_tx</a></div><div class="ttdeci">def on_tx(self, conn, message)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01097">mininode.py:1097</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CAddress_html_a2e1acaef6777049e78ce3cc2b07c1610"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CAddress.html#a2e1acaef6777049e78ce3cc2b07c1610">test_framework.mininode.CAddress.ip</a></div><div class="ttdeci">ip</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00256">mininode.py:256</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConn_html_a137821624e3d23ec68d87e99e66c55d7"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConn.html#a137821624e3d23ec68d87e99e66c55d7">test_framework.mininode.NodeConn.dstaddr</a></div><div class="ttdeci">dstaddr</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01167">mininode.py:1167</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CUnsignedAlert_html_ad066cdc79da75e9e2cc1322b91b88243"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#ad066cdc79da75e9e2cc1322b91b88243">test_framework.mininode.CUnsignedAlert.nExpiration</a></div><div class="ttdeci">nExpiration</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00570">mininode.py:570</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__block_html_af60acb36883774be638b2af4be489739"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__block.html#af60acb36883774be638b2af4be489739">test_framework.mininode.msg_block.serialize</a></div><div class="ttdeci">def serialize(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00834">mininode.py:834</a></div></div>
|
|
<div class="ttc" id="namespacetest__framework_1_1mininode_html_afba5ad294ca29a92a4e1d39552feb5dd"><div class="ttname"><a href="namespacetest__framework_1_1mininode.html#afba5ad294ca29a92a4e1d39552feb5dd">test_framework.mininode.uint256_from_str</a></div><div class="ttdeci">def uint256_from_str(s)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00107">mininode.py:107</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__alert_html_a218a54a2fb4b7cf06877dba1f6f34070"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__alert.html#a218a54a2fb4b7cf06877dba1f6f34070">test_framework.mininode.msg_alert.alert</a></div><div class="ttdeci">alert</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00733">mininode.py:733</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CBlockHeader_html_a1c8cf1e3ceba92400831df71de5312e6"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a1c8cf1e3ceba92400831df71de5312e6">test_framework.mininode.CBlockHeader.set_null</a></div><div class="ttdeci">def set_null(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00460">mininode.py:460</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConnCB_html_a524cfbc5287c21dcfcd11ad15ee81dd7"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConnCB.html#a524cfbc5287c21dcfcd11ad15ee81dd7">test_framework.mininode.NodeConnCB.on_pong</a></div><div class="ttdeci">def on_pong(self, conn, message)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01108">mininode.py:1108</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConn_html_abe03efadefd1788abdc31523dc95818b"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConn.html#abe03efadefd1788abdc31523dc95818b">test_framework.mininode.NodeConn.state</a></div><div class="ttdeci">state</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01175">mininode.py:1175</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CBlockHeader_html_abd15f386fddfcdd4cb6842b8e7264d10"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CBlockHeader.html#abd15f386fddfcdd4cb6842b8e7264d10">test_framework.mininode.CBlockHeader.rehash</a></div><div class="ttdeci">def rehash(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00502">mininode.py:502</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConnCB_html_ae11eed4f33db116bab2a1fc8a71dc98c"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConnCB.html#ae11eed4f33db116bab2a1fc8a71dc98c">test_framework.mininode.NodeConnCB.on_mempool</a></div><div class="ttdeci">def on_mempool(self, conn)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01107">mininode.py:1107</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__version_html_aeddd8c046ebd8754fb270d47d6279ab6"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__version.html#aeddd8c046ebd8754fb270d47d6279ab6">test_framework.mininode.msg_version.serialize</a></div><div class="ttdeci">def serialize(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00678">mininode.py:678</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__getdata_html_a9bb93aa7d392789755604ced9e21fe5b"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__getdata.html#a9bb93aa7d392789755604ced9e21fe5b">test_framework.mininode.msg_getdata.inv</a></div><div class="ttdeci">inv</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00771">mininode.py:771</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__reject_html"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__reject.html">test_framework.mininode.msg_reject</a></div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00988">mininode.py:988</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CAlert_html"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CAlert.html">test_framework.mininode.CAlert</a></div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00621">mininode.py:621</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__verack_html"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__verack.html">test_framework.mininode.msg_verack</a></div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00697">mininode.py:697</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CTxOut_html_abac19a0fa7b5fd1bff160b620f01243e"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CTxOut.html#abac19a0fa7b5fd1bff160b620f01243e">test_framework.mininode.CTxOut.__repr__</a></div><div class="ttdeci">def __repr__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00385">mininode.py:385</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CAlert_html_aa32fff68c18f9a1bcf6e0197506d9029"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CAlert.html#aa32fff68c18f9a1bcf6e0197506d9029">test_framework.mininode.CAlert.__init__</a></div><div class="ttdeci">def __init__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00622">mininode.py:622</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__inv_html"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__inv.html">test_framework.mininode.msg_inv</a></div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00748">mininode.py:748</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__reject_html_a2a7a9f45ee5f1b8ca61a8e32a06ee02a"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__reject.html#a2a7a9f45ee5f1b8ca61a8e32a06ee02a">test_framework.mininode.msg_reject.data</a></div><div class="ttdeci">data</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00996">mininode.py:996</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConn_html_a1f68aa781732aa0c16cfc5c13825fffa"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConn.html#a1f68aa781732aa0c16cfc5c13825fffa">test_framework.mininode.NodeConn.ver_recv</a></div><div class="ttdeci">ver_recv</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01173">mininode.py:1173</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CUnsignedAlert_html_af8fa0cf220d1e0a6f3f73df2e229dca3"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#af8fa0cf220d1e0a6f3f73df2e229dca3">test_framework.mininode.CUnsignedAlert.nMaxVer</a></div><div class="ttdeci">nMaxVer</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00575">mininode.py:575</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__pong_html_aa5d1205307157dc8fdf3d08d9c9f23d9"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__pong.html#aa5d1205307157dc8fdf3d08d9c9f23d9">test_framework.mininode.msg_pong.__repr__</a></div><div class="ttdeci">def __repr__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00905">mininode.py:905</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__getdata_html"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__getdata.html">test_framework.mininode.msg_getdata</a></div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00767">mininode.py:767</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__getblocks_html_a37ce37f837556debff8c28b1a2e11098"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__getblocks.html#a37ce37f837556debff8c28b1a2e11098">test_framework.mininode.msg_getblocks.hashstop</a></div><div class="ttdeci">hashstop</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00788">mininode.py:788</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CAlert_html_a428dc3fbccd01277ddb96454b0f5c9e7"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CAlert.html#a428dc3fbccd01277ddb96454b0f5c9e7">test_framework.mininode.CAlert.serialize</a></div><div class="ttdeci">def serialize(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00630">mininode.py:630</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CBlockLocator_html"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CBlockLocator.html">test_framework.mininode.CBlockLocator</a></div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00303">mininode.py:303</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConn_html_a51bbe37d9a8deaf7682ab3cba9906864"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConn.html#a51bbe37d9a8deaf7682ab3cba9906864">test_framework.mininode.NodeConn.ver_send</a></div><div class="ttdeci">ver_send</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01172">mininode.py:1172</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__addr_html_a86bf8dcece31261ced19ae9525f22e28"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__addr.html#a86bf8dcece31261ced19ae9525f22e28">test_framework.mininode.msg_addr.deserialize</a></div><div class="ttdeci">def deserialize(self, f)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00719">mininode.py:719</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CTxOut_html_a49f5329af80c06a1b65ddc431196340a"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CTxOut.html#a49f5329af80c06a1b65ddc431196340a">test_framework.mininode.CTxOut.__init__</a></div><div class="ttdeci">def __init__(self, nValue=0, scriptPubKey=b"")</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00371">mininode.py:371</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__version_html_a461e336230041f125ed64d113359fadd"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__version.html#a461e336230041f125ed64d113359fadd">test_framework.mininode.msg_version.deserialize</a></div><div class="ttdeci">def deserialize(self, f)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00655">mininode.py:655</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1SingleNodeConnCB_html_ac5d1e431e3ed16e253993d38e0f16020"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1SingleNodeConnCB.html#ac5d1e431e3ed16e253993d38e0f16020">test_framework.mininode.SingleNodeConnCB.on_pong</a></div><div class="ttdeci">def on_pong(self, conn, message)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01125">mininode.py:1125</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CTransaction_html_a25a68ed4a1c194eb043cecdaa3cf77f9"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CTransaction.html#a25a68ed4a1c194eb043cecdaa3cf77f9">test_framework.mininode.CTransaction.calc_sha256</a></div><div class="ttdeci">def calc_sha256(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00428">mininode.py:428</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConn_html"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConn.html">test_framework.mininode.NodeConn</a></div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01139">mininode.py:1139</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__ping_html_a761147d7f405da8936b33c6457c37464"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__ping.html#a761147d7f405da8936b33c6457c37464">test_framework.mininode.msg_ping.nonce</a></div><div class="ttdeci">nonce</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00877">mininode.py:877</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__getblocks_html_aafd4ab837b919c96b0acda9a112ab80f"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__getblocks.html#aafd4ab837b919c96b0acda9a112ab80f">test_framework.mininode.msg_getblocks.deserialize</a></div><div class="ttdeci">def deserialize(self, f)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00790">mininode.py:790</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConnCB_html_ac7ab196ed01919261b7b38109e056e0a"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConnCB.html#ac7ab196ed01919261b7b38109e056e0a">test_framework.mininode.NodeConnCB.__init__</a></div><div class="ttdeci">def __init__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01037">mininode.py:1037</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__mempool_html_a24fbc4af5150bece20788d9b765a4843"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__mempool.html#a24fbc4af5150bece20788d9b765a4843">test_framework.mininode.msg_mempool.deserialize</a></div><div class="ttdeci">def deserialize(self, f)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00915">mininode.py:915</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CBlock_html_a971fd13fd027208c32e716201b15fa98"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CBlock.html#a971fd13fd027208c32e716201b15fa98">test_framework.mininode.CBlock.__repr__</a></div><div class="ttdeci">def __repr__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00560">mininode.py:560</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CBlock_html_a602a31821c008a20815d1473f6b9721d"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CBlock.html#a602a31821c008a20815d1473f6b9721d">test_framework.mininode.CBlock.__init__</a></div><div class="ttdeci">def __init__(self, header=None)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00514">mininode.py:514</a></div></div>
|
|
<div class="ttc" id="namespacetest__framework_1_1mininode_html_aaa8edcca59b6861176f881e5dd10b6e1"><div class="ttname"><a href="namespacetest__framework_1_1mininode.html#aaa8edcca59b6861176f881e5dd10b6e1">test_framework.mininode.dashhash</a></div><div class="ttdeci">def dashhash(s)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00067">mininode.py:67</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1COutPoint_html_a7611e80fa6f9dcdc8d6ef02bf65f288f"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1COutPoint.html#a7611e80fa6f9dcdc8d6ef02bf65f288f">test_framework.mininode.COutPoint.deserialize</a></div><div class="ttdeci">def deserialize(self, f)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00328">mininode.py:328</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CUnsignedAlert_html_a04dfa92869aef1d80f5caf475e407423"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a04dfa92869aef1d80f5caf475e407423">test_framework.mininode.CUnsignedAlert.strComment</a></div><div class="ttdeci">strComment</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00578">mininode.py:578</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__getaddr_html_a202403fb9a68a9b057c5020a8d6c2428"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__getaddr.html#a202403fb9a68a9b057c5020a8d6c2428">test_framework.mininode.msg_getaddr.__init__</a></div><div class="ttdeci">def __init__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00844">mininode.py:844</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CTxOut_html_ab1a62bdfbd18c48ad5c5fc32971bba3e"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CTxOut.html#ab1a62bdfbd18c48ad5c5fc32971bba3e">test_framework.mininode.CTxOut.scriptPubKey</a></div><div class="ttdeci">scriptPubKey</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00373">mininode.py:373</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CTxIn_html_acc6b127f42e1dd7259b44f794a0ef711"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CTxIn.html#acc6b127f42e1dd7259b44f794a0ef711">test_framework.mininode.CTxIn.scriptSig</a></div><div class="ttdeci">scriptSig</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00348">mininode.py:348</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CInv_html_a2961fbda0c27b8547cf1db8e499a0b2d"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CInv.html#a2961fbda0c27b8547cf1db8e499a0b2d">test_framework.mininode.CInv.type</a></div><div class="ttdeci">type</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00285">mininode.py:285</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__reject_html_a79ec11998700499d35629509ffc5a1ae"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__reject.html#a79ec11998700499d35629509ffc5a1ae">test_framework.mininode.msg_reject.reason</a></div><div class="ttdeci">reason</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00995">mininode.py:995</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__version_html_a64dac72aaf95e8b7b624fae67b92f9b1"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__version.html#a64dac72aaf95e8b7b624fae67b92f9b1">test_framework.mininode.msg_version.nTime</a></div><div class="ttdeci">nTime</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00648">mininode.py:648</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__pong_html_a853d41a69daa7d8c59963dc6b41b926f"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__pong.html#a853d41a69daa7d8c59963dc6b41b926f">test_framework.mininode.msg_pong.__init__</a></div><div class="ttdeci">def __init__(self, nonce=0)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00894">mininode.py:894</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__version_html_ab3a785ba00c8f8d217d42eec9ee9d78d"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__version.html#ab3a785ba00c8f8d217d42eec9ee9d78d">test_framework.mininode.msg_version.nNonce</a></div><div class="ttdeci">nNonce</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00651">mininode.py:651</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConnCB_html_a8fd3ada780b095e78a8e31c3ab4122ad"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConnCB.html#a8fd3ada780b095e78a8e31c3ab4122ad">test_framework.mininode.NodeConnCB.on_reject</a></div><div class="ttdeci">def on_reject(self, conn, message)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01105">mininode.py:1105</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__getheaders_html_a503daf9f2d3761752d6403e1bb2fb5f9"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__getheaders.html#a503daf9f2d3761752d6403e1bb2fb5f9">test_framework.mininode.msg_getheaders.deserialize</a></div><div class="ttdeci">def deserialize(self, f)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00950">mininode.py:950</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CBlockHeader_html_a2ee5e87c676a0fa6159968565720a1a4"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a2ee5e87c676a0fa6159968565720a1a4">test_framework.mininode.CBlockHeader.nBits</a></div><div class="ttdeci">nBits</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00454">mininode.py:454</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__reject_html_a20547ada9bf7b982dfaa1b8d80ccbc18"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__reject.html#a20547ada9bf7b982dfaa1b8d80ccbc18">test_framework.mininode.msg_reject.code</a></div><div class="ttdeci">code</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00994">mininode.py:994</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConn_html_abecd4c72d9659048347ec1f4689b3122"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConn.html#abecd4c72d9659048347ec1f4689b3122">test_framework.mininode.NodeConn.handle_read</a></div><div class="ttdeci">def handle_read(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01216">mininode.py:1216</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConn_html_a9f54ad93e4b5a6fb47a621e34e5ebd08"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConn.html#a9f54ad93e4b5a6fb47a621e34e5ebd08">test_framework.mininode.NodeConn.send_message</a></div><div class="ttdeci">def send_message(self, message, pushbuf=False)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01284">mininode.py:1284</a></div></div>
|
|
<div class="ttc" id="namespacetest__framework_1_1mininode_html_ac74a69ca5fea2dacf48b0772fb4cbd2c"><div class="ttname"><a href="namespacetest__framework_1_1mininode.html#ac74a69ca5fea2dacf48b0772fb4cbd2c">test_framework.mininode.hash256</a></div><div class="ttdeci">def hash256(s)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00064">mininode.py:64</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CTransaction_html_ab0dc5371a7c54ee327410f02bcb70e57"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CTransaction.html#ab0dc5371a7c54ee327410f02bcb70e57">test_framework.mininode.CTransaction.is_valid</a></div><div class="ttdeci">def is_valid(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00433">mininode.py:433</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CTransaction_html_a010722c1b649ea48e3f81e814aec3e7c"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CTransaction.html#a010722c1b649ea48e3f81e814aec3e7c">test_framework.mininode.CTransaction.deserialize</a></div><div class="ttdeci">def deserialize(self, f)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00408">mininode.py:408</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CInv_html_a88ac991900297667e41b261275d71baf"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CInv.html#a88ac991900297667e41b261275d71baf">test_framework.mininode.CInv.serialize</a></div><div class="ttdeci">def serialize(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00292">mininode.py:292</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__headers_html_ae6ea3a55c4b3b935ba7d723e51afa788"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__headers.html#ae6ea3a55c4b3b935ba7d723e51afa788">test_framework.mininode.msg_headers.deserialize</a></div><div class="ttdeci">def deserialize(self, f)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00974">mininode.py:974</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__inv_html_a2e01dd7406c219e06830a996a1142f01"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__inv.html#a2e01dd7406c219e06830a996a1142f01">test_framework.mininode.msg_inv.deserialize</a></div><div class="ttdeci">def deserialize(self, f)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00757">mininode.py:757</a></div></div>
|
|
<div class="ttc" id="namespacetest__framework_1_1mininode_html_a3a32c11095028bb81ff9c719f8b5118a"><div class="ttname"><a href="namespacetest__framework_1_1mininode.html#a3a32c11095028bb81ff9c719f8b5118a">test_framework.mininode.deser_int_vector</a></div><div class="ttdeci">def deser_int_vector(f)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00212">mininode.py:212</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__version_html_a192532f3d279955ba37ee6763b85fe42"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__version.html#a192532f3d279955ba37ee6763b85fe42">test_framework.mininode.msg_version.__repr__</a></div><div class="ttdeci">def __repr__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00690">mininode.py:690</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__addr_html_ac4b5a9a82e7aaabc97d04f6ec3c36088"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__addr.html#ac4b5a9a82e7aaabc97d04f6ec3c36088">test_framework.mininode.msg_addr.serialize</a></div><div class="ttdeci">def serialize(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00722">mininode.py:722</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CAddress_html_a7ca501a453625c30efa9fa398cbe5a31"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CAddress.html#a7ca501a453625c30efa9fa398cbe5a31">test_framework.mininode.CAddress.port</a></div><div class="ttdeci">port</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00257">mininode.py:257</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CUnsignedAlert_html_a3dbd3f096f515e8d083dbdbc967b754c"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a3dbd3f096f515e8d083dbdbc967b754c">test_framework.mininode.CUnsignedAlert.strStatusBar</a></div><div class="ttdeci">strStatusBar</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00579">mininode.py:579</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__getaddr_html_a491e9129f7b9db9fc283b2f35e8d2ff1"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__getaddr.html#a491e9129f7b9db9fc283b2f35e8d2ff1">test_framework.mininode.msg_getaddr.serialize</a></div><div class="ttdeci">def serialize(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00850">mininode.py:850</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__ping_html_a193dde4acdaf6bde007180e6bb1f1aee"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__ping.html#a193dde4acdaf6bde007180e6bb1f1aee">test_framework.mininode.msg_ping.serialize</a></div><div class="ttdeci">def serialize(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00882">mininode.py:882</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__mempool_html_a2b528f5807a73dc3f9429c68e95ace24"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__mempool.html#a2b528f5807a73dc3f9429c68e95ace24">test_framework.mininode.msg_mempool.__init__</a></div><div class="ttdeci">def __init__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00912">mininode.py:912</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CBlockHeader_html_a5fb4471c7fa6a758d56a05e4676b894d"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a5fb4471c7fa6a758d56a05e4676b894d">test_framework.mininode.CBlockHeader.sha256</a></div><div class="ttdeci">sha256</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00456">mininode.py:456</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CTxIn_html_a52efe2e7f5f5279ef354c6e16829f5d9"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CTxIn.html#a52efe2e7f5f5279ef354c6e16829f5d9">test_framework.mininode.CTxIn.prevout</a></div><div class="ttdeci">prevout</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00345">mininode.py:345</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__sendheaders_html_a6809b9110a68696fbdd71cc5b5386752"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__sendheaders.html#a6809b9110a68696fbdd71cc5b5386752">test_framework.mininode.msg_sendheaders.__init__</a></div><div class="ttdeci">def __init__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00927">mininode.py:927</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1SingleNodeConnCB_html_a6513abdab1671cc509010d912a10de1f"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1SingleNodeConnCB.html#a6513abdab1671cc509010d912a10de1f">test_framework.mininode.SingleNodeConnCB.connection</a></div><div class="ttdeci">connection</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01114">mininode.py:1114</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__reject_html_ac8897b031a1f044ddb6eb8b5a0eb795a"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__reject.html#ac8897b031a1f044ddb6eb8b5a0eb795a">test_framework.mininode.msg_reject.__init__</a></div><div class="ttdeci">def __init__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00992">mininode.py:992</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConnCB_html"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConnCB.html">test_framework.mininode.NodeConnCB</a></div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01036">mininode.py:1036</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CBlockHeader_html_a7b97489b2fb8e17535cd0f38a67d2e7f"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a7b97489b2fb8e17535cd0f38a67d2e7f">test_framework.mininode.CBlockHeader.hashPrevBlock</a></div><div class="ttdeci">hashPrevBlock</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00451">mininode.py:451</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1EarlyDisconnectError_html_a65dfa9b0984cc998bd97aa834aec942e"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1EarlyDisconnectError.html#a65dfa9b0984cc998bd97aa834aec942e">test_framework.mininode.EarlyDisconnectError.value</a></div><div class="ttdeci">value</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01334">mininode.py:1334</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CBlock_html_af4a7b7ab68638345e58745beb1889e67"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CBlock.html#af4a7b7ab68638345e58745beb1889e67">test_framework.mininode.CBlock.calc_merkle_root</a></div><div class="ttdeci">def calc_merkle_root(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00528">mininode.py:528</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConnCB_html_a5c57a2e45f16850f2052ca4313ab1a64"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConnCB.html#a5c57a2e45f16850f2052ca4313ab1a64">test_framework.mininode.NodeConnCB.on_inv</a></div><div class="ttdeci">def on_inv(self, conn, message)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01085">mininode.py:1085</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__pong_html_a4f3669a32fcb3b67ce55e6cc0a67351a"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__pong.html#a4f3669a32fcb3b67ce55e6cc0a67351a">test_framework.mininode.msg_pong.deserialize</a></div><div class="ttdeci">def deserialize(self, f)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00897">mininode.py:897</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__getblocks_html_af4fcf7297c7ffd7d6eff03c6dab50feb"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__getblocks.html#af4fcf7297c7ffd7d6eff03c6dab50feb">test_framework.mininode.msg_getblocks.__init__</a></div><div class="ttdeci">def __init__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00786">mininode.py:786</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__verack_html_a1738181bf31ec48a374887a3c6c4a935"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__verack.html#a1738181bf31ec48a374887a3c6c4a935">test_framework.mininode.msg_verack.__repr__</a></div><div class="ttdeci">def __repr__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00709">mininode.py:709</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1EarlyDisconnectError_html"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1EarlyDisconnectError.html">test_framework.mininode.EarlyDisconnectError</a></div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01332">mininode.py:1332</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CTxIn_html_a857ab5a142fa3fce26c29bf9b16344e3"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CTxIn.html#a857ab5a142fa3fce26c29bf9b16344e3">test_framework.mininode.CTxIn.nSequence</a></div><div class="ttdeci">nSequence</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00349">mininode.py:349</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__sendheaders_html_a473239fd3e63bbc94217c52f8ac24217"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__sendheaders.html#a473239fd3e63bbc94217c52f8ac24217">test_framework.mininode.msg_sendheaders.deserialize</a></div><div class="ttdeci">def deserialize(self, f)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00930">mininode.py:930</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConnCB_html_a2f7f58a68ce7d954c5352febc2bc1de4"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConnCB.html#a2f7f58a68ce7d954c5352febc2bc1de4">test_framework.mininode.NodeConnCB.on_version</a></div><div class="ttdeci">def on_version(self, conn, message)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01074">mininode.py:1074</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConnCB_html_ac91a75e47f361ae5419d7b408fdc8ea7"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConnCB.html#ac91a75e47f361ae5419d7b408fdc8ea7">test_framework.mininode.NodeConnCB.set_deliver_sleep_time</a></div><div class="ttdeci">def set_deliver_sleep_time(self, value)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01044">mininode.py:1044</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConn_html_a646f07b4b22e8a98cbf684967d1f94dc"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConn.html#a646f07b4b22e8a98cbf684967d1f94dc">test_framework.mininode.NodeConn.sendbuf</a></div><div class="ttdeci">sendbuf</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01170">mininode.py:1170</a></div></div>
|
|
<div class="ttc" id="namespacetest__framework_1_1mininode_html_a0d9f906723421906130d7c15403e3bd7"><div class="ttname"><a href="namespacetest__framework_1_1mininode.html#a0d9f906723421906130d7c15403e3bd7">test_framework.mininode.ser_uint256_vector</a></div><div class="ttdeci">def ser_uint256_vector(l)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00167">mininode.py:167</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__sendheaders_html_a3d20993d6cd64d3108392eba88c4f44c"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__sendheaders.html#a3d20993d6cd64d3108392eba88c4f44c">test_framework.mininode.msg_sendheaders.serialize</a></div><div class="ttdeci">def serialize(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00933">mininode.py:933</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__getaddr_html_aa480ac6ef29c400e10d72b774275dccb"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__getaddr.html#aa480ac6ef29c400e10d72b774275dccb">test_framework.mininode.msg_getaddr.deserialize</a></div><div class="ttdeci">def deserialize(self, f)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00847">mininode.py:847</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__reject_html_ae88a4e53db74a190b9da39aa58d0182c"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__reject.html#ae88a4e53db74a190b9da39aa58d0182c">test_framework.mininode.msg_reject.REJECT_MALFORMED</a></div><div class="ttdeci">int REJECT_MALFORMED</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00990">mininode.py:990</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CTransaction_html_a64e806bb24d40bb710a5df9002ac6621"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CTransaction.html#a64e806bb24d40bb710a5df9002ac6621">test_framework.mininode.CTransaction.nVersion</a></div><div class="ttdeci">nVersion</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00394">mininode.py:394</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConn_html_a44e3b68dc0d47e2ece09017d644b96c8"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConn.html#a44e3b68dc0d47e2ece09017d644b96c8">test_framework.mininode.NodeConn.got_message</a></div><div class="ttdeci">def got_message(self, message)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01303">mininode.py:1303</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__getdata_html_a67ce799460aa07ec12f4cf78de6be219"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__getdata.html#a67ce799460aa07ec12f4cf78de6be219">test_framework.mininode.msg_getdata.__repr__</a></div><div class="ttdeci">def __repr__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00779">mininode.py:779</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__getblocks_html_a10205ced6954f4eae580c10e6d4e7933"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__getblocks.html#a10205ced6954f4eae580c10e6d4e7933">test_framework.mininode.msg_getblocks.__repr__</a></div><div class="ttdeci">def __repr__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00801">mininode.py:801</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1COutPoint_html_a25217f2ff0fc75d3fda5b6310a2838fb"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1COutPoint.html#a25217f2ff0fc75d3fda5b6310a2838fb">test_framework.mininode.COutPoint.hash</a></div><div class="ttdeci">hash</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00325">mininode.py:325</a></div></div>
|
|
<div class="ttc" id="namespacetest__framework_1_1mininode_html_a05141ef4265c701934d0d61d8dafda34"><div class="ttname"><a href="namespacetest__framework_1_1mininode.html#a05141ef4265c701934d0d61d8dafda34">test_framework.mininode.ToHex</a></div><div class="ttdeci">def ToHex(obj)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00247">mininode.py:247</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__verack_html_a48ce87b5541a89cad180badb46b17981"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__verack.html#a48ce87b5541a89cad180badb46b17981">test_framework.mininode.msg_verack.serialize</a></div><div class="ttdeci">def serialize(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00706">mininode.py:706</a></div></div>
|
|
<div class="ttc" id="namespacetest__framework_1_1mininode_html_a92ca8c58b41dbdde48516f70444ab860"><div class="ttname"><a href="namespacetest__framework_1_1mininode.html#a92ca8c58b41dbdde48516f70444ab860">test_framework.mininode.deser_uint256</a></div><div class="ttdeci">def deser_uint256(f)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00091">mininode.py:91</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConn_html_a614b2fc481108849a9fb712d42ae4cc3"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConn.html#a614b2fc481108849a9fb712d42ae4cc3">test_framework.mininode.NodeConn.recvbuf</a></div><div class="ttdeci">recvbuf</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01171">mininode.py:1171</a></div></div>
|
|
<div class="ttc" id="namespacesha256_html"><div class="ttname"><a href="namespacesha256.html">sha256</a></div><div class="ttdoc">Internal SHA-256 implementation. </div><div class="ttdef"><b>Definition:</b> <a href="sha256_8cpp_source.html#l00015">sha256.cpp:15</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__mempool_html_a99a32de2277377f45769f84c8b4733eb"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__mempool.html#a99a32de2277377f45769f84c8b4733eb">test_framework.mininode.msg_mempool.__repr__</a></div><div class="ttdeci">def __repr__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00921">mininode.py:921</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1COutPoint_html_ac7bb3e1e6191f28f7ec8a69b8d28392d"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1COutPoint.html#ac7bb3e1e6191f28f7ec8a69b8d28392d">test_framework.mininode.COutPoint.__repr__</a></div><div class="ttdeci">def __repr__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00338">mininode.py:338</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CUnsignedAlert_html_a5e17368e5b3f16416f7b0fd8c4577f63"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a5e17368e5b3f16416f7b0fd8c4577f63">test_framework.mininode.CUnsignedAlert.__init__</a></div><div class="ttdeci">def __init__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00567">mininode.py:567</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__block_html_a30b3e4ad7823ad0ca62a0d65ecc41f3b"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__block.html#a30b3e4ad7823ad0ca62a0d65ecc41f3b">test_framework.mininode.msg_block.__init__</a></div><div class="ttdeci">def __init__(self, block=None)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00825">mininode.py:825</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CTxIn_html"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CTxIn.html">test_framework.mininode.CTxIn</a></div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00342">mininode.py:342</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CAddress_html"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CAddress.html">test_framework.mininode.CAddress</a></div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00252">mininode.py:252</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CAlert_html_a84549439758af59f7abb1b29fa3b0e9e"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CAlert.html#a84549439758af59f7abb1b29fa3b0e9e">test_framework.mininode.CAlert.__repr__</a></div><div class="ttdeci">def __repr__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00636">mininode.py:636</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConn_html_acb20b32028b33e7db4f25bf5378748ca"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConn.html#acb20b32028b33e7db4f25bf5378748ca">test_framework.mininode.NodeConn.handle_connect</a></div><div class="ttdeci">def handle_connect(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01200">mininode.py:1200</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__getheaders_html_aa16fdf89beaea3886216e1ebbc903b3d"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__getheaders.html#aa16fdf89beaea3886216e1ebbc903b3d">test_framework.mininode.msg_getheaders.hashstop</a></div><div class="ttdeci">hashstop</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00948">mininode.py:948</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__tx_html_aea4bab64adf1ce8f7418bde84d7fa621"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__tx.html#aea4bab64adf1ce8f7418bde84d7fa621">test_framework.mininode.msg_tx.serialize</a></div><div class="ttdeci">def serialize(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00815">mininode.py:815</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1EarlyDisconnectError_html_a982c4107c73c609e0372fe11c1adce86"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1EarlyDisconnectError.html#a982c4107c73c609e0372fe11c1adce86">test_framework.mininode.EarlyDisconnectError.__str__</a></div><div class="ttdeci">def __str__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01336">mininode.py:1336</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CTransaction_html_aa286618878851bb972c49ca3b507f013"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CTransaction.html#aa286618878851bb972c49ca3b507f013">test_framework.mininode.CTransaction.__init__</a></div><div class="ttdeci">def __init__(self, tx=None)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00392">mininode.py:392</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__version_html_a459e4d748d5b59606f2d15b14527d5c9"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__version.html#a459e4d748d5b59606f2d15b14527d5c9">test_framework.mininode.msg_version.__init__</a></div><div class="ttdeci">def __init__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00645">mininode.py:645</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CTransaction_html_a246dc827de800cea916f303f808ade31"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CTransaction.html#a246dc827de800cea916f303f808ade31">test_framework.mininode.CTransaction.vout</a></div><div class="ttdeci">vout</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00396">mininode.py:396</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NetworkThread_html_abdd5679fe3ad2a66e57262e612a2dd61"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NetworkThread.html#abdd5679fe3ad2a66e57262e612a2dd61">test_framework.mininode.NetworkThread.run</a></div><div class="ttdeci">def run(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01317">mininode.py:1317</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__ping__prebip31_html_a642d2548996cb14517fd68654718f490"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__ping__prebip31.html#a642d2548996cb14517fd68654718f490">test_framework.mininode.msg_ping_prebip31.__init__</a></div><div class="ttdeci">def __init__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00860">mininode.py:860</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__version_html_a1ec5c5884ab5119ca2b10c84e9f8bf3e"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__version.html#a1ec5c5884ab5119ca2b10c84e9f8bf3e">test_framework.mininode.msg_version.nVersion</a></div><div class="ttdeci">nVersion</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00646">mininode.py:646</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CTransaction_html"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CTransaction.html">test_framework.mininode.CTransaction</a></div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00391">mininode.py:391</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConn_html_af6833e9f2c1ad08f3ac7b3721fb1b79f"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConn.html#af6833e9f2c1ad08f3ac7b3721fb1b79f">test_framework.mininode.NodeConn.show_debug_msg</a></div><div class="ttdeci">def show_debug_msg(self, msg)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01197">mininode.py:1197</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CAddress_html_a81da29dc677c7c5794d258c806d78e02"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CAddress.html#a81da29dc677c7c5794d258c806d78e02">test_framework.mininode.CAddress.__init__</a></div><div class="ttdeci">def __init__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00253">mininode.py:253</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__headers_html_ab7668be02c0fca67b3119e5c848a4cd8"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__headers.html#ab7668be02c0fca67b3119e5c848a4cd8">test_framework.mininode.msg_headers.serialize</a></div><div class="ttdeci">def serialize(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00980">mininode.py:980</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__alert_html"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__alert.html">test_framework.mininode.msg_alert</a></div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00729">mininode.py:729</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CUnsignedAlert_html_a473467e88a2e2fa650379fba059458a1"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a473467e88a2e2fa650379fba059458a1">test_framework.mininode.CUnsignedAlert.strReserved</a></div><div class="ttdeci">strReserved</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00580">mininode.py:580</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__alert_html_a3d694159733c329e16f4017e10ccc8ad"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__alert.html#a3d694159733c329e16f4017e10ccc8ad">test_framework.mininode.msg_alert.deserialize</a></div><div class="ttdeci">def deserialize(self, f)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00735">mininode.py:735</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__tx_html"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__tx.html">test_framework.mininode.msg_tx</a></div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00806">mininode.py:806</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CInv_html_a2341166afdeaa6e232707e8b569ec86a"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CInv.html#a2341166afdeaa6e232707e8b569ec86a">test_framework.mininode.CInv.deserialize</a></div><div class="ttdeci">def deserialize(self, f)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00288">mininode.py:288</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__ping__prebip31_html"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__ping__prebip31.html">test_framework.mininode.msg_ping_prebip31</a></div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00857">mininode.py:857</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CBlockHeader_html_a840de0d2ba276260b13a42d0a03cc712"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a840de0d2ba276260b13a42d0a03cc712">test_framework.mininode.CBlockHeader.__repr__</a></div><div class="ttdeci">def __repr__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00507">mininode.py:507</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__getblocks_html_acd53e295a5d14908e38c10af8f012c50"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__getblocks.html#acd53e295a5d14908e38c10af8f012c50">test_framework.mininode.msg_getblocks.serialize</a></div><div class="ttdeci">def serialize(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00795">mininode.py:795</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConnCB_html_aecc55177ae59c8f58108cee82df513de"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConnCB.html#aecc55177ae59c8f58108cee82df513de">test_framework.mininode.NodeConnCB.wait_for_verack</a></div><div class="ttdeci">def wait_for_verack(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01056">mininode.py:1056</a></div></div>
|
|
<div class="ttc" id="namespacetest__framework_1_1mininode_html_acd8c32759ce791d31c28a14ad8f8fa7a"><div class="ttname"><a href="namespacetest__framework_1_1mininode.html#acd8c32759ce791d31c28a14ad8f8fa7a">test_framework.mininode.deser_uint256_vector</a></div><div class="ttdeci">def deser_uint256_vector(f)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00152">mininode.py:152</a></div></div>
|
|
<div class="ttc" id="namespacetest__framework_1_1mininode_html_a648cf4cad8cb92b1a0b64ae7907682d5"><div class="ttname"><a href="namespacetest__framework_1_1mininode.html#a648cf4cad8cb92b1a0b64ae7907682d5">test_framework.mininode.ser_uint256</a></div><div class="ttdeci">def ser_uint256(u)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00099">mininode.py:99</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CAddress_html_a687e01da4de53e20e8818e1b77a52471"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CAddress.html#a687e01da4de53e20e8818e1b77a52471">test_framework.mininode.CAddress.nServices</a></div><div class="ttdeci">nServices</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00254">mininode.py:254</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CUnsignedAlert_html_a3856f2c4c0eea7a54b9f379903d6082f"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CUnsignedAlert.html#a3856f2c4c0eea7a54b9f379903d6082f">test_framework.mininode.CUnsignedAlert.nPriority</a></div><div class="ttdeci">nPriority</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00577">mininode.py:577</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__tx_html_aa06d8b39e09e03f92be1bf68d23fa8c5"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__tx.html#aa06d8b39e09e03f92be1bf68d23fa8c5">test_framework.mininode.msg_tx.tx</a></div><div class="ttdeci">tx</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00810">mininode.py:810</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConn_html_a536fbc5e674cf422c02d9ef4d228164d"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConn.html#a536fbc5e674cf422c02d9ef4d228164d">test_framework.mininode.NodeConn.dstport</a></div><div class="ttdeci">dstport</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01168">mininode.py:1168</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CTransaction_html_a1f073a37e1e735f7f5e0114e3f57af4b"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CTransaction.html#a1f073a37e1e735f7f5e0114e3f57af4b">test_framework.mininode.CTransaction.sha256</a></div><div class="ttdeci">sha256</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00398">mininode.py:398</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CTransaction_html_a2cb9cfd433065771edde55e44dc60836"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CTransaction.html#a2cb9cfd433065771edde55e44dc60836">test_framework.mininode.CTransaction.rehash</a></div><div class="ttdeci">def rehash(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00424">mininode.py:424</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__ping__prebip31_html_ac6c3624a853b73648abe7ac4b672c52e"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__ping__prebip31.html#ac6c3624a853b73648abe7ac4b672c52e">test_framework.mininode.msg_ping_prebip31.deserialize</a></div><div class="ttdeci">def deserialize(self, f)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00863">mininode.py:863</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CTxOut_html"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CTxOut.html">test_framework.mininode.CTxOut</a></div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00370">mininode.py:370</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__getheaders_html_ab667cb6545773d149f3251c7dad9d49c"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__getheaders.html#ab667cb6545773d149f3251c7dad9d49c">test_framework.mininode.msg_getheaders.__repr__</a></div><div class="ttdeci">def __repr__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00961">mininode.py:961</a></div></div>
|
|
<div class="ttc" id="namespacetest__framework_1_1mininode_html_a809123fac983049b3133dea8c9d2b5bc"><div class="ttname"><a href="namespacetest__framework_1_1mininode.html#a809123fac983049b3133dea8c9d2b5bc">test_framework.mininode.deser_string</a></div><div class="ttdeci">def deser_string(f)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00070">mininode.py:70</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1SingleNodeConnCB_html_af8afbaef7128eb070df8b0fba95e4343"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1SingleNodeConnCB.html#af8afbaef7128eb070df8b0fba95e4343">test_framework.mininode.SingleNodeConnCB.send_message</a></div><div class="ttdeci">def send_message(self, message)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01122">mininode.py:1122</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CTxIn_html_aa3e22c103bc6b242f092773031ccc17c"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CTxIn.html#aa3e22c103bc6b242f092773031ccc17c">test_framework.mininode.CTxIn.__repr__</a></div><div class="ttdeci">def __repr__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00364">mininode.py:364</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__ping_html_a0aa5a677131620f4b98019bb0e55bf05"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__ping.html#a0aa5a677131620f4b98019bb0e55bf05">test_framework.mininode.msg_ping.__repr__</a></div><div class="ttdeci">def __repr__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00887">mininode.py:887</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__headers_html_a900f57b588622837eb1c125a6568a9bb"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__headers.html#a900f57b588622837eb1c125a6568a9bb">test_framework.mininode.msg_headers.__repr__</a></div><div class="ttdeci">def __repr__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00984">mininode.py:984</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__reject_html_afb500fb2e7f534c072cee4fe1d016aba"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__reject.html#afb500fb2e7f534c072cee4fe1d016aba">test_framework.mininode.msg_reject.deserialize</a></div><div class="ttdeci">def deserialize(self, f)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00998">mininode.py:998</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CTxIn_html_a936a195f07037ddab30bba5d7cfde111"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CTxIn.html#a936a195f07037ddab30bba5d7cfde111">test_framework.mininode.CTxIn.serialize</a></div><div class="ttdeci">def serialize(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00357">mininode.py:357</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__getheaders_html"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__getheaders.html">test_framework.mininode.msg_getheaders</a></div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00943">mininode.py:943</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__verack_html_ac46fe86fa2b26e568e880a1d10377151"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__verack.html#ac46fe86fa2b26e568e880a1d10377151">test_framework.mininode.msg_verack.__init__</a></div><div class="ttdeci">def __init__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00700">mininode.py:700</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__alert_html_ae76dc9f254eed1f8879497a0ea3286a8"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__alert.html#ae76dc9f254eed1f8879497a0ea3286a8">test_framework.mininode.msg_alert.__init__</a></div><div class="ttdeci">def __init__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00732">mininode.py:732</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConn_html_ad23584b149ea40d025ca59297684ddf4"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConn.html#ad23584b149ea40d025ca59297684ddf4">test_framework.mininode.NodeConn.cb</a></div><div class="ttdeci">cb</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01177">mininode.py:1177</a></div></div>
|
|
<div class="ttc" id="misc_8cpp_html_a5818d0d09a6e077171d4c054bb492de7"><div class="ttname"><a href="misc_8cpp.html#a5818d0d09a6e077171d4c054bb492de7">debug</a></div><div class="ttdeci">UniValue debug(const UniValue &params, bool fHelp)</div><div class="ttdef"><b>Definition:</b> <a href="misc_8cpp_source.html#l00119">misc.cpp:119</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__block_html"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__block.html">test_framework.mininode.msg_block</a></div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00822">mininode.py:822</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CAddress_html_ad1cd4ceb23f50a7f0d43240d1005b7b3"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CAddress.html#ad1cd4ceb23f50a7f0d43240d1005b7b3">test_framework.mininode.CAddress.__repr__</a></div><div class="ttdeci">def __repr__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00273">mininode.py:273</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__headers_html"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__headers.html">test_framework.mininode.msg_headers</a></div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00968">mininode.py:968</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConn_html_a3b6b517b455fed38f3ac06b68f76e4f9"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConn.html#a3b6b517b455fed38f3ac06b68f76e4f9">test_framework.mininode.NodeConn.network</a></div><div class="ttdeci">network</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01176">mininode.py:1176</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__mempool_html_aa514465022b885687cd689684561f9c4"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__mempool.html#aa514465022b885687cd689684561f9c4">test_framework.mininode.msg_mempool.serialize</a></div><div class="ttdeci">def serialize(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00918">mininode.py:918</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CTransaction_html_ad2552c9b568e38dc278da6caf36f807d"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CTransaction.html#ad2552c9b568e38dc278da6caf36f807d">test_framework.mininode.CTransaction.hash</a></div><div class="ttdeci">hash</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00399">mininode.py:399</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CBlockHeader_html_a891c14d0d8eed6c580b731669158072c"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CBlockHeader.html#a891c14d0d8eed6c580b731669158072c">test_framework.mininode.CBlockHeader.__init__</a></div><div class="ttdeci">def __init__(self, header=None)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00446">mininode.py:446</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CBlockHeader_html_ae55b865751ee587146fe09050d3caf70"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CBlockHeader.html#ae55b865751ee587146fe09050d3caf70">test_framework.mininode.CBlockHeader.serialize</a></div><div class="ttdeci">def serialize(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00480">mininode.py:480</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__reject_html_a9354e23ad75a3e393d2e8aede61fbc53"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__reject.html#a9354e23ad75a3e393d2e8aede61fbc53">test_framework.mininode.msg_reject.message</a></div><div class="ttdeci">message</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00993">mininode.py:993</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__tx_html_acfa4c20ad933f1c7d96e05a50d57833b"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__tx.html#acfa4c20ad933f1c7d96e05a50d57833b">test_framework.mininode.msg_tx.__repr__</a></div><div class="ttdeci">def __repr__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00818">mininode.py:818</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CAddress_html_a79614d745a444b9377f60c0af9f956a6"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CAddress.html#a79614d745a444b9377f60c0af9f956a6">test_framework.mininode.CAddress.serialize</a></div><div class="ttdeci">def serialize(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00265">mininode.py:265</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CBlock_html_abfb0844aa94e3979aaa216ca0137ea5f"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CBlock.html#abfb0844aa94e3979aaa216ca0137ea5f">test_framework.mininode.CBlock.vtx</a></div><div class="ttdeci">vtx</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00516">mininode.py:516</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__getdata_html_ad3b4358dee12fdea2999a32456112ff1"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__getdata.html#ad3b4358dee12fdea2999a32456112ff1">test_framework.mininode.msg_getdata.deserialize</a></div><div class="ttdeci">def deserialize(self, f)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00773">mininode.py:773</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1COutPoint_html_a1bed21465741601879627944d95560aa"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1COutPoint.html#a1bed21465741601879627944d95560aa">test_framework.mininode.COutPoint.__init__</a></div><div class="ttdeci">def __init__(self, hash=0, n=0)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00324">mininode.py:324</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1CBlock_html"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1CBlock.html">test_framework.mininode.CBlock</a></div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00513">mininode.py:513</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConnCB_html_a73fbacddc1ee21c0d0ccc6f9b24907e1"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConnCB.html#a73fbacddc1ee21c0d0ccc6f9b24907e1">test_framework.mininode.NodeConnCB.deliver_sleep_time</a></div><div class="ttdeci">deliver_sleep_time</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01042">mininode.py:1042</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1msg__addr_html_a1d40ada8659737853044645d2d317a12"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1msg__addr.html#a1d40ada8659737853044645d2d317a12">test_framework.mininode.msg_addr.__repr__</a></div><div class="ttdeci">def __repr__(self)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l00725">mininode.py:725</a></div></div>
|
|
<div class="ttc" id="classtest__framework_1_1mininode_1_1NodeConnCB_html_abc6f62d883aca849cfc920323b1d19d4"><div class="ttname"><a href="classtest__framework_1_1mininode_1_1NodeConnCB.html#abc6f62d883aca849cfc920323b1d19d4">test_framework.mininode.NodeConnCB.on_block</a></div><div class="ttdeci">def on_block(self, conn, message)</div><div class="ttdef"><b>Definition:</b> <a href="mininode_8py_source.html#l01098">mininode.py:1098</a></div></div>
|
|
</div><!-- fragment --></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="dir_62ba24d7ce8eecc59962fe5b590c1065.html">qa</a></li><li class="navelem"><a class="el" href="dir_dbddb259b29a77ea11562b7a380aa303.html">rpc-tests</a></li><li class="navelem"><a class="el" href="dir_0f1fd91d0d18a547184c924770390b91.html">test_framework</a></li><li class="navelem"><a class="el" href="mininode_8py.html">mininode.py</a></li>
|
|
<li class="footer">Generated on Thu Dec 14 2017 13:15:02 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>
|