This commit is contained in:
bthomee
2025-05-20 18:10:54 +00:00
parent 39d241def5
commit 90cc35d381
3215 changed files with 96027 additions and 70734 deletions

View File

@@ -244,25 +244,25 @@ $(function() {
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span><span class="keywordtype">void</span></div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"><a class="line" href="classripple_1_1RCLConsensus_1_1Adaptor.html#a3c19242b4c7feb5d9ce80c7f49f00646"> 167</a></span><a class="code hl_function" href="classripple_1_1RCLConsensus_1_1Adaptor.html#a3c19242b4c7feb5d9ce80c7f49f00646">RCLConsensus::Adaptor::share</a>(<a class="code hl_class" href="classripple_1_1RCLCxPeerPos.html">RCLCxPeerPos</a> <span class="keyword">const</span>&amp; peerPos)</div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span>{</div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> protocol::TMProposeSet prop;</div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> protocol::TMProposeSet <a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1prop.html">prop</a>;</div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> </div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> <span class="keyword">auto</span> <span class="keyword">const</span>&amp; <a class="code hl_enumvalue" href="namespaceripple.html#ad5143ceada01141772ae4aab984f94bdab314439bc1697845de3749d51dca7c15">proposal</a> = peerPos.<a class="code hl_function" href="classripple_1_1RCLCxPeerPos.html#a18e6031e94f3d21bb387313cdfd4927f">proposal</a>();</div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> </div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> prop.set_proposeseq(<a class="code hl_enumvalue" href="namespaceripple.html#ad5143ceada01141772ae4aab984f94bdab314439bc1697845de3749d51dca7c15">proposal</a>.proposeSeq());</div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> prop.set_closetime(<a class="code hl_enumvalue" href="namespaceripple.html#ad5143ceada01141772ae4aab984f94bdab314439bc1697845de3749d51dca7c15">proposal</a>.closeTime().time_since_epoch().count());</div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> <a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1prop.html">prop</a>.set_proposeseq(<a class="code hl_enumvalue" href="namespaceripple.html#ad5143ceada01141772ae4aab984f94bdab314439bc1697845de3749d51dca7c15">proposal</a>.proposeSeq());</div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> <a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1prop.html">prop</a>.set_closetime(<a class="code hl_enumvalue" href="namespaceripple.html#ad5143ceada01141772ae4aab984f94bdab314439bc1697845de3749d51dca7c15">proposal</a>.closeTime().time_since_epoch().count());</div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> </div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> prop.set_currenttxhash(</div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> <a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1prop.html">prop</a>.set_currenttxhash(</div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> <a class="code hl_enumvalue" href="namespaceripple.html#ad5143ceada01141772ae4aab984f94bdab314439bc1697845de3749d51dca7c15">proposal</a>.position().begin(), <a class="code hl_enumvalue" href="namespaceripple.html#ad5143ceada01141772ae4aab984f94bdab314439bc1697845de3749d51dca7c15">proposal</a>.position().size());</div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> prop.set_previousledger(</div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> <a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1prop.html">prop</a>.set_previousledger(</div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> <a class="code hl_enumvalue" href="namespaceripple.html#ad5143ceada01141772ae4aab984f94bdab314439bc1697845de3749d51dca7c15">proposal</a>.prevLedger().begin(), <a class="code hl_enumvalue" href="namespaceripple.html#ad5143ceada01141772ae4aab984f94bdab314439bc1697845de3749d51dca7c15">proposal</a>.position().size());</div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> </div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> <span class="keyword">auto</span> <span class="keyword">const</span> pk = peerPos.<a class="code hl_function" href="classripple_1_1RCLCxPeerPos.html#a7d8d0ccb0b499093a245573b0b7939dc">publicKey</a>().<a class="code hl_function" href="classripple_1_1PublicKey.html#ae0bcc607176a440ec63a86bae5767036">slice</a>();</div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> prop.set_nodepubkey(pk.data(), pk.size());</div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> <a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1prop.html">prop</a>.set_nodepubkey(pk.data(), pk.size());</div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> </div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> <span class="keyword">auto</span> <span class="keyword">const</span> sig = peerPos.<a class="code hl_function" href="classripple_1_1RCLCxPeerPos.html#af7dbd15db4bfc7852a84f0cc7dd27685">signature</a>();</div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> prop.set_signature(sig.data(), sig.size());</div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> <span class="keyword">auto</span> <span class="keyword">const</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1sig.html">sig</a> = peerPos.<a class="code hl_function" href="classripple_1_1RCLCxPeerPos.html#af7dbd15db4bfc7852a84f0cc7dd27685">signature</a>();</div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> <a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1prop.html">prop</a>.set_signature(<a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1sig.html">sig</a>.data(), <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1sig.html">sig</a>.size());</div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> </div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> app_.overlay().relay(prop, peerPos.<a class="code hl_function" href="classripple_1_1RCLCxPeerPos.html#af8ab2730228c6324b74b0388d88dbf96">suppressionID</a>(), peerPos.<a class="code hl_function" href="classripple_1_1RCLCxPeerPos.html#a7d8d0ccb0b499093a245573b0b7939dc">publicKey</a>());</div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> app_.overlay().relay(<a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1prop.html">prop</a>, peerPos.<a class="code hl_function" href="classripple_1_1RCLCxPeerPos.html#af8ab2730228c6324b74b0388d88dbf96">suppressionID</a>(), peerPos.<a class="code hl_function" href="classripple_1_1RCLCxPeerPos.html#a7d8d0ccb0b499093a245573b0b7939dc">publicKey</a>());</div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span>}</div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> </div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span><span class="keywordtype">void</span></div>
@@ -293,14 +293,14 @@ $(function() {
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> &lt;&lt; <a class="code hl_function" href="namespaceripple.html#ac124fe6744b7fe887dec949b56b16d50">ripple::to_string</a>(<a class="code hl_enumvalue" href="namespaceripple.html#ad5143ceada01141772ae4aab984f94bdab314439bc1697845de3749d51dca7c15">proposal</a>.prevLedger()) &lt;&lt; <span class="stringliteral">&quot; -&gt; &quot;</span></div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> &lt;&lt; <a class="code hl_function" href="namespaceripple.html#ac124fe6744b7fe887dec949b56b16d50">ripple::to_string</a>(<a class="code hl_enumvalue" href="namespaceripple.html#ad5143ceada01141772ae4aab984f94bdab314439bc1697845de3749d51dca7c15">proposal</a>.position());</div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> </div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> protocol::TMProposeSet prop;</div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> protocol::TMProposeSet <a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1prop.html">prop</a>;</div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> </div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> prop.set_currenttxhash(</div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> <a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1prop.html">prop</a>.set_currenttxhash(</div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> <a class="code hl_enumvalue" href="namespaceripple.html#ad5143ceada01141772ae4aab984f94bdab314439bc1697845de3749d51dca7c15">proposal</a>.position().begin(), <a class="code hl_enumvalue" href="namespaceripple.html#ad5143ceada01141772ae4aab984f94bdab314439bc1697845de3749d51dca7c15">proposal</a>.position().size());</div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> prop.set_previousledger(</div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> <a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1prop.html">prop</a>.set_previousledger(</div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> <a class="code hl_enumvalue" href="namespaceripple.html#ad5143ceada01141772ae4aab984f94bdab314439bc1697845de3749d51dca7c15">proposal</a>.prevLedger().begin(), <a class="code hl_enumvalue" href="namespaceripple.html#ad5143ceada01141772ae4aab984f94bdab314439bc1697845de3749d51dca7c15">proposal</a>.prevLedger().size());</div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> prop.set_proposeseq(<a class="code hl_enumvalue" href="namespaceripple.html#ad5143ceada01141772ae4aab984f94bdab314439bc1697845de3749d51dca7c15">proposal</a>.proposeSeq());</div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> prop.set_closetime(<a class="code hl_enumvalue" href="namespaceripple.html#ad5143ceada01141772ae4aab984f94bdab314439bc1697845de3749d51dca7c15">proposal</a>.closeTime().time_since_epoch().count());</div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> <a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1prop.html">prop</a>.set_proposeseq(<a class="code hl_enumvalue" href="namespaceripple.html#ad5143ceada01141772ae4aab984f94bdab314439bc1697845de3749d51dca7c15">proposal</a>.proposeSeq());</div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> <a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1prop.html">prop</a>.set_closetime(<a class="code hl_enumvalue" href="namespaceripple.html#ad5143ceada01141772ae4aab984f94bdab314439bc1697845de3749d51dca7c15">proposal</a>.closeTime().time_since_epoch().count());</div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> </div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> <span class="keywordflow">if</span> (!validatorKeys_.keys)</div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> {</div>
@@ -311,12 +311,12 @@ $(function() {
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> </div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span> <span class="keyword">auto</span> <span class="keyword">const</span>&amp; keys = *validatorKeys_.keys;</div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> </div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> prop.set_nodepubkey(keys.publicKey.data(), keys.publicKey.size());</div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> <a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1prop.html">prop</a>.set_nodepubkey(keys.publicKey.data(), keys.publicKey.size());</div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> </div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> <span class="keyword">auto</span> sig =</div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> <span class="keyword">auto</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1sig.html">sig</a> =</div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span> <a class="code hl_function" href="namespaceripple.html#aa1eec4457e3eaa67a2532f9da71fe4be">signDigest</a>(keys.publicKey, keys.secretKey, <a class="code hl_enumvalue" href="namespaceripple.html#ad5143ceada01141772ae4aab984f94bdab314439bc1697845de3749d51dca7c15">proposal</a>.signingHash());</div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span> </div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> prop.set_signature(sig.data(), sig.size());</div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> <a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1prop.html">prop</a>.set_signature(<a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1sig.html">sig</a>.data(), <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1sig.html">sig</a>.size());</div>
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span> </div>
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span> <span class="keyword">auto</span> <span class="keyword">const</span> suppression = <a class="code hl_function" href="namespaceripple.html#a0f5de38ef7c5157e23527a0e6a720a22">proposalUniqueId</a>(</div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> <a class="code hl_enumvalue" href="namespaceripple.html#ad5143ceada01141772ae4aab984f94bdab314439bc1697845de3749d51dca7c15">proposal</a>.position(),</div>
@@ -324,11 +324,11 @@ $(function() {
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> <a class="code hl_enumvalue" href="namespaceripple.html#ad5143ceada01141772ae4aab984f94bdab314439bc1697845de3749d51dca7c15">proposal</a>.proposeSeq(),</div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> <a class="code hl_enumvalue" href="namespaceripple.html#ad5143ceada01141772ae4aab984f94bdab314439bc1697845de3749d51dca7c15">proposal</a>.closeTime(),</div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> keys.publicKey,</div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> sig);</div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1sig.html">sig</a>);</div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> </div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> app_.getHashRouter().addSuppression(suppression);</div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> </div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> app_.overlay().broadcast(prop);</div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> app_.overlay().broadcast(<a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1prop.html">prop</a>);</div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span>}</div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> </div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span><span class="keywordtype">void</span></div>
@@ -463,13 +463,13 @@ $(function() {
<div class="line"><a id="l00385" name="l00385"></a><span class="lineno"> 385</span> </div>
<div class="line"><a id="l00386" name="l00386"></a><span class="lineno"> 386</span> <span class="keywordflow">if</span> (!wrongLCL)</div>
<div class="line"><a id="l00387" name="l00387"></a><span class="lineno"> 387</span> {</div>
<div class="line"><a id="l00388" name="l00388"></a><span class="lineno"> 388</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">LedgerIndex</a> <span class="keyword">const</span> seq = prevLedger-&gt;info().seq + 1;</div>
<div class="line"><a id="l00388" name="l00388"></a><span class="lineno"> 388</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">LedgerIndex</a> <span class="keyword">const</span> <a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1seq.html">seq</a> = prevLedger-&gt;info().<a class="code hl_function" href="structripple_1_1test_1_1jtx_1_1seq.html#a24f882c3c91938bb57b850d9883ff35f">seq</a> + 1;</div>
<div class="line"><a id="l00389" name="l00389"></a><span class="lineno"> 389</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">RCLCensorshipDetector&lt;TxID, LedgerIndex&gt;::TxIDSeqVec</a> proposed;</div>
<div class="line"><a id="l00390" name="l00390"></a><span class="lineno"> 390</span> </div>
<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"> 391</span> initialSet-&gt;visitLeaves(</div>
<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"> 392</span> [&amp;proposed,</div>
<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"> 393</span> seq](boost::intrusive_ptr&lt;SHAMapItem const&gt; <span class="keyword">const</span>&amp; item) {</div>
<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"> 394</span> proposed.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/emplace_back.html">emplace_back</a>(item-&gt;key(), seq);</div>
<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"> 393</span> <a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1seq.html">seq</a>](boost::intrusive_ptr&lt;SHAMapItem const&gt; <span class="keyword">const</span>&amp; item) {</div>
<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"> 394</span> proposed.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/emplace_back.html">emplace_back</a>(item-&gt;key(), <a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1seq.html">seq</a>);</div>
<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"> 395</span> });</div>
<div class="line"><a id="l00396" name="l00396"></a><span class="lineno"> 396</span> </div>
<div class="line"><a id="l00397" name="l00397"></a><span class="lineno"> 397</span> censorshipDetector_.propose(std::move(proposed));</div>
@@ -642,7 +642,7 @@ $(function() {
<div class="line"><a id="l00564" name="l00564"></a><span class="lineno"> 564</span> std::move(<a class="code hl_enumvalue" href="namespaceripple.html#a8a16d6f665a032453ec4cbfca01929b6a3e4d891a5df3d6d0d7dd9432a1bc6470">accepted</a>),</div>
<div class="line"><a id="l00565" name="l00565"></a><span class="lineno"> 565</span> [curr = built.seq(),</div>
<div class="line"><a id="l00566" name="l00566"></a><span class="lineno"> 566</span> j = app_.journal(<span class="stringliteral">&quot;CensorshipDetector&quot;</span>),</div>
<div class="line"><a id="l00567" name="l00567"></a><span class="lineno"> 567</span> &amp;failed](<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>&amp; <span class="keywordtype">id</span>, <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">LedgerIndex</a> seq) {</div>
<div class="line"><a id="l00567" name="l00567"></a><span class="lineno"> 567</span> &amp;failed](<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>&amp; <span class="keywordtype">id</span>, <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">LedgerIndex</a> <a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1seq.html">seq</a>) {</div>
<div class="line"><a id="l00568" name="l00568"></a><span class="lineno"> 568</span> if (failed.count(id))</div>
<div class="line"><a id="l00569" name="l00569"></a><span class="lineno"> 569</span> return true;</div>
<div class="line"><a id="l00570" name="l00570"></a><span class="lineno"> 570</span> </div>
@@ -1143,10 +1143,10 @@ $(function() {
<div class="line"><a id="l01066" name="l01066"></a><span class="lineno"> 1066</span> </div>
<div class="line"><a id="l01067" name="l01067"></a><span class="lineno"> 1067</span><a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a></div>
<div class="line"><a id="l01068" name="l01068"></a><span class="lineno"><a class="line" href="classripple_1_1RCLConsensus_1_1Adaptor.html#a64490ffd82ff2b75da2406bb52fcd7dd"> 1068</a></span><a class="code hl_function" href="classripple_1_1RCLConsensus_1_1Adaptor.html#a64490ffd82ff2b75da2406bb52fcd7dd">RCLConsensus::Adaptor::laggards</a>(</div>
<div class="line"><a id="l01069" name="l01069"></a><span class="lineno"> 1069</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">Ledger_t::Seq</a> <span class="keyword">const</span> seq,</div>
<div class="line"><a id="l01069" name="l01069"></a><span class="lineno"> 1069</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">Ledger_t::Seq</a> <span class="keyword">const</span> <a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1seq.html">seq</a>,</div>
<div class="line"><a id="l01070" name="l01070"></a><span class="lineno"> 1070</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/unordered_set.html">hash_set&lt;RCLConsensus::Adaptor::NodeKey_t&gt;</a>&amp; trustedKeys)<span class="keyword"> const</span></div>
<div class="line"><a id="l01071" name="l01071"></a><span class="lineno"> 1071</span><span class="keyword"></span>{</div>
<div class="line"><a id="l01072" name="l01072"></a><span class="lineno"> 1072</span> <span class="keywordflow">return</span> app_.getValidations().laggards(seq, trustedKeys);</div>
<div class="line"><a id="l01072" name="l01072"></a><span class="lineno"> 1072</span> <span class="keywordflow">return</span> app_.getValidations().laggards(<a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1seq.html">seq</a>, trustedKeys);</div>
<div class="line"><a id="l01073" name="l01073"></a><span class="lineno"> 1073</span>}</div>
<div class="line"><a id="l01074" name="l01074"></a><span class="lineno"> 1074</span> </div>
<div class="line"><a id="l01075" name="l01075"></a><span class="lineno"> 1075</span><span class="keywordtype">bool</span></div>
@@ -1213,7 +1213,7 @@ $(function() {
<div class="ttc" id="aalgorithm_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/algorithm.html">algorithm</a></div></div>
<div class="ttc" id="abasic_stringstream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_stringstream.html">std::stringstream</a></div></div>
<div class="ttc" id="aclassJson_1_1Compact_html"><div class="ttname"><a href="classJson_1_1Compact.html">Json::Compact</a></div><div class="ttdoc">Decorator for streaming out compact json.</div><div class="ttdef"><b>Definition:</b> <a href="json__writer_8h_source.html#l00317">json_writer.h:318</a></div></div>
<div class="ttc" id="aclassJson_1_1Value_html"><div class="ttname"><a href="classJson_1_1Value.html">Json::Value</a></div><div class="ttdoc">Represents a JSON value.</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8h_source.html#l00147">json_value.h:148</a></div></div>
<div class="ttc" id="aclassJson_1_1Value_html"><div class="ttname"><a href="classJson_1_1Value.html">Json::Value</a></div><div class="ttdoc">Represents a JSON value.</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8h_source.html#l00149">json_value.h:150</a></div></div>
<div class="ttc" id="aclassbeast_1_1Journal_1_1Sink_html_ab3c494b44e89acc64314906d01198761"><div class="ttname"><a href="classbeast_1_1Journal_1_1Sink.html#ab3c494b44e89acc64314906d01198761">beast::Journal::Sink::writeAlways</a></div><div class="ttdeci">virtual void writeAlways(Severity level, std::string const &amp;text)=0</div><div class="ttdoc">Bypass filter and write text to the sink at the specified severity.</div></div>
<div class="ttc" id="aclassbeast_1_1Journal_html"><div class="ttname"><a href="classbeast_1_1Journal.html">beast::Journal</a></div><div class="ttdoc">A generic endpoint for log messages.</div><div class="ttdef"><b>Definition:</b> <a href="Journal_8h_source.html#l00059">Journal.h:60</a></div></div>
<div class="ttc" id="aclassbeast_1_1Journal_html_a49b0713e65bb8e2c51b76fbf16252afe"><div class="ttname"><a href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">beast::Journal::error</a></div><div class="ttdeci">Stream error() const</div><div class="ttdef"><b>Definition:</b> <a href="Journal_8h_source.html#l00346">Journal.h:346</a></div></div>
@@ -1325,6 +1325,7 @@ $(function() {
<div class="ttc" id="aclassripple_1_1ValidatorKeys_html_ad00c2991257b5cc276b423a6e80f7ad2"><div class="ttname"><a href="classripple_1_1ValidatorKeys.html#ad00c2991257b5cc276b423a6e80f7ad2">ripple::ValidatorKeys::sequence</a></div><div class="ttdeci">std::uint32_t sequence</div><div class="ttdef"><b>Definition:</b> <a href="ValidatorKeys_8h_source.html#l00066">ValidatorKeys.h:66</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&lt; 256 &gt;</a></div></div>
<div class="ttc" id="aclassripple_1_1base__uint_html_a2ffd09234d574e5554c5d84199a9f287"><div class="ttname"><a href="classripple_1_1base__uint.html#a2ffd09234d574e5554c5d84199a9f287">ripple::base_uint::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdef"><b>Definition:</b> <a href="base__uint_8h_source.html#l00136">base_uint.h:136</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1sig_html"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1sig.html">ripple::test::jtx::sig</a></div><div class="ttdoc">Set the regular signature on a JTx.</div><div class="ttdef"><b>Definition:</b> <a href="sig_8h_source.html#l00034">sig.h:35</a></div></div>
<div class="ttc" id="adecay_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/types/decay.html">std::decay_t</a></div></div>
<div class="ttc" id="aduration_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::duration</a></div></div>
<div class="ttc" id="aemplace_back_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/emplace_back.html">std::vector::emplace_back</a></div><div class="ttdeci">T emplace_back(T... args)</div></div>
@@ -1345,7 +1346,7 @@ $(function() {
<div class="ttc" id="anamespaceripple_html_a1747b036b81bd3769995670092912976"><div class="ttname"><a href="namespaceripple.html#a1747b036b81bd3769995670092912976">ripple::rand_int</a></div><div class="ttdeci">std::enable_if_t&lt; std::is_integral&lt; Integral &gt;::value, Integral &gt; rand_int()</div><div class="ttdef"><b>Definition:</b> <a href="include_2xrpl_2basics_2random_8h_source.html#l00159">include/xrpl/basics/random.h:159</a></div></div>
<div class="ttc" id="anamespaceripple_html_a1a316bd867fbe7f7ba41e715b4be0a5b"><div class="ttname"><a href="namespaceripple.html#a1a316bd867fbe7f7ba41e715b4be0a5b">ripple::effCloseTime</a></div><div class="ttdeci">std::chrono::time_point&lt; Clock, Duration &gt; effCloseTime(std::chrono::time_point&lt; Clock, Duration &gt; closeTime, std::chrono::duration&lt; Rep, Period &gt; resolution, std::chrono::time_point&lt; Clock, Duration &gt; priorCloseTime)</div><div class="ttdoc">Calculate the effective ledger close time.</div><div class="ttdef"><b>Definition:</b> <a href="LedgerTiming_8h_source.html#l00156">LedgerTiming.h:156</a></div></div>
<div class="ttc" id="anamespaceripple_html_a1bf8df553d36589191c8057c136cce03ac3fe5edb1f8a81a8e585f6a27c120be6"><div class="ttname"><a href="namespaceripple.html#a1bf8df553d36589191c8057c136cce03ac3fe5edb1f8a81a8e585f6a27c120be6">ripple::TokenType::NodePublic</a></div><div class="ttdeci">@ NodePublic</div></div>
<div class="ttc" id="anamespaceripple_html_a2e1e308b7a19c6ae68201ce583ced433"><div class="ttname"><a href="namespaceripple.html#a2e1e308b7a19c6ae68201ce583ced433">ripple::isPseudoTx</a></div><div class="ttdeci">bool isPseudoTx(STObject const &amp;tx)</div><div class="ttdoc">Check whether a transaction is a pseudo-transaction.</div><div class="ttdef"><b>Definition:</b> <a href="STTx_8cpp_source.html#l00640">STTx.cpp:640</a></div></div>
<div class="ttc" id="anamespaceripple_html_a2e1e308b7a19c6ae68201ce583ced433"><div class="ttname"><a href="namespaceripple.html#a2e1e308b7a19c6ae68201ce583ced433">ripple::isPseudoTx</a></div><div class="ttdeci">bool isPseudoTx(STObject const &amp;tx)</div><div class="ttdoc">Check whether a transaction is a pseudo-transaction.</div><div class="ttdef"><b>Definition:</b> <a href="STTx_8cpp_source.html#l00646">STTx.cpp:646</a></div></div>
<div class="ttc" id="anamespaceripple_html_a33f8b6e68b5f63faf2e9755cc251563e"><div class="ttname"><a href="namespaceripple.html#a33f8b6e68b5f63faf2e9755cc251563e">ripple::ConsensusMode</a></div><div class="ttdeci">ConsensusMode</div><div class="ttdoc">Represents how a node currently participates in Consensus.</div><div class="ttdef"><b>Definition:</b> <a href="ConsensusTypes_8h_source.html#l00057">ConsensusTypes.h:57</a></div></div>
<div class="ttc" id="anamespaceripple_html_a33f8b6e68b5f63faf2e9755cc251563ea1dde5f68261b60a2e4655f5ad1f13e0b"><div class="ttname"><a href="namespaceripple.html#a33f8b6e68b5f63faf2e9755cc251563ea1dde5f68261b60a2e4655f5ad1f13e0b">ripple::ConsensusMode::wrongLedger</a></div><div class="ttdeci">@ wrongLedger</div><div class="ttdoc">We have the wrong ledger and are attempting to acquire it.</div></div>
<div class="ttc" id="anamespaceripple_html_a33f8b6e68b5f63faf2e9755cc251563ea80dcf57f5ecd4be3cbfa37eccbcb6f44"><div class="ttname"><a href="namespaceripple.html#a33f8b6e68b5f63faf2e9755cc251563ea80dcf57f5ecd4be3cbfa37eccbcb6f44">ripple::ConsensusMode::proposing</a></div><div class="ttdeci">@ proposing</div><div class="ttdoc">We are normal participant in consensus and propose our position.</div></div>
@@ -1364,7 +1365,7 @@ $(function() {
<div class="ttc" id="anamespaceripple_html_aa96b512548a1ae9fcd7493c52f19ce0f"><div class="ttname"><a href="namespaceripple.html#aa96b512548a1ae9fcd7493c52f19ce0f">ripple::make_shamapitem</a></div><div class="ttdeci">boost::intrusive_ptr&lt; SHAMapItem &gt; make_shamapitem(uint256 const &amp;tag, Slice data)</div><div class="ttdef"><b>Definition:</b> <a href="SHAMapItem_8h_source.html#l00161">SHAMapItem.h:161</a></div></div>
<div class="ttc" id="anamespaceripple_html_ab66396bca7a8c0e7ff80fdfbdeff411d"><div class="ttname"><a href="namespaceripple.html#ab66396bca7a8c0e7ff80fdfbdeff411d">ripple::makeRulesGivenLedger</a></div><div class="ttdeci">Rules makeRulesGivenLedger(DigestAwareReadView const &amp;ledger, Rules const &amp;current)</div><div class="ttdef"><b>Definition:</b> <a href="ReadView_8cpp_source.html#l00069">ReadView.cpp:69</a></div></div>
<div class="ttc" id="anamespaceripple_html_ac124fe6744b7fe887dec949b56b16d50"><div class="ttname"><a href="namespaceripple.html#ac124fe6744b7fe887dec949b56b16d50">ripple::to_string</a></div><div class="ttdeci">std::string to_string(base_uint&lt; Bits, Tag &gt; const &amp;a)</div><div class="ttdef"><b>Definition:</b> <a href="base__uint_8h_source.html#l00630">base_uint.h:630</a></div></div>
<div class="ttc" id="anamespaceripple_html_ac3e90afb749bb1f01e06729c7c860ba3"><div class="ttname"><a href="namespaceripple.html#ac3e90afb749bb1f01e06729c7c860ba3">ripple::after</a></div><div class="ttdeci">bool after(NetClock::time_point now, std::uint32_t mark)</div><div class="ttdoc">Has the specified time passed?</div><div class="ttdef"><b>Definition:</b> <a href="View_8cpp_source.html#l02129">View.cpp:2129</a></div></div>
<div class="ttc" id="anamespaceripple_html_ac3e90afb749bb1f01e06729c7c860ba3"><div class="ttname"><a href="namespaceripple.html#ac3e90afb749bb1f01e06729c7c860ba3">ripple::after</a></div><div class="ttdeci">bool after(NetClock::time_point now, std::uint32_t mark)</div><div class="ttdoc">Has the specified time passed?</div><div class="ttdef"><b>Definition:</b> <a href="View_8cpp_source.html#l02696">View.cpp:2696</a></div></div>
<div class="ttc" id="anamespaceripple_html_ad2487abbcc1a5d6064b72144b461df6eaf77cbea9706ce2ee7fdf5a85efbf70c5"><div class="ttname"><a href="namespaceripple.html#ad2487abbcc1a5d6064b72144b461df6eaf77cbea9706ce2ee7fdf5a85efbf70c5">ripple::tapNONE</a></div><div class="ttdeci">@ tapNONE</div><div class="ttdef"><b>Definition:</b> <a href="ApplyView_8h_source.html#l00032">ApplyView.h:32</a></div></div>
<div class="ttc" id="anamespaceripple_html_ad5143ceada01141772ae4aab984f94bda7fa2267e9b1bf739a70bb1860ab2a99c"><div class="ttname"><a href="namespaceripple.html#ad5143ceada01141772ae4aab984f94bda7fa2267e9b1bf739a70bb1860ab2a99c">ripple::HashPrefix::ledgerMaster</a></div><div class="ttdeci">@ ledgerMaster</div><div class="ttdoc">ledger master data for signing</div></div>
<div class="ttc" id="anamespaceripple_html_ad5143ceada01141772ae4aab984f94bdab314439bc1697845de3749d51dca7c15"><div class="ttname"><a href="namespaceripple.html#ad5143ceada01141772ae4aab984f94bdab314439bc1697845de3749d51dca7c15">ripple::HashPrefix::proposal</a></div><div class="ttdeci">@ proposal</div><div class="ttdoc">proposal for signing</div></div>
@@ -1391,6 +1392,9 @@ $(function() {
<div class="ttc" id="astructripple_1_1ConsensusResult_html_adbe9cfc54c331e78706ffcba7a0f35a3"><div class="ttname"><a href="structripple_1_1ConsensusResult.html#adbe9cfc54c331e78706ffcba7a0f35a3">ripple::ConsensusResult::proposers</a></div><div class="ttdeci">std::size_t proposers</div><div class="ttdef"><b>Definition:</b> <a href="ConsensusTypes_8h_source.html#l00245">ConsensusTypes.h:245</a></div></div>
<div class="ttc" id="astructripple_1_1ConsensusResult_html_afc0376d9cf4dfd013539594b7b8bbbde"><div class="ttname"><a href="structripple_1_1ConsensusResult.html#afc0376d9cf4dfd013539594b7b8bbbde">ripple::ConsensusResult::position</a></div><div class="ttdeci">Proposal_t position</div><div class="ttdoc">Our proposed position on transactions/close time.</div><div class="ttdef"><b>Definition:</b> <a href="ConsensusTypes_8h_source.html#l00229">ConsensusTypes.h:229</a></div></div>
<div class="ttc" id="astructripple_1_1send__always_html"><div class="ttname"><a href="structripple_1_1send__always.html">ripple::send_always</a></div><div class="ttdoc">Sends a message to all peers.</div><div class="ttdef"><b>Definition:</b> <a href="predicates_8h_source.html#l00031">predicates.h:32</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1jtx_1_1prop_html"><div class="ttname"><a href="structripple_1_1test_1_1jtx_1_1prop.html">ripple::test::jtx::prop</a></div><div class="ttdoc">Set a property on a JTx.</div><div class="ttdef"><b>Definition:</b> <a href="prop_8h_source.html#l00033">prop.h:34</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1jtx_1_1seq_html"><div class="ttname"><a href="structripple_1_1test_1_1jtx_1_1seq.html">ripple::test::jtx::seq</a></div><div class="ttdoc">Set the sequence number on a JTx.</div><div class="ttdef"><b>Definition:</b> <a href="seq_8h_source.html#l00033">seq.h:34</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1jtx_1_1seq_html_a24f882c3c91938bb57b850d9883ff35f"><div class="ttname"><a href="structripple_1_1test_1_1jtx_1_1seq.html#a24f882c3c91938bb57b850d9883ff35f">ripple::test::jtx::seq::seq</a></div><div class="ttdeci">seq(autofill_t)</div><div class="ttdef"><b>Definition:</b> <a href="seq_8h_source.html#l00040">seq.h:40</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="ato_string_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string/to_string.html">std::to_string</a></div><div class="ttdeci">T to_string(T... args)</div></div>
<div class="ttc" id="aunique_lock_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/thread/unique_lock.html">std::unique_lock</a></div></div>