mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-21 11:35:53 +00:00
389 lines
68 KiB
HTML
389 lines
68 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.17"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>rippled: STValidation.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="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="projectalign" style="padding-left: 0.5em;">
|
|
<div id="projectname">rippled
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.8.17 -->
|
|
<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>
|
|
<!-- 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 id="nav-path" class="navpath">
|
|
<ul>
|
|
<li class="navelem"><a class="el" href="dir_df9c78dcf3f59a33b12284f95992a64b.html">ripple</a></li><li class="navelem"><a class="el" href="dir_1e765e6a8d5970800a535eb2615ec474.html">protocol</a></li> </ul>
|
|
</div>
|
|
</div><!-- top -->
|
|
<div class="header">
|
|
<div class="headertitle">
|
|
<div class="title">STValidation.h</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//------------------------------------------------------------------------------</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"> This file is part of rippled: https://github.com/ripple/rippled</span></div>
|
|
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> Copyright (c) 2012, 2013 Ripple Labs Inc.</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"> Permission to use, copy, modify, and/or distribute this software for any</span></div>
|
|
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> purpose with or without fee is hereby granted, provided that the above</span></div>
|
|
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> copyright notice and this permission notice appear in all copies.</span></div>
|
|
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"></span> </div>
|
|
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES</span></div>
|
|
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF</span></div>
|
|
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR</span></div>
|
|
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> ANY SPECIAL , DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES</span></div>
|
|
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN</span></div>
|
|
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF</span></div>
|
|
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.</span></div>
|
|
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment">*/</span></div>
|
|
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">//==============================================================================</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="preprocessor">#ifndef RIPPLE_PROTOCOL_STVALIDATION_H_INCLUDED</span></div>
|
|
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#define RIPPLE_PROTOCOL_STVALIDATION_H_INCLUDED</span></div>
|
|
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>  </div>
|
|
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#include <ripple/basics/FeeUnits.h></span></div>
|
|
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#include <ripple/basics/Log.h></span></div>
|
|
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include <ripple/protocol/PublicKey.h></span></div>
|
|
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#include <ripple/protocol/STObject.h></span></div>
|
|
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#include <ripple/protocol/SecretKey.h></span></div>
|
|
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#include <<a class="codeRef" href="http://en.cppreference.com/w/cpp/header/cassert.html">cassert</a>></span></div>
|
|
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#include <<a class="codeRef" href="http://en.cppreference.com/w/cpp/header/cstdint.html">cstdint</a>></span></div>
|
|
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include <<a class="codeRef" href="http://en.cppreference.com/w/cpp/header/functional.html">functional</a>></span></div>
|
|
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include <<a class="codeRef" href="http://en.cppreference.com/w/cpp/header/memory.html">memory</a>></span></div>
|
|
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <<a class="codeRef" href="http://en.cppreference.com/w/cpp/header/optional.html">optional</a>></span></div>
|
|
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  </div>
|
|
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="keyword">namespace </span><a class="code" href="namespaceripple.html">ripple</a> {</div>
|
|
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  </div>
|
|
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">// Validation flags</span></div>
|
|
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  </div>
|
|
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">// This is a full (as opposed to a partial) validation</span></div>
|
|
<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="namespaceripple.html#ac8808889ac69393dbfc99e57187e8de8"> 39</a></span> constexpr <a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> <a class="code" href="namespaceripple.html#ac8808889ac69393dbfc99e57187e8de8">vfFullValidation</a> = 0x00000001;</div>
|
|
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  </div>
|
|
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">// The signature is fully canonical</span></div>
|
|
<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="namespaceripple.html#abedda589258487931711c4efea516376"> 42</a></span> constexpr <a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> <a class="code" href="namespaceripple.html#abedda589258487931711c4efea516376">vfFullyCanonicalSig</a> = 0x80000000;</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="classripple_1_1STValidation.html"> 44</a></span> <span class="keyword">class </span><a class="code" href="classripple_1_1STValidation.html">STValidation</a> final : <span class="keyword">public</span> <a class="code" href="classripple_1_1STObject.html">STObject</a>, <span class="keyword">public</span> <a class="code" href="classripple_1_1CountedObject.html">CountedObject</a><STValidation></div>
|
|
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> {</div>
|
|
<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="classripple_1_1STValidation.html#a02433013ff252904f1d57e495873409b"> 46</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classripple_1_1STValidation.html#a02433013ff252904f1d57e495873409b">mTrusted</a> = <span class="keyword">false</span>;</div>
|
|
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  </div>
|
|
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <span class="comment">// Determines the validity of the signature in this validation; unseated</span></div>
|
|
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="comment">// optional if we haven't yet checked it, a boolean otherwise.</span></div>
|
|
<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classripple_1_1STValidation.html#a2b834566e12309f92d12e7f11771ad82"> 50</a></span>  <span class="keyword">mutable</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional<bool></a> <a class="code" href="classripple_1_1STValidation.html#a2b834566e12309f92d12e7f11771ad82">valid_</a>;</div>
|
|
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  </div>
|
|
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <span class="comment">// The public key associated with the key used to sign this validation</span></div>
|
|
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="classripple_1_1STValidation.html#ae70ef60517236d6b0f56300a68f06b68"> 53</a></span>  <a class="code" href="classripple_1_1PublicKey.html">PublicKey</a> <span class="keyword">const</span> <a class="code" href="classripple_1_1STValidation.html#ae70ef60517236d6b0f56300a68f06b68">signingPubKey_</a>;</div>
|
|
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  </div>
|
|
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="comment">// The ID of the validator that issued this validation. For validators</span></div>
|
|
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="comment">// that use manifests this will be derived from the master public key.</span></div>
|
|
<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classripple_1_1STValidation.html#a948c3427a55c84828429f2c1c77abb9c"> 57</a></span>  <a class="code" href="classripple_1_1base__uint.html">NodeID</a> <span class="keyword">const</span> <a class="code" href="classripple_1_1STValidation.html#a948c3427a55c84828429f2c1c77abb9c">nodeID_</a>;</div>
|
|
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  </div>
|
|
<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="classripple_1_1STValidation.html#aa15dc30f67e497a1f114fe465b049b69"> 59</a></span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/time_point.html">NetClock::time_point</a> <a class="code" href="classripple_1_1STValidation.html#aa15dc30f67e497a1f114fe465b049b69">seenTime_</a> = {};</div>
|
|
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  </div>
|
|
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keyword">public</span>:</div>
|
|
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keyword">template</span> <<span class="keyword">class</span> LookupNodeID></div>
|
|
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <a class="code" href="classripple_1_1STValidation.html#a2c47685a67b798f6aafb2e4f14faf240">STValidation</a>(</div>
|
|
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <a class="code" href="classripple_1_1SerialIter.html">SerialIter</a>& sit,</div>
|
|
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  LookupNodeID&& lookupNodeID,</div>
|
|
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordtype">bool</span> checkSignature);</div>
|
|
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  </div>
|
|
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> F></div>
|
|
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <a class="code" href="classripple_1_1STValidation.html#a2c47685a67b798f6aafb2e4f14faf240">STValidation</a>(</div>
|
|
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/time_point.html">NetClock::time_point</a> signTime,</div>
|
|
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <a class="code" href="classripple_1_1PublicKey.html">PublicKey</a> <span class="keyword">const</span>& pk,</div>
|
|
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <a class="code" href="classripple_1_1SecretKey.html">SecretKey</a> <span class="keyword">const</span>& sk,</div>
|
|
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <a class="code" href="classripple_1_1base__uint.html">NodeID</a> <span class="keyword">const</span>& nodeID,</div>
|
|
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  F&& f);</div>
|
|
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  </div>
|
|
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="comment">// Hash of the validated ledger</span></div>
|
|
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <a class="code" href="classripple_1_1base__uint.html">uint256</a></div>
|
|
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <a class="code" href="classripple_1_1STValidation.html#abdf587b8dd5331ad1517f4e1969a8662">getLedgerHash</a>() <span class="keyword">const</span>;</div>
|
|
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  </div>
|
|
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="comment">// Hash of consensus transaction set used to generate ledger</span></div>
|
|
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <a class="code" href="classripple_1_1base__uint.html">uint256</a></div>
|
|
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <a class="code" href="classripple_1_1STValidation.html#a23a7944d7d642c1c0ce8dc1817672d4b">getConsensusHash</a>() <span class="keyword">const</span>;</div>
|
|
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  </div>
|
|
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/time_point.html">NetClock::time_point</a></div>
|
|
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <a class="code" href="classripple_1_1STValidation.html#aeeef4bccb0e2c4d98a84cb82e433ce90">getSignTime</a>() <span class="keyword">const</span>;</div>
|
|
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  </div>
|
|
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/time_point.html">NetClock::time_point</a></div>
|
|
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <a class="code" href="classripple_1_1STValidation.html#a3ef77d68fa4c619198ce70529d643b0d">getSeenTime</a>() const noexcept;</div>
|
|
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  </div>
|
|
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <a class="code" href="classripple_1_1PublicKey.html">PublicKey</a> const&</div>
|
|
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <a class="code" href="classripple_1_1STValidation.html#a1332084b8404976678c7b10aa90fd373">getSignerPublic</a>() const noexcept;</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>  <a class="code" href="classripple_1_1base__uint.html">NodeID</a> const&</div>
|
|
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <a class="code" href="classripple_1_1STValidation.html#a8ab98e39dcf307516d3fac9dc647cde4">getNodeID</a>() const noexcept;</div>
|
|
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  </div>
|
|
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keywordtype">bool</span></div>
|
|
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <a class="code" href="classripple_1_1STValidation.html#ad20750500ba56dcb7383ed963681148e">isValid</a>() const noexcept;</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>  <span class="keywordtype">bool</span></div>
|
|
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <a class="code" href="classripple_1_1STValidation.html#aa0911213ec5399168a171156b130ba7a">isFull</a>() const noexcept;</div>
|
|
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  </div>
|
|
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keywordtype">bool</span></div>
|
|
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <a class="code" href="classripple_1_1STValidation.html#a6b9786a473556f9d3730a17c09fa6c8f">isTrusted</a>() const noexcept;</div>
|
|
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  </div>
|
|
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <a class="code" href="classripple_1_1base__uint.html">uint256</a></div>
|
|
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <a class="code" href="classripple_1_1STValidation.html#ad564bbe1e66d71fbb6b3d90d23e85946">getSigningHash</a>() const;</div>
|
|
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  </div>
|
|
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keywordtype">void</span></div>
|
|
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <a class="code" href="classripple_1_1STValidation.html#aa74bbce4c07518d33fc25b60f841e22e">setTrusted</a>();</div>
|
|
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  </div>
|
|
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keywordtype">void</span></div>
|
|
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <a class="code" href="classripple_1_1STValidation.html#a153034dfe796ffd1b80a49a84bf79a14">setUntrusted</a>();</div>
|
|
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  </div>
|
|
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keywordtype">void</span></div>
|
|
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <a class="code" href="classripple_1_1STValidation.html#a51b5760becdd7961df71e2add6e1a9f2">setSeen</a>(<a class="code" href="classripple_1_1NetClock.html">NetClock</a>::time_point s);</div>
|
|
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  </div>
|
|
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector.html">Blob</a></div>
|
|
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <a class="code" href="classripple_1_1STValidation.html#a3ce9844ef8dc996ccd4091bb74136e98">getSerialized</a>() const;</div>
|
|
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  </div>
|
|
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector.html">Blob</a></div>
|
|
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <a class="code" href="classripple_1_1STValidation.html#ad6a6e4556b9cae5cbe91026f20541136">getSignature</a>() const;</div>
|
|
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  </div>
|
|
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> private:</div>
|
|
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  static <a class="code" href="classripple_1_1SOTemplate.html">SOTemplate</a> const&</div>
|
|
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <a class="code" href="classripple_1_1STValidation.html#a8aa71319344367e6f6b04bf9ae320749">validationFormat</a>();</div>
|
|
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  </div>
|
|
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <a class="code" href="classripple_1_1STBase.html">STBase</a>*</div>
|
|
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <a class="code" href="classripple_1_1STValidation.html#ab5eff466019cb7d0bdc5c6490f685a1f">copy</a>(<a class="code" href="namespacestd.html">std</a>::<span class="keywordtype">size_t</span> n, <span class="keywordtype">void</span>* buf) const override;</div>
|
|
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <a class="code" href="classripple_1_1STBase.html">STBase</a>*</div>
|
|
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <a class="code" href="classripple_1_1STValidation.html#ae2ad4368ffbab07c0ceae3d7aabf0bb7">move</a>(<a class="code" href="namespacestd.html">std</a>::<span class="keywordtype">size_t</span> n, <span class="keywordtype">void</span>* buf) override;</div>
|
|
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  </div>
|
|
<div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="classripple_1_1STValidation.html#a5e49bd8b743617d1af92ffed7ac6b665"> 153</a></span>  friend class detail::STVar;</div>
|
|
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> };</div>
|
|
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  </div>
|
|
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> template <class LookupNodeID></div>
|
|
<div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="classripple_1_1STValidation.html#a2c47685a67b798f6aafb2e4f14faf240"> 157</a></span> <a class="code" href="classripple_1_1STValidation.html">STValidation</a>::<a class="code" href="classripple_1_1STValidation.html">STValidation</a>(</div>
|
|
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <a class="code" href="classripple_1_1SerialIter.html">SerialIter</a>& sit,</div>
|
|
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  LookupNodeID&& lookupNodeID,</div>
|
|
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="keywordtype">bool</span> checkSignature)</div>
|
|
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  : <a class="code" href="classripple_1_1STObject.html">STObject</a>(<a class="code" href="classripple_1_1STValidation.html#a8aa71319344367e6f6b04bf9ae320749">validationFormat</a>(), sit, <a class="code" href="namespaceripple.html#a75e201e47a68c45fb0bb79ee330a1386">sfValidation</a>)</div>
|
|
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  , <a class="code" href="classripple_1_1STValidation.html#ae70ef60517236d6b0f56300a68f06b68">signingPubKey_</a>([this]() {</div>
|
|
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <span class="keyword">auto</span> <span class="keyword">const</span> spk = <a class="code" href="classripple_1_1STObject.html#a09be758ae97b9e9e392aa2606cc0559f">getFieldVL</a>(<a class="code" href="namespaceripple.html#a590913040d5c9a68f3bf1d4da20311ad">sfSigningPubKey</a>);</div>
|
|
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  </div>
|
|
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceripple.html#adc1f8a2c9b47d7c08e671ad3473e9d3a">publicKeyType</a>(<a class="code" href="namespaceripple.html#aabe37451093c21757855542d68fba3ce">makeSlice</a>(spk)) != <a class="code" href="namespaceripple.html#a9de744cfdefe1132969eb982e57e4ddea82c2b7829b8129e5a2d53665ba4b4757">KeyType::secp256k1</a>)</div>
|
|
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  Throw<std::runtime_error>(<span class="stringliteral">"Invalid public key in validation"</span>);</div>
|
|
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  </div>
|
|
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <span class="keywordflow">return</span> <a class="code" href="classripple_1_1PublicKey.html">PublicKey</a>{<a class="code" href="namespaceripple.html#aabe37451093c21757855542d68fba3ce">makeSlice</a>(spk)};</div>
|
|
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  }())</div>
|
|
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  , <a class="code" href="classripple_1_1STValidation.html#a948c3427a55c84828429f2c1c77abb9c">nodeID_</a>(lookupNodeID(<a class="code" href="classripple_1_1STValidation.html#ae70ef60517236d6b0f56300a68f06b68">signingPubKey_</a>))</div>
|
|
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> {</div>
|
|
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="keywordflow">if</span> (checkSignature && !<a class="code" href="classripple_1_1STValidation.html#ad20750500ba56dcb7383ed963681148e">isValid</a>())</div>
|
|
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  {</div>
|
|
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  JLOG(<a class="code" href="namespaceripple.html#a94e13759bd026c8ac305482e17f05adb">debugLog</a>().error()) << <span class="stringliteral">"Invalid signature in validation: "</span></div>
|
|
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  << <a class="code" href="classripple_1_1STObject.html#acc2ceb95cdb8fc8b2520aeceabf17553">getJson</a>(<a class="code" href="namespaceripple.html#a169967ff418b80729654b6d45ade8711a334c4a4c42fdb79d7ebc3e73b517e6f8">JsonOptions::none</a>);</div>
|
|
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  Throw<std::runtime_error>(<span class="stringliteral">"Invalid signature in validation"</span>);</div>
|
|
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  }</div>
|
|
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  </div>
|
|
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  assert(<a class="code" href="classripple_1_1STValidation.html#a948c3427a55c84828429f2c1c77abb9c">nodeID_</a>.<a class="code" href="classripple_1_1base__uint.html#ad2bffc75e554b89befbb9388e07392c0">isNonZero</a>());</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="l00190"></a><span class="lineno"> 190</span> <span class="keyword">template</span> <<span class="keyword">typename</span> F></div>
|
|
<div class="line"><a name="l00191"></a><span class="lineno"><a class="line" href="classripple_1_1STValidation.html#a3c378199969a1776d68565d0083355fa"> 191</a></span> <a class="code" href="classripple_1_1STValidation.html#a2c47685a67b798f6aafb2e4f14faf240">STValidation::STValidation</a>(</div>
|
|
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/time_point.html">NetClock::time_point</a> signTime,</div>
|
|
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <a class="code" href="classripple_1_1PublicKey.html">PublicKey</a> <span class="keyword">const</span>& pk,</div>
|
|
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <a class="code" href="classripple_1_1SecretKey.html">SecretKey</a> <span class="keyword">const</span>& sk,</div>
|
|
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <a class="code" href="classripple_1_1base__uint.html">NodeID</a> <span class="keyword">const</span>& nodeID,</div>
|
|
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  F&& f)</div>
|
|
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  : <a class="code" href="classripple_1_1STObject.html">STObject</a>(<a class="code" href="classripple_1_1STValidation.html#a8aa71319344367e6f6b04bf9ae320749">validationFormat</a>(), <a class="code" href="namespaceripple.html#a75e201e47a68c45fb0bb79ee330a1386">sfValidation</a>)</div>
|
|
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  , <a class="code" href="classripple_1_1STValidation.html#ae70ef60517236d6b0f56300a68f06b68">signingPubKey_</a>(pk)</div>
|
|
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  , <a class="code" href="classripple_1_1STValidation.html#a948c3427a55c84828429f2c1c77abb9c">nodeID_</a>(nodeID)</div>
|
|
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  , <a class="code" href="classripple_1_1STValidation.html#aa15dc30f67e497a1f114fe465b049b69">seenTime_</a>(signTime)</div>
|
|
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> {</div>
|
|
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  assert(<a class="code" href="classripple_1_1STValidation.html#a948c3427a55c84828429f2c1c77abb9c">nodeID_</a>.<a class="code" href="classripple_1_1base__uint.html#ad2bffc75e554b89befbb9388e07392c0">isNonZero</a>());</div>
|
|
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  </div>
|
|
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <span class="comment">// First, set our own public key:</span></div>
|
|
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceripple.html#adc1f8a2c9b47d7c08e671ad3473e9d3a">publicKeyType</a>(pk) != <a class="code" href="namespaceripple.html#a9de744cfdefe1132969eb982e57e4ddea82c2b7829b8129e5a2d53665ba4b4757">KeyType::secp256k1</a>)</div>
|
|
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <a class="code" href="namespaceripple.html#aefd2f77338ce3c9a2fffc4f0b289b483">LogicError</a>(<span class="stringliteral">"We can only use secp256k1 keys for signing validations"</span>);</div>
|
|
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  </div>
|
|
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <a class="code" href="classripple_1_1STObject.html#af1235d307d6f464392a583d0dfaa3cc4">setFieldVL</a>(<a class="code" href="namespaceripple.html#a590913040d5c9a68f3bf1d4da20311ad">sfSigningPubKey</a>, pk.<a class="code" href="classripple_1_1PublicKey.html#ae0bcc607176a440ec63a86bae5767036">slice</a>());</div>
|
|
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <a class="code" href="classripple_1_1STObject.html#acd1aac04649d694a3524faf2ddebf843">setFieldU32</a>(<a class="code" href="namespaceripple.html#a1323d21bedd138bb1a2c17a5ac0ec500">sfSigningTime</a>, signTime.<a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/time_point/time_since_epoch.html">time_since_epoch</a>().count());</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>  <span class="comment">// Perform additional initialization</span></div>
|
|
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  f(*<span class="keyword">this</span>);</div>
|
|
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  </div>
|
|
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <span class="comment">// Finally, sign the validation and mark it as trusted:</span></div>
|
|
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <a class="code" href="classripple_1_1STObject.html#a4fa764a09a6e972491891d939eb9d2f2">setFlag</a>(<a class="code" href="namespaceripple.html#abedda589258487931711c4efea516376">vfFullyCanonicalSig</a>);</div>
|
|
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <a class="code" href="classripple_1_1STObject.html#af1235d307d6f464392a583d0dfaa3cc4">setFieldVL</a>(<a class="code" href="namespaceripple.html#a61932ff70203e248b70ca3b215667435">sfSignature</a>, <a class="code" href="namespaceripple.html#a0429dc3d934c2cebe43fb8a723cf9eb3">signDigest</a>(pk, sk, <a class="code" href="classripple_1_1STValidation.html#ad564bbe1e66d71fbb6b3d90d23e85946">getSigningHash</a>()));</div>
|
|
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <a class="code" href="classripple_1_1STValidation.html#aa74bbce4c07518d33fc25b60f841e22e">setTrusted</a>();</div>
|
|
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  </div>
|
|
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <span class="comment">// Check to ensure that all required fields are present.</span></div>
|
|
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> <span class="keyword">const</span>& e : <a class="code" href="classripple_1_1STValidation.html#a8aa71319344367e6f6b04bf9ae320749">validationFormat</a>())</div>
|
|
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  {</div>
|
|
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="keywordflow">if</span> (e.style() == <a class="code" href="namespaceripple.html#ad905dc8b70717f4492bebb6b7e189042a515d1dfe6cbb412fbbcece5bb23a0763">soeREQUIRED</a> && !<a class="code" href="classripple_1_1STObject.html#aaf5d617701ac3afc4ad6a13862459692">isFieldPresent</a>(e.sField()))</div>
|
|
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <a class="code" href="namespaceripple.html#aefd2f77338ce3c9a2fffc4f0b289b483">LogicError</a>(</div>
|
|
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="stringliteral">"Required field '"</span> + e.sField().getName() +</div>
|
|
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <span class="stringliteral">"' missing from validation."</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"> 227</span>  </div>
|
|
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <span class="comment">// We just signed this, so it should be valid.</span></div>
|
|
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <a class="code" href="classripple_1_1STValidation.html#a2b834566e12309f92d12e7f11771ad82">valid_</a> = <span class="keyword">true</span>;</div>
|
|
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> }</div>
|
|
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  </div>
|
|
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="keyword">inline</span> <a class="code" href="classripple_1_1PublicKey.html">PublicKey</a> <span class="keyword">const</span>&</div>
|
|
<div class="line"><a name="l00233"></a><span class="lineno"><a class="line" href="classripple_1_1STValidation.html#a1332084b8404976678c7b10aa90fd373"> 233</a></span> <a class="code" href="classripple_1_1STValidation.html#a1332084b8404976678c7b10aa90fd373">STValidation::getSignerPublic</a>() const noexcept</div>
|
|
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> {</div>
|
|
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <span class="keywordflow">return</span> <a class="code" href="classripple_1_1STValidation.html#ae70ef60517236d6b0f56300a68f06b68">signingPubKey_</a>;</div>
|
|
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> }</div>
|
|
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  </div>
|
|
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keyword">inline</span> <a class="code" href="classripple_1_1base__uint.html">NodeID</a> <span class="keyword">const</span>&</div>
|
|
<div class="line"><a name="l00239"></a><span class="lineno"><a class="line" href="classripple_1_1STValidation.html#a8ab98e39dcf307516d3fac9dc647cde4"> 239</a></span> <a class="code" href="classripple_1_1STValidation.html#a8ab98e39dcf307516d3fac9dc647cde4">STValidation::getNodeID</a>() const noexcept</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="keywordflow">return</span> <a class="code" href="classripple_1_1STValidation.html#a948c3427a55c84828429f2c1c77abb9c">nodeID_</a>;</div>
|
|
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> }</div>
|
|
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  </div>
|
|
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span></div>
|
|
<div class="line"><a name="l00245"></a><span class="lineno"><a class="line" href="classripple_1_1STValidation.html#a6b9786a473556f9d3730a17c09fa6c8f"> 245</a></span> <a class="code" href="classripple_1_1STValidation.html#a6b9786a473556f9d3730a17c09fa6c8f">STValidation::isTrusted</a>() const noexcept</div>
|
|
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> {</div>
|
|
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keywordflow">return</span> <a class="code" href="classripple_1_1STValidation.html#a02433013ff252904f1d57e495873409b">mTrusted</a>;</div>
|
|
<div class="line"><a name="l00248"></a><span class="lineno"> 248</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="keyword">inline</span> <span class="keywordtype">void</span></div>
|
|
<div class="line"><a name="l00251"></a><span class="lineno"><a class="line" href="classripple_1_1STValidation.html#aa74bbce4c07518d33fc25b60f841e22e"> 251</a></span> <a class="code" href="classripple_1_1STValidation.html#aa74bbce4c07518d33fc25b60f841e22e">STValidation::setTrusted</a>()</div>
|
|
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> {</div>
|
|
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <a class="code" href="classripple_1_1STValidation.html#a02433013ff252904f1d57e495873409b">mTrusted</a> = <span class="keyword">true</span>;</div>
|
|
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> }</div>
|
|
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  </div>
|
|
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
|
|
<div class="line"><a name="l00257"></a><span class="lineno"><a class="line" href="classripple_1_1STValidation.html#a153034dfe796ffd1b80a49a84bf79a14"> 257</a></span> <a class="code" href="classripple_1_1STValidation.html#a153034dfe796ffd1b80a49a84bf79a14">STValidation::setUntrusted</a>()</div>
|
|
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> {</div>
|
|
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <a class="code" href="classripple_1_1STValidation.html#a02433013ff252904f1d57e495873409b">mTrusted</a> = <span class="keyword">false</span>;</div>
|
|
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> }</div>
|
|
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  </div>
|
|
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
|
|
<div class="line"><a name="l00263"></a><span class="lineno"><a class="line" href="classripple_1_1STValidation.html#a51b5760becdd7961df71e2add6e1a9f2"> 263</a></span> <a class="code" href="classripple_1_1STValidation.html#a51b5760becdd7961df71e2add6e1a9f2">STValidation::setSeen</a>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/time_point.html">NetClock::time_point</a> s)</div>
|
|
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> {</div>
|
|
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <a class="code" href="classripple_1_1STValidation.html#aa15dc30f67e497a1f114fe465b049b69">seenTime_</a> = s;</div>
|
|
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> }</div>
|
|
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  </div>
|
|
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> } <span class="comment">// namespace ripple</span></div>
|
|
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  </div>
|
|
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="preprocessor">#endif</span></div>
|
|
</div><!-- fragment --></div><!-- contents -->
|
|
<div class="ttc" id="aclassripple_1_1STValidation_html_a948c3427a55c84828429f2c1c77abb9c"><div class="ttname"><a href="classripple_1_1STValidation.html#a948c3427a55c84828429f2c1c77abb9c">ripple::STValidation::nodeID_</a></div><div class="ttdeci">const NodeID nodeID_</div><div class="ttdef"><b>Definition:</b> <a href="STValidation_8h_source.html#l00057">STValidation.h:57</a></div></div>
|
|
<div class="ttc" id="anamespaceripple_html_aabe37451093c21757855542d68fba3ce"><div class="ttname"><a href="namespaceripple.html#aabe37451093c21757855542d68fba3ce">ripple::makeSlice</a></div><div class="ttdeci">std::enable_if_t< std::is_same< T, char >::value||std::is_same< T, unsigned char >::value, Slice > makeSlice(std::array< T, N > const &a)</div><div class="ttdef"><b>Definition:</b> <a href="Slice_8h_source.html#l00240">Slice.h:240</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1STValidation_html_a23a7944d7d642c1c0ce8dc1817672d4b"><div class="ttname"><a href="classripple_1_1STValidation.html#a23a7944d7d642c1c0ce8dc1817672d4b">ripple::STValidation::getConsensusHash</a></div><div class="ttdeci">uint256 getConsensusHash() const</div><div class="ttdef"><b>Definition:</b> <a href="STValidation_8cpp_source.html#l00083">STValidation.cpp:83</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1CountedObject_html"><div class="ttname"><a href="classripple_1_1CountedObject.html">ripple::CountedObject</a></div><div class="ttdoc">Tracks the number of instances of an object.</div><div class="ttdef"><b>Definition:</b> <a href="CountedObject_8h_source.html#l00124">CountedObject.h:124</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1base__uint_html_ad2bffc75e554b89befbb9388e07392c0"><div class="ttname"><a href="classripple_1_1base__uint.html#ad2bffc75e554b89befbb9388e07392c0">ripple::base_uint::isNonZero</a></div><div class="ttdeci">bool isNonZero() const</div><div class="ttdef"><b>Definition:</b> <a href="base__uint_8h_source.html#l00516">base_uint.h:516</a></div></div>
|
|
<div class="ttc" id="afunctional_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/functional.html">functional</a></div></div>
|
|
<div class="ttc" id="avector_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector< unsigned char ></a></div></div>
|
|
<div class="ttc" id="anamespaceripple_html_a590913040d5c9a68f3bf1d4da20311ad"><div class="ttname"><a href="namespaceripple.html#a590913040d5c9a68f3bf1d4da20311ad">ripple::sfSigningPubKey</a></div><div class="ttdeci">const SF_VL sfSigningPubKey</div></div>
|
|
<div class="ttc" id="aclassripple_1_1STValidation_html_abdf587b8dd5331ad1517f4e1969a8662"><div class="ttname"><a href="classripple_1_1STValidation.html#abdf587b8dd5331ad1517f4e1969a8662">ripple::STValidation::getLedgerHash</a></div><div class="ttdeci">uint256 getLedgerHash() const</div><div class="ttdef"><b>Definition:</b> <a href="STValidation_8cpp_source.html#l00077">STValidation.cpp:77</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1STValidation_html_ae70ef60517236d6b0f56300a68f06b68"><div class="ttname"><a href="classripple_1_1STValidation.html#ae70ef60517236d6b0f56300a68f06b68">ripple::STValidation::signingPubKey_</a></div><div class="ttdeci">const PublicKey signingPubKey_</div><div class="ttdef"><b>Definition:</b> <a href="STValidation_8h_source.html#l00053">STValidation.h:53</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1STValidation_html_a8ab98e39dcf307516d3fac9dc647cde4"><div class="ttname"><a href="classripple_1_1STValidation.html#a8ab98e39dcf307516d3fac9dc647cde4">ripple::STValidation::getNodeID</a></div><div class="ttdeci">NodeID const & getNodeID() const noexcept</div><div class="ttdef"><b>Definition:</b> <a href="STValidation_8h_source.html#l00239">STValidation.h:239</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1STValidation_html_a02433013ff252904f1d57e495873409b"><div class="ttname"><a href="classripple_1_1STValidation.html#a02433013ff252904f1d57e495873409b">ripple::STValidation::mTrusted</a></div><div class="ttdeci">bool mTrusted</div><div class="ttdef"><b>Definition:</b> <a href="STValidation_8h_source.html#l00046">STValidation.h:46</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1PublicKey_html_ae0bcc607176a440ec63a86bae5767036"><div class="ttname"><a href="classripple_1_1PublicKey.html#ae0bcc607176a440ec63a86bae5767036">ripple::PublicKey::slice</a></div><div class="ttdeci">Slice slice() const noexcept</div><div class="ttdef"><b>Definition:</b> <a href="PublicKey_8h_source.html#l00123">PublicKey.h:123</a></div></div>
|
|
<div class="ttc" id="anamespaceripple_html_ad905dc8b70717f4492bebb6b7e189042a515d1dfe6cbb412fbbcece5bb23a0763"><div class="ttname"><a href="namespaceripple.html#ad905dc8b70717f4492bebb6b7e189042a515d1dfe6cbb412fbbcece5bb23a0763">ripple::soeREQUIRED</a></div><div class="ttdeci">@ soeREQUIRED</div><div class="ttdef"><b>Definition:</b> <a href="SOTemplate_8h_source.html#l00035">SOTemplate.h:35</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1STValidation_html_ab5eff466019cb7d0bdc5c6490f685a1f"><div class="ttname"><a href="classripple_1_1STValidation.html#ab5eff466019cb7d0bdc5c6490f685a1f">ripple::STValidation::copy</a></div><div class="ttdeci">STBase * copy(std::size_t n, void *buf) const override</div><div class="ttdef"><b>Definition:</b> <a href="STValidation_8cpp_source.html#l00029">STValidation.cpp:29</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1STObject_html_af1235d307d6f464392a583d0dfaa3cc4"><div class="ttname"><a href="classripple_1_1STObject.html#af1235d307d6f464392a583d0dfaa3cc4">ripple::STObject::setFieldVL</a></div><div class="ttdeci">void setFieldVL(SField const &field, Blob const &)</div><div class="ttdef"><b>Definition:</b> <a href="STObject_8cpp_source.html#l00695">STObject.cpp:695</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1STObject_html_a09be758ae97b9e9e392aa2606cc0559f"><div class="ttname"><a href="classripple_1_1STObject.html#a09be758ae97b9e9e392aa2606cc0559f">ripple::STObject::getFieldVL</a></div><div class="ttdeci">Blob getFieldVL(SField const &field) const</div><div class="ttdef"><b>Definition:</b> <a href="STObject_8cpp_source.html#l00595">STObject.cpp:595</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1STValidation_html_a8aa71319344367e6f6b04bf9ae320749"><div class="ttname"><a href="classripple_1_1STValidation.html#a8aa71319344367e6f6b04bf9ae320749">ripple::STValidation::validationFormat</a></div><div class="ttdeci">static SOTemplate const & validationFormat()</div><div class="ttdef"><b>Definition:</b> <a href="STValidation_8cpp_source.html#l00041">STValidation.cpp:41</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1STValidation_html_ad6a6e4556b9cae5cbe91026f20541136"><div class="ttname"><a href="classripple_1_1STValidation.html#ad6a6e4556b9cae5cbe91026f20541136">ripple::STValidation::getSignature</a></div><div class="ttdeci">Blob getSignature() const</div><div class="ttdef"><b>Definition:</b> <a href="STValidation_8cpp_source.html#l00124">STValidation.cpp:124</a></div></div>
|
|
<div class="ttc" id="anamespaceripple_html_a94e13759bd026c8ac305482e17f05adb"><div class="ttname"><a href="namespaceripple.html#a94e13759bd026c8ac305482e17f05adb">ripple::debugLog</a></div><div class="ttdeci">beast::Journal debugLog()</div><div class="ttdoc">Returns a debug journal.</div><div class="ttdef"><b>Definition:</b> <a href="Log_8cpp_source.html#l00452">Log.cpp:452</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1STValidation_html_a6b9786a473556f9d3730a17c09fa6c8f"><div class="ttname"><a href="classripple_1_1STValidation.html#a6b9786a473556f9d3730a17c09fa6c8f">ripple::STValidation::isTrusted</a></div><div class="ttdeci">bool isTrusted() const noexcept</div><div class="ttdef"><b>Definition:</b> <a href="STValidation_8h_source.html#l00245">STValidation.h:245</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1STValidation_html"><div class="ttname"><a href="classripple_1_1STValidation.html">ripple::STValidation</a></div><div class="ttdef"><b>Definition:</b> <a href="STValidation_8h_source.html#l00044">STValidation.h:44</a></div></div>
|
|
<div class="ttc" id="anamespaceripple_html_abedda589258487931711c4efea516376"><div class="ttname"><a href="namespaceripple.html#abedda589258487931711c4efea516376">ripple::vfFullyCanonicalSig</a></div><div class="ttdeci">constexpr std::uint32_t vfFullyCanonicalSig</div><div class="ttdef"><b>Definition:</b> <a href="STValidation_8h_source.html#l00042">STValidation.h:42</a></div></div>
|
|
<div class="ttc" id="anamespaceripple_html_adc1f8a2c9b47d7c08e671ad3473e9d3a"><div class="ttname"><a href="namespaceripple.html#adc1f8a2c9b47d7c08e671ad3473e9d3a">ripple::publicKeyType</a></div><div class="ttdeci">std::optional< KeyType > publicKeyType(Slice const &slice)</div><div class="ttdoc">Returns the type of public key.</div><div class="ttdef"><b>Definition:</b> <a href="PublicKey_8cpp_source.html#l00203">PublicKey.cpp:203</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1base__uint_html"><div class="ttname"><a href="classripple_1_1base__uint.html">ripple::base_uint< 160, detail::NodeIDTag ></a></div></div>
|
|
<div class="ttc" id="atime_since_epoch_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/chrono/time_point/time_since_epoch.html">std::chrono::time_point::time_since_epoch</a></div><div class="ttdeci">T time_since_epoch(T... args)</div></div>
|
|
<div class="ttc" id="aclassripple_1_1SOTemplate_html"><div class="ttname"><a href="classripple_1_1SOTemplate.html">ripple::SOTemplate</a></div><div class="ttdoc">Defines the fields and their attributes within a STObject.</div><div class="ttdef"><b>Definition:</b> <a href="SOTemplate_8h_source.html#l00082">SOTemplate.h:82</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1STValidation_html_a1332084b8404976678c7b10aa90fd373"><div class="ttname"><a href="classripple_1_1STValidation.html#a1332084b8404976678c7b10aa90fd373">ripple::STValidation::getSignerPublic</a></div><div class="ttdeci">PublicKey const & getSignerPublic() const noexcept</div><div class="ttdef"><b>Definition:</b> <a href="STValidation_8h_source.html#l00233">STValidation.h:233</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1STValidation_html_a2b834566e12309f92d12e7f11771ad82"><div class="ttname"><a href="classripple_1_1STValidation.html#a2b834566e12309f92d12e7f11771ad82">ripple::STValidation::valid_</a></div><div class="ttdeci">std::optional< bool > valid_</div><div class="ttdef"><b>Definition:</b> <a href="STValidation_8h_source.html#l00050">STValidation.h:50</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1PublicKey_html"><div class="ttname"><a href="classripple_1_1PublicKey.html">ripple::PublicKey</a></div><div class="ttdoc">A public key.</div><div class="ttdef"><b>Definition:</b> <a href="PublicKey_8h_source.html#l00059">PublicKey.h:59</a></div></div>
|
|
<div class="ttc" id="anamespaceripple_html_a0429dc3d934c2cebe43fb8a723cf9eb3"><div class="ttname"><a href="namespaceripple.html#a0429dc3d934c2cebe43fb8a723cf9eb3">ripple::signDigest</a></div><div class="ttdeci">Buffer signDigest(PublicKey const &pk, SecretKey const &sk, uint256 const &digest)</div><div class="ttdoc">Generate a signature for a message digest.</div><div class="ttdef"><b>Definition:</b> <a href="SecretKey_8cpp_source.html#l00212">SecretKey.cpp:212</a></div></div>
|
|
<div class="ttc" id="anamespaceripple_html_a169967ff418b80729654b6d45ade8711a334c4a4c42fdb79d7ebc3e73b517e6f8"><div class="ttname"><a href="namespaceripple.html#a169967ff418b80729654b6d45ade8711a334c4a4c42fdb79d7ebc3e73b517e6f8">ripple::JsonOptions::none</a></div><div class="ttdeci">@ none</div></div>
|
|
<div class="ttc" id="aclassripple_1_1STValidation_html_a3ce9844ef8dc996ccd4091bb74136e98"><div class="ttname"><a href="classripple_1_1STValidation.html#a3ce9844ef8dc996ccd4091bb74136e98">ripple::STValidation::getSerialized</a></div><div class="ttdeci">Blob getSerialized() const</div><div class="ttdef"><b>Definition:</b> <a href="STValidation_8cpp_source.html#l00130">STValidation.cpp:130</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1STValidation_html_ae2ad4368ffbab07c0ceae3d7aabf0bb7"><div class="ttname"><a href="classripple_1_1STValidation.html#ae2ad4368ffbab07c0ceae3d7aabf0bb7">ripple::STValidation::move</a></div><div class="ttdeci">STBase * move(std::size_t n, void *buf) override</div><div class="ttdef"><b>Definition:</b> <a href="STValidation_8cpp_source.html#l00035">STValidation.cpp:35</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1STValidation_html_aa0911213ec5399168a171156b130ba7a"><div class="ttname"><a href="classripple_1_1STValidation.html#aa0911213ec5399168a171156b130ba7a">ripple::STValidation::isFull</a></div><div class="ttdeci">bool isFull() const noexcept</div><div class="ttdef"><b>Definition:</b> <a href="STValidation_8cpp_source.html#l00118">STValidation.cpp:118</a></div></div>
|
|
<div class="ttc" id="atime_point_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/chrono/time_point.html">std::chrono::time_point</a></div></div>
|
|
<div class="ttc" id="acstdint_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/cstdint.html">cstdint</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1STValidation_html_a51b5760becdd7961df71e2add6e1a9f2"><div class="ttname"><a href="classripple_1_1STValidation.html#a51b5760becdd7961df71e2add6e1a9f2">ripple::STValidation::setSeen</a></div><div class="ttdeci">void setSeen(NetClock::time_point s)</div><div class="ttdef"><b>Definition:</b> <a href="STValidation_8h_source.html#l00263">STValidation.h:263</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SerialIter_html"><div class="ttname"><a href="classripple_1_1SerialIter.html">ripple::SerialIter</a></div><div class="ttdef"><b>Definition:</b> <a href="Serializer_8h_source.html#l00310">Serializer.h:310</a></div></div>
|
|
<div class="ttc" id="ainteger_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SecretKey_html"><div class="ttname"><a href="classripple_1_1SecretKey.html">ripple::SecretKey</a></div><div class="ttdoc">A secret key.</div><div class="ttdef"><b>Definition:</b> <a href="SecretKey_8h_source.html#l00036">SecretKey.h:36</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1STValidation_html_aeeef4bccb0e2c4d98a84cb82e433ce90"><div class="ttname"><a href="classripple_1_1STValidation.html#aeeef4bccb0e2c4d98a84cb82e433ce90">ripple::STValidation::getSignTime</a></div><div class="ttdeci">NetClock::time_point getSignTime() const</div><div class="ttdef"><b>Definition:</b> <a href="STValidation_8cpp_source.html#l00089">STValidation.cpp:89</a></div></div>
|
|
<div class="ttc" id="amemory_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/memory.html">memory</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1STValidation_html_aa15dc30f67e497a1f114fe465b049b69"><div class="ttname"><a href="classripple_1_1STValidation.html#aa15dc30f67e497a1f114fe465b049b69">ripple::STValidation::seenTime_</a></div><div class="ttdeci">NetClock::time_point seenTime_</div><div class="ttdef"><b>Definition:</b> <a href="STValidation_8h_source.html#l00059">STValidation.h:59</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1STValidation_html_ad20750500ba56dcb7383ed963681148e"><div class="ttname"><a href="classripple_1_1STValidation.html#ad20750500ba56dcb7383ed963681148e">ripple::STValidation::isValid</a></div><div class="ttdeci">bool isValid() const noexcept</div><div class="ttdef"><b>Definition:</b> <a href="STValidation_8cpp_source.html#l00101">STValidation.cpp:101</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1STValidation_html_a153034dfe796ffd1b80a49a84bf79a14"><div class="ttname"><a href="classripple_1_1STValidation.html#a153034dfe796ffd1b80a49a84bf79a14">ripple::STValidation::setUntrusted</a></div><div class="ttdeci">void setUntrusted()</div><div class="ttdef"><b>Definition:</b> <a href="STValidation_8h_source.html#l00257">STValidation.h:257</a></div></div>
|
|
<div class="ttc" id="anamespaceripple_html_a9de744cfdefe1132969eb982e57e4ddea82c2b7829b8129e5a2d53665ba4b4757"><div class="ttname"><a href="namespaceripple.html#a9de744cfdefe1132969eb982e57e4ddea82c2b7829b8129e5a2d53665ba4b4757">ripple::KeyType::secp256k1</a></div><div class="ttdeci">@ secp256k1</div></div>
|
|
<div class="ttc" id="aclassripple_1_1STObject_html"><div class="ttname"><a href="classripple_1_1STObject.html">ripple::STObject</a></div><div class="ttdef"><b>Definition:</b> <a href="STObject_8h_source.html#l00051">STObject.h:51</a></div></div>
|
|
<div class="ttc" id="anamespaceripple_html"><div class="ttname"><a href="namespaceripple.html">ripple</a></div><div class="ttdoc">Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.</div><div class="ttdef"><b>Definition:</b> <a href="RCLCensorshipDetector_8h_source.html#l00029">RCLCensorshipDetector.h:29</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1STBase_html"><div class="ttname"><a href="classripple_1_1STBase.html">ripple::STBase</a></div><div class="ttdoc">A type which can be exported to a well known binary format.</div><div class="ttdef"><b>Definition:</b> <a href="STBase_8h_source.html#l00066">STBase.h:66</a></div></div>
|
|
<div class="ttc" id="anamespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div><div class="ttdoc">STL namespace.</div></div>
|
|
<div class="ttc" id="anamespaceripple_html_aefd2f77338ce3c9a2fffc4f0b289b483"><div class="ttname"><a href="namespaceripple.html#aefd2f77338ce3c9a2fffc4f0b289b483">ripple::LogicError</a></div><div class="ttdeci">void LogicError(std::string const &how) noexcept</div><div class="ttdoc">Called when faulty logic causes a broken invariant.</div><div class="ttdef"><b>Definition:</b> <a href="contract_8cpp_source.html#l00048">contract.cpp:48</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1STObject_html_aaf5d617701ac3afc4ad6a13862459692"><div class="ttname"><a href="classripple_1_1STObject.html#aaf5d617701ac3afc4ad6a13862459692">ripple::STObject::isFieldPresent</a></div><div class="ttdeci">bool isFieldPresent(SField const &field) const</div><div class="ttdef"><b>Definition:</b> <a href="STObject_8cpp_source.html#l00428">STObject.cpp:428</a></div></div>
|
|
<div class="ttc" id="acassert_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/cassert.html">cassert</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1STValidation_html_aa74bbce4c07518d33fc25b60f841e22e"><div class="ttname"><a href="classripple_1_1STValidation.html#aa74bbce4c07518d33fc25b60f841e22e">ripple::STValidation::setTrusted</a></div><div class="ttdeci">void setTrusted()</div><div class="ttdef"><b>Definition:</b> <a href="STValidation_8h_source.html#l00251">STValidation.h:251</a></div></div>
|
|
<div class="ttc" id="anamespaceripple_html_a61932ff70203e248b70ca3b215667435"><div class="ttname"><a href="namespaceripple.html#a61932ff70203e248b70ca3b215667435">ripple::sfSignature</a></div><div class="ttdeci">const SF_VL sfSignature</div></div>
|
|
<div class="ttc" id="aclassripple_1_1STValidation_html_a3ef77d68fa4c619198ce70529d643b0d"><div class="ttname"><a href="classripple_1_1STValidation.html#a3ef77d68fa4c619198ce70529d643b0d">ripple::STValidation::getSeenTime</a></div><div class="ttdeci">NetClock::time_point getSeenTime() const noexcept</div><div class="ttdef"><b>Definition:</b> <a href="STValidation_8cpp_source.html#l00095">STValidation.cpp:95</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1STObject_html_a4fa764a09a6e972491891d939eb9d2f2"><div class="ttname"><a href="classripple_1_1STObject.html#a4fa764a09a6e972491891d939eb9d2f2">ripple::STObject::setFlag</a></div><div class="ttdeci">bool setFlag(std::uint32_t)</div><div class="ttdef"><b>Definition:</b> <a href="STObject_8cpp_source.html#l00451">STObject.cpp:451</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1STValidation_html_ad564bbe1e66d71fbb6b3d90d23e85946"><div class="ttname"><a href="classripple_1_1STValidation.html#ad564bbe1e66d71fbb6b3d90d23e85946">ripple::STValidation::getSigningHash</a></div><div class="ttdeci">uint256 getSigningHash() const</div><div class="ttdef"><b>Definition:</b> <a href="STValidation_8cpp_source.html#l00071">STValidation.cpp:71</a></div></div>
|
|
<div class="ttc" id="anamespaceripple_html_a75e201e47a68c45fb0bb79ee330a1386"><div class="ttname"><a href="namespaceripple.html#a75e201e47a68c45fb0bb79ee330a1386">ripple::sfValidation</a></div><div class="ttdeci">const SField sfValidation</div></div>
|
|
<div class="ttc" id="aoptional_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/optional.html">optional</a></div></div>
|
|
<div class="ttc" id="anamespaceripple_html_ac8808889ac69393dbfc99e57187e8de8"><div class="ttname"><a href="namespaceripple.html#ac8808889ac69393dbfc99e57187e8de8">ripple::vfFullValidation</a></div><div class="ttdeci">constexpr std::uint32_t vfFullValidation</div><div class="ttdef"><b>Definition:</b> <a href="STValidation_8h_source.html#l00039">STValidation.h:39</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1NetClock_html"><div class="ttname"><a href="classripple_1_1NetClock.html">ripple::NetClock</a></div><div class="ttdoc">Clock for measuring the network time.</div><div class="ttdef"><b>Definition:</b> <a href="chrono_8h_source.html#l00048">chrono.h:48</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1STObject_html_acc2ceb95cdb8fc8b2520aeceabf17553"><div class="ttname"><a href="classripple_1_1STObject.html#acc2ceb95cdb8fc8b2520aeceabf17553">ripple::STObject::getJson</a></div><div class="ttdeci">Json::Value getJson(JsonOptions options) const override</div><div class="ttdef"><b>Definition:</b> <a href="STObject_8cpp_source.html#l00725">STObject.cpp:725</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1STObject_html_acd1aac04649d694a3524faf2ddebf843"><div class="ttname"><a href="classripple_1_1STObject.html#acd1aac04649d694a3524faf2ddebf843">ripple::STObject::setFieldU32</a></div><div class="ttdeci">void setFieldU32(SField const &field, std::uint32_t)</div><div class="ttdef"><b>Definition:</b> <a href="STObject_8cpp_source.html#l00659">STObject.cpp:659</a></div></div>
|
|
<div class="ttc" id="anamespaceripple_html_a1323d21bedd138bb1a2c17a5ac0ec500"><div class="ttname"><a href="namespaceripple.html#a1323d21bedd138bb1a2c17a5ac0ec500">ripple::sfSigningTime</a></div><div class="ttdeci">const SF_UINT32 sfSigningTime</div></div>
|
|
<div class="ttc" id="aclassripple_1_1STValidation_html_a2c47685a67b798f6aafb2e4f14faf240"><div class="ttname"><a href="classripple_1_1STValidation.html#a2c47685a67b798f6aafb2e4f14faf240">ripple::STValidation::STValidation</a></div><div class="ttdeci">STValidation(SerialIter &sit, LookupNodeID &&lookupNodeID, bool checkSignature)</div><div class="ttdoc">Construct a STValidation from a peer from serialized data.</div><div class="ttdef"><b>Definition:</b> <a href="STValidation_8h_source.html#l00157">STValidation.h:157</a></div></div>
|
|
<!-- start footer part -->
|
|
<hr class="footer"/><address class="footer"><small>
|
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
</a> 1.8.17
|
|
</small></address>
|
|
</body>
|
|
</html>
|