mirror of
https://github.com/XRPLF/rippled.git
synced 2026-02-05 22:45:35 +00:00
deploy: 6006c281e2
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -577,107 +577,111 @@ $(document).ready(function() { init_codefold(0); });
|
||||
<div class="line"><a id="l00459" name="l00459"></a><span class="lineno"> 459</span> </div>
|
||||
<div class="line"><a id="l00460" name="l00460"></a><span class="lineno"> 460</span> <span class="keyword">auto</span> masterKey = m.<a class="code hl_variable" href="structxrpl_1_1Manifest.html#a1e0ba232061ca0701e30cc00ad4caeb7">masterKey</a>;</div>
|
||||
<div class="line"><a id="l00461" name="l00461"></a><span class="lineno"> 461</span> <a class="code hl_variable" href="classxrpl_1_1ManifestCache.html#acf9b3a0e76389f71169dd08540d880a4">map_</a>.emplace(std::move(masterKey), std::move(m));</div>
|
||||
<div class="line"><a id="l00462" name="l00462"></a><span class="lineno"> 462</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespacexrpl.html#afffd688695495d7f6784ea568c6d41c6a3e4d891a5df3d6d0d7dd9432a1bc6470">ManifestDisposition::accepted</a>;</div>
|
||||
<div class="line"><a id="l00463" name="l00463"></a><span class="lineno"> 463</span> }</div>
|
||||
<div class="line"><a id="l00464" name="l00464"></a><span class="lineno"> 464</span> </div>
|
||||
<div class="line"><a id="l00465" name="l00465"></a><span class="lineno"> 465</span> <span class="comment">// An ephemeral key was revoked and superseded by a new key. This is</span></div>
|
||||
<div class="line"><a id="l00466" name="l00466"></a><span class="lineno"> 466</span> <span class="comment">// expected, but should happen infrequently.</span></div>
|
||||
<div class="line"><a id="l00467" name="l00467"></a><span class="lineno"> 467</span> <span class="keywordflow">if</span> (<span class="keyword">auto</span> stream = <a class="code hl_variable" href="classxrpl_1_1ManifestCache.html#aedab4fdcd3d6f4c4b26e7618d687706f">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a87d6bd59020d94110027dcab3d9e3357">info</a>())</div>
|
||||
<div class="line"><a id="l00468" name="l00468"></a><span class="lineno"> 468</span> <a class="code hl_function" href="namespacexrpl.html#a04e300318c5a99611d1749f0ac320ecd">logMftAct</a>(stream, <span class="stringliteral">"AcceptedUpdate"</span>, m.<a class="code hl_variable" href="structxrpl_1_1Manifest.html#a1e0ba232061ca0701e30cc00ad4caeb7">masterKey</a>, m.<a class="code hl_variable" href="structxrpl_1_1Manifest.html#a9f9da1d2c40674e2e51327470bc631af">sequence</a>, iter->second.sequence);</div>
|
||||
<div class="line"><a id="l00469" name="l00469"></a><span class="lineno"> 469</span> </div>
|
||||
<div class="line"><a id="l00470" name="l00470"></a><span class="lineno"> 470</span> <a class="code hl_variable" href="classxrpl_1_1ManifestCache.html#ab3de75fdbb12bdc9c7ee3777d7cf6113">signingToMasterKeys_</a>.erase(*iter->second.signingKey);</div>
|
||||
<div class="line"><a id="l00471" name="l00471"></a><span class="lineno"> 471</span> </div>
|
||||
<div class="line"><a id="l00472" name="l00472"></a><span class="lineno"> 472</span> <span class="keywordflow">if</span> (!<a class="code hl_enumvalue" href="namespacexrpl.html#a9f8ae0078d6c6999355160984cb10414a80b785d265b6419ab99251d8f4340a1d">revoked</a>)</div>
|
||||
<div class="line"><a id="l00473" name="l00473"></a><span class="lineno"> 473</span> <a class="code hl_variable" href="classxrpl_1_1ManifestCache.html#ab3de75fdbb12bdc9c7ee3777d7cf6113">signingToMasterKeys_</a>.emplace(*m.<a class="code hl_variable" href="structxrpl_1_1Manifest.html#a976c1911845985dccbe06c11ec31f74c">signingKey</a>, m.<a class="code hl_variable" href="structxrpl_1_1Manifest.html#a1e0ba232061ca0701e30cc00ad4caeb7">masterKey</a>);</div>
|
||||
<div class="line"><a id="l00474" name="l00474"></a><span class="lineno"> 474</span> </div>
|
||||
<div class="line"><a id="l00475" name="l00475"></a><span class="lineno"> 475</span> iter->second = std::move(m);</div>
|
||||
<div class="line"><a id="l00476" name="l00476"></a><span class="lineno"> 476</span> </div>
|
||||
<div class="line"><a id="l00477" name="l00477"></a><span class="lineno"> 477</span> <span class="comment">// Something has changed. Keep track of it.</span></div>
|
||||
<div class="line"><a id="l00478" name="l00478"></a><span class="lineno"> 478</span> <a class="code hl_variable" href="classxrpl_1_1ManifestCache.html#a2f590a094de44209c2761a8d8a0bfae5">seq_</a>++;</div>
|
||||
<div class="line"><a id="l00479" name="l00479"></a><span class="lineno"> 479</span> </div>
|
||||
<div class="line"><a id="l00480" name="l00480"></a><span class="lineno"> 480</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespacexrpl.html#afffd688695495d7f6784ea568c6d41c6a3e4d891a5df3d6d0d7dd9432a1bc6470">ManifestDisposition::accepted</a>;</div>
|
||||
<div class="line"><a id="l00481" name="l00481"></a><span class="lineno"> 481</span>}</div>
|
||||
<div class="line"><a id="l00462" name="l00462"></a><span class="lineno"> 462</span> </div>
|
||||
<div class="line"><a id="l00463" name="l00463"></a><span class="lineno"> 463</span> <span class="comment">// Something has changed. Keep track of it.</span></div>
|
||||
<div class="line"><a id="l00464" name="l00464"></a><span class="lineno"> 464</span> <a class="code hl_variable" href="classxrpl_1_1ManifestCache.html#a2f590a094de44209c2761a8d8a0bfae5">seq_</a>++;</div>
|
||||
<div class="line"><a id="l00465" name="l00465"></a><span class="lineno"> 465</span> </div>
|
||||
<div class="line"><a id="l00466" name="l00466"></a><span class="lineno"> 466</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespacexrpl.html#afffd688695495d7f6784ea568c6d41c6a3e4d891a5df3d6d0d7dd9432a1bc6470">ManifestDisposition::accepted</a>;</div>
|
||||
<div class="line"><a id="l00467" name="l00467"></a><span class="lineno"> 467</span> }</div>
|
||||
<div class="line"><a id="l00468" name="l00468"></a><span class="lineno"> 468</span> </div>
|
||||
<div class="line"><a id="l00469" name="l00469"></a><span class="lineno"> 469</span> <span class="comment">// An ephemeral key was revoked and superseded by a new key. This is</span></div>
|
||||
<div class="line"><a id="l00470" name="l00470"></a><span class="lineno"> 470</span> <span class="comment">// expected, but should happen infrequently.</span></div>
|
||||
<div class="line"><a id="l00471" name="l00471"></a><span class="lineno"> 471</span> <span class="keywordflow">if</span> (<span class="keyword">auto</span> stream = <a class="code hl_variable" href="classxrpl_1_1ManifestCache.html#aedab4fdcd3d6f4c4b26e7618d687706f">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a87d6bd59020d94110027dcab3d9e3357">info</a>())</div>
|
||||
<div class="line"><a id="l00472" name="l00472"></a><span class="lineno"> 472</span> <a class="code hl_function" href="namespacexrpl.html#a04e300318c5a99611d1749f0ac320ecd">logMftAct</a>(stream, <span class="stringliteral">"AcceptedUpdate"</span>, m.<a class="code hl_variable" href="structxrpl_1_1Manifest.html#a1e0ba232061ca0701e30cc00ad4caeb7">masterKey</a>, m.<a class="code hl_variable" href="structxrpl_1_1Manifest.html#a9f9da1d2c40674e2e51327470bc631af">sequence</a>, iter->second.sequence);</div>
|
||||
<div class="line"><a id="l00473" name="l00473"></a><span class="lineno"> 473</span> </div>
|
||||
<div class="line"><a id="l00474" name="l00474"></a><span class="lineno"> 474</span> <a class="code hl_variable" href="classxrpl_1_1ManifestCache.html#ab3de75fdbb12bdc9c7ee3777d7cf6113">signingToMasterKeys_</a>.erase(*iter->second.signingKey);</div>
|
||||
<div class="line"><a id="l00475" name="l00475"></a><span class="lineno"> 475</span> </div>
|
||||
<div class="line"><a id="l00476" name="l00476"></a><span class="lineno"> 476</span> <span class="keywordflow">if</span> (!<a class="code hl_enumvalue" href="namespacexrpl.html#a9f8ae0078d6c6999355160984cb10414a80b785d265b6419ab99251d8f4340a1d">revoked</a>)</div>
|
||||
<div class="line"><a id="l00477" name="l00477"></a><span class="lineno"> 477</span> <a class="code hl_variable" href="classxrpl_1_1ManifestCache.html#ab3de75fdbb12bdc9c7ee3777d7cf6113">signingToMasterKeys_</a>.emplace(*m.<a class="code hl_variable" href="structxrpl_1_1Manifest.html#a976c1911845985dccbe06c11ec31f74c">signingKey</a>, m.<a class="code hl_variable" href="structxrpl_1_1Manifest.html#a1e0ba232061ca0701e30cc00ad4caeb7">masterKey</a>);</div>
|
||||
<div class="line"><a id="l00478" name="l00478"></a><span class="lineno"> 478</span> </div>
|
||||
<div class="line"><a id="l00479" name="l00479"></a><span class="lineno"> 479</span> iter->second = std::move(m);</div>
|
||||
<div class="line"><a id="l00480" name="l00480"></a><span class="lineno"> 480</span> </div>
|
||||
<div class="line"><a id="l00481" name="l00481"></a><span class="lineno"> 481</span> <span class="comment">// Something has changed. Keep track of it.</span></div>
|
||||
<div class="line"><a id="l00482" name="l00482"></a><span class="lineno"> 482</span> <a class="code hl_variable" href="classxrpl_1_1ManifestCache.html#a2f590a094de44209c2761a8d8a0bfae5">seq_</a>++;</div>
|
||||
<div class="line"><a id="l00483" name="l00483"></a><span class="lineno"> 483</span> </div>
|
||||
<div class="line"><a id="l00484" name="l00484"></a><span class="lineno"> 484</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespacexrpl.html#afffd688695495d7f6784ea568c6d41c6a3e4d891a5df3d6d0d7dd9432a1bc6470">ManifestDisposition::accepted</a>;</div>
|
||||
<div class="line"><a id="l00485" name="l00485"></a><span class="lineno"> 485</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00482" name="l00482"></a><span class="lineno"> 482</span> </div>
|
||||
<div class="line"><a id="l00483" name="l00483"></a><span class="lineno"> 483</span><span class="keywordtype">void</span></div>
|
||||
<div class="foldopen" id="foldopen00484" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00484" name="l00484"></a><span class="lineno"><a class="line" href="classxrpl_1_1ManifestCache.html#af3c2a7e2da1139dae40ceda0a9eabd38"> 484</a></span><a class="code hl_function" href="classxrpl_1_1ManifestCache.html#a44f81f5d14de961897a756bb46829249">ManifestCache::load</a>(<a class="code hl_class" href="classxrpl_1_1DatabaseCon.html">DatabaseCon</a>& dbCon, <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>& dbTable)</div>
|
||||
<div class="line"><a id="l00485" name="l00485"></a><span class="lineno"> 485</span>{</div>
|
||||
<div class="line"><a id="l00486" name="l00486"></a><span class="lineno"> 486</span> <span class="keyword">auto</span> db = dbCon.<a class="code hl_function" href="classxrpl_1_1DatabaseCon.html#a910a595db33b746c4bae6a006b135715">checkoutDb</a>();</div>
|
||||
<div class="line"><a id="l00487" name="l00487"></a><span class="lineno"> 487</span> <a class="code hl_function" href="namespacexrpl.html#ac7cbe222779971a35808b60ca3152a15">xrpl::getManifests</a>(*db, dbTable, *<span class="keyword">this</span>, <a class="code hl_variable" href="classxrpl_1_1ManifestCache.html#aedab4fdcd3d6f4c4b26e7618d687706f">j_</a>);</div>
|
||||
<div class="line"><a id="l00488" name="l00488"></a><span class="lineno"> 488</span>}</div>
|
||||
<div class="line"><a id="l00486" name="l00486"></a><span class="lineno"> 486</span> </div>
|
||||
<div class="line"><a id="l00487" name="l00487"></a><span class="lineno"> 487</span><span class="keywordtype">void</span></div>
|
||||
<div class="foldopen" id="foldopen00488" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00488" name="l00488"></a><span class="lineno"><a class="line" href="classxrpl_1_1ManifestCache.html#af3c2a7e2da1139dae40ceda0a9eabd38"> 488</a></span><a class="code hl_function" href="classxrpl_1_1ManifestCache.html#a44f81f5d14de961897a756bb46829249">ManifestCache::load</a>(<a class="code hl_class" href="classxrpl_1_1DatabaseCon.html">DatabaseCon</a>& dbCon, <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>& dbTable)</div>
|
||||
<div class="line"><a id="l00489" name="l00489"></a><span class="lineno"> 489</span>{</div>
|
||||
<div class="line"><a id="l00490" name="l00490"></a><span class="lineno"> 490</span> <span class="keyword">auto</span> db = dbCon.<a class="code hl_function" href="classxrpl_1_1DatabaseCon.html#a910a595db33b746c4bae6a006b135715">checkoutDb</a>();</div>
|
||||
<div class="line"><a id="l00491" name="l00491"></a><span class="lineno"> 491</span> <a class="code hl_function" href="namespacexrpl.html#ac7cbe222779971a35808b60ca3152a15">xrpl::getManifests</a>(*db, dbTable, *<span class="keyword">this</span>, <a class="code hl_variable" href="classxrpl_1_1ManifestCache.html#aedab4fdcd3d6f4c4b26e7618d687706f">j_</a>);</div>
|
||||
<div class="line"><a id="l00492" name="l00492"></a><span class="lineno"> 492</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00489" name="l00489"></a><span class="lineno"> 489</span> </div>
|
||||
<div class="line"><a id="l00490" name="l00490"></a><span class="lineno"> 490</span><span class="keywordtype">bool</span></div>
|
||||
<div class="foldopen" id="foldopen00491" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00491" name="l00491"></a><span class="lineno"><a class="line" href="classxrpl_1_1ManifestCache.html#a44f81f5d14de961897a756bb46829249"> 491</a></span><a class="code hl_function" href="classxrpl_1_1ManifestCache.html#a44f81f5d14de961897a756bb46829249">ManifestCache::load</a>(</div>
|
||||
<div class="line"><a id="l00492" name="l00492"></a><span class="lineno"> 492</span> <a class="code hl_class" href="classxrpl_1_1DatabaseCon.html">DatabaseCon</a>& dbCon,</div>
|
||||
<div class="line"><a id="l00493" name="l00493"></a><span class="lineno"> 493</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>& dbTable,</div>
|
||||
<div class="line"><a id="l00494" name="l00494"></a><span class="lineno"> 494</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>& configManifest,</div>
|
||||
<div class="line"><a id="l00495" name="l00495"></a><span class="lineno"> 495</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<std::string></a> <span class="keyword">const</span>& configRevocation)</div>
|
||||
<div class="line"><a id="l00496" name="l00496"></a><span class="lineno"> 496</span>{</div>
|
||||
<div class="line"><a id="l00497" name="l00497"></a><span class="lineno"> 497</span> <a class="code hl_function" href="classxrpl_1_1ManifestCache.html#a44f81f5d14de961897a756bb46829249">load</a>(dbCon, dbTable);</div>
|
||||
<div class="line"><a id="l00498" name="l00498"></a><span class="lineno"> 498</span> </div>
|
||||
<div class="line"><a id="l00499" name="l00499"></a><span class="lineno"> 499</span> <span class="keywordflow">if</span> (!configManifest.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/string/basic_string/empty.html">empty</a>())</div>
|
||||
<div class="line"><a id="l00500" name="l00500"></a><span class="lineno"> 500</span> {</div>
|
||||
<div class="line"><a id="l00501" name="l00501"></a><span class="lineno"> 501</span> <span class="keyword">auto</span> mo = <a class="code hl_function" href="namespacexrpl.html#a7a39eff2a820000bb2c898789fc5d238">deserializeManifest</a>(<a class="code hl_function" href="namespacexrpl.html#a3ec6606e43d26c0393641d0359b5ae02">base64_decode</a>(configManifest));</div>
|
||||
<div class="line"><a id="l00502" name="l00502"></a><span class="lineno"> 502</span> <span class="keywordflow">if</span> (!mo)</div>
|
||||
<div class="line"><a id="l00503" name="l00503"></a><span class="lineno"> 503</span> {</div>
|
||||
<div class="line"><a id="l00504" name="l00504"></a><span class="lineno"> 504</span> JLOG(<a class="code hl_variable" href="classxrpl_1_1ManifestCache.html#aedab4fdcd3d6f4c4b26e7618d687706f">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">error</a>()) << <span class="stringliteral">"Malformed validator_token in config"</span>;</div>
|
||||
<div class="line"><a id="l00505" name="l00505"></a><span class="lineno"> 505</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a id="l00506" name="l00506"></a><span class="lineno"> 506</span> }</div>
|
||||
<div class="line"><a id="l00507" name="l00507"></a><span class="lineno"> 507</span> </div>
|
||||
<div class="line"><a id="l00508" name="l00508"></a><span class="lineno"> 508</span> <span class="keywordflow">if</span> (mo->revoked())</div>
|
||||
<div class="line"><a id="l00509" name="l00509"></a><span class="lineno"> 509</span> {</div>
|
||||
<div class="line"><a id="l00510" name="l00510"></a><span class="lineno"> 510</span> JLOG(<a class="code hl_variable" href="classxrpl_1_1ManifestCache.html#aedab4fdcd3d6f4c4b26e7618d687706f">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#ad8fefe3e8ad583e1ed1bf02094ac3d8f">warn</a>()) << <span class="stringliteral">"Configured manifest revokes public key"</span>;</div>
|
||||
<div class="line"><a id="l00511" name="l00511"></a><span class="lineno"> 511</span> }</div>
|
||||
<div class="line"><a id="l00512" name="l00512"></a><span class="lineno"> 512</span> </div>
|
||||
<div class="line"><a id="l00513" name="l00513"></a><span class="lineno"> 513</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="classxrpl_1_1ManifestCache.html#a5e249aac38cc06afe55dfcf7c9f0d1b5">applyManifest</a>(std::move(*mo)) == <a class="code hl_enumvalue" href="namespacexrpl.html#afffd688695495d7f6784ea568c6d41c6afedb2d84cafe20862cb4399751a8a7e3">ManifestDisposition::invalid</a>)</div>
|
||||
<div class="line"><a id="l00514" name="l00514"></a><span class="lineno"> 514</span> {</div>
|
||||
<div class="line"><a id="l00515" name="l00515"></a><span class="lineno"> 515</span> JLOG(<a class="code hl_variable" href="classxrpl_1_1ManifestCache.html#aedab4fdcd3d6f4c4b26e7618d687706f">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">error</a>()) << <span class="stringliteral">"Manifest in config was rejected"</span>;</div>
|
||||
<div class="line"><a id="l00516" name="l00516"></a><span class="lineno"> 516</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a id="l00517" name="l00517"></a><span class="lineno"> 517</span> }</div>
|
||||
<div class="line"><a id="l00518" name="l00518"></a><span class="lineno"> 518</span> }</div>
|
||||
<div class="line"><a id="l00519" name="l00519"></a><span class="lineno"> 519</span> </div>
|
||||
<div class="line"><a id="l00520" name="l00520"></a><span class="lineno"> 520</span> <span class="keywordflow">if</span> (!configRevocation.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/empty.html">empty</a>())</div>
|
||||
<div class="line"><a id="l00521" name="l00521"></a><span class="lineno"> 521</span> {</div>
|
||||
<div class="line"><a id="l00522" name="l00522"></a><span class="lineno"> 522</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> revocationStr;</div>
|
||||
<div class="line"><a id="l00523" name="l00523"></a><span class="lineno"> 523</span> revocationStr.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/string/basic_string/reserve.html">reserve</a>(<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/algorithm/accumulate.html">std::accumulate</a>(</div>
|
||||
<div class="line"><a id="l00524" name="l00524"></a><span class="lineno"> 524</span> configRevocation.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/begin.html">cbegin</a>(),</div>
|
||||
<div class="line"><a id="l00525" name="l00525"></a><span class="lineno"> 525</span> configRevocation.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/end.html">cend</a>(),</div>
|
||||
<div class="line"><a id="l00526" name="l00526"></a><span class="lineno"> 526</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a>(0),</div>
|
||||
<div class="line"><a id="l00527" name="l00527"></a><span class="lineno"> 527</span> [](<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> init, <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>& s) { return init + s.size(); }));</div>
|
||||
<div class="line"><a id="l00528" name="l00528"></a><span class="lineno"> 528</span> </div>
|
||||
<div class="line"><a id="l00529" name="l00529"></a><span class="lineno"> 529</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span> <span class="keyword">const</span>& line : configRevocation)</div>
|
||||
<div class="line"><a id="l00530" name="l00530"></a><span class="lineno"> 530</span> revocationStr += boost::algorithm::trim_copy(line);</div>
|
||||
<div class="line"><a id="l00531" name="l00531"></a><span class="lineno"> 531</span> </div>
|
||||
<div class="line"><a id="l00532" name="l00532"></a><span class="lineno"> 532</span> <span class="keyword">auto</span> mo = <a class="code hl_function" href="namespacexrpl.html#a7a39eff2a820000bb2c898789fc5d238">deserializeManifest</a>(<a class="code hl_function" href="namespacexrpl.html#a3ec6606e43d26c0393641d0359b5ae02">base64_decode</a>(revocationStr));</div>
|
||||
<div class="line"><a id="l00533" name="l00533"></a><span class="lineno"> 533</span> </div>
|
||||
<div class="line"><a id="l00534" name="l00534"></a><span class="lineno"> 534</span> <span class="keywordflow">if</span> (!mo || !mo->revoked() || <a class="code hl_function" href="classxrpl_1_1ManifestCache.html#a5e249aac38cc06afe55dfcf7c9f0d1b5">applyManifest</a>(std::move(*mo)) == <a class="code hl_enumvalue" href="namespacexrpl.html#afffd688695495d7f6784ea568c6d41c6afedb2d84cafe20862cb4399751a8a7e3">ManifestDisposition::invalid</a>)</div>
|
||||
<div class="line"><a id="l00535" name="l00535"></a><span class="lineno"> 535</span> {</div>
|
||||
<div class="line"><a id="l00536" name="l00536"></a><span class="lineno"> 536</span> JLOG(<a class="code hl_variable" href="classxrpl_1_1ManifestCache.html#aedab4fdcd3d6f4c4b26e7618d687706f">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">error</a>()) << <span class="stringliteral">"Invalid validator key revocation in config"</span>;</div>
|
||||
<div class="line"><a id="l00537" name="l00537"></a><span class="lineno"> 537</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a id="l00538" name="l00538"></a><span class="lineno"> 538</span> }</div>
|
||||
<div class="line"><a id="l00539" name="l00539"></a><span class="lineno"> 539</span> }</div>
|
||||
<div class="line"><a id="l00540" name="l00540"></a><span class="lineno"> 540</span> </div>
|
||||
<div class="line"><a id="l00541" name="l00541"></a><span class="lineno"> 541</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a id="l00542" name="l00542"></a><span class="lineno"> 542</span>}</div>
|
||||
<div class="line"><a id="l00493" name="l00493"></a><span class="lineno"> 493</span> </div>
|
||||
<div class="line"><a id="l00494" name="l00494"></a><span class="lineno"> 494</span><span class="keywordtype">bool</span></div>
|
||||
<div class="foldopen" id="foldopen00495" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00495" name="l00495"></a><span class="lineno"><a class="line" href="classxrpl_1_1ManifestCache.html#a44f81f5d14de961897a756bb46829249"> 495</a></span><a class="code hl_function" href="classxrpl_1_1ManifestCache.html#a44f81f5d14de961897a756bb46829249">ManifestCache::load</a>(</div>
|
||||
<div class="line"><a id="l00496" name="l00496"></a><span class="lineno"> 496</span> <a class="code hl_class" href="classxrpl_1_1DatabaseCon.html">DatabaseCon</a>& dbCon,</div>
|
||||
<div class="line"><a id="l00497" name="l00497"></a><span class="lineno"> 497</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>& dbTable,</div>
|
||||
<div class="line"><a id="l00498" name="l00498"></a><span class="lineno"> 498</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>& configManifest,</div>
|
||||
<div class="line"><a id="l00499" name="l00499"></a><span class="lineno"> 499</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<std::string></a> <span class="keyword">const</span>& configRevocation)</div>
|
||||
<div class="line"><a id="l00500" name="l00500"></a><span class="lineno"> 500</span>{</div>
|
||||
<div class="line"><a id="l00501" name="l00501"></a><span class="lineno"> 501</span> <a class="code hl_function" href="classxrpl_1_1ManifestCache.html#a44f81f5d14de961897a756bb46829249">load</a>(dbCon, dbTable);</div>
|
||||
<div class="line"><a id="l00502" name="l00502"></a><span class="lineno"> 502</span> </div>
|
||||
<div class="line"><a id="l00503" name="l00503"></a><span class="lineno"> 503</span> <span class="keywordflow">if</span> (!configManifest.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/string/basic_string/empty.html">empty</a>())</div>
|
||||
<div class="line"><a id="l00504" name="l00504"></a><span class="lineno"> 504</span> {</div>
|
||||
<div class="line"><a id="l00505" name="l00505"></a><span class="lineno"> 505</span> <span class="keyword">auto</span> mo = <a class="code hl_function" href="namespacexrpl.html#a7a39eff2a820000bb2c898789fc5d238">deserializeManifest</a>(<a class="code hl_function" href="namespacexrpl.html#a3ec6606e43d26c0393641d0359b5ae02">base64_decode</a>(configManifest));</div>
|
||||
<div class="line"><a id="l00506" name="l00506"></a><span class="lineno"> 506</span> <span class="keywordflow">if</span> (!mo)</div>
|
||||
<div class="line"><a id="l00507" name="l00507"></a><span class="lineno"> 507</span> {</div>
|
||||
<div class="line"><a id="l00508" name="l00508"></a><span class="lineno"> 508</span> JLOG(<a class="code hl_variable" href="classxrpl_1_1ManifestCache.html#aedab4fdcd3d6f4c4b26e7618d687706f">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">error</a>()) << <span class="stringliteral">"Malformed validator_token in config"</span>;</div>
|
||||
<div class="line"><a id="l00509" name="l00509"></a><span class="lineno"> 509</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a id="l00510" name="l00510"></a><span class="lineno"> 510</span> }</div>
|
||||
<div class="line"><a id="l00511" name="l00511"></a><span class="lineno"> 511</span> </div>
|
||||
<div class="line"><a id="l00512" name="l00512"></a><span class="lineno"> 512</span> <span class="keywordflow">if</span> (mo->revoked())</div>
|
||||
<div class="line"><a id="l00513" name="l00513"></a><span class="lineno"> 513</span> {</div>
|
||||
<div class="line"><a id="l00514" name="l00514"></a><span class="lineno"> 514</span> JLOG(<a class="code hl_variable" href="classxrpl_1_1ManifestCache.html#aedab4fdcd3d6f4c4b26e7618d687706f">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#ad8fefe3e8ad583e1ed1bf02094ac3d8f">warn</a>()) << <span class="stringliteral">"Configured manifest revokes public key"</span>;</div>
|
||||
<div class="line"><a id="l00515" name="l00515"></a><span class="lineno"> 515</span> }</div>
|
||||
<div class="line"><a id="l00516" name="l00516"></a><span class="lineno"> 516</span> </div>
|
||||
<div class="line"><a id="l00517" name="l00517"></a><span class="lineno"> 517</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="classxrpl_1_1ManifestCache.html#a5e249aac38cc06afe55dfcf7c9f0d1b5">applyManifest</a>(std::move(*mo)) == <a class="code hl_enumvalue" href="namespacexrpl.html#afffd688695495d7f6784ea568c6d41c6afedb2d84cafe20862cb4399751a8a7e3">ManifestDisposition::invalid</a>)</div>
|
||||
<div class="line"><a id="l00518" name="l00518"></a><span class="lineno"> 518</span> {</div>
|
||||
<div class="line"><a id="l00519" name="l00519"></a><span class="lineno"> 519</span> JLOG(<a class="code hl_variable" href="classxrpl_1_1ManifestCache.html#aedab4fdcd3d6f4c4b26e7618d687706f">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">error</a>()) << <span class="stringliteral">"Manifest in config was rejected"</span>;</div>
|
||||
<div class="line"><a id="l00520" name="l00520"></a><span class="lineno"> 520</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a id="l00521" name="l00521"></a><span class="lineno"> 521</span> }</div>
|
||||
<div class="line"><a id="l00522" name="l00522"></a><span class="lineno"> 522</span> }</div>
|
||||
<div class="line"><a id="l00523" name="l00523"></a><span class="lineno"> 523</span> </div>
|
||||
<div class="line"><a id="l00524" name="l00524"></a><span class="lineno"> 524</span> <span class="keywordflow">if</span> (!configRevocation.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/empty.html">empty</a>())</div>
|
||||
<div class="line"><a id="l00525" name="l00525"></a><span class="lineno"> 525</span> {</div>
|
||||
<div class="line"><a id="l00526" name="l00526"></a><span class="lineno"> 526</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> revocationStr;</div>
|
||||
<div class="line"><a id="l00527" name="l00527"></a><span class="lineno"> 527</span> revocationStr.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/string/basic_string/reserve.html">reserve</a>(<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/algorithm/accumulate.html">std::accumulate</a>(</div>
|
||||
<div class="line"><a id="l00528" name="l00528"></a><span class="lineno"> 528</span> configRevocation.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/begin.html">cbegin</a>(),</div>
|
||||
<div class="line"><a id="l00529" name="l00529"></a><span class="lineno"> 529</span> configRevocation.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/end.html">cend</a>(),</div>
|
||||
<div class="line"><a id="l00530" name="l00530"></a><span class="lineno"> 530</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a>(0),</div>
|
||||
<div class="line"><a id="l00531" name="l00531"></a><span class="lineno"> 531</span> [](<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> init, <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>& s) { return init + s.size(); }));</div>
|
||||
<div class="line"><a id="l00532" name="l00532"></a><span class="lineno"> 532</span> </div>
|
||||
<div class="line"><a id="l00533" name="l00533"></a><span class="lineno"> 533</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span> <span class="keyword">const</span>& line : configRevocation)</div>
|
||||
<div class="line"><a id="l00534" name="l00534"></a><span class="lineno"> 534</span> revocationStr += boost::algorithm::trim_copy(line);</div>
|
||||
<div class="line"><a id="l00535" name="l00535"></a><span class="lineno"> 535</span> </div>
|
||||
<div class="line"><a id="l00536" name="l00536"></a><span class="lineno"> 536</span> <span class="keyword">auto</span> mo = <a class="code hl_function" href="namespacexrpl.html#a7a39eff2a820000bb2c898789fc5d238">deserializeManifest</a>(<a class="code hl_function" href="namespacexrpl.html#a3ec6606e43d26c0393641d0359b5ae02">base64_decode</a>(revocationStr));</div>
|
||||
<div class="line"><a id="l00537" name="l00537"></a><span class="lineno"> 537</span> </div>
|
||||
<div class="line"><a id="l00538" name="l00538"></a><span class="lineno"> 538</span> <span class="keywordflow">if</span> (!mo || !mo->revoked() || <a class="code hl_function" href="classxrpl_1_1ManifestCache.html#a5e249aac38cc06afe55dfcf7c9f0d1b5">applyManifest</a>(std::move(*mo)) == <a class="code hl_enumvalue" href="namespacexrpl.html#afffd688695495d7f6784ea568c6d41c6afedb2d84cafe20862cb4399751a8a7e3">ManifestDisposition::invalid</a>)</div>
|
||||
<div class="line"><a id="l00539" name="l00539"></a><span class="lineno"> 539</span> {</div>
|
||||
<div class="line"><a id="l00540" name="l00540"></a><span class="lineno"> 540</span> JLOG(<a class="code hl_variable" href="classxrpl_1_1ManifestCache.html#aedab4fdcd3d6f4c4b26e7618d687706f">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">error</a>()) << <span class="stringliteral">"Invalid validator key revocation in config"</span>;</div>
|
||||
<div class="line"><a id="l00541" name="l00541"></a><span class="lineno"> 541</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a id="l00542" name="l00542"></a><span class="lineno"> 542</span> }</div>
|
||||
<div class="line"><a id="l00543" name="l00543"></a><span class="lineno"> 543</span> }</div>
|
||||
<div class="line"><a id="l00544" name="l00544"></a><span class="lineno"> 544</span> </div>
|
||||
<div class="line"><a id="l00545" name="l00545"></a><span class="lineno"> 545</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a id="l00546" name="l00546"></a><span class="lineno"> 546</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00543" name="l00543"></a><span class="lineno"> 543</span> </div>
|
||||
<div class="line"><a id="l00544" name="l00544"></a><span class="lineno"> 544</span><span class="keywordtype">void</span></div>
|
||||
<div class="foldopen" id="foldopen00545" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00545" name="l00545"></a><span class="lineno"><a class="line" href="classxrpl_1_1ManifestCache.html#adc121ce1b06e0a2823f070f93ec90bf3"> 545</a></span><a class="code hl_function" href="classxrpl_1_1ManifestCache.html#adc121ce1b06e0a2823f070f93ec90bf3">ManifestCache::save</a>(</div>
|
||||
<div class="line"><a id="l00546" name="l00546"></a><span class="lineno"> 546</span> <a class="code hl_class" href="classxrpl_1_1DatabaseCon.html">DatabaseCon</a>& dbCon,</div>
|
||||
<div class="line"><a id="l00547" name="l00547"></a><span class="lineno"> 547</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>& dbTable,</div>
|
||||
<div class="line"><a id="l00548" name="l00548"></a><span class="lineno"> 548</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a><<span class="keywordtype">bool</span>(<a class="code hl_class" href="classxrpl_1_1PublicKey.html">PublicKey</a> <span class="keyword">const</span>&)> <span class="keyword">const</span>& isTrusted)</div>
|
||||
<div class="line"><a id="l00549" name="l00549"></a><span class="lineno"> 549</span>{</div>
|
||||
<div class="line"><a id="l00550" name="l00550"></a><span class="lineno"> 550</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/thread/shared_lock.html">std::shared_lock</a> lock{<a class="code hl_variable" href="classxrpl_1_1ManifestCache.html#a31357e9be1f6fe0d3020fc3f06e3a6d1">mutex_</a>};</div>
|
||||
<div class="line"><a id="l00551" name="l00551"></a><span class="lineno"> 551</span> <span class="keyword">auto</span> db = dbCon.<a class="code hl_function" href="classxrpl_1_1DatabaseCon.html#a910a595db33b746c4bae6a006b135715">checkoutDb</a>();</div>
|
||||
<div class="line"><a id="l00552" name="l00552"></a><span class="lineno"> 552</span> </div>
|
||||
<div class="line"><a id="l00553" name="l00553"></a><span class="lineno"> 553</span> <a class="code hl_function" href="namespacexrpl.html#ab47ca840117e3a202d5018946de3e9a1">saveManifests</a>(*db, dbTable, isTrusted, <a class="code hl_variable" href="classxrpl_1_1ManifestCache.html#acf9b3a0e76389f71169dd08540d880a4">map_</a>, <a class="code hl_variable" href="classxrpl_1_1ManifestCache.html#aedab4fdcd3d6f4c4b26e7618d687706f">j_</a>);</div>
|
||||
<div class="line"><a id="l00554" name="l00554"></a><span class="lineno"> 554</span>}</div>
|
||||
<div class="line"><a id="l00547" name="l00547"></a><span class="lineno"> 547</span> </div>
|
||||
<div class="line"><a id="l00548" name="l00548"></a><span class="lineno"> 548</span><span class="keywordtype">void</span></div>
|
||||
<div class="foldopen" id="foldopen00549" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00549" name="l00549"></a><span class="lineno"><a class="line" href="classxrpl_1_1ManifestCache.html#adc121ce1b06e0a2823f070f93ec90bf3"> 549</a></span><a class="code hl_function" href="classxrpl_1_1ManifestCache.html#adc121ce1b06e0a2823f070f93ec90bf3">ManifestCache::save</a>(</div>
|
||||
<div class="line"><a id="l00550" name="l00550"></a><span class="lineno"> 550</span> <a class="code hl_class" href="classxrpl_1_1DatabaseCon.html">DatabaseCon</a>& dbCon,</div>
|
||||
<div class="line"><a id="l00551" name="l00551"></a><span class="lineno"> 551</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>& dbTable,</div>
|
||||
<div class="line"><a id="l00552" name="l00552"></a><span class="lineno"> 552</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a><<span class="keywordtype">bool</span>(<a class="code hl_class" href="classxrpl_1_1PublicKey.html">PublicKey</a> <span class="keyword">const</span>&)> <span class="keyword">const</span>& isTrusted)</div>
|
||||
<div class="line"><a id="l00553" name="l00553"></a><span class="lineno"> 553</span>{</div>
|
||||
<div class="line"><a id="l00554" name="l00554"></a><span class="lineno"> 554</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/thread/shared_lock.html">std::shared_lock</a> lock{<a class="code hl_variable" href="classxrpl_1_1ManifestCache.html#a31357e9be1f6fe0d3020fc3f06e3a6d1">mutex_</a>};</div>
|
||||
<div class="line"><a id="l00555" name="l00555"></a><span class="lineno"> 555</span> <span class="keyword">auto</span> db = dbCon.<a class="code hl_function" href="classxrpl_1_1DatabaseCon.html#a910a595db33b746c4bae6a006b135715">checkoutDb</a>();</div>
|
||||
<div class="line"><a id="l00556" name="l00556"></a><span class="lineno"> 556</span> </div>
|
||||
<div class="line"><a id="l00557" name="l00557"></a><span class="lineno"> 557</span> <a class="code hl_function" href="namespacexrpl.html#ab47ca840117e3a202d5018946de3e9a1">saveManifests</a>(*db, dbTable, isTrusted, <a class="code hl_variable" href="classxrpl_1_1ManifestCache.html#acf9b3a0e76389f71169dd08540d880a4">map_</a>, <a class="code hl_variable" href="classxrpl_1_1ManifestCache.html#aedab4fdcd3d6f4c4b26e7618d687706f">j_</a>);</div>
|
||||
<div class="line"><a id="l00558" name="l00558"></a><span class="lineno"> 558</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00555" name="l00555"></a><span class="lineno"> 555</span>} <span class="comment">// namespace xrpl</span></div>
|
||||
<div class="line"><a id="l00559" name="l00559"></a><span class="lineno"> 559</span>} <span class="comment">// namespace xrpl</span></div>
|
||||
<div class="ttc" id="aaccumulate_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/algorithm/accumulate.html">std::accumulate</a></div><div class="ttdeci">T accumulate(T... args)</div></div>
|
||||
<div class="ttc" id="aassign_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string/assign.html">std::string::assign</a></div><div class="ttdeci">T assign(T... args)</div></div>
|
||||
<div class="ttc" id="abasic_string_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a></div></div>
|
||||
@@ -695,7 +699,7 @@ $(document).ready(function() { init_codefold(0); });
|
||||
<div class="ttc" id="aclassxrpl_1_1DatabaseCon_html_a910a595db33b746c4bae6a006b135715"><div class="ttname"><a href="classxrpl_1_1DatabaseCon.html#a910a595db33b746c4bae6a006b135715">xrpl::DatabaseCon::checkoutDb</a></div><div class="ttdeci">LockedSociSession checkoutDb()</div><div class="ttdef"><b>Definition</b> <a href="DatabaseCon_8h_source.html#l00167">DatabaseCon.h:167</a></div></div>
|
||||
<div class="ttc" id="aclassxrpl_1_1ManifestCache_html_a2f590a094de44209c2761a8d8a0bfae5"><div class="ttname"><a href="classxrpl_1_1ManifestCache.html#a2f590a094de44209c2761a8d8a0bfae5">xrpl::ManifestCache::seq_</a></div><div class="ttdeci">std::atomic< std::uint32_t > seq_</div><div class="ttdef"><b>Definition</b> <a href="Manifest_8h_source.html#l00235">Manifest.h:235</a></div></div>
|
||||
<div class="ttc" id="aclassxrpl_1_1ManifestCache_html_a31357e9be1f6fe0d3020fc3f06e3a6d1"><div class="ttname"><a href="classxrpl_1_1ManifestCache.html#a31357e9be1f6fe0d3020fc3f06e3a6d1">xrpl::ManifestCache::mutex_</a></div><div class="ttdeci">std::shared_mutex mutex_</div><div class="ttdef"><b>Definition</b> <a href="Manifest_8h_source.html#l00227">Manifest.h:227</a></div></div>
|
||||
<div class="ttc" id="aclassxrpl_1_1ManifestCache_html_a44f81f5d14de961897a756bb46829249"><div class="ttname"><a href="classxrpl_1_1ManifestCache.html#a44f81f5d14de961897a756bb46829249">xrpl::ManifestCache::load</a></div><div class="ttdeci">bool load(DatabaseCon &dbCon, std::string const &dbTable, std::string const &configManifest, std::vector< std::string > const &configRevocation)</div><div class="ttdoc">Populate manifest cache with manifests in database and config.</div><div class="ttdef"><b>Definition</b> <a href="Manifest_8cpp_source.html#l00491">Manifest.cpp:491</a></div></div>
|
||||
<div class="ttc" id="aclassxrpl_1_1ManifestCache_html_a44f81f5d14de961897a756bb46829249"><div class="ttname"><a href="classxrpl_1_1ManifestCache.html#a44f81f5d14de961897a756bb46829249">xrpl::ManifestCache::load</a></div><div class="ttdeci">bool load(DatabaseCon &dbCon, std::string const &dbTable, std::string const &configManifest, std::vector< std::string > const &configRevocation)</div><div class="ttdoc">Populate manifest cache with manifests in database and config.</div><div class="ttdef"><b>Definition</b> <a href="Manifest_8cpp_source.html#l00495">Manifest.cpp:495</a></div></div>
|
||||
<div class="ttc" id="aclassxrpl_1_1ManifestCache_html_a5ba7c2477cad9c3f28936988355c2fcb"><div class="ttname"><a href="classxrpl_1_1ManifestCache.html#a5ba7c2477cad9c3f28936988355c2fcb">xrpl::ManifestCache::getSigningKey</a></div><div class="ttdeci">std::optional< PublicKey > getSigningKey(PublicKey const &pk) const</div><div class="ttdoc">Returns master key's current signing key.</div><div class="ttdef"><b>Definition</b> <a href="Manifest_8cpp_source.html#l00273">Manifest.cpp:273</a></div></div>
|
||||
<div class="ttc" id="aclassxrpl_1_1ManifestCache_html_a5e249aac38cc06afe55dfcf7c9f0d1b5"><div class="ttname"><a href="classxrpl_1_1ManifestCache.html#a5e249aac38cc06afe55dfcf7c9f0d1b5">xrpl::ManifestCache::applyManifest</a></div><div class="ttdeci">ManifestDisposition applyManifest(Manifest m)</div><div class="ttdoc">Add manifest to cache.</div><div class="ttdef"><b>Definition</b> <a href="Manifest_8cpp_source.html#l00344">Manifest.cpp:344</a></div></div>
|
||||
<div class="ttc" id="aclassxrpl_1_1ManifestCache_html_a979d878926b6bbd30780b515a10fc9e1"><div class="ttname"><a href="classxrpl_1_1ManifestCache.html#a979d878926b6bbd30780b515a10fc9e1">xrpl::ManifestCache::getDomain</a></div><div class="ttdeci">std::optional< std::string > getDomain(PublicKey const &pk) const</div><div class="ttdoc">Returns domain claimed by a given public key.</div><div class="ttdef"><b>Definition</b> <a href="Manifest_8cpp_source.html#l00308">Manifest.cpp:308</a></div></div>
|
||||
@@ -704,7 +708,7 @@ $(document).ready(function() { init_codefold(0); });
|
||||
<div class="ttc" id="aclassxrpl_1_1ManifestCache_html_ab81a1133043cc906e3689097c31bc5f4"><div class="ttname"><a href="classxrpl_1_1ManifestCache.html#ab81a1133043cc906e3689097c31bc5f4">xrpl::ManifestCache::getManifest</a></div><div class="ttdeci">std::optional< std::string > getManifest(PublicKey const &pk) const</div><div class="ttdoc">Returns manifest corresponding to a given public key.</div><div class="ttdef"><b>Definition</b> <a href="Manifest_8cpp_source.html#l00320">Manifest.cpp:320</a></div></div>
|
||||
<div class="ttc" id="aclassxrpl_1_1ManifestCache_html_acf9b3a0e76389f71169dd08540d880a4"><div class="ttname"><a href="classxrpl_1_1ManifestCache.html#acf9b3a0e76389f71169dd08540d880a4">xrpl::ManifestCache::map_</a></div><div class="ttdeci">hash_map< PublicKey, Manifest > map_</div><div class="ttdoc">Active manifests stored by master public key.</div><div class="ttdef"><b>Definition</b> <a href="Manifest_8h_source.html#l00230">Manifest.h:230</a></div></div>
|
||||
<div class="ttc" id="aclassxrpl_1_1ManifestCache_html_ad56392ace15cc46bc8afc0ee23ab0614"><div class="ttname"><a href="classxrpl_1_1ManifestCache.html#ad56392ace15cc46bc8afc0ee23ab0614">xrpl::ManifestCache::getSequence</a></div><div class="ttdeci">std::optional< std::uint32_t > getSequence(PublicKey const &pk) const</div><div class="ttdoc">Returns master key's current manifest sequence.</div><div class="ttdef"><b>Definition</b> <a href="Manifest_8cpp_source.html#l00296">Manifest.cpp:296</a></div></div>
|
||||
<div class="ttc" id="aclassxrpl_1_1ManifestCache_html_adc121ce1b06e0a2823f070f93ec90bf3"><div class="ttname"><a href="classxrpl_1_1ManifestCache.html#adc121ce1b06e0a2823f070f93ec90bf3">xrpl::ManifestCache::save</a></div><div class="ttdeci">void save(DatabaseCon &dbCon, std::string const &dbTable, std::function< bool(PublicKey const &)> const &isTrusted)</div><div class="ttdoc">Save cached manifests to database.</div><div class="ttdef"><b>Definition</b> <a href="Manifest_8cpp_source.html#l00545">Manifest.cpp:545</a></div></div>
|
||||
<div class="ttc" id="aclassxrpl_1_1ManifestCache_html_adc121ce1b06e0a2823f070f93ec90bf3"><div class="ttname"><a href="classxrpl_1_1ManifestCache.html#adc121ce1b06e0a2823f070f93ec90bf3">xrpl::ManifestCache::save</a></div><div class="ttdeci">void save(DatabaseCon &dbCon, std::string const &dbTable, std::function< bool(PublicKey const &)> const &isTrusted)</div><div class="ttdoc">Save cached manifests to database.</div><div class="ttdef"><b>Definition</b> <a href="Manifest_8cpp_source.html#l00549">Manifest.cpp:549</a></div></div>
|
||||
<div class="ttc" id="aclassxrpl_1_1ManifestCache_html_aedab4fdcd3d6f4c4b26e7618d687706f"><div class="ttname"><a href="classxrpl_1_1ManifestCache.html#aedab4fdcd3d6f4c4b26e7618d687706f">xrpl::ManifestCache::j_</a></div><div class="ttdeci">beast::Journal j_</div><div class="ttdef"><b>Definition</b> <a href="Manifest_8h_source.html#l00226">Manifest.h:226</a></div></div>
|
||||
<div class="ttc" id="aclassxrpl_1_1ManifestCache_html_affe91977e460e2d560bb9f196e554b36"><div class="ttname"><a href="classxrpl_1_1ManifestCache.html#affe91977e460e2d560bb9f196e554b36">xrpl::ManifestCache::revoked</a></div><div class="ttdeci">bool revoked(PublicKey const &pk) const</div><div class="ttdoc">Returns true if master key has been revoked in a manifest.</div><div class="ttdef"><b>Definition</b> <a href="Manifest_8cpp_source.html#l00332">Manifest.cpp:332</a></div></div>
|
||||
<div class="ttc" id="aclassxrpl_1_1PublicKey_html"><div class="ttname"><a href="classxrpl_1_1PublicKey.html">xrpl::PublicKey</a></div><div class="ttdoc">A public key.</div><div class="ttdef"><b>Definition</b> <a href="PublicKey_8h_source.html#l00041">PublicKey.h:42</a></div></div>
|
||||
|
||||
@@ -395,7 +395,7 @@ $(document).ready(function() { init_codefold(0); });
|
||||
<div class="ttc" id="aclassxrpl_1_1ManifestCache_html_a2f590a094de44209c2761a8d8a0bfae5"><div class="ttname"><a href="classxrpl_1_1ManifestCache.html#a2f590a094de44209c2761a8d8a0bfae5">xrpl::ManifestCache::seq_</a></div><div class="ttdeci">std::atomic< std::uint32_t > seq_</div><div class="ttdef"><b>Definition</b> <a href="Manifest_8h_source.html#l00235">Manifest.h:235</a></div></div>
|
||||
<div class="ttc" id="aclassxrpl_1_1ManifestCache_html_a31357e9be1f6fe0d3020fc3f06e3a6d1"><div class="ttname"><a href="classxrpl_1_1ManifestCache.html#a31357e9be1f6fe0d3020fc3f06e3a6d1">xrpl::ManifestCache::mutex_</a></div><div class="ttdeci">std::shared_mutex mutex_</div><div class="ttdef"><b>Definition</b> <a href="Manifest_8h_source.html#l00227">Manifest.h:227</a></div></div>
|
||||
<div class="ttc" id="aclassxrpl_1_1ManifestCache_html_a397d9b315066cb3aadaa4781604f1eb0"><div class="ttname"><a href="classxrpl_1_1ManifestCache.html#a397d9b315066cb3aadaa4781604f1eb0">xrpl::ManifestCache::for_each_manifest</a></div><div class="ttdeci">void for_each_manifest(PreFun &&pf, EachFun &&f) const</div><div class="ttdoc">Invokes the callback once for every populated manifest.</div><div class="ttdef"><b>Definition</b> <a href="Manifest_8h_source.html#l00416">Manifest.h:416</a></div></div>
|
||||
<div class="ttc" id="aclassxrpl_1_1ManifestCache_html_a44f81f5d14de961897a756bb46829249"><div class="ttname"><a href="classxrpl_1_1ManifestCache.html#a44f81f5d14de961897a756bb46829249">xrpl::ManifestCache::load</a></div><div class="ttdeci">bool load(DatabaseCon &dbCon, std::string const &dbTable, std::string const &configManifest, std::vector< std::string > const &configRevocation)</div><div class="ttdoc">Populate manifest cache with manifests in database and config.</div><div class="ttdef"><b>Definition</b> <a href="Manifest_8cpp_source.html#l00491">Manifest.cpp:491</a></div></div>
|
||||
<div class="ttc" id="aclassxrpl_1_1ManifestCache_html_a44f81f5d14de961897a756bb46829249"><div class="ttname"><a href="classxrpl_1_1ManifestCache.html#a44f81f5d14de961897a756bb46829249">xrpl::ManifestCache::load</a></div><div class="ttdeci">bool load(DatabaseCon &dbCon, std::string const &dbTable, std::string const &configManifest, std::vector< std::string > const &configRevocation)</div><div class="ttdoc">Populate manifest cache with manifests in database and config.</div><div class="ttdef"><b>Definition</b> <a href="Manifest_8cpp_source.html#l00495">Manifest.cpp:495</a></div></div>
|
||||
<div class="ttc" id="aclassxrpl_1_1ManifestCache_html_a5ba7c2477cad9c3f28936988355c2fcb"><div class="ttname"><a href="classxrpl_1_1ManifestCache.html#a5ba7c2477cad9c3f28936988355c2fcb">xrpl::ManifestCache::getSigningKey</a></div><div class="ttdeci">std::optional< PublicKey > getSigningKey(PublicKey const &pk) const</div><div class="ttdoc">Returns master key's current signing key.</div><div class="ttdef"><b>Definition</b> <a href="Manifest_8cpp_source.html#l00273">Manifest.cpp:273</a></div></div>
|
||||
<div class="ttc" id="aclassxrpl_1_1ManifestCache_html_a5e249aac38cc06afe55dfcf7c9f0d1b5"><div class="ttname"><a href="classxrpl_1_1ManifestCache.html#a5e249aac38cc06afe55dfcf7c9f0d1b5">xrpl::ManifestCache::applyManifest</a></div><div class="ttdeci">ManifestDisposition applyManifest(Manifest m)</div><div class="ttdoc">Add manifest to cache.</div><div class="ttdef"><b>Definition</b> <a href="Manifest_8cpp_source.html#l00344">Manifest.cpp:344</a></div></div>
|
||||
<div class="ttc" id="aclassxrpl_1_1ManifestCache_html_a7b653c514d7bcf0b2c49983ccf9c4bdd"><div class="ttname"><a href="classxrpl_1_1ManifestCache.html#a7b653c514d7bcf0b2c49983ccf9c4bdd">xrpl::ManifestCache::ManifestCache</a></div><div class="ttdeci">ManifestCache(beast::Journal j=beast::Journal(beast::Journal::getNullSink()))</div><div class="ttdef"><b>Definition</b> <a href="Manifest_8h_source.html#l00238">Manifest.h:238</a></div></div>
|
||||
@@ -406,7 +406,7 @@ $(document).ready(function() { init_codefold(0); });
|
||||
<div class="ttc" id="aclassxrpl_1_1ManifestCache_html_ab81a1133043cc906e3689097c31bc5f4"><div class="ttname"><a href="classxrpl_1_1ManifestCache.html#ab81a1133043cc906e3689097c31bc5f4">xrpl::ManifestCache::getManifest</a></div><div class="ttdeci">std::optional< std::string > getManifest(PublicKey const &pk) const</div><div class="ttdoc">Returns manifest corresponding to a given public key.</div><div class="ttdef"><b>Definition</b> <a href="Manifest_8cpp_source.html#l00320">Manifest.cpp:320</a></div></div>
|
||||
<div class="ttc" id="aclassxrpl_1_1ManifestCache_html_acf9b3a0e76389f71169dd08540d880a4"><div class="ttname"><a href="classxrpl_1_1ManifestCache.html#acf9b3a0e76389f71169dd08540d880a4">xrpl::ManifestCache::map_</a></div><div class="ttdeci">hash_map< PublicKey, Manifest > map_</div><div class="ttdoc">Active manifests stored by master public key.</div><div class="ttdef"><b>Definition</b> <a href="Manifest_8h_source.html#l00230">Manifest.h:230</a></div></div>
|
||||
<div class="ttc" id="aclassxrpl_1_1ManifestCache_html_ad56392ace15cc46bc8afc0ee23ab0614"><div class="ttname"><a href="classxrpl_1_1ManifestCache.html#ad56392ace15cc46bc8afc0ee23ab0614">xrpl::ManifestCache::getSequence</a></div><div class="ttdeci">std::optional< std::uint32_t > getSequence(PublicKey const &pk) const</div><div class="ttdoc">Returns master key's current manifest sequence.</div><div class="ttdef"><b>Definition</b> <a href="Manifest_8cpp_source.html#l00296">Manifest.cpp:296</a></div></div>
|
||||
<div class="ttc" id="aclassxrpl_1_1ManifestCache_html_adc121ce1b06e0a2823f070f93ec90bf3"><div class="ttname"><a href="classxrpl_1_1ManifestCache.html#adc121ce1b06e0a2823f070f93ec90bf3">xrpl::ManifestCache::save</a></div><div class="ttdeci">void save(DatabaseCon &dbCon, std::string const &dbTable, std::function< bool(PublicKey const &)> const &isTrusted)</div><div class="ttdoc">Save cached manifests to database.</div><div class="ttdef"><b>Definition</b> <a href="Manifest_8cpp_source.html#l00545">Manifest.cpp:545</a></div></div>
|
||||
<div class="ttc" id="aclassxrpl_1_1ManifestCache_html_adc121ce1b06e0a2823f070f93ec90bf3"><div class="ttname"><a href="classxrpl_1_1ManifestCache.html#adc121ce1b06e0a2823f070f93ec90bf3">xrpl::ManifestCache::save</a></div><div class="ttdeci">void save(DatabaseCon &dbCon, std::string const &dbTable, std::function< bool(PublicKey const &)> const &isTrusted)</div><div class="ttdoc">Save cached manifests to database.</div><div class="ttdef"><b>Definition</b> <a href="Manifest_8cpp_source.html#l00549">Manifest.cpp:549</a></div></div>
|
||||
<div class="ttc" id="aclassxrpl_1_1ManifestCache_html_aedab4fdcd3d6f4c4b26e7618d687706f"><div class="ttname"><a href="classxrpl_1_1ManifestCache.html#aedab4fdcd3d6f4c4b26e7618d687706f">xrpl::ManifestCache::j_</a></div><div class="ttdeci">beast::Journal j_</div><div class="ttdef"><b>Definition</b> <a href="Manifest_8h_source.html#l00226">Manifest.h:226</a></div></div>
|
||||
<div class="ttc" id="aclassxrpl_1_1PublicKey_html"><div class="ttname"><a href="classxrpl_1_1PublicKey.html">xrpl::PublicKey</a></div><div class="ttdoc">A public key.</div><div class="ttdef"><b>Definition</b> <a href="PublicKey_8h_source.html#l00041">PublicKey.h:42</a></div></div>
|
||||
<div class="ttc" id="aclassxrpl_1_1SecretKey_html"><div class="ttname"><a href="classxrpl_1_1SecretKey.html">xrpl::SecretKey</a></div><div class="ttdoc">A secret key.</div><div class="ttdef"><b>Definition</b> <a href="SecretKey_8h_source.html#l00017">SecretKey.h:18</a></div></div>
|
||||
|
||||
@@ -950,52 +950,57 @@ $(document).ready(function() { init_codefold(0); });
|
||||
<div class="line"><a id="l00827" name="l00827"></a><span class="lineno"> 827</span> </div>
|
||||
<div class="line"><a id="l00828" name="l00828"></a><span class="lineno"> 828</span> <span class="comment">// applyManifest should accept new manifests with</span></div>
|
||||
<div class="line"><a id="l00829" name="l00829"></a><span class="lineno"> 829</span> <span class="comment">// higher sequence numbers</span></div>
|
||||
<div class="line"><a id="l00830" name="l00830"></a><span class="lineno"> 830</span> BEAST_EXPECT(cache.<a class="code hl_function" href="classxrpl_1_1ManifestCache.html#a5e249aac38cc06afe55dfcf7c9f0d1b5">applyManifest</a>(<a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#af68ffea390df10aa3b8b58fafab31d25">clone</a>(s_a0)) == <a class="code hl_enumvalue" href="namespacexrpl.html#afffd688695495d7f6784ea568c6d41c6a3e4d891a5df3d6d0d7dd9432a1bc6470">ManifestDisposition::accepted</a>);</div>
|
||||
<div class="line"><a id="l00831" name="l00831"></a><span class="lineno"> 831</span> BEAST_EXPECT(cache.<a class="code hl_function" href="classxrpl_1_1ManifestCache.html#a5e249aac38cc06afe55dfcf7c9f0d1b5">applyManifest</a>(<a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#af68ffea390df10aa3b8b58fafab31d25">clone</a>(s_a0)) == <a class="code hl_enumvalue" href="namespacexrpl.html#afffd688695495d7f6784ea568c6d41c6a36f34fd8319cf30f8e132ef294c616af">ManifestDisposition::stale</a>);</div>
|
||||
<div class="line"><a id="l00832" name="l00832"></a><span class="lineno"> 832</span> </div>
|
||||
<div class="line"><a id="l00833" name="l00833"></a><span class="lineno"> 833</span> BEAST_EXPECT(cache.<a class="code hl_function" href="classxrpl_1_1ManifestCache.html#a5e249aac38cc06afe55dfcf7c9f0d1b5">applyManifest</a>(<a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#af68ffea390df10aa3b8b58fafab31d25">clone</a>(s_a1)) == <a class="code hl_enumvalue" href="namespacexrpl.html#afffd688695495d7f6784ea568c6d41c6a3e4d891a5df3d6d0d7dd9432a1bc6470">ManifestDisposition::accepted</a>);</div>
|
||||
<div class="line"><a id="l00834" name="l00834"></a><span class="lineno"> 834</span> BEAST_EXPECT(cache.<a class="code hl_function" href="classxrpl_1_1ManifestCache.html#a5e249aac38cc06afe55dfcf7c9f0d1b5">applyManifest</a>(<a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#af68ffea390df10aa3b8b58fafab31d25">clone</a>(s_a1)) == <a class="code hl_enumvalue" href="namespacexrpl.html#afffd688695495d7f6784ea568c6d41c6a36f34fd8319cf30f8e132ef294c616af">ManifestDisposition::stale</a>);</div>
|
||||
<div class="line"><a id="l00830" name="l00830"></a><span class="lineno"> 830</span> <span class="keyword">auto</span> <span class="keyword">const</span> seq0 = cache.<a class="code hl_function" href="classxrpl_1_1ManifestCache.html#aab627dadae0964b60b36be8d7f8a82a7">sequence</a>();</div>
|
||||
<div class="line"><a id="l00831" name="l00831"></a><span class="lineno"> 831</span> BEAST_EXPECT(cache.<a class="code hl_function" href="classxrpl_1_1ManifestCache.html#a5e249aac38cc06afe55dfcf7c9f0d1b5">applyManifest</a>(<a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#af68ffea390df10aa3b8b58fafab31d25">clone</a>(s_a0)) == <a class="code hl_enumvalue" href="namespacexrpl.html#afffd688695495d7f6784ea568c6d41c6a3e4d891a5df3d6d0d7dd9432a1bc6470">ManifestDisposition::accepted</a>);</div>
|
||||
<div class="line"><a id="l00832" name="l00832"></a><span class="lineno"> 832</span> BEAST_EXPECT(cache.<a class="code hl_function" href="classxrpl_1_1ManifestCache.html#aab627dadae0964b60b36be8d7f8a82a7">sequence</a>() > seq0);</div>
|
||||
<div class="line"><a id="l00833" name="l00833"></a><span class="lineno"> 833</span> </div>
|
||||
<div class="line"><a id="l00834" name="l00834"></a><span class="lineno"> 834</span> <span class="keyword">auto</span> <span class="keyword">const</span> seq1 = cache.<a class="code hl_function" href="classxrpl_1_1ManifestCache.html#aab627dadae0964b60b36be8d7f8a82a7">sequence</a>();</div>
|
||||
<div class="line"><a id="l00835" name="l00835"></a><span class="lineno"> 835</span> BEAST_EXPECT(cache.<a class="code hl_function" href="classxrpl_1_1ManifestCache.html#a5e249aac38cc06afe55dfcf7c9f0d1b5">applyManifest</a>(<a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#af68ffea390df10aa3b8b58fafab31d25">clone</a>(s_a0)) == <a class="code hl_enumvalue" href="namespacexrpl.html#afffd688695495d7f6784ea568c6d41c6a36f34fd8319cf30f8e132ef294c616af">ManifestDisposition::stale</a>);</div>
|
||||
<div class="line"><a id="l00836" name="l00836"></a><span class="lineno"> 836</span> </div>
|
||||
<div class="line"><a id="l00837" name="l00837"></a><span class="lineno"> 837</span> BEAST_EXPECT(cache.<a class="code hl_function" href="classxrpl_1_1ManifestCache.html#a5e249aac38cc06afe55dfcf7c9f0d1b5">applyManifest</a>(<a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#af68ffea390df10aa3b8b58fafab31d25">clone</a>(s_a2)) == <a class="code hl_enumvalue" href="namespacexrpl.html#afffd688695495d7f6784ea568c6d41c6aa87e0ad4a2bc39bd0de25c9618fdedaf">ManifestDisposition::badEphemeralKey</a>);</div>
|
||||
<div class="line"><a id="l00838" name="l00838"></a><span class="lineno"> 838</span> </div>
|
||||
<div class="line"><a id="l00839" name="l00839"></a><span class="lineno"> 839</span> <span class="comment">// applyManifest should accept manifests with max sequence numbers</span></div>
|
||||
<div class="line"><a id="l00840" name="l00840"></a><span class="lineno"> 840</span> <span class="comment">// that revoke the master public key</span></div>
|
||||
<div class="line"><a id="l00841" name="l00841"></a><span class="lineno"> 841</span> BEAST_EXPECT(!cache.<a class="code hl_function" href="classxrpl_1_1ManifestCache.html#affe91977e460e2d560bb9f196e554b36">revoked</a>(pk_a));</div>
|
||||
<div class="line"><a id="l00842" name="l00842"></a><span class="lineno"> 842</span> BEAST_EXPECT(s_aMax.revoked());</div>
|
||||
<div class="line"><a id="l00843" name="l00843"></a><span class="lineno"> 843</span> BEAST_EXPECT(cache.<a class="code hl_function" href="classxrpl_1_1ManifestCache.html#a5e249aac38cc06afe55dfcf7c9f0d1b5">applyManifest</a>(<a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#af68ffea390df10aa3b8b58fafab31d25">clone</a>(s_aMax)) == <a class="code hl_enumvalue" href="namespacexrpl.html#afffd688695495d7f6784ea568c6d41c6a3e4d891a5df3d6d0d7dd9432a1bc6470">ManifestDisposition::accepted</a>);</div>
|
||||
<div class="line"><a id="l00844" name="l00844"></a><span class="lineno"> 844</span> BEAST_EXPECT(cache.<a class="code hl_function" href="classxrpl_1_1ManifestCache.html#a5e249aac38cc06afe55dfcf7c9f0d1b5">applyManifest</a>(<a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#af68ffea390df10aa3b8b58fafab31d25">clone</a>(s_aMax)) == <a class="code hl_enumvalue" href="namespacexrpl.html#afffd688695495d7f6784ea568c6d41c6a36f34fd8319cf30f8e132ef294c616af">ManifestDisposition::stale</a>);</div>
|
||||
<div class="line"><a id="l00845" name="l00845"></a><span class="lineno"> 845</span> BEAST_EXPECT(cache.<a class="code hl_function" href="classxrpl_1_1ManifestCache.html#a5e249aac38cc06afe55dfcf7c9f0d1b5">applyManifest</a>(<a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#af68ffea390df10aa3b8b58fafab31d25">clone</a>(s_a1)) == <a class="code hl_enumvalue" href="namespacexrpl.html#afffd688695495d7f6784ea568c6d41c6a36f34fd8319cf30f8e132ef294c616af">ManifestDisposition::stale</a>);</div>
|
||||
<div class="line"><a id="l00846" name="l00846"></a><span class="lineno"> 846</span> BEAST_EXPECT(cache.<a class="code hl_function" href="classxrpl_1_1ManifestCache.html#a5e249aac38cc06afe55dfcf7c9f0d1b5">applyManifest</a>(<a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#af68ffea390df10aa3b8b58fafab31d25">clone</a>(s_a0)) == <a class="code hl_enumvalue" href="namespacexrpl.html#afffd688695495d7f6784ea568c6d41c6a36f34fd8319cf30f8e132ef294c616af">ManifestDisposition::stale</a>);</div>
|
||||
<div class="line"><a id="l00847" name="l00847"></a><span class="lineno"> 847</span> BEAST_EXPECT(cache.<a class="code hl_function" href="classxrpl_1_1ManifestCache.html#affe91977e460e2d560bb9f196e554b36">revoked</a>(pk_a));</div>
|
||||
<div class="line"><a id="l00848" name="l00848"></a><span class="lineno"> 848</span> </div>
|
||||
<div class="line"><a id="l00849" name="l00849"></a><span class="lineno"> 849</span> <span class="comment">// applyManifest should reject manifests with invalid signatures</span></div>
|
||||
<div class="line"><a id="l00850" name="l00850"></a><span class="lineno"> 850</span> BEAST_EXPECT(cache.<a class="code hl_function" href="classxrpl_1_1ManifestCache.html#a5e249aac38cc06afe55dfcf7c9f0d1b5">applyManifest</a>(<a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#af68ffea390df10aa3b8b58fafab31d25">clone</a>(s_b0)) == <a class="code hl_enumvalue" href="namespacexrpl.html#afffd688695495d7f6784ea568c6d41c6a3e4d891a5df3d6d0d7dd9432a1bc6470">ManifestDisposition::accepted</a>);</div>
|
||||
<div class="line"><a id="l00851" name="l00851"></a><span class="lineno"> 851</span> BEAST_EXPECT(cache.<a class="code hl_function" href="classxrpl_1_1ManifestCache.html#a5e249aac38cc06afe55dfcf7c9f0d1b5">applyManifest</a>(<a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#af68ffea390df10aa3b8b58fafab31d25">clone</a>(s_b0)) == <a class="code hl_enumvalue" href="namespacexrpl.html#afffd688695495d7f6784ea568c6d41c6a36f34fd8319cf30f8e132ef294c616af">ManifestDisposition::stale</a>);</div>
|
||||
<div class="line"><a id="l00852" name="l00852"></a><span class="lineno"> 852</span> BEAST_EXPECT(!<a class="code hl_function" href="namespacexrpl.html#a7a39eff2a820000bb2c898789fc5d238">deserializeManifest</a>(fake));</div>
|
||||
<div class="line"><a id="l00853" name="l00853"></a><span class="lineno"> 853</span> BEAST_EXPECT(cache.<a class="code hl_function" href="classxrpl_1_1ManifestCache.html#a5e249aac38cc06afe55dfcf7c9f0d1b5">applyManifest</a>(<a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#af68ffea390df10aa3b8b58fafab31d25">clone</a>(s_b1)) == <a class="code hl_enumvalue" href="namespacexrpl.html#afffd688695495d7f6784ea568c6d41c6afedb2d84cafe20862cb4399751a8a7e3">ManifestDisposition::invalid</a>);</div>
|
||||
<div class="line"><a id="l00854" name="l00854"></a><span class="lineno"> 854</span> BEAST_EXPECT(cache.<a class="code hl_function" href="classxrpl_1_1ManifestCache.html#a5e249aac38cc06afe55dfcf7c9f0d1b5">applyManifest</a>(<a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#af68ffea390df10aa3b8b58fafab31d25">clone</a>(s_b2)) == <a class="code hl_enumvalue" href="namespacexrpl.html#afffd688695495d7f6784ea568c6d41c6a3e4d891a5df3d6d0d7dd9432a1bc6470">ManifestDisposition::accepted</a>);</div>
|
||||
<div class="line"><a id="l00855" name="l00855"></a><span class="lineno"> 855</span> </div>
|
||||
<div class="line"><a id="l00856" name="l00856"></a><span class="lineno"> 856</span> <span class="keyword">auto</span> <span class="keyword">const</span> s_c0 = <a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#a93231f61d146b441ccba4fe253e5813b">makeManifest</a>(kp_b2.second, <a class="code hl_enumvalue" href="namespacexrpl.html#a0b0d50fcc4520f33b4417f1b74eee591a8183aa2c95dc1385c8f58bf1917fcb0b">KeyType::ed25519</a>, <a class="code hl_function" href="namespacexrpl.html#a9d3b126b42dcda26b4436b2a493f8f05">randomSecretKey</a>(), <a class="code hl_enumvalue" href="namespacexrpl.html#a0b0d50fcc4520f33b4417f1b74eee591a8183aa2c95dc1385c8f58bf1917fcb0b">KeyType::ed25519</a>, 47);</div>
|
||||
<div class="line"><a id="l00857" name="l00857"></a><span class="lineno"> 857</span> BEAST_EXPECT(cache.<a class="code hl_function" href="classxrpl_1_1ManifestCache.html#a5e249aac38cc06afe55dfcf7c9f0d1b5">applyManifest</a>(<a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#af68ffea390df10aa3b8b58fafab31d25">clone</a>(s_c0)) == <a class="code hl_enumvalue" href="namespacexrpl.html#afffd688695495d7f6784ea568c6d41c6a0464f8586a3ce31b565747750124cacb">ManifestDisposition::badMasterKey</a>);</div>
|
||||
<div class="line"><a id="l00858" name="l00858"></a><span class="lineno"> 858</span> }</div>
|
||||
<div class="line"><a id="l00859" name="l00859"></a><span class="lineno"> 859</span> </div>
|
||||
<div class="line"><a id="l00860" name="l00860"></a><span class="lineno"> 860</span> <a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#a3159967d9710ce1678635dc8d6674975">testLoadStore</a>(cache);</div>
|
||||
<div class="line"><a id="l00861" name="l00861"></a><span class="lineno"> 861</span> <a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#a3835cc79f3985d7b04fbef0c0982eade">testGetSignature</a>();</div>
|
||||
<div class="line"><a id="l00862" name="l00862"></a><span class="lineno"> 862</span> <a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#aaa72f2ff461c8699b297e4458ced257b">testGetKeys</a>();</div>
|
||||
<div class="line"><a id="l00863" name="l00863"></a><span class="lineno"> 863</span> <a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#a546457b71bb17a24ec933de05ea1a87b">testValidatorToken</a>();</div>
|
||||
<div class="line"><a id="l00864" name="l00864"></a><span class="lineno"> 864</span> <a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#a2425c5830f569486feaec9966e892904">testManifestDeserialization</a>();</div>
|
||||
<div class="line"><a id="l00865" name="l00865"></a><span class="lineno"> 865</span> <a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#a6ce0ccd07d91555d139fca01cbf5c89f">testManifestDomainNames</a>();</div>
|
||||
<div class="line"><a id="l00866" name="l00866"></a><span class="lineno"> 866</span> <a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#ae42283b1193d0eac69312e9349ff37ed">testManifestVersioning</a>();</div>
|
||||
<div class="line"><a id="l00867" name="l00867"></a><span class="lineno"> 867</span> }</div>
|
||||
<div class="line"><a id="l00836" name="l00836"></a><span class="lineno"> 836</span> BEAST_EXPECT(cache.<a class="code hl_function" href="classxrpl_1_1ManifestCache.html#aab627dadae0964b60b36be8d7f8a82a7">sequence</a>() == seq1);</div>
|
||||
<div class="line"><a id="l00837" name="l00837"></a><span class="lineno"> 837</span> </div>
|
||||
<div class="line"><a id="l00838" name="l00838"></a><span class="lineno"> 838</span> BEAST_EXPECT(cache.<a class="code hl_function" href="classxrpl_1_1ManifestCache.html#a5e249aac38cc06afe55dfcf7c9f0d1b5">applyManifest</a>(<a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#af68ffea390df10aa3b8b58fafab31d25">clone</a>(s_a1)) == <a class="code hl_enumvalue" href="namespacexrpl.html#afffd688695495d7f6784ea568c6d41c6a3e4d891a5df3d6d0d7dd9432a1bc6470">ManifestDisposition::accepted</a>);</div>
|
||||
<div class="line"><a id="l00839" name="l00839"></a><span class="lineno"> 839</span> BEAST_EXPECT(cache.<a class="code hl_function" href="classxrpl_1_1ManifestCache.html#a5e249aac38cc06afe55dfcf7c9f0d1b5">applyManifest</a>(<a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#af68ffea390df10aa3b8b58fafab31d25">clone</a>(s_a1)) == <a class="code hl_enumvalue" href="namespacexrpl.html#afffd688695495d7f6784ea568c6d41c6a36f34fd8319cf30f8e132ef294c616af">ManifestDisposition::stale</a>);</div>
|
||||
<div class="line"><a id="l00840" name="l00840"></a><span class="lineno"> 840</span> BEAST_EXPECT(cache.<a class="code hl_function" href="classxrpl_1_1ManifestCache.html#a5e249aac38cc06afe55dfcf7c9f0d1b5">applyManifest</a>(<a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#af68ffea390df10aa3b8b58fafab31d25">clone</a>(s_a0)) == <a class="code hl_enumvalue" href="namespacexrpl.html#afffd688695495d7f6784ea568c6d41c6a36f34fd8319cf30f8e132ef294c616af">ManifestDisposition::stale</a>);</div>
|
||||
<div class="line"><a id="l00841" name="l00841"></a><span class="lineno"> 841</span> </div>
|
||||
<div class="line"><a id="l00842" name="l00842"></a><span class="lineno"> 842</span> BEAST_EXPECT(cache.<a class="code hl_function" href="classxrpl_1_1ManifestCache.html#a5e249aac38cc06afe55dfcf7c9f0d1b5">applyManifest</a>(<a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#af68ffea390df10aa3b8b58fafab31d25">clone</a>(s_a2)) == <a class="code hl_enumvalue" href="namespacexrpl.html#afffd688695495d7f6784ea568c6d41c6aa87e0ad4a2bc39bd0de25c9618fdedaf">ManifestDisposition::badEphemeralKey</a>);</div>
|
||||
<div class="line"><a id="l00843" name="l00843"></a><span class="lineno"> 843</span> </div>
|
||||
<div class="line"><a id="l00844" name="l00844"></a><span class="lineno"> 844</span> <span class="comment">// applyManifest should accept manifests with max sequence numbers</span></div>
|
||||
<div class="line"><a id="l00845" name="l00845"></a><span class="lineno"> 845</span> <span class="comment">// that revoke the master public key</span></div>
|
||||
<div class="line"><a id="l00846" name="l00846"></a><span class="lineno"> 846</span> BEAST_EXPECT(!cache.<a class="code hl_function" href="classxrpl_1_1ManifestCache.html#affe91977e460e2d560bb9f196e554b36">revoked</a>(pk_a));</div>
|
||||
<div class="line"><a id="l00847" name="l00847"></a><span class="lineno"> 847</span> BEAST_EXPECT(s_aMax.revoked());</div>
|
||||
<div class="line"><a id="l00848" name="l00848"></a><span class="lineno"> 848</span> BEAST_EXPECT(cache.<a class="code hl_function" href="classxrpl_1_1ManifestCache.html#a5e249aac38cc06afe55dfcf7c9f0d1b5">applyManifest</a>(<a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#af68ffea390df10aa3b8b58fafab31d25">clone</a>(s_aMax)) == <a class="code hl_enumvalue" href="namespacexrpl.html#afffd688695495d7f6784ea568c6d41c6a3e4d891a5df3d6d0d7dd9432a1bc6470">ManifestDisposition::accepted</a>);</div>
|
||||
<div class="line"><a id="l00849" name="l00849"></a><span class="lineno"> 849</span> BEAST_EXPECT(cache.<a class="code hl_function" href="classxrpl_1_1ManifestCache.html#a5e249aac38cc06afe55dfcf7c9f0d1b5">applyManifest</a>(<a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#af68ffea390df10aa3b8b58fafab31d25">clone</a>(s_aMax)) == <a class="code hl_enumvalue" href="namespacexrpl.html#afffd688695495d7f6784ea568c6d41c6a36f34fd8319cf30f8e132ef294c616af">ManifestDisposition::stale</a>);</div>
|
||||
<div class="line"><a id="l00850" name="l00850"></a><span class="lineno"> 850</span> BEAST_EXPECT(cache.<a class="code hl_function" href="classxrpl_1_1ManifestCache.html#a5e249aac38cc06afe55dfcf7c9f0d1b5">applyManifest</a>(<a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#af68ffea390df10aa3b8b58fafab31d25">clone</a>(s_a1)) == <a class="code hl_enumvalue" href="namespacexrpl.html#afffd688695495d7f6784ea568c6d41c6a36f34fd8319cf30f8e132ef294c616af">ManifestDisposition::stale</a>);</div>
|
||||
<div class="line"><a id="l00851" name="l00851"></a><span class="lineno"> 851</span> BEAST_EXPECT(cache.<a class="code hl_function" href="classxrpl_1_1ManifestCache.html#a5e249aac38cc06afe55dfcf7c9f0d1b5">applyManifest</a>(<a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#af68ffea390df10aa3b8b58fafab31d25">clone</a>(s_a0)) == <a class="code hl_enumvalue" href="namespacexrpl.html#afffd688695495d7f6784ea568c6d41c6a36f34fd8319cf30f8e132ef294c616af">ManifestDisposition::stale</a>);</div>
|
||||
<div class="line"><a id="l00852" name="l00852"></a><span class="lineno"> 852</span> BEAST_EXPECT(cache.<a class="code hl_function" href="classxrpl_1_1ManifestCache.html#affe91977e460e2d560bb9f196e554b36">revoked</a>(pk_a));</div>
|
||||
<div class="line"><a id="l00853" name="l00853"></a><span class="lineno"> 853</span> </div>
|
||||
<div class="line"><a id="l00854" name="l00854"></a><span class="lineno"> 854</span> <span class="comment">// applyManifest should reject manifests with invalid signatures</span></div>
|
||||
<div class="line"><a id="l00855" name="l00855"></a><span class="lineno"> 855</span> BEAST_EXPECT(cache.<a class="code hl_function" href="classxrpl_1_1ManifestCache.html#a5e249aac38cc06afe55dfcf7c9f0d1b5">applyManifest</a>(<a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#af68ffea390df10aa3b8b58fafab31d25">clone</a>(s_b0)) == <a class="code hl_enumvalue" href="namespacexrpl.html#afffd688695495d7f6784ea568c6d41c6a3e4d891a5df3d6d0d7dd9432a1bc6470">ManifestDisposition::accepted</a>);</div>
|
||||
<div class="line"><a id="l00856" name="l00856"></a><span class="lineno"> 856</span> BEAST_EXPECT(cache.<a class="code hl_function" href="classxrpl_1_1ManifestCache.html#a5e249aac38cc06afe55dfcf7c9f0d1b5">applyManifest</a>(<a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#af68ffea390df10aa3b8b58fafab31d25">clone</a>(s_b0)) == <a class="code hl_enumvalue" href="namespacexrpl.html#afffd688695495d7f6784ea568c6d41c6a36f34fd8319cf30f8e132ef294c616af">ManifestDisposition::stale</a>);</div>
|
||||
<div class="line"><a id="l00857" name="l00857"></a><span class="lineno"> 857</span> BEAST_EXPECT(!<a class="code hl_function" href="namespacexrpl.html#a7a39eff2a820000bb2c898789fc5d238">deserializeManifest</a>(fake));</div>
|
||||
<div class="line"><a id="l00858" name="l00858"></a><span class="lineno"> 858</span> BEAST_EXPECT(cache.<a class="code hl_function" href="classxrpl_1_1ManifestCache.html#a5e249aac38cc06afe55dfcf7c9f0d1b5">applyManifest</a>(<a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#af68ffea390df10aa3b8b58fafab31d25">clone</a>(s_b1)) == <a class="code hl_enumvalue" href="namespacexrpl.html#afffd688695495d7f6784ea568c6d41c6afedb2d84cafe20862cb4399751a8a7e3">ManifestDisposition::invalid</a>);</div>
|
||||
<div class="line"><a id="l00859" name="l00859"></a><span class="lineno"> 859</span> BEAST_EXPECT(cache.<a class="code hl_function" href="classxrpl_1_1ManifestCache.html#a5e249aac38cc06afe55dfcf7c9f0d1b5">applyManifest</a>(<a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#af68ffea390df10aa3b8b58fafab31d25">clone</a>(s_b2)) == <a class="code hl_enumvalue" href="namespacexrpl.html#afffd688695495d7f6784ea568c6d41c6a3e4d891a5df3d6d0d7dd9432a1bc6470">ManifestDisposition::accepted</a>);</div>
|
||||
<div class="line"><a id="l00860" name="l00860"></a><span class="lineno"> 860</span> </div>
|
||||
<div class="line"><a id="l00861" name="l00861"></a><span class="lineno"> 861</span> <span class="keyword">auto</span> <span class="keyword">const</span> s_c0 = <a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#a93231f61d146b441ccba4fe253e5813b">makeManifest</a>(kp_b2.second, <a class="code hl_enumvalue" href="namespacexrpl.html#a0b0d50fcc4520f33b4417f1b74eee591a8183aa2c95dc1385c8f58bf1917fcb0b">KeyType::ed25519</a>, <a class="code hl_function" href="namespacexrpl.html#a9d3b126b42dcda26b4436b2a493f8f05">randomSecretKey</a>(), <a class="code hl_enumvalue" href="namespacexrpl.html#a0b0d50fcc4520f33b4417f1b74eee591a8183aa2c95dc1385c8f58bf1917fcb0b">KeyType::ed25519</a>, 47);</div>
|
||||
<div class="line"><a id="l00862" name="l00862"></a><span class="lineno"> 862</span> BEAST_EXPECT(cache.<a class="code hl_function" href="classxrpl_1_1ManifestCache.html#a5e249aac38cc06afe55dfcf7c9f0d1b5">applyManifest</a>(<a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#af68ffea390df10aa3b8b58fafab31d25">clone</a>(s_c0)) == <a class="code hl_enumvalue" href="namespacexrpl.html#afffd688695495d7f6784ea568c6d41c6a0464f8586a3ce31b565747750124cacb">ManifestDisposition::badMasterKey</a>);</div>
|
||||
<div class="line"><a id="l00863" name="l00863"></a><span class="lineno"> 863</span> }</div>
|
||||
<div class="line"><a id="l00864" name="l00864"></a><span class="lineno"> 864</span> </div>
|
||||
<div class="line"><a id="l00865" name="l00865"></a><span class="lineno"> 865</span> <a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#a3159967d9710ce1678635dc8d6674975">testLoadStore</a>(cache);</div>
|
||||
<div class="line"><a id="l00866" name="l00866"></a><span class="lineno"> 866</span> <a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#a3835cc79f3985d7b04fbef0c0982eade">testGetSignature</a>();</div>
|
||||
<div class="line"><a id="l00867" name="l00867"></a><span class="lineno"> 867</span> <a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#aaa72f2ff461c8699b297e4458ced257b">testGetKeys</a>();</div>
|
||||
<div class="line"><a id="l00868" name="l00868"></a><span class="lineno"> 868</span> <a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#a546457b71bb17a24ec933de05ea1a87b">testValidatorToken</a>();</div>
|
||||
<div class="line"><a id="l00869" name="l00869"></a><span class="lineno"> 869</span> <a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#a2425c5830f569486feaec9966e892904">testManifestDeserialization</a>();</div>
|
||||
<div class="line"><a id="l00870" name="l00870"></a><span class="lineno"> 870</span> <a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#a6ce0ccd07d91555d139fca01cbf5c89f">testManifestDomainNames</a>();</div>
|
||||
<div class="line"><a id="l00871" name="l00871"></a><span class="lineno"> 871</span> <a class="code hl_function" href="classxrpl_1_1test_1_1Manifest__test.html#ae42283b1193d0eac69312e9349ff37ed">testManifestVersioning</a>();</div>
|
||||
<div class="line"><a id="l00872" name="l00872"></a><span class="lineno"> 872</span> }</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00868" name="l00868"></a><span class="lineno"> 868</span>};</div>
|
||||
<div class="line"><a id="l00873" name="l00873"></a><span class="lineno"> 873</span>};</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00869" name="l00869"></a><span class="lineno"> 869</span> </div>
|
||||
<div class="line"><a id="l00870" name="l00870"></a><span class="lineno"><a class="line" href="namespacexrpl_1_1test.html#ac0bba5b6df981bd4eb68ee1c2cdf9f51"> 870</a></span>BEAST_DEFINE_TESTSUITE(<a class="code hl_struct" href="structxrpl_1_1Manifest.html">Manifest</a>, app, <a class="code hl_namespace" href="namespacexrpl.html">xrpl</a>);</div>
|
||||
<div class="line"><a id="l00871" name="l00871"></a><span class="lineno"> 871</span> </div>
|
||||
<div class="line"><a id="l00872" name="l00872"></a><span class="lineno"> 872</span>} <span class="comment">// namespace test</span></div>
|
||||
<div class="line"><a id="l00873" name="l00873"></a><span class="lineno"> 873</span>} <span class="comment">// namespace xrpl</span></div>
|
||||
<div class="line"><a id="l00874" name="l00874"></a><span class="lineno"> 874</span> </div>
|
||||
<div class="line"><a id="l00875" name="l00875"></a><span class="lineno"><a class="line" href="namespacexrpl_1_1test.html#ac0bba5b6df981bd4eb68ee1c2cdf9f51"> 875</a></span>BEAST_DEFINE_TESTSUITE(<a class="code hl_struct" href="structxrpl_1_1Manifest.html">Manifest</a>, app, <a class="code hl_namespace" href="namespacexrpl.html">xrpl</a>);</div>
|
||||
<div class="line"><a id="l00876" name="l00876"></a><span class="lineno"> 876</span> </div>
|
||||
<div class="line"><a id="l00877" name="l00877"></a><span class="lineno"> 877</span>} <span class="comment">// namespace test</span></div>
|
||||
<div class="line"><a id="l00878" name="l00878"></a><span class="lineno"> 878</span>} <span class="comment">// namespace xrpl</span></div>
|
||||
<div class="ttc" id="aarray_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a></div></div>
|
||||
<div class="ttc" id="abasic_string_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a></div></div>
|
||||
<div class="ttc" id="abegin_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/begin.html">std::vector::begin</a></div><div class="ttdeci">T begin(T... args)</div></div>
|
||||
@@ -1003,11 +1008,12 @@ $(document).ready(function() { init_codefold(0); });
|
||||
<div class="ttc" id="aclassbeast_1_1unit__test_1_1suite_html_aaa1237d9b85c69d35fe86645cee094b5"><div class="ttname"><a href="classbeast_1_1unit__test_1_1suite.html#aaa1237d9b85c69d35fe86645cee094b5">beast::unit_test::suite::testcase</a></div><div class="ttdeci">testcase_t testcase</div><div class="ttdoc">Memberspace for declaring test cases.</div><div class="ttdef"><b>Definition</b> <a href="suite_8h_source.html#l00147">suite.h:147</a></div></div>
|
||||
<div class="ttc" id="aclassbeast_1_1unit__test_1_1suite_html_af5ea30f883ad3a2a841af60a9a82c29c"><div class="ttname"><a href="classbeast_1_1unit__test_1_1suite.html#af5ea30f883ad3a2a841af60a9a82c29c">beast::unit_test::suite::fail</a></div><div class="ttdeci">void fail(String const &reason, char const *file, int line)</div><div class="ttdoc">Record a failure.</div><div class="ttdef"><b>Definition</b> <a href="suite_8h_source.html#l00516">suite.h:516</a></div></div>
|
||||
<div class="ttc" id="aclassxrpl_1_1ManifestCache_html"><div class="ttname"><a href="classxrpl_1_1ManifestCache.html">xrpl::ManifestCache</a></div><div class="ttdoc">Remembers manifests with the highest sequence number.</div><div class="ttdef"><b>Definition</b> <a href="Manifest_8h_source.html#l00223">Manifest.h:224</a></div></div>
|
||||
<div class="ttc" id="aclassxrpl_1_1ManifestCache_html_a44f81f5d14de961897a756bb46829249"><div class="ttname"><a href="classxrpl_1_1ManifestCache.html#a44f81f5d14de961897a756bb46829249">xrpl::ManifestCache::load</a></div><div class="ttdeci">bool load(DatabaseCon &dbCon, std::string const &dbTable, std::string const &configManifest, std::vector< std::string > const &configRevocation)</div><div class="ttdoc">Populate manifest cache with manifests in database and config.</div><div class="ttdef"><b>Definition</b> <a href="Manifest_8cpp_source.html#l00491">Manifest.cpp:491</a></div></div>
|
||||
<div class="ttc" id="aclassxrpl_1_1ManifestCache_html_a44f81f5d14de961897a756bb46829249"><div class="ttname"><a href="classxrpl_1_1ManifestCache.html#a44f81f5d14de961897a756bb46829249">xrpl::ManifestCache::load</a></div><div class="ttdeci">bool load(DatabaseCon &dbCon, std::string const &dbTable, std::string const &configManifest, std::vector< std::string > const &configRevocation)</div><div class="ttdoc">Populate manifest cache with manifests in database and config.</div><div class="ttdef"><b>Definition</b> <a href="Manifest_8cpp_source.html#l00495">Manifest.cpp:495</a></div></div>
|
||||
<div class="ttc" id="aclassxrpl_1_1ManifestCache_html_a5ba7c2477cad9c3f28936988355c2fcb"><div class="ttname"><a href="classxrpl_1_1ManifestCache.html#a5ba7c2477cad9c3f28936988355c2fcb">xrpl::ManifestCache::getSigningKey</a></div><div class="ttdeci">std::optional< PublicKey > getSigningKey(PublicKey const &pk) const</div><div class="ttdoc">Returns master key's current signing key.</div><div class="ttdef"><b>Definition</b> <a href="Manifest_8cpp_source.html#l00273">Manifest.cpp:273</a></div></div>
|
||||
<div class="ttc" id="aclassxrpl_1_1ManifestCache_html_a5e249aac38cc06afe55dfcf7c9f0d1b5"><div class="ttname"><a href="classxrpl_1_1ManifestCache.html#a5e249aac38cc06afe55dfcf7c9f0d1b5">xrpl::ManifestCache::applyManifest</a></div><div class="ttdeci">ManifestDisposition applyManifest(Manifest m)</div><div class="ttdoc">Add manifest to cache.</div><div class="ttdef"><b>Definition</b> <a href="Manifest_8cpp_source.html#l00344">Manifest.cpp:344</a></div></div>
|
||||
<div class="ttc" id="aclassxrpl_1_1ManifestCache_html_a9c11787dc10067aa8845cccee7bdd85d"><div class="ttname"><a href="classxrpl_1_1ManifestCache.html#a9c11787dc10067aa8845cccee7bdd85d">xrpl::ManifestCache::getMasterKey</a></div><div class="ttdeci">PublicKey getMasterKey(PublicKey const &pk) const</div><div class="ttdoc">Returns ephemeral signing key's master public key.</div><div class="ttdef"><b>Definition</b> <a href="Manifest_8cpp_source.html#l00285">Manifest.cpp:285</a></div></div>
|
||||
<div class="ttc" id="aclassxrpl_1_1ManifestCache_html_adc121ce1b06e0a2823f070f93ec90bf3"><div class="ttname"><a href="classxrpl_1_1ManifestCache.html#adc121ce1b06e0a2823f070f93ec90bf3">xrpl::ManifestCache::save</a></div><div class="ttdeci">void save(DatabaseCon &dbCon, std::string const &dbTable, std::function< bool(PublicKey const &)> const &isTrusted)</div><div class="ttdoc">Save cached manifests to database.</div><div class="ttdef"><b>Definition</b> <a href="Manifest_8cpp_source.html#l00545">Manifest.cpp:545</a></div></div>
|
||||
<div class="ttc" id="aclassxrpl_1_1ManifestCache_html_aab627dadae0964b60b36be8d7f8a82a7"><div class="ttname"><a href="classxrpl_1_1ManifestCache.html#aab627dadae0964b60b36be8d7f8a82a7">xrpl::ManifestCache::sequence</a></div><div class="ttdeci">std::uint32_t sequence() const</div><div class="ttdoc">A monotonically increasing number used to detect new manifests.</div><div class="ttdef"><b>Definition</b> <a href="Manifest_8h_source.html#l00244">Manifest.h:244</a></div></div>
|
||||
<div class="ttc" id="aclassxrpl_1_1ManifestCache_html_adc121ce1b06e0a2823f070f93ec90bf3"><div class="ttname"><a href="classxrpl_1_1ManifestCache.html#adc121ce1b06e0a2823f070f93ec90bf3">xrpl::ManifestCache::save</a></div><div class="ttdeci">void save(DatabaseCon &dbCon, std::string const &dbTable, std::function< bool(PublicKey const &)> const &isTrusted)</div><div class="ttdoc">Save cached manifests to database.</div><div class="ttdef"><b>Definition</b> <a href="Manifest_8cpp_source.html#l00549">Manifest.cpp:549</a></div></div>
|
||||
<div class="ttc" id="aclassxrpl_1_1ManifestCache_html_affe91977e460e2d560bb9f196e554b36"><div class="ttname"><a href="classxrpl_1_1ManifestCache.html#affe91977e460e2d560bb9f196e554b36">xrpl::ManifestCache::revoked</a></div><div class="ttdeci">bool revoked(PublicKey const &pk) const</div><div class="ttdoc">Returns true if master key has been revoked in a manifest.</div><div class="ttdef"><b>Definition</b> <a href="Manifest_8cpp_source.html#l00332">Manifest.cpp:332</a></div></div>
|
||||
<div class="ttc" id="aclassxrpl_1_1PublicKey_html"><div class="ttname"><a href="classxrpl_1_1PublicKey.html">xrpl::PublicKey</a></div><div class="ttdoc">A public key.</div><div class="ttdef"><b>Definition</b> <a href="PublicKey_8h_source.html#l00041">PublicKey.h:42</a></div></div>
|
||||
<div class="ttc" id="aclassxrpl_1_1STObject_html"><div class="ttname"><a href="classxrpl_1_1STObject.html">xrpl::STObject</a></div><div class="ttdef"><b>Definition</b> <a href="STObject_8h_source.html#l00036">STObject.h:37</a></div></div>
|
||||
|
||||
@@ -484,7 +484,7 @@ Private Attributes</h2></td></tr>
|
||||
<dl class="section user"><dt>Thread Safety</dt><dd></dd></dl>
|
||||
<p>May be called concurrently </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="Manifest_8cpp_source.html#l00491">491</a> of file <a class="el" href="Manifest_8cpp_source.html">Manifest.cpp</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="Manifest_8cpp_source.html#l00495">495</a> of file <a class="el" href="Manifest_8cpp_source.html">Manifest.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -525,7 +525,7 @@ Private Attributes</h2></td></tr>
|
||||
<dl class="section user"><dt>Thread Safety</dt><dd></dd></dl>
|
||||
<p>May be called concurrently </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="Manifest_8cpp_source.html#l00484">484</a> of file <a class="el" href="Manifest_8cpp_source.html">Manifest.cpp</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="Manifest_8cpp_source.html#l00488">488</a> of file <a class="el" href="Manifest_8cpp_source.html">Manifest.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -572,7 +572,7 @@ Private Attributes</h2></td></tr>
|
||||
<dl class="section user"><dt>Thread Safety</dt><dd></dd></dl>
|
||||
<p>May be called concurrently </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="Manifest_8cpp_source.html#l00545">545</a> of file <a class="el" href="Manifest_8cpp_source.html">Manifest.cpp</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="Manifest_8cpp_source.html#l00549">549</a> of file <a class="el" href="Manifest_8cpp_source.html">Manifest.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -565,7 +565,7 @@ Private Attributes</h2></td></tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="LendingHelpers__test_8cpp_source.html#l00657">657</a> of file <a class="el" href="LendingHelpers__test_8cpp_source.html">LendingHelpers_test.cpp</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="LendingHelpers__test_8cpp_source.html#l00655">655</a> of file <a class="el" href="LendingHelpers__test_8cpp_source.html">LendingHelpers_test.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -592,7 +592,7 @@ Private Attributes</h2></td></tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="LendingHelpers__test_8cpp_source.html#l00743">743</a> of file <a class="el" href="LendingHelpers__test_8cpp_source.html">LendingHelpers_test.cpp</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="LendingHelpers__test_8cpp_source.html#l00739">739</a> of file <a class="el" href="LendingHelpers__test_8cpp_source.html">LendingHelpers_test.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -619,7 +619,7 @@ Private Attributes</h2></td></tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="LendingHelpers__test_8cpp_source.html#l00834">834</a> of file <a class="el" href="LendingHelpers__test_8cpp_source.html">LendingHelpers_test.cpp</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="LendingHelpers__test_8cpp_source.html#l00828">828</a> of file <a class="el" href="LendingHelpers__test_8cpp_source.html">LendingHelpers_test.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -646,7 +646,7 @@ Private Attributes</h2></td></tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="LendingHelpers__test_8cpp_source.html#l00930">930</a> of file <a class="el" href="LendingHelpers__test_8cpp_source.html">LendingHelpers_test.cpp</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="LendingHelpers__test_8cpp_source.html#l00922">922</a> of file <a class="el" href="LendingHelpers__test_8cpp_source.html">LendingHelpers_test.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -673,7 +673,7 @@ Private Attributes</h2></td></tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="LendingHelpers__test_8cpp_source.html#l01028">1028</a> of file <a class="el" href="LendingHelpers__test_8cpp_source.html">LendingHelpers_test.cpp</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="LendingHelpers__test_8cpp_source.html#l01018">1018</a> of file <a class="el" href="LendingHelpers__test_8cpp_source.html">LendingHelpers_test.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -704,7 +704,7 @@ Private Attributes</h2></td></tr>
|
||||
|
||||
<p>Implements <a class="el" href="classbeast_1_1unit__test_1_1suite.html#aea7ffa0eca5e015d21be62a18adb8393">beast::unit_test::suite</a>.</p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="LendingHelpers__test_8cpp_source.html#l01126">1126</a> of file <a class="el" href="LendingHelpers__test_8cpp_source.html">LendingHelpers_test.cpp</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="LendingHelpers__test_8cpp_source.html#l01114">1114</a> of file <a class="el" href="LendingHelpers__test_8cpp_source.html">LendingHelpers_test.cpp</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user