dash-docs/en/doxygen/html/governance-classes_8h_source.html

176 lines
62 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: src/governance-classes.h 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&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="bitcoin_logo_doxygen.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Dash Core
&#160;<span id="projectnumber">0.12.2.1</span>
</div>
<div id="projectbrief">P2P Digital Currency</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('governance-classes_8h_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">governance-classes.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="governance-classes_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright (c) 2014-2017 The Dash Core developers</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// Distributed under the MIT/X11 software license, see the accompanying</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// file COPYING or http://www.opensource.org/licenses/mit-license.php.</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="preprocessor">#ifndef GOVERNANCE_CLASSES_H</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="preprocessor">#define GOVERNANCE_CLASSES_H</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;</div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">//#define ENABLE_DASH_DEBUG</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;</div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="base58_8h.html">base58.h</a>&quot;</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="governance_8h.html">governance.h</a>&quot;</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="key_8h.html">key.h</a>&quot;</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="standard_8h.html">script/standard.h</a>&quot;</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="util_8h.html">util.h</a>&quot;</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#include &lt;boost/shared_ptr.hpp&gt;</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="keyword">class </span><a class="code" href="classCSuperblock.html">CSuperblock</a>;</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="keyword">class </span>CGovernanceTrigger;</div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="keyword">class </span><a class="code" href="classCGovernanceTriggerManager.html">CGovernanceTriggerManager</a>;</div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="keyword">class </span><a class="code" href="classCSuperblockManager.html">CSuperblockManager</a>;</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno"><a class="line" href="governance-classes_8h.html#a4b7bb88856db394da1de72b182be6449"> 22</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="governance-classes_8h.html#a4b7bb88856db394da1de72b182be6449">TRIGGER_UNKNOWN</a> = -1;</div><div class="line"><a name="l00023"></a><span class="lineno"><a class="line" href="governance-classes_8h.html#afc3cae4112d81ef002d7de1a86138b55"> 23</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="governance-classes_8h.html#afc3cae4112d81ef002d7de1a86138b55">TRIGGER_SUPERBLOCK</a> = 1000;</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="governance-classes_8h.html#a815f4af542bdb7f9ece38f4c62a97ed3"> 25</a></span>&#160;<span class="keyword">typedef</span> boost::shared_ptr&lt;CSuperblock&gt; <a class="code" href="governance-classes_8h.html#a815f4af542bdb7f9ece38f4c62a97ed3">CSuperblock_sptr</a>;</div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment">// DECLARE GLOBAL VARIABLES FOR GOVERNANCE CLASSES</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="keyword">extern</span> <a class="code" href="classCGovernanceTriggerManager.html">CGovernanceTriggerManager</a> <a class="code" href="governance-classes_8h.html#a283d8ce829af2744f7331cff54c56c69">triggerman</a>;</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment">// SPLIT A STRING UP - USED FOR SUPERBLOCK PAYMENTS</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;std::vector&lt;std::string&gt; <a class="code" href="governance-classes_8h.html#a282db9b3f41af7d42203c99ac4908155">SplitBy</a>(std::string strCommand, std::string strDelimit);</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="classCGovernanceTriggerManager.html"> 40</a></span>&#160;<span class="keyword">class </span><a class="code" href="classCGovernanceTriggerManager.html">CGovernanceTriggerManager</a></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;{</div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="classCGovernanceTriggerManager.html#a6a28dab160ded43ef68b4402e2a9b996"> 42</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classCSuperblockManager.html">CSuperblockManager</a>;</div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="classCGovernanceTriggerManager.html#a93bf9a5038d0e59771589500db19be9e"> 43</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classCGovernanceManager.html">CGovernanceManager</a>;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="classCGovernanceTriggerManager.html#a65625b0c782f458795a125cc83b16408"> 46</a></span>&#160; <span class="keyword">typedef</span> std::map&lt;uint256, CSuperblock_sptr&gt; <a class="code" href="classCGovernanceTriggerManager.html#a65625b0c782f458795a125cc83b16408">trigger_m_t</a>;</div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="classCGovernanceTriggerManager.html#a6d9fb12e582015b7aeb034716ba0bab8"> 47</a></span>&#160; <span class="keyword">typedef</span> trigger_m_t::iterator <a class="code" href="classCGovernanceTriggerManager.html#a6d9fb12e582015b7aeb034716ba0bab8">trigger_m_it</a>;</div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="classCGovernanceTriggerManager.html#ab6f89dc2e101166340268d259c7835bc"> 48</a></span>&#160; <span class="keyword">typedef</span> trigger_m_t::const_iterator <a class="code" href="classCGovernanceTriggerManager.html#ab6f89dc2e101166340268d259c7835bc">trigger_m_cit</a>;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classCGovernanceTriggerManager.html#a230512f96e02e92e5c6ea85de1c000dc"> 50</a></span>&#160; <a class="code" href="classCGovernanceTriggerManager.html#a65625b0c782f458795a125cc83b16408">trigger_m_t</a> <a class="code" href="classCGovernanceTriggerManager.html#a230512f96e02e92e5c6ea85de1c000dc">mapTrigger</a>;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; std::vector&lt;CSuperblock_sptr&gt; <a class="code" href="classCGovernanceTriggerManager.html#a1a6f4fb9424be630b6c9bcdeb760f606">GetActiveTriggers</a>();</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classCGovernanceTriggerManager.html#a1aa7064c5b9dbe9bdcba5cb91a5be26a">AddNewTrigger</a>(<a class="code" href="classuint256.html">uint256</a> nHash);</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classCGovernanceTriggerManager.html#a72c63c2b4af9cc3d532e10ca46fa10dd">CleanAndRemove</a>();</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classCGovernanceTriggerManager.html#a9861e244018e012506e042688977cd64"> 57</a></span>&#160; <a class="code" href="classCGovernanceTriggerManager.html#a9861e244018e012506e042688977cd64">CGovernanceTriggerManager</a>() : <a class="code" href="classCGovernanceTriggerManager.html#a230512f96e02e92e5c6ea85de1c000dc">mapTrigger</a>() {}</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;};</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="classCSuperblockManager.html"> 66</a></span>&#160;<span class="keyword">class </span><a class="code" href="classCSuperblockManager.html">CSuperblockManager</a></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;{</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classCSuperblockManager.html#a63797d183aa95788afc1a973febc7589">GetBestSuperblock</a>(<a class="code" href="governance-classes_8h.html#a815f4af542bdb7f9ece38f4c62a97ed3">CSuperblock_sptr</a>&amp; pSuperblockRet, <span class="keywordtype">int</span> nBlockHeight);</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classCSuperblockManager.html#ab3cd100e70341446572ed7fafbea0538">IsSuperblockTriggered</a>(<span class="keywordtype">int</span> nBlockHeight);</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classCSuperblockManager.html#aba3caed2c1df78b79ef1e2f37c76f400">CreateSuperblock</a>(<a class="code" href="structCMutableTransaction.html">CMutableTransaction</a>&amp; txNewRet, <span class="keywordtype">int</span> nBlockHeight, std::vector&lt;CTxOut&gt;&amp; voutSuperblockRet);</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keyword">static</span> std::string <a class="code" href="classCSuperblockManager.html#a697e97ade8cceab13fbfeb916209b09b">GetRequiredPaymentsString</a>(<span class="keywordtype">int</span> nBlockHeight);</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classCSuperblockManager.html#a9cf93e0091a14d61c7a2aed3f7d1b4b9">IsValid</a>(<span class="keyword">const</span> <a class="code" href="classCTransaction.html">CTransaction</a>&amp; txNew, <span class="keywordtype">int</span> nBlockHeight, <a class="code" href="amount_8h.html#a4eaf3a5239714d8c45b851527f7cb564">CAmount</a> blockReward);</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;};</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;</div><div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="classCGovernancePayment.html"> 86</a></span>&#160;<span class="keyword">class </span><a class="code" href="classCGovernancePayment.html">CGovernancePayment</a></div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;{</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="classCGovernancePayment.html#a934d9a31cb148c73433b97b68baa63cb"> 89</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classCGovernancePayment.html#a934d9a31cb148c73433b97b68baa63cb">fValid</a>;</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="classCGovernancePayment.html#a6b74f77fdabba9b0a0908ffeb8e24fec"> 92</a></span>&#160; <a class="code" href="classCScript.html">CScript</a> <a class="code" href="classCGovernancePayment.html#a6b74f77fdabba9b0a0908ffeb8e24fec">script</a>;</div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="classCGovernancePayment.html#a03d4b558da8c9346cb35fec83f4ffc12"> 93</a></span>&#160; <a class="code" href="amount_8h.html#a4eaf3a5239714d8c45b851527f7cb564">CAmount</a> <a class="code" href="classCGovernancePayment.html#a03d4b558da8c9346cb35fec83f4ffc12">nAmount</a>;</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;</div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="classCGovernancePayment.html#a36051385e67e175b7966b82696f72373"> 95</a></span>&#160; <a class="code" href="classCGovernancePayment.html#a36051385e67e175b7966b82696f72373">CGovernancePayment</a>()</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; :<a class="code" href="classCGovernancePayment.html#a934d9a31cb148c73433b97b68baa63cb">fValid</a>(false),</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <a class="code" href="classCGovernancePayment.html#a6b74f77fdabba9b0a0908ffeb8e24fec">script</a>(),</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <a class="code" href="classCGovernancePayment.html#a03d4b558da8c9346cb35fec83f4ffc12">nAmount</a>(0)</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; {}</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;</div><div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="classCGovernancePayment.html#a330326a83a4c8b3eb87dfee38cc897f9"> 101</a></span>&#160; <a class="code" href="classCGovernancePayment.html#a330326a83a4c8b3eb87dfee38cc897f9">CGovernancePayment</a>(<a class="code" href="classCBitcoinAddress.html">CBitcoinAddress</a> addrIn, <a class="code" href="amount_8h.html#a4eaf3a5239714d8c45b851527f7cb564">CAmount</a> nAmountIn)</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; :<a class="code" href="classCGovernancePayment.html#a934d9a31cb148c73433b97b68baa63cb">fValid</a>(false),</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <a class="code" href="classCGovernancePayment.html#a6b74f77fdabba9b0a0908ffeb8e24fec">script</a>(),</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <a class="code" href="classCGovernancePayment.html#a03d4b558da8c9346cb35fec83f4ffc12">nAmount</a>(0)</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; {</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordflow">try</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; {</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <a class="code" href="standard_8h.html#a50f712c3d9a0d2f85ae464497dd9cff8">CTxDestination</a> dest = addrIn.<a class="code" href="classCBitcoinAddress.html#a1e44de10dfc84d1fd2e15150f1e22b8e">Get</a>();</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="code" href="classCGovernancePayment.html#a6b74f77fdabba9b0a0908ffeb8e24fec">script</a> = <a class="code" href="standard_8cpp.html#ae40f28d3b46c21033f6ee1f1200d0321">GetScriptForDestination</a>(dest);</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <a class="code" href="classCGovernancePayment.html#a03d4b558da8c9346cb35fec83f4ffc12">nAmount</a> = nAmountIn;</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <a class="code" href="classCGovernancePayment.html#a934d9a31cb148c73433b97b68baa63cb">fValid</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; }</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">catch</span>(std::exception&amp; e)</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; {</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <a class="code" href="util_8h.html#afc02c0a4258fedfb316be612bb659ba8">LogPrintf</a>(<span class="stringliteral">&quot;CGovernancePayment Payment not valid: addrIn = %s, nAmountIn = %d, what = %s\n&quot;</span>,</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; addrIn.<a class="code" href="classCBase58Data.html#a7dc91af403ca02694b3247b15604e220">ToString</a>(), nAmountIn, e.what());</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; }</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keywordflow">catch</span>(...)</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; {</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <a class="code" href="util_8h.html#afc02c0a4258fedfb316be612bb659ba8">LogPrintf</a>(<span class="stringliteral">&quot;CGovernancePayment Payment not valid: addrIn = %s, nAmountIn = %d\n&quot;</span>,</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; addrIn.<a class="code" href="classCBase58Data.html#a7dc91af403ca02694b3247b15604e220">ToString</a>(), nAmountIn);</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; }</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; }</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="classCGovernancePayment.html#aef5866ad766328aa36ad20e020c454f1"> 125</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classCGovernancePayment.html#aef5866ad766328aa36ad20e020c454f1">IsValid</a>() { <span class="keywordflow">return</span> <a class="code" href="classCGovernancePayment.html#a934d9a31cb148c73433b97b68baa63cb">fValid</a>; }</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;};</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;</div><div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="classCSuperblock.html"> 146</a></span>&#160;<span class="keyword">class </span><a class="code" href="classCSuperblock.html">CSuperblock</a> : <span class="keyword">public</span> <a class="code" href="classCGovernanceObject.html">CGovernanceObject</a></div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;{</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="classCSuperblock.html#ad6e41ffceef8dd08e7582197e0df0cdd"> 149</a></span>&#160; <a class="code" href="classuint256.html">uint256</a> <a class="code" href="classCSuperblock.html#ad6e41ffceef8dd08e7582197e0df0cdd">nGovObjHash</a>;</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;</div><div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="classCSuperblock.html#ac8bb26c9943d1f999361d86112b929ff"> 151</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="classCSuperblock.html#ac8bb26c9943d1f999361d86112b929ff">nEpochStart</a>;</div><div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="classCSuperblock.html#a711fcd3a0de5a50ce4389d2003ac71fc"> 152</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="classCSuperblock.html#a711fcd3a0de5a50ce4389d2003ac71fc">nStatus</a>;</div><div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="classCSuperblock.html#ae470b3d259d870d1e1dee70e60e5ce52"> 153</a></span>&#160; std::vector&lt;CGovernancePayment&gt; <a class="code" href="classCSuperblock.html#ae470b3d259d870d1e1dee70e60e5ce52">vecPayments</a>;</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classCSuperblock.html#ae133c9d8d10dcb8c605253ed9bc0db4b">ParsePaymentSchedule</a>(std::string&amp; strPaymentAddresses, std::string&amp; strPaymentAmounts);</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <a class="code" href="classCSuperblock.html#a62ee258ee678daec84900f95776fed6f">CSuperblock</a>();</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <a class="code" href="classCSuperblock.html#a62ee258ee678daec84900f95776fed6f">CSuperblock</a>(<a class="code" href="classuint256.html">uint256</a>&amp; nHash);</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classCSuperblock.html#ac3eebc3d8dc89ebe15864e47901d8d9c">IsValidBlockHeight</a>(<span class="keywordtype">int</span> nBlockHeight);</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="keyword">static</span> <a class="code" href="amount_8h.html#a4eaf3a5239714d8c45b851527f7cb564">CAmount</a> <a class="code" href="classCSuperblock.html#ac63b6b9d2f0a142196974822f3496cbf">GetPaymentsLimit</a>(<span class="keywordtype">int</span> nBlockHeight);</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="classCSuperblock.html#a2cfb6cb1a4b692ed2caa022b2742443a"> 165</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="classCSuperblock.html#a2cfb6cb1a4b692ed2caa022b2742443a">GetStatus</a>() { <span class="keywordflow">return</span> <a class="code" href="classCSuperblock.html#a711fcd3a0de5a50ce4389d2003ac71fc">nStatus</a>; }</div><div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="classCSuperblock.html#af4972d239bbb99d9f91097aaf4a808be"> 166</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classCSuperblock.html#af4972d239bbb99d9f91097aaf4a808be">SetStatus</a>(<span class="keywordtype">int</span> nStatusIn) { <a class="code" href="classCSuperblock.html#a711fcd3a0de5a50ce4389d2003ac71fc">nStatus</a> = nStatusIn; }</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="comment">// IS THIS TRIGGER ALREADY EXECUTED?</span></div><div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="classCSuperblock.html#a6990b88353f65ebaf1f407ab3c2fd9eb"> 169</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classCSuperblock.html#a6990b88353f65ebaf1f407ab3c2fd9eb">IsExecuted</a>() { <span class="keywordflow">return</span> <a class="code" href="classCSuperblock.html#a711fcd3a0de5a50ce4389d2003ac71fc">nStatus</a> == <a class="code" href="governance-object_8h.html#ae4cb3bc21d746789dd6e6c42b2bdb8b3">SEEN_OBJECT_EXECUTED</a>; }</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="comment">// TELL THE ENGINE WE EXECUTED THIS EVENT</span></div><div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="classCSuperblock.html#a5367c5d75eee786ef0668a9d3d9302cf"> 171</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classCSuperblock.html#a5367c5d75eee786ef0668a9d3d9302cf">SetExecuted</a>() { <a class="code" href="classCSuperblock.html#a711fcd3a0de5a50ce4389d2003ac71fc">nStatus</a> = <a class="code" href="governance-object_8h.html#ae4cb3bc21d746789dd6e6c42b2bdb8b3">SEEN_OBJECT_EXECUTED</a>; }</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;</div><div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="classCSuperblock.html#adb023edd669ee2fb77565026bcbe5f1d"> 173</a></span>&#160; <a class="code" href="classCGovernanceObject.html">CGovernanceObject</a>* <a class="code" href="classCSuperblock.html#adb023edd669ee2fb77565026bcbe5f1d">GetGovernanceObject</a>()</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; {</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <a class="code" href="sync_8h.html#acd61d0cb3b49f367728193720014aed0">AssertLockHeld</a>(<a class="code" href="governance_8cpp.html#a45f086f57868174ccf2cee5e7d968d8f">governance</a>.<a class="code" href="classCGovernanceManager.html#a5ece49e0a2bffdfeafe4b90630385b67">cs</a>);</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <a class="code" href="classCGovernanceObject.html">CGovernanceObject</a>* pObj = <a class="code" href="governance_8cpp.html#a45f086f57868174ccf2cee5e7d968d8f">governance</a>.<a class="code" href="classCGovernanceManager.html#ac3a8b7d5df15774d0281f0ac62715bdf">FindGovernanceObject</a>(<a class="code" href="classCSuperblock.html#ad6e41ffceef8dd08e7582197e0df0cdd">nGovObjHash</a>);</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordflow">return</span> pObj;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; }</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="classCSuperblock.html#a04033431f0c7825e2328f0841a6ee254"> 180</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="classCSuperblock.html#a04033431f0c7825e2328f0841a6ee254">GetBlockStart</a>()</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; {</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="comment">/* // 12.1 TRIGGER EXECUTION */</span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="comment">/* // NOTE : Is this over complicated? */</span></div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="comment">/* //int nRet = 0; */</span></div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="comment">/* int nTipEpoch = 0; */</span></div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="comment">/* int nTipBlock = chainActive.Tip()-&gt;nHeight+1; */</span></div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="comment">/* // GET TIP EPOCK / BLOCK */</span></div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="comment">/* // typically it should be more than the current time */</span></div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="comment">/* int nDiff = nEpochStart - nTipEpoch; */</span></div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="comment">/* int nBlockDiff = nDiff / (2.6*60); */</span></div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="comment">/* // calculate predicted block height */</span></div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="comment">/* int nMod = (nTipBlock + nBlockDiff) % Params().GetConsensus().nSuperblockCycle; */</span></div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="comment">/* return (nTipBlock + nBlockDiff)-nMod; */</span></div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classCSuperblock.html#ac8bb26c9943d1f999361d86112b929ff">nEpochStart</a>;</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; }</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;</div><div class="line"><a name="l00202"></a><span class="lineno"><a class="line" href="classCSuperblock.html#a43b84ce73104e8014ffd7e4259616d89"> 202</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="classCSuperblock.html#a43b84ce73104e8014ffd7e4259616d89">CountPayments</a>() { <span class="keywordflow">return</span> (<span class="keywordtype">int</span>)<a class="code" href="classCSuperblock.html#ae470b3d259d870d1e1dee70e60e5ce52">vecPayments</a>.size(); }</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classCSuperblock.html#a26c417c199bc16068ad3fc49a216c397">GetPayment</a>(<span class="keywordtype">int</span> nPaymentIndex, <a class="code" href="classCGovernancePayment.html">CGovernancePayment</a>&amp; paymentRet);</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <a class="code" href="amount_8h.html#a4eaf3a5239714d8c45b851527f7cb564">CAmount</a> <a class="code" href="classCSuperblock.html#a7f6b2c5302fc9509451fc2f44045f896">GetPaymentsTotalAmount</a>();</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classCSuperblock.html#a33a5b1f41d0acc015c6860eba8689c70">IsValid</a>(<span class="keyword">const</span> <a class="code" href="classCTransaction.html">CTransaction</a>&amp; txNew, <span class="keywordtype">int</span> nBlockHeight, <a class="code" href="amount_8h.html#a4eaf3a5239714d8c45b851527f7cb564">CAmount</a> blockReward);</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;};</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="classCSuperblock_html_af4972d239bbb99d9f91097aaf4a808be"><div class="ttname"><a href="classCSuperblock.html#af4972d239bbb99d9f91097aaf4a808be">CSuperblock::SetStatus</a></div><div class="ttdeci">void SetStatus(int nStatusIn)</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8h_source.html#l00166">governance-classes.h:166</a></div></div>
<div class="ttc" id="classCSuperblock_html_a6990b88353f65ebaf1f407ab3c2fd9eb"><div class="ttname"><a href="classCSuperblock.html#a6990b88353f65ebaf1f407ab3c2fd9eb">CSuperblock::IsExecuted</a></div><div class="ttdeci">bool IsExecuted()</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8h_source.html#l00169">governance-classes.h:169</a></div></div>
<div class="ttc" id="classCGovernanceTriggerManager_html_a230512f96e02e92e5c6ea85de1c000dc"><div class="ttname"><a href="classCGovernanceTriggerManager.html#a230512f96e02e92e5c6ea85de1c000dc">CGovernanceTriggerManager::mapTrigger</a></div><div class="ttdeci">trigger_m_t mapTrigger</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8h_source.html#l00050">governance-classes.h:50</a></div></div>
<div class="ttc" id="classCGovernancePayment_html_a934d9a31cb148c73433b97b68baa63cb"><div class="ttname"><a href="classCGovernancePayment.html#a934d9a31cb148c73433b97b68baa63cb">CGovernancePayment::fValid</a></div><div class="ttdeci">bool fValid</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8h_source.html#l00089">governance-classes.h:89</a></div></div>
<div class="ttc" id="structCMutableTransaction_html"><div class="ttname"><a href="structCMutableTransaction.html">CMutableTransaction</a></div><div class="ttdef"><b>Definition:</b> <a href="transaction_8h_source.html#l00303">transaction.h:303</a></div></div>
<div class="ttc" id="standard_8h_html_a50f712c3d9a0d2f85ae464497dd9cff8"><div class="ttname"><a href="standard_8h.html#a50f712c3d9a0d2f85ae464497dd9cff8">CTxDestination</a></div><div class="ttdeci">boost::variant&lt; CNoDestination, CKeyID, CScriptID &gt; CTxDestination</div><div class="ttdef"><b>Definition:</b> <a href="standard_8h_source.html#l00069">standard.h:69</a></div></div>
<div class="ttc" id="classCGovernanceTriggerManager_html_a72c63c2b4af9cc3d532e10ca46fa10dd"><div class="ttname"><a href="classCGovernanceTriggerManager.html#a72c63c2b4af9cc3d532e10ca46fa10dd">CGovernanceTriggerManager::CleanAndRemove</a></div><div class="ttdeci">void CleanAndRemove()</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8cpp_source.html#l00154">governance-classes.cpp:154</a></div></div>
<div class="ttc" id="classCSuperblockManager_html_a697e97ade8cceab13fbfeb916209b09b"><div class="ttname"><a href="classCSuperblockManager.html#a697e97ade8cceab13fbfeb916209b09b">CSuperblockManager::GetRequiredPaymentsString</a></div><div class="ttdeci">static std::string GetRequiredPaymentsString(int nBlockHeight)</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8cpp_source.html#l00733">governance-classes.cpp:733</a></div></div>
<div class="ttc" id="classCGovernancePayment_html_a03d4b558da8c9346cb35fec83f4ffc12"><div class="ttname"><a href="classCGovernancePayment.html#a03d4b558da8c9346cb35fec83f4ffc12">CGovernancePayment::nAmount</a></div><div class="ttdeci">CAmount nAmount</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8h_source.html#l00093">governance-classes.h:93</a></div></div>
<div class="ttc" id="classCGovernanceTriggerManager_html"><div class="ttname"><a href="classCGovernanceTriggerManager.html">CGovernanceTriggerManager</a></div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8h_source.html#l00040">governance-classes.h:40</a></div></div>
<div class="ttc" id="governance_8h_html"><div class="ttname"><a href="governance_8h.html">governance.h</a></div></div>
<div class="ttc" id="classCBitcoinAddress_html"><div class="ttname"><a href="classCBitcoinAddress.html">CBitcoinAddress</a></div><div class="ttdef"><b>Definition:</b> <a href="base58_8h_source.html#l00104">base58.h:104</a></div></div>
<div class="ttc" id="classCGovernanceManager_html_ac3a8b7d5df15774d0281f0ac62715bdf"><div class="ttname"><a href="classCGovernanceManager.html#ac3a8b7d5df15774d0281f0ac62715bdf">CGovernanceManager::FindGovernanceObject</a></div><div class="ttdeci">CGovernanceObject * FindGovernanceObject(const uint256 &amp;nHash)</div><div class="ttdef"><b>Definition:</b> <a href="governance_8cpp_source.html#l00559">governance.cpp:559</a></div></div>
<div class="ttc" id="classCSuperblock_html_a2cfb6cb1a4b692ed2caa022b2742443a"><div class="ttname"><a href="classCSuperblock.html#a2cfb6cb1a4b692ed2caa022b2742443a">CSuperblock::GetStatus</a></div><div class="ttdeci">int GetStatus()</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8h_source.html#l00165">governance-classes.h:165</a></div></div>
<div class="ttc" id="classCSuperblock_html_adb023edd669ee2fb77565026bcbe5f1d"><div class="ttname"><a href="classCSuperblock.html#adb023edd669ee2fb77565026bcbe5f1d">CSuperblock::GetGovernanceObject</a></div><div class="ttdeci">CGovernanceObject * GetGovernanceObject()</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8h_source.html#l00173">governance-classes.h:173</a></div></div>
<div class="ttc" id="governance-classes_8h_html_a282db9b3f41af7d42203c99ac4908155"><div class="ttname"><a href="governance-classes_8h.html#a282db9b3f41af7d42203c99ac4908155">SplitBy</a></div><div class="ttdeci">std::vector&lt; std::string &gt; SplitBy(std::string strCommand, std::string strDelimit)</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8cpp_source.html#l00023">governance-classes.cpp:23</a></div></div>
<div class="ttc" id="classCSuperblockManager_html_ab3cd100e70341446572ed7fafbea0538"><div class="ttname"><a href="classCSuperblockManager.html#ab3cd100e70341446572ed7fafbea0538">CSuperblockManager::IsSuperblockTriggered</a></div><div class="ttdeci">static bool IsSuperblockTriggered(int nBlockHeight)</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8cpp_source.html#l00281">governance-classes.cpp:281</a></div></div>
<div class="ttc" id="classCSuperblock_html_a04033431f0c7825e2328f0841a6ee254"><div class="ttname"><a href="classCSuperblock.html#a04033431f0c7825e2328f0841a6ee254">CSuperblock::GetBlockStart</a></div><div class="ttdeci">int GetBlockStart()</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8h_source.html#l00180">governance-classes.h:180</a></div></div>
<div class="ttc" id="classCGovernanceManager_html"><div class="ttname"><a href="classCGovernanceManager.html">CGovernanceManager</a></div><div class="ttdef"><b>Definition:</b> <a href="governance_8h_source.html#l00147">governance.h:147</a></div></div>
<div class="ttc" id="classCSuperblock_html_a33a5b1f41d0acc015c6860eba8689c70"><div class="ttname"><a href="classCSuperblock.html#a33a5b1f41d0acc015c6860eba8689c70">CSuperblock::IsValid</a></div><div class="ttdeci">bool IsValid(const CTransaction &amp;txNew, int nBlockHeight, CAmount blockReward)</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8cpp_source.html#l00641">governance-classes.cpp:641</a></div></div>
<div class="ttc" id="classCSuperblock_html_a62ee258ee678daec84900f95776fed6f"><div class="ttname"><a href="classCSuperblock.html#a62ee258ee678daec84900f95776fed6f">CSuperblock::CSuperblock</a></div><div class="ttdeci">CSuperblock()</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8cpp_source.html#l00465">governance-classes.cpp:465</a></div></div>
<div class="ttc" id="classCGovernancePayment_html_a36051385e67e175b7966b82696f72373"><div class="ttname"><a href="classCGovernancePayment.html#a36051385e67e175b7966b82696f72373">CGovernancePayment::CGovernancePayment</a></div><div class="ttdeci">CGovernancePayment()</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8h_source.html#l00095">governance-classes.h:95</a></div></div>
<div class="ttc" id="classCSuperblock_html_a7f6b2c5302fc9509451fc2f44045f896"><div class="ttname"><a href="classCSuperblock.html#a7f6b2c5302fc9509451fc2f44045f896">CSuperblock::GetPaymentsTotalAmount</a></div><div class="ttdeci">CAmount GetPaymentsTotalAmount()</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8cpp_source.html#l00623">governance-classes.cpp:623</a></div></div>
<div class="ttc" id="classCGovernanceTriggerManager_html_a1a6f4fb9424be630b6c9bcdeb760f606"><div class="ttname"><a href="classCGovernanceTriggerManager.html#a1a6f4fb9424be630b6c9bcdeb760f606">CGovernanceTriggerManager::GetActiveTriggers</a></div><div class="ttdeci">std::vector&lt; CSuperblock_sptr &gt; GetActiveTriggers()</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8cpp_source.html#l00250">governance-classes.cpp:250</a></div></div>
<div class="ttc" id="classCSuperblock_html_a26c417c199bc16068ad3fc49a216c397"><div class="ttname"><a href="classCSuperblock.html#a26c417c199bc16068ad3fc49a216c397">CSuperblock::GetPayment</a></div><div class="ttdeci">bool GetPayment(int nPaymentIndex, CGovernancePayment &amp;paymentRet)</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8cpp_source.html#l00613">governance-classes.cpp:613</a></div></div>
<div class="ttc" id="classCBase58Data_html_a7dc91af403ca02694b3247b15604e220"><div class="ttname"><a href="classCBase58Data.html#a7dc91af403ca02694b3247b15604e220">CBase58Data::ToString</a></div><div class="ttdeci">std::string ToString() const</div><div class="ttdef"><b>Definition:</b> <a href="base58_8cpp_source.html#l00193">base58.cpp:193</a></div></div>
<div class="ttc" id="classCSuperblockManager_html"><div class="ttname"><a href="classCSuperblockManager.html">CSuperblockManager</a></div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8h_source.html#l00066">governance-classes.h:66</a></div></div>
<div class="ttc" id="classCGovernancePayment_html_aef5866ad766328aa36ad20e020c454f1"><div class="ttname"><a href="classCGovernancePayment.html#aef5866ad766328aa36ad20e020c454f1">CGovernancePayment::IsValid</a></div><div class="ttdeci">bool IsValid()</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8h_source.html#l00125">governance-classes.h:125</a></div></div>
<div class="ttc" id="classCSuperblockManager_html_a9cf93e0091a14d61c7a2aed3f7d1b4b9"><div class="ttname"><a href="classCSuperblockManager.html#a9cf93e0091a14d61c7a2aed3f7d1b4b9">CSuperblockManager::IsValid</a></div><div class="ttdeci">static bool IsValid(const CTransaction &amp;txNew, int nBlockHeight, CAmount blockReward)</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8cpp_source.html#l00451">governance-classes.cpp:451</a></div></div>
<div class="ttc" id="amount_8h_html_a4eaf3a5239714d8c45b851527f7cb564"><div class="ttname"><a href="amount_8h.html#a4eaf3a5239714d8c45b851527f7cb564">CAmount</a></div><div class="ttdeci">int64_t CAmount</div><div class="ttdef"><b>Definition:</b> <a href="amount_8h_source.html#l00014">amount.h:14</a></div></div>
<div class="ttc" id="sync_8h_html_acd61d0cb3b49f367728193720014aed0"><div class="ttname"><a href="sync_8h.html#acd61d0cb3b49f367728193720014aed0">AssertLockHeld</a></div><div class="ttdeci">#define AssertLockHeld(cs)</div><div class="ttdef"><b>Definition:</b> <a href="sync_8h_source.html#l00096">sync.h:96</a></div></div>
<div class="ttc" id="base58_8h_html"><div class="ttname"><a href="base58_8h.html">base58.h</a></div></div>
<div class="ttc" id="classCGovernanceTriggerManager_html_a9861e244018e012506e042688977cd64"><div class="ttname"><a href="classCGovernanceTriggerManager.html#a9861e244018e012506e042688977cd64">CGovernanceTriggerManager::CGovernanceTriggerManager</a></div><div class="ttdeci">CGovernanceTriggerManager()</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8h_source.html#l00057">governance-classes.h:57</a></div></div>
<div class="ttc" id="util_8h_html_afc02c0a4258fedfb316be612bb659ba8"><div class="ttname"><a href="util_8h.html#afc02c0a4258fedfb316be612bb659ba8">LogPrintf</a></div><div class="ttdeci">#define LogPrintf(...)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00098">util.h:98</a></div></div>
<div class="ttc" id="classCSuperblock_html_a43b84ce73104e8014ffd7e4259616d89"><div class="ttname"><a href="classCSuperblock.html#a43b84ce73104e8014ffd7e4259616d89">CSuperblock::CountPayments</a></div><div class="ttdeci">int CountPayments()</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8h_source.html#l00202">governance-classes.h:202</a></div></div>
<div class="ttc" id="classCSuperblock_html_a5367c5d75eee786ef0668a9d3d9302cf"><div class="ttname"><a href="classCSuperblock.html#a5367c5d75eee786ef0668a9d3d9302cf">CSuperblock::SetExecuted</a></div><div class="ttdeci">void SetExecuted()</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8h_source.html#l00171">governance-classes.h:171</a></div></div>
<div class="ttc" id="classCSuperblockManager_html_a63797d183aa95788afc1a973febc7589"><div class="ttname"><a href="classCSuperblockManager.html#a63797d183aa95788afc1a973febc7589">CSuperblockManager::GetBestSuperblock</a></div><div class="ttdeci">static bool GetBestSuperblock(CSuperblock_sptr &amp;pSuperblockRet, int nBlockHeight)</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8cpp_source.html#l00346">governance-classes.cpp:346</a></div></div>
<div class="ttc" id="classCTransaction_html"><div class="ttname"><a href="classCTransaction.html">CTransaction</a></div><div class="ttdef"><b>Definition:</b> <a href="transaction_8h_source.html#l00210">transaction.h:210</a></div></div>
<div class="ttc" id="classCGovernanceTriggerManager_html_a65625b0c782f458795a125cc83b16408"><div class="ttname"><a href="classCGovernanceTriggerManager.html#a65625b0c782f458795a125cc83b16408">CGovernanceTriggerManager::trigger_m_t</a></div><div class="ttdeci">std::map&lt; uint256, CSuperblock_sptr &gt; trigger_m_t</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8h_source.html#l00046">governance-classes.h:46</a></div></div>
<div class="ttc" id="governance-classes_8h_html_a283d8ce829af2744f7331cff54c56c69"><div class="ttname"><a href="governance-classes_8h.html#a283d8ce829af2744f7331cff54c56c69">triggerman</a></div><div class="ttdeci">CGovernanceTriggerManager triggerman</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8cpp_source.html#l00019">governance-classes.cpp:19</a></div></div>
<div class="ttc" id="util_8h_html"><div class="ttname"><a href="util_8h.html">util.h</a></div></div>
<div class="ttc" id="classCSuperblock_html_a711fcd3a0de5a50ce4389d2003ac71fc"><div class="ttname"><a href="classCSuperblock.html#a711fcd3a0de5a50ce4389d2003ac71fc">CSuperblock::nStatus</a></div><div class="ttdeci">int nStatus</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8h_source.html#l00152">governance-classes.h:152</a></div></div>
<div class="ttc" id="classCGovernancePayment_html_a330326a83a4c8b3eb87dfee38cc897f9"><div class="ttname"><a href="classCGovernancePayment.html#a330326a83a4c8b3eb87dfee38cc897f9">CGovernancePayment::CGovernancePayment</a></div><div class="ttdeci">CGovernancePayment(CBitcoinAddress addrIn, CAmount nAmountIn)</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8h_source.html#l00101">governance-classes.h:101</a></div></div>
<div class="ttc" id="standard_8cpp_html_ae40f28d3b46c21033f6ee1f1200d0321"><div class="ttname"><a href="standard_8cpp.html#ae40f28d3b46c21033f6ee1f1200d0321">GetScriptForDestination</a></div><div class="ttdeci">CScript GetScriptForDestination(const CTxDestination &amp;dest)</div><div class="ttdef"><b>Definition:</b> <a href="standard_8cpp_source.html#l00262">standard.cpp:262</a></div></div>
<div class="ttc" id="classCSuperblock_html_ac63b6b9d2f0a142196974822f3496cbf"><div class="ttname"><a href="classCSuperblock.html#ac63b6b9d2f0a142196974822f3496cbf">CSuperblock::GetPaymentsLimit</a></div><div class="ttdeci">static CAmount GetPaymentsLimit(int nBlockHeight)</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8cpp_source.html#l00527">governance-classes.cpp:527</a></div></div>
<div class="ttc" id="governance-object_8h_html_ae4cb3bc21d746789dd6e6c42b2bdb8b3"><div class="ttname"><a href="governance-object_8h.html#ae4cb3bc21d746789dd6e6c42b2bdb8b3">SEEN_OBJECT_EXECUTED</a></div><div class="ttdeci">static const int SEEN_OBJECT_EXECUTED</div><div class="ttdef"><b>Definition:</b> <a href="governance-object_8h_source.html#l00052">governance-object.h:52</a></div></div>
<div class="ttc" id="classCGovernanceObject_html"><div class="ttname"><a href="classCGovernanceObject.html">CGovernanceObject</a></div><div class="ttdef"><b>Definition:</b> <a href="drafted_2governance-classes_8h_source.html#l00113">governance-classes.h:113</a></div></div>
<div class="ttc" id="classCSuperblock_html_ae133c9d8d10dcb8c605253ed9bc0db4b"><div class="ttname"><a href="classCSuperblock.html#ae133c9d8d10dcb8c605253ed9bc0db4b">CSuperblock::ParsePaymentSchedule</a></div><div class="ttdeci">void ParsePaymentSchedule(std::string &amp;strPaymentAddresses, std::string &amp;strPaymentAmounts)</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8cpp_source.html#l00545">governance-classes.cpp:545</a></div></div>
<div class="ttc" id="classCGovernanceTriggerManager_html_ab6f89dc2e101166340268d259c7835bc"><div class="ttname"><a href="classCGovernanceTriggerManager.html#ab6f89dc2e101166340268d259c7835bc">CGovernanceTriggerManager::trigger_m_cit</a></div><div class="ttdeci">trigger_m_t::const_iterator trigger_m_cit</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8h_source.html#l00048">governance-classes.h:48</a></div></div>
<div class="ttc" id="classuint256_html"><div class="ttname"><a href="classuint256.html">uint256</a></div><div class="ttdef"><b>Definition:</b> <a href="uint256_8h_source.html#l00114">uint256.h:114</a></div></div>
<div class="ttc" id="classCBitcoinAddress_html_a1e44de10dfc84d1fd2e15150f1e22b8e"><div class="ttname"><a href="classCBitcoinAddress.html#a1e44de10dfc84d1fd2e15150f1e22b8e">CBitcoinAddress::Get</a></div><div class="ttdeci">CTxDestination Get() const</div><div class="ttdef"><b>Definition:</b> <a href="base58_8cpp_source.html#l00260">base58.cpp:260</a></div></div>
<div class="ttc" id="classCSuperblock_html_ac8bb26c9943d1f999361d86112b929ff"><div class="ttname"><a href="classCSuperblock.html#ac8bb26c9943d1f999361d86112b929ff">CSuperblock::nEpochStart</a></div><div class="ttdeci">int nEpochStart</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8h_source.html#l00151">governance-classes.h:151</a></div></div>
<div class="ttc" id="classCGovernanceTriggerManager_html_a1aa7064c5b9dbe9bdcba5cb91a5be26a"><div class="ttname"><a href="classCGovernanceTriggerManager.html#a1aa7064c5b9dbe9bdcba5cb91a5be26a">CGovernanceTriggerManager::AddNewTrigger</a></div><div class="ttdeci">bool AddNewTrigger(uint256 nHash)</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8cpp_source.html#l00104">governance-classes.cpp:104</a></div></div>
<div class="ttc" id="classCScript_html"><div class="ttname"><a href="classCScript.html">CScript</a></div><div class="ttdef"><b>Definition:</b> <a href="script_8h_source.html#l00373">script.h:373</a></div></div>
<div class="ttc" id="governance-classes_8h_html_a4b7bb88856db394da1de72b182be6449"><div class="ttname"><a href="governance-classes_8h.html#a4b7bb88856db394da1de72b182be6449">TRIGGER_UNKNOWN</a></div><div class="ttdeci">static const int TRIGGER_UNKNOWN</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8h_source.html#l00022">governance-classes.h:22</a></div></div>
<div class="ttc" id="classCGovernancePayment_html"><div class="ttname"><a href="classCGovernancePayment.html">CGovernancePayment</a></div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8h_source.html#l00086">governance-classes.h:86</a></div></div>
<div class="ttc" id="governance-classes_8h_html_afc3cae4112d81ef002d7de1a86138b55"><div class="ttname"><a href="governance-classes_8h.html#afc3cae4112d81ef002d7de1a86138b55">TRIGGER_SUPERBLOCK</a></div><div class="ttdeci">static const int TRIGGER_SUPERBLOCK</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8h_source.html#l00023">governance-classes.h:23</a></div></div>
<div class="ttc" id="governance_8cpp_html_a45f086f57868174ccf2cee5e7d968d8f"><div class="ttname"><a href="governance_8cpp.html#a45f086f57868174ccf2cee5e7d968d8f">governance</a></div><div class="ttdeci">CGovernanceManager governance</div><div class="ttdef"><b>Definition:</b> <a href="governance_8cpp_source.html#l00017">governance.cpp:17</a></div></div>
<div class="ttc" id="key_8h_html"><div class="ttname"><a href="key_8h.html">key.h</a></div></div>
<div class="ttc" id="classCSuperblock_html_ae470b3d259d870d1e1dee70e60e5ce52"><div class="ttname"><a href="classCSuperblock.html#ae470b3d259d870d1e1dee70e60e5ce52">CSuperblock::vecPayments</a></div><div class="ttdeci">std::vector&lt; CGovernancePayment &gt; vecPayments</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8h_source.html#l00153">governance-classes.h:153</a></div></div>
<div class="ttc" id="governance-classes_8h_html_a815f4af542bdb7f9ece38f4c62a97ed3"><div class="ttname"><a href="governance-classes_8h.html#a815f4af542bdb7f9ece38f4c62a97ed3">CSuperblock_sptr</a></div><div class="ttdeci">boost::shared_ptr&lt; CSuperblock &gt; CSuperblock_sptr</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8h_source.html#l00025">governance-classes.h:25</a></div></div>
<div class="ttc" id="classCSuperblock_html"><div class="ttname"><a href="classCSuperblock.html">CSuperblock</a></div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8h_source.html#l00146">governance-classes.h:146</a></div></div>
<div class="ttc" id="classCSuperblock_html_ac3eebc3d8dc89ebe15864e47901d8d9c"><div class="ttname"><a href="classCSuperblock.html#ac3eebc3d8dc89ebe15864e47901d8d9c">CSuperblock::IsValidBlockHeight</a></div><div class="ttdeci">static bool IsValidBlockHeight(int nBlockHeight)</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8cpp_source.html#l00520">governance-classes.cpp:520</a></div></div>
<div class="ttc" id="classCGovernanceTriggerManager_html_a6d9fb12e582015b7aeb034716ba0bab8"><div class="ttname"><a href="classCGovernanceTriggerManager.html#a6d9fb12e582015b7aeb034716ba0bab8">CGovernanceTriggerManager::trigger_m_it</a></div><div class="ttdeci">trigger_m_t::iterator trigger_m_it</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8h_source.html#l00047">governance-classes.h:47</a></div></div>
<div class="ttc" id="classCGovernanceManager_html_a5ece49e0a2bffdfeafe4b90630385b67"><div class="ttname"><a href="classCGovernanceManager.html#a5ece49e0a2bffdfeafe4b90630385b67">CGovernanceManager::cs</a></div><div class="ttdeci">CCriticalSection cs</div><div class="ttdef"><b>Definition:</b> <a href="governance_8h_source.html#l00289">governance.h:289</a></div></div>
<div class="ttc" id="classCSuperblock_html_ad6e41ffceef8dd08e7582197e0df0cdd"><div class="ttname"><a href="classCSuperblock.html#ad6e41ffceef8dd08e7582197e0df0cdd">CSuperblock::nGovObjHash</a></div><div class="ttdeci">uint256 nGovObjHash</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8h_source.html#l00149">governance-classes.h:149</a></div></div>
<div class="ttc" id="classCSuperblockManager_html_aba3caed2c1df78b79ef1e2f37c76f400"><div class="ttname"><a href="classCSuperblockManager.html#aba3caed2c1df78b79ef1e2f37c76f400">CSuperblockManager::CreateSuperblock</a></div><div class="ttdeci">static void CreateSuperblock(CMutableTransaction &amp;txNewRet, int nBlockHeight, std::vector&lt; CTxOut &gt; &amp;voutSuperblockRet)</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8cpp_source.html#l00394">governance-classes.cpp:394</a></div></div>
<div class="ttc" id="standard_8h_html"><div class="ttname"><a href="standard_8h.html">standard.h</a></div></div>
<div class="ttc" id="classCGovernancePayment_html_a6b74f77fdabba9b0a0908ffeb8e24fec"><div class="ttname"><a href="classCGovernancePayment.html#a6b74f77fdabba9b0a0908ffeb8e24fec">CGovernancePayment::script</a></div><div class="ttdeci">CScript script</div><div class="ttdef"><b>Definition:</b> <a href="governance-classes_8h_source.html#l00092">governance-classes.h:92</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_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="governance-classes_8h.html">governance-classes.h</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>