This commit is contained in:
bthomee
2025-05-29 21:00:28 +00:00
parent 5243cbe582
commit e0ff9ab743
567 changed files with 23898 additions and 24756 deletions

View File

@@ -344,9 +344,9 @@ $(function() {
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span> <span class="comment">// 4 is the maxium paths</span></div>
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span> pf.<a class="code hl_function" href="classripple_1_1Pathfinder.html#a715ddccc964329332578978ff5aafaef">computePathRanks</a>(4);</div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> <a class="code hl_class" href="classripple_1_1STPath.html">STPath</a> fullLiquidityPath;</div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> <a class="code hl_class" href="classripple_1_1STPathSet.html">STPathSet</a> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1paths.html">paths</a>;</div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> <a class="code hl_class" href="classripple_1_1STPathSet.html">STPathSet</a> paths;</div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> result = pf.<a class="code hl_function" href="classripple_1_1Pathfinder.html#addfe15f1a79f11abf25a21091d4b8a35">getBestPaths</a>(</div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> 4, fullLiquidityPath, <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1paths.html">paths</a>, sendMax.<a class="code hl_function" href="classripple_1_1STAmount.html#acab76380a95d902071fd26ab3425bbe5">issue</a>().<a class="code hl_variable" href="classripple_1_1Issue.html#a46e4805870b1bad6a8691bed0b8acec8">account</a>);</div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> 4, fullLiquidityPath, paths, sendMax.<a class="code hl_function" href="classripple_1_1STAmount.html#acab76380a95d902071fd26ab3425bbe5">issue</a>().<a class="code hl_variable" href="classripple_1_1Issue.html#a46e4805870b1bad6a8691bed0b8acec8">account</a>);</div>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span> }</div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> }</div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span> </div>
@@ -454,8 +454,8 @@ $(function() {
<div class="line"><a id="l00376" name="l00376"></a><span class="lineno"> 376</span> <a class="code hl_struct" href="structripple_1_1RPC_1_1detail_1_1transactionPreProcessResult.html">transactionPreProcessResult</a>&amp;</div>
<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"><a class="line" href="structripple_1_1RPC_1_1detail_1_1transactionPreProcessResult.html#af730e498527f3bfa637305e07b34d1f1"> 377</a></span> <a class="code hl_function" href="structripple_1_1RPC_1_1detail_1_1transactionPreProcessResult.html#af730e498527f3bfa637305e07b34d1f1">operator=</a>(<a class="code hl_struct" href="structripple_1_1RPC_1_1detail_1_1transactionPreProcessResult.html">transactionPreProcessResult</a>&amp;&amp;) = <span class="keyword">delete</span>;</div>
<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"> 378</span> </div>
<div class="line"><a id="l00379" name="l00379"></a><span class="lineno"><a class="line" href="structripple_1_1RPC_1_1detail_1_1transactionPreProcessResult.html#a84665d471ed6dd4c4f0d5053f0fb0544"> 379</a></span> <a class="code hl_function" href="structripple_1_1RPC_1_1detail_1_1transactionPreProcessResult.html#a84665d471ed6dd4c4f0d5053f0fb0544">transactionPreProcessResult</a>(<a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a>&amp;&amp; <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1json.html">json</a>)</div>
<div class="line"><a id="l00380" name="l00380"></a><span class="lineno"> 380</span> : <a class="code hl_variable" href="structripple_1_1RPC_1_1detail_1_1transactionPreProcessResult.html#a6aed6f351d9414e836d4fdba0cab74d2">first</a>(<a class="code hl_namespace" href="namespacestd.html">std</a>::move(<a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1json.html">json</a>)), <a class="code hl_variable" href="structripple_1_1RPC_1_1detail_1_1transactionPreProcessResult.html#ae81b909a82e4822f0074c6353f57cc09">second</a>()</div>
<div class="line"><a id="l00379" name="l00379"></a><span class="lineno"><a class="line" href="structripple_1_1RPC_1_1detail_1_1transactionPreProcessResult.html#a84665d471ed6dd4c4f0d5053f0fb0544"> 379</a></span> <a class="code hl_function" href="structripple_1_1RPC_1_1detail_1_1transactionPreProcessResult.html#a84665d471ed6dd4c4f0d5053f0fb0544">transactionPreProcessResult</a>(<a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a>&amp;&amp; json)</div>
<div class="line"><a id="l00380" name="l00380"></a><span class="lineno"> 380</span> : <a class="code hl_variable" href="structripple_1_1RPC_1_1detail_1_1transactionPreProcessResult.html#a6aed6f351d9414e836d4fdba0cab74d2">first</a>(<a class="code hl_namespace" href="namespacestd.html">std</a>::move(json)), <a class="code hl_variable" href="structripple_1_1RPC_1_1detail_1_1transactionPreProcessResult.html#ae81b909a82e4822f0074c6353f57cc09">second</a>()</div>
<div class="line"><a id="l00381" name="l00381"></a><span class="lineno"> 381</span> {</div>
<div class="line"><a id="l00382" name="l00382"></a><span class="lineno"> 382</span> }</div>
<div class="line"><a id="l00383" name="l00383"></a><span class="lineno"> 383</span> </div>
@@ -856,20 +856,20 @@ $(function() {
<div class="line"><a id="l00778" name="l00778"></a><span class="lineno"> 778</span> <span class="keywordflow">return</span> config.<a class="code hl_variable" href="classripple_1_1Config.html#ac186cbb607c1417144a54b8bd7280423">FEES</a>.<a class="code hl_variable" href="structripple_1_1FeeSetup.html#a0eec4da1884d29e364b4475f57f1453d">reference_fee</a>;</div>
<div class="line"><a id="l00779" name="l00779"></a><span class="lineno"> 779</span> </div>
<div class="line"><a id="l00780" name="l00780"></a><span class="lineno"> 780</span> <span class="comment">// check multi-signed signers</span></div>
<div class="line"><a id="l00781" name="l00781"></a><span class="lineno"> 781</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span>&amp; <a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1signer.html">signer</a> : tx[jss::Signers])</div>
<div class="line"><a id="l00781" name="l00781"></a><span class="lineno"> 781</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span>&amp; signer : tx[jss::Signers])</div>
<div class="line"><a id="l00782" name="l00782"></a><span class="lineno"> 782</span> {</div>
<div class="line"><a id="l00783" name="l00783"></a><span class="lineno"> 783</span> <span class="keywordflow">if</span> (!<a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1signer.html">signer</a>.isMember(jss::Signer) ||</div>
<div class="line"><a id="l00784" name="l00784"></a><span class="lineno"> 784</span> !<a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1signer.html">signer</a>[jss::Signer].isObject())</div>
<div class="line"><a id="l00783" name="l00783"></a><span class="lineno"> 783</span> <span class="keywordflow">if</span> (!signer.isMember(jss::Signer) ||</div>
<div class="line"><a id="l00784" name="l00784"></a><span class="lineno"> 784</span> !signer[jss::Signer].isObject())</div>
<div class="line"><a id="l00785" name="l00785"></a><span class="lineno"> 785</span> <span class="keywordflow">return</span> config.<a class="code hl_variable" href="classripple_1_1Config.html#ac186cbb607c1417144a54b8bd7280423">FEES</a>.<a class="code hl_variable" href="structripple_1_1FeeSetup.html#a0eec4da1884d29e364b4475f57f1453d">reference_fee</a>;</div>
<div class="line"><a id="l00786" name="l00786"></a><span class="lineno"> 786</span> <span class="keywordflow">if</span> (!<a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1signer.html">signer</a>[jss::Signer].isMember(jss::SigningPubKey))</div>
<div class="line"><a id="l00786" name="l00786"></a><span class="lineno"> 786</span> <span class="keywordflow">if</span> (!signer[jss::Signer].isMember(jss::SigningPubKey))</div>
<div class="line"><a id="l00787" name="l00787"></a><span class="lineno"> 787</span> {</div>
<div class="line"><a id="l00788" name="l00788"></a><span class="lineno"> 788</span> <span class="comment">// autofill SigningPubKey</span></div>
<div class="line"><a id="l00789" name="l00789"></a><span class="lineno"> 789</span> <a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1signer.html">signer</a>[jss::Signer][jss::SigningPubKey] = <span class="stringliteral">&quot;&quot;</span>;</div>
<div class="line"><a id="l00789" name="l00789"></a><span class="lineno"> 789</span> signer[jss::Signer][jss::SigningPubKey] = <span class="stringliteral">&quot;&quot;</span>;</div>
<div class="line"><a id="l00790" name="l00790"></a><span class="lineno"> 790</span> }</div>
<div class="line"><a id="l00791" name="l00791"></a><span class="lineno"> 791</span> <span class="keywordflow">if</span> (!<a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1signer.html">signer</a>[jss::Signer].isMember(jss::TxnSignature))</div>
<div class="line"><a id="l00791" name="l00791"></a><span class="lineno"> 791</span> <span class="keywordflow">if</span> (!signer[jss::Signer].isMember(jss::TxnSignature))</div>
<div class="line"><a id="l00792" name="l00792"></a><span class="lineno"> 792</span> {</div>
<div class="line"><a id="l00793" name="l00793"></a><span class="lineno"> 793</span> <span class="comment">// autofill TxnSignature</span></div>
<div class="line"><a id="l00794" name="l00794"></a><span class="lineno"> 794</span> <a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1signer.html">signer</a>[jss::Signer][jss::TxnSignature] = <span class="stringliteral">&quot;&quot;</span>;</div>
<div class="line"><a id="l00794" name="l00794"></a><span class="lineno"> 794</span> signer[jss::Signer][jss::TxnSignature] = <span class="stringliteral">&quot;&quot;</span>;</div>
<div class="line"><a id="l00795" name="l00795"></a><span class="lineno"> 795</span> }</div>
<div class="line"><a id="l00796" name="l00796"></a><span class="lineno"> 796</span> }</div>
<div class="line"><a id="l00797" name="l00797"></a><span class="lineno"> 797</span> }</div>
@@ -912,28 +912,28 @@ $(function() {
<div class="line"><a id="l00834" name="l00834"></a><span class="lineno"> 834</span> <span class="comment">// Administrative and identified endpoints are exempt from local fees.</span></div>
<div class="line"><a id="l00835" name="l00835"></a><span class="lineno"> 835</span> <a class="code hl_class" href="classripple_1_1XRPAmount.html">XRPAmount</a> <span class="keyword">const</span> loadFee =</div>
<div class="line"><a id="l00836" name="l00836"></a><span class="lineno"> 836</span> <a class="code hl_function" href="namespaceripple.html#ac9d3948299b3e1819062bb1327c26610">scaleFeeLoad</a>(feeDefault, feeTrack, ledger-&gt;fees(), <a class="code hl_function" href="namespaceripple.html#a6909f61053b6e084f46665fa9f4ee673">isUnlimited</a>(role));</div>
<div class="line"><a id="l00837" name="l00837"></a><span class="lineno"> 837</span> <a class="code hl_class" href="classripple_1_1XRPAmount.html">XRPAmount</a> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1fee.html">fee</a> = loadFee;</div>
<div class="line"><a id="l00837" name="l00837"></a><span class="lineno"> 837</span> <a class="code hl_class" href="classripple_1_1XRPAmount.html">XRPAmount</a> fee = loadFee;</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="keyword">auto</span> <span class="keyword">const</span> metrics = txQ.<a class="code hl_function" href="classripple_1_1TxQ.html#a2a08d6cdb1e6700a24dc0f71eb3ef7ed">getMetrics</a>(*ledger);</div>
<div class="line"><a id="l00840" name="l00840"></a><span class="lineno"> 840</span> <span class="keyword">auto</span> <span class="keyword">const</span> baseFee = ledger-&gt;fees().base;</div>
<div class="line"><a id="l00841" name="l00841"></a><span class="lineno"> 841</span> <span class="keyword">auto</span> escalatedFee =</div>
<div class="line"><a id="l00842" name="l00842"></a><span class="lineno"> 842</span> <a class="code hl_function" href="namespaceripple.html#acee1f3b6b870fd674b55857a57da61f5">toDrops</a>(metrics.openLedgerFeeLevel - <a class="code hl_class" href="classripple_1_1feeunit_1_1TaggedFee.html">FeeLevel64</a>(1), baseFee) + 1;</div>
<div class="line"><a id="l00843" name="l00843"></a><span class="lineno"> 843</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1fee.html">fee</a> = <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/algorithm/max.html">std::max</a>(<a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1fee.html">fee</a>, escalatedFee);</div>
<div class="line"><a id="l00843" name="l00843"></a><span class="lineno"> 843</span> fee = <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/algorithm/max.html">std::max</a>(fee, escalatedFee);</div>
<div class="line"><a id="l00844" name="l00844"></a><span class="lineno"> 844</span> }</div>
<div class="line"><a id="l00845" name="l00845"></a><span class="lineno"> 845</span> </div>
<div class="line"><a id="l00846" name="l00846"></a><span class="lineno"> 846</span> <span class="keyword">auto</span> <span class="keyword">const</span> limit = <a class="code hl_function" href="namespaceripple.html#ad012d6a36cd38b19ab4d8b47521fbd5f">mulDiv</a>(feeDefault, mult, div);</div>
<div class="line"><a id="l00847" name="l00847"></a><span class="lineno"> 847</span> <span class="keywordflow">if</span> (!limit)</div>
<div class="line"><a id="l00848" name="l00848"></a><span class="lineno"> 848</span> Throw&lt;std::overflow_error&gt;(<span class="stringliteral">&quot;mulDiv&quot;</span>);</div>
<div class="line"><a id="l00849" name="l00849"></a><span class="lineno"> 849</span> </div>
<div class="line"><a id="l00850" name="l00850"></a><span class="lineno"> 850</span> <span class="keywordflow">if</span> (<a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1fee.html">fee</a> &gt; *limit)</div>
<div class="line"><a id="l00850" name="l00850"></a><span class="lineno"> 850</span> <span class="keywordflow">if</span> (fee &gt; *limit)</div>
<div class="line"><a id="l00851" name="l00851"></a><span class="lineno"> 851</span> {</div>
<div class="line"><a id="l00852" name="l00852"></a><span class="lineno"> 852</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/io/basic_stringstream.html">std::stringstream</a> ss;</div>
<div class="line"><a id="l00853" name="l00853"></a><span class="lineno"> 853</span> ss &lt;&lt; <span class="stringliteral">&quot;Fee of &quot;</span> &lt;&lt; <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1fee.html">fee</a> &lt;&lt; <span class="stringliteral">&quot; exceeds the requested tx limit of &quot;</span></div>
<div class="line"><a id="l00853" name="l00853"></a><span class="lineno"> 853</span> ss &lt;&lt; <span class="stringliteral">&quot;Fee of &quot;</span> &lt;&lt; fee &lt;&lt; <span class="stringliteral">&quot; exceeds the requested tx limit of &quot;</span></div>
<div class="line"><a id="l00854" name="l00854"></a><span class="lineno"> 854</span> &lt;&lt; *limit;</div>
<div class="line"><a id="l00855" name="l00855"></a><span class="lineno"> 855</span> <span class="keywordflow">return</span> <a class="code hl_function" href="namespaceripple_1_1RPC.html#a2cd6200f6709780fcf1dd26ec9cd2866">RPC::make_error</a>(<a class="code hl_enumvalue" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932ae44751c9b253c3b447721a315c5525c7">rpcHIGH_FEE</a>, ss.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/io/basic_stringstream/str.html">str</a>());</div>
<div class="line"><a id="l00856" name="l00856"></a><span class="lineno"> 856</span> }</div>
<div class="line"><a id="l00857" name="l00857"></a><span class="lineno"> 857</span> </div>
<div class="line"><a id="l00858" name="l00858"></a><span class="lineno"> 858</span> <span class="keywordflow">return</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1fee.html">fee</a>.jsonClipped();</div>
<div class="line"><a id="l00858" name="l00858"></a><span class="lineno"> 858</span> <span class="keywordflow">return</span> fee.<a class="code hl_function" href="classripple_1_1XRPAmount.html#ae0f72ad2a358b203279ad0a5f99efc37">jsonClipped</a>();</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> </div>
<div class="line"><a id="l00861" name="l00861"></a><span class="lineno"> 861</span><a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a></div>
@@ -1118,28 +1118,28 @@ $(function() {
<div class="line"><a id="l01042" name="l01042"></a><span class="lineno"> 1042</span><span class="comment">//</span></div>
<div class="line"><a id="l01043" name="l01043"></a><span class="lineno"> 1043</span><span class="comment">// Returns a null Json::Value if there are no errors.</span></div>
<div class="line"><a id="l01044" name="l01044"></a><span class="lineno"> 1044</span><span class="keyword">static</span> <a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a></div>
<div class="line"><a id="l01045" name="l01045"></a><span class="lineno"><a class="line" href="namespaceripple_1_1RPC_1_1detail.html#ae55247d02759e159363f3e9e370eee81"> 1045</a></span><a class="code hl_function" href="namespaceripple_1_1RPC_1_1detail.html#ae55247d02759e159363f3e9e370eee81">sortAndValidateSigners</a>(<a class="code hl_class" href="classripple_1_1STArray.html">STArray</a>&amp; <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a2f130edacc0e266d31bd9d4fe4def16c">signers</a>, <a class="code hl_class" href="classripple_1_1base__uint.html">AccountID</a> <span class="keyword">const</span>&amp; signingForID)</div>
<div class="line"><a id="l01045" name="l01045"></a><span class="lineno"><a class="line" href="namespaceripple_1_1RPC_1_1detail.html#ae55247d02759e159363f3e9e370eee81"> 1045</a></span><a class="code hl_function" href="namespaceripple_1_1RPC_1_1detail.html#ae55247d02759e159363f3e9e370eee81">sortAndValidateSigners</a>(<a class="code hl_class" href="classripple_1_1STArray.html">STArray</a>&amp; signers, <a class="code hl_class" href="classripple_1_1base__uint.html">AccountID</a> <span class="keyword">const</span>&amp; signingForID)</div>
<div class="line"><a id="l01046" name="l01046"></a><span class="lineno"> 1046</span>{</div>
<div class="line"><a id="l01047" name="l01047"></a><span class="lineno"> 1047</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a2f130edacc0e266d31bd9d4fe4def16c">signers</a>.empty())</div>
<div class="line"><a id="l01047" name="l01047"></a><span class="lineno"> 1047</span> <span class="keywordflow">if</span> (signers.empty())</div>
<div class="line"><a id="l01048" name="l01048"></a><span class="lineno"> 1048</span> <span class="keywordflow">return</span> <a class="code hl_function" href="namespaceripple_1_1RPC.html#a5b6ce0616f6995340f4dd846660c3749">RPC::make_param_error</a>(<span class="stringliteral">&quot;Signers array may not be empty.&quot;</span>);</div>
<div class="line"><a id="l01049" name="l01049"></a><span class="lineno"> 1049</span> </div>
<div class="line"><a id="l01050" name="l01050"></a><span class="lineno"> 1050</span> <span class="comment">// Signers must be sorted by Account.</span></div>
<div class="line"><a id="l01051" name="l01051"></a><span class="lineno"> 1051</span> <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/algorithm/sort.html">std::sort</a>(</div>
<div class="line"><a id="l01052" name="l01052"></a><span class="lineno"> 1052</span> <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a2f130edacc0e266d31bd9d4fe4def16c">signers</a>.<a class="code hl_function" href="classJson_1_1Value.html#a015459a3950c198d63a2d3be8f5ae296">begin</a>(),</div>
<div class="line"><a id="l01053" name="l01053"></a><span class="lineno"> 1053</span> <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a2f130edacc0e266d31bd9d4fe4def16c">signers</a>.<a class="code hl_function" href="classJson_1_1Value.html#a3e443cd0ef24f7e028b175e47ee045e0">end</a>(),</div>
<div class="line"><a id="l01052" name="l01052"></a><span class="lineno"> 1052</span> signers.begin(),</div>
<div class="line"><a id="l01053" name="l01053"></a><span class="lineno"> 1053</span> signers.end(),</div>
<div class="line"><a id="l01054" name="l01054"></a><span class="lineno"> 1054</span> [](<a class="code hl_class" href="classripple_1_1STObject.html">STObject</a> <span class="keyword">const</span>&amp; a, <a class="code hl_class" href="classripple_1_1STObject.html">STObject</a> <span class="keyword">const</span>&amp; b) {</div>
<div class="line"><a id="l01055" name="l01055"></a><span class="lineno"> 1055</span> return (a[sfAccount] &lt; b[sfAccount]);</div>
<div class="line"><a id="l01056" name="l01056"></a><span class="lineno"> 1056</span> });</div>
<div class="line"><a id="l01057" name="l01057"></a><span class="lineno"> 1057</span> </div>
<div class="line"><a id="l01058" name="l01058"></a><span class="lineno"> 1058</span> <span class="comment">// Signers may not contain any duplicates.</span></div>
<div class="line"><a id="l01059" name="l01059"></a><span class="lineno"> 1059</span> <span class="keyword">auto</span> <span class="keyword">const</span> dupIter = <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/algorithm/adjacent_find.html">std::adjacent_find</a>(</div>
<div class="line"><a id="l01060" name="l01060"></a><span class="lineno"> 1060</span> <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a2f130edacc0e266d31bd9d4fe4def16c">signers</a>.<a class="code hl_function" href="classJson_1_1Value.html#a015459a3950c198d63a2d3be8f5ae296">begin</a>(),</div>
<div class="line"><a id="l01061" name="l01061"></a><span class="lineno"> 1061</span> <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a2f130edacc0e266d31bd9d4fe4def16c">signers</a>.<a class="code hl_function" href="classJson_1_1Value.html#a3e443cd0ef24f7e028b175e47ee045e0">end</a>(),</div>
<div class="line"><a id="l01060" name="l01060"></a><span class="lineno"> 1060</span> signers.begin(),</div>
<div class="line"><a id="l01061" name="l01061"></a><span class="lineno"> 1061</span> signers.end(),</div>
<div class="line"><a id="l01062" name="l01062"></a><span class="lineno"> 1062</span> [](<a class="code hl_class" href="classripple_1_1STObject.html">STObject</a> <span class="keyword">const</span>&amp; a, <a class="code hl_class" href="classripple_1_1STObject.html">STObject</a> <span class="keyword">const</span>&amp; b) {</div>
<div class="line"><a id="l01063" name="l01063"></a><span class="lineno"> 1063</span> return (a[sfAccount] == b[sfAccount]);</div>
<div class="line"><a id="l01064" name="l01064"></a><span class="lineno"> 1064</span> });</div>
<div class="line"><a id="l01065" name="l01065"></a><span class="lineno"> 1065</span> </div>
<div class="line"><a id="l01066" name="l01066"></a><span class="lineno"> 1066</span> <span class="keywordflow">if</span> (dupIter != <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a2f130edacc0e266d31bd9d4fe4def16c">signers</a>.<a class="code hl_function" href="classJson_1_1Value.html#a3e443cd0ef24f7e028b175e47ee045e0">end</a>())</div>
<div class="line"><a id="l01066" name="l01066"></a><span class="lineno"> 1066</span> <span class="keywordflow">if</span> (dupIter != signers.end())</div>
<div class="line"><a id="l01067" name="l01067"></a><span class="lineno"> 1067</span> {</div>
<div class="line"><a id="l01068" name="l01068"></a><span class="lineno"> 1068</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/io/basic_ostringstream.html">std::ostringstream</a> err;</div>
<div class="line"><a id="l01069" name="l01069"></a><span class="lineno"> 1069</span> err &lt;&lt; <span class="stringliteral">&quot;Duplicate Signers:Signer:Account entries (&quot;</span></div>
@@ -1148,10 +1148,10 @@ $(function() {
<div class="line"><a id="l01072" name="l01072"></a><span class="lineno"> 1072</span> }</div>
<div class="line"><a id="l01073" name="l01073"></a><span class="lineno"> 1073</span> </div>
<div class="line"><a id="l01074" name="l01074"></a><span class="lineno"> 1074</span> <span class="comment">// An account may not sign for itself.</span></div>
<div class="line"><a id="l01075" name="l01075"></a><span class="lineno"> 1075</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a2f130edacc0e266d31bd9d4fe4def16c">signers</a>.<a class="code hl_function" href="classJson_1_1Value.html#a3e443cd0ef24f7e028b175e47ee045e0">end</a>() !=</div>
<div class="line"><a id="l01075" name="l01075"></a><span class="lineno"> 1075</span> <span class="keywordflow">if</span> (signers.end() !=</div>
<div class="line"><a id="l01076" name="l01076"></a><span class="lineno"> 1076</span> <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/algorithm/find.html">std::find_if</a>(</div>
<div class="line"><a id="l01077" name="l01077"></a><span class="lineno"> 1077</span> <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a2f130edacc0e266d31bd9d4fe4def16c">signers</a>.<a class="code hl_function" href="classJson_1_1Value.html#a015459a3950c198d63a2d3be8f5ae296">begin</a>(),</div>
<div class="line"><a id="l01078" name="l01078"></a><span class="lineno"> 1078</span> <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a2f130edacc0e266d31bd9d4fe4def16c">signers</a>.<a class="code hl_function" href="classJson_1_1Value.html#a3e443cd0ef24f7e028b175e47ee045e0">end</a>(),</div>
<div class="line"><a id="l01077" name="l01077"></a><span class="lineno"> 1077</span> signers.begin(),</div>
<div class="line"><a id="l01078" name="l01078"></a><span class="lineno"> 1078</span> signers.end(),</div>
<div class="line"><a id="l01079" name="l01079"></a><span class="lineno"> 1079</span> [&amp;signingForID](<a class="code hl_class" href="classripple_1_1STObject.html">STObject</a> <span class="keyword">const</span>&amp; elem) {</div>
<div class="line"><a id="l01080" name="l01080"></a><span class="lineno"> 1080</span> return elem[sfAccount] == signingForID;</div>
<div class="line"><a id="l01081" name="l01081"></a><span class="lineno"> 1081</span> }))</div>
@@ -1246,21 +1246,21 @@ $(function() {
<div class="line"><a id="l01171" name="l01171"></a><span class="lineno"> 1171</span> <span class="keyword">auto</span>&amp; sttx = preprocResult.second;</div>
<div class="line"><a id="l01172" name="l01172"></a><span class="lineno"> 1172</span> {</div>
<div class="line"><a id="l01173" name="l01173"></a><span class="lineno"> 1173</span> <span class="comment">// Make the signer object that we&#39;ll inject.</span></div>
<div class="line"><a id="l01174" name="l01174"></a><span class="lineno"> 1174</span> <a class="code hl_class" href="classripple_1_1STObject.html">STObject</a> <a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1signer.html">signer</a> = <a class="code hl_function" href="classripple_1_1STObject.html#ab027b1e13d78b76dd6f41f0fb3459792">STObject::makeInnerObject</a>(sfSigner);</div>
<div class="line"><a id="l01175" name="l01175"></a><span class="lineno"> 1175</span> <a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1signer.html">signer</a>[sfAccount] = *signerAccountID;</div>
<div class="line"><a id="l01176" name="l01176"></a><span class="lineno"> 1176</span> <a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1signer.html">signer</a>.setFieldVL(sfTxnSignature, signForParams.getSignature());</div>
<div class="line"><a id="l01177" name="l01177"></a><span class="lineno"> 1177</span> <a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1signer.html">signer</a>.setFieldVL(</div>
<div class="line"><a id="l01174" name="l01174"></a><span class="lineno"> 1174</span> <a class="code hl_class" href="classripple_1_1STObject.html">STObject</a> signer = <a class="code hl_function" href="classripple_1_1STObject.html#ab027b1e13d78b76dd6f41f0fb3459792">STObject::makeInnerObject</a>(sfSigner);</div>
<div class="line"><a id="l01175" name="l01175"></a><span class="lineno"> 1175</span> signer[sfAccount] = *signerAccountID;</div>
<div class="line"><a id="l01176" name="l01176"></a><span class="lineno"> 1176</span> signer.<a class="code hl_function" href="classripple_1_1STObject.html#af1235d307d6f464392a583d0dfaa3cc4">setFieldVL</a>(sfTxnSignature, signForParams.getSignature());</div>
<div class="line"><a id="l01177" name="l01177"></a><span class="lineno"> 1177</span> signer.<a class="code hl_function" href="classripple_1_1STObject.html#af1235d307d6f464392a583d0dfaa3cc4">setFieldVL</a>(</div>
<div class="line"><a id="l01178" name="l01178"></a><span class="lineno"> 1178</span> sfSigningPubKey, signForParams.getPublicKey().slice());</div>
<div class="line"><a id="l01179" name="l01179"></a><span class="lineno"> 1179</span> </div>
<div class="line"><a id="l01180" name="l01180"></a><span class="lineno"> 1180</span> <span class="comment">// If there is not yet a Signers array, make one.</span></div>
<div class="line"><a id="l01181" name="l01181"></a><span class="lineno"> 1181</span> <span class="keywordflow">if</span> (!sttx-&gt;isFieldPresent(sfSigners))</div>
<div class="line"><a id="l01182" name="l01182"></a><span class="lineno"> 1182</span> sttx-&gt;setFieldArray(sfSigners, {});</div>
<div class="line"><a id="l01183" name="l01183"></a><span class="lineno"> 1183</span> </div>
<div class="line"><a id="l01184" name="l01184"></a><span class="lineno"> 1184</span> <span class="keyword">auto</span>&amp; <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a2f130edacc0e266d31bd9d4fe4def16c">signers</a> = sttx-&gt;peekFieldArray(sfSigners);</div>
<div class="line"><a id="l01185" name="l01185"></a><span class="lineno"> 1185</span> <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a2f130edacc0e266d31bd9d4fe4def16c">signers</a>.emplace_back(std::move(<a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1signer.html">signer</a>));</div>
<div class="line"><a id="l01184" name="l01184"></a><span class="lineno"> 1184</span> <span class="keyword">auto</span>&amp; signers = sttx-&gt;peekFieldArray(sfSigners);</div>
<div class="line"><a id="l01185" name="l01185"></a><span class="lineno"> 1185</span> signers.emplace_back(std::move(signer));</div>
<div class="line"><a id="l01186" name="l01186"></a><span class="lineno"> 1186</span> </div>
<div class="line"><a id="l01187" name="l01187"></a><span class="lineno"> 1187</span> <span class="comment">// The array must be sorted and validated.</span></div>
<div class="line"><a id="l01188" name="l01188"></a><span class="lineno"> 1188</span> <span class="keyword">auto</span> err = sortAndValidateSigners(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a2f130edacc0e266d31bd9d4fe4def16c">signers</a>, (*sttx)[sfAccount]);</div>
<div class="line"><a id="l01188" name="l01188"></a><span class="lineno"> 1188</span> <span class="keyword">auto</span> err = sortAndValidateSigners(signers, (*sttx)[sfAccount]);</div>
<div class="line"><a id="l01189" name="l01189"></a><span class="lineno"> 1189</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="namespaceripple_1_1RPC.html#a1a79f0c33d1405fe85c40d63a49658bd">RPC::contains_error</a>(err))</div>
<div class="line"><a id="l01190" name="l01190"></a><span class="lineno"> 1190</span> <span class="keywordflow">return</span> err;</div>
<div class="line"><a id="l01191" name="l01191"></a><span class="lineno"> 1191</span> }</div>
@@ -1396,16 +1396,16 @@ $(function() {
<div class="line"><a id="l01322" name="l01322"></a><span class="lineno"> 1322</span> <span class="keywordflow">return</span> <a class="code hl_function" href="namespaceripple.html#a67869382f83fd55cf3096d2591a57b07">rpcError</a>(<a class="code hl_enumvalue" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a9e3a3fa2bb1e04da92ea7253db9189d3">rpcSIGNING_MALFORMED</a>);</div>
<div class="line"><a id="l01323" name="l01323"></a><span class="lineno"> 1323</span> </div>
<div class="line"><a id="l01324" name="l01324"></a><span class="lineno"> 1324</span> <span class="comment">// The Fee field must be in XRP and greater than zero.</span></div>
<div class="line"><a id="l01325" name="l01325"></a><span class="lineno"> 1325</span> <span class="keyword">auto</span> <span class="keyword">const</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1fee.html">fee</a> = stTx-&gt;getFieldAmount(sfFee);</div>
<div class="line"><a id="l01325" name="l01325"></a><span class="lineno"> 1325</span> <span class="keyword">auto</span> <span class="keyword">const</span> fee = stTx-&gt;getFieldAmount(sfFee);</div>
<div class="line"><a id="l01326" name="l01326"></a><span class="lineno"> 1326</span> </div>
<div class="line"><a id="l01327" name="l01327"></a><span class="lineno"> 1327</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="namespaceripple.html#a3e312ecdb199409dca142d307a3e0e5b">isLegalNet</a>(<a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1fee.html">fee</a>))</div>
<div class="line"><a id="l01327" name="l01327"></a><span class="lineno"> 1327</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="namespaceripple.html#a3e312ecdb199409dca142d307a3e0e5b">isLegalNet</a>(fee))</div>
<div class="line"><a id="l01328" name="l01328"></a><span class="lineno"> 1328</span> {</div>
<div class="line"><a id="l01329" name="l01329"></a><span class="lineno"> 1329</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/io/basic_ostringstream.html">std::ostringstream</a> err;</div>
<div class="line"><a id="l01330" name="l01330"></a><span class="lineno"> 1330</span> err &lt;&lt; <span class="stringliteral">&quot;Invalid &quot;</span> &lt;&lt; sfFee.fieldName</div>
<div class="line"><a id="l01331" name="l01331"></a><span class="lineno"> 1331</span> &lt;&lt; <span class="stringliteral">&quot; field. Fees must be specified in XRP.&quot;</span>;</div>
<div class="line"><a id="l01332" name="l01332"></a><span class="lineno"> 1332</span> <span class="keywordflow">return</span> <a class="code hl_function" href="namespaceripple_1_1RPC.html#a2cd6200f6709780fcf1dd26ec9cd2866">RPC::make_error</a>(<a class="code hl_enumvalue" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a82ddebc5ec7a37ff38892487277bf9c4">rpcINVALID_PARAMS</a>, err.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/io/basic_ostringstream/str.html">str</a>());</div>
<div class="line"><a id="l01333" name="l01333"></a><span class="lineno"> 1333</span> }</div>
<div class="line"><a id="l01334" name="l01334"></a><span class="lineno"> 1334</span> <span class="keywordflow">if</span> (<a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1fee.html">fee</a> &lt;= <a class="code hl_class" href="classripple_1_1STAmount.html">STAmount</a>{0})</div>
<div class="line"><a id="l01334" name="l01334"></a><span class="lineno"> 1334</span> <span class="keywordflow">if</span> (fee &lt;= <a class="code hl_class" href="classripple_1_1STAmount.html">STAmount</a>{0})</div>
<div class="line"><a id="l01335" name="l01335"></a><span class="lineno"> 1335</span> {</div>
<div class="line"><a id="l01336" name="l01336"></a><span class="lineno"> 1336</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/io/basic_ostringstream.html">std::ostringstream</a> err;</div>
<div class="line"><a id="l01337" name="l01337"></a><span class="lineno"> 1337</span> err &lt;&lt; <span class="stringliteral">&quot;Invalid &quot;</span> &lt;&lt; sfFee.fieldName</div>
@@ -1420,28 +1420,28 @@ $(function() {
<div class="line"><a id="l01346" name="l01346"></a><span class="lineno"> 1346</span> </div>
<div class="line"><a id="l01347" name="l01347"></a><span class="lineno"> 1347</span> <span class="comment">// If the Signers field is present the SField guarantees it to be an array.</span></div>
<div class="line"><a id="l01348" name="l01348"></a><span class="lineno"> 1348</span> <span class="comment">// Get a reference to the Signers array so we can verify and sort it.</span></div>
<div class="line"><a id="l01349" name="l01349"></a><span class="lineno"> 1349</span> <span class="keyword">auto</span>&amp; <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a2f130edacc0e266d31bd9d4fe4def16c">signers</a> = stTx-&gt;peekFieldArray(sfSigners);</div>
<div class="line"><a id="l01349" name="l01349"></a><span class="lineno"> 1349</span> <span class="keyword">auto</span>&amp; signers = stTx-&gt;peekFieldArray(sfSigners);</div>
<div class="line"><a id="l01350" name="l01350"></a><span class="lineno"> 1350</span> </div>
<div class="line"><a id="l01351" name="l01351"></a><span class="lineno"> 1351</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a2f130edacc0e266d31bd9d4fe4def16c">signers</a>.empty())</div>
<div class="line"><a id="l01351" name="l01351"></a><span class="lineno"> 1351</span> <span class="keywordflow">if</span> (signers.empty())</div>
<div class="line"><a id="l01352" name="l01352"></a><span class="lineno"> 1352</span> <span class="keywordflow">return</span> <a class="code hl_function" href="namespaceripple_1_1RPC.html#a5b6ce0616f6995340f4dd846660c3749">RPC::make_param_error</a>(<span class="stringliteral">&quot;tx_json.Signers array may not be empty.&quot;</span>);</div>
<div class="line"><a id="l01353" name="l01353"></a><span class="lineno"> 1353</span> </div>
<div class="line"><a id="l01354" name="l01354"></a><span class="lineno"> 1354</span> <span class="comment">// The Signers array may only contain Signer objects.</span></div>
<div class="line"><a id="l01355" name="l01355"></a><span class="lineno"> 1355</span> <span class="keywordflow">if</span> (<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/algorithm/find.html">std::find_if_not</a>(</div>
<div class="line"><a id="l01356" name="l01356"></a><span class="lineno"> 1356</span> <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a2f130edacc0e266d31bd9d4fe4def16c">signers</a>.<a class="code hl_function" href="classJson_1_1Value.html#a015459a3950c198d63a2d3be8f5ae296">begin</a>(), <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a2f130edacc0e266d31bd9d4fe4def16c">signers</a>.<a class="code hl_function" href="classJson_1_1Value.html#a3e443cd0ef24f7e028b175e47ee045e0">end</a>(), [](<a class="code hl_class" href="classripple_1_1STObject.html">STObject</a> <span class="keyword">const</span>&amp; obj) {</div>
<div class="line"><a id="l01356" name="l01356"></a><span class="lineno"> 1356</span> signers.begin(), signers.end(), [](<a class="code hl_class" href="classripple_1_1STObject.html">STObject</a> <span class="keyword">const</span>&amp; obj) {</div>
<div class="line"><a id="l01357" name="l01357"></a><span class="lineno"> 1357</span> return (</div>
<div class="line"><a id="l01358" name="l01358"></a><span class="lineno"> 1358</span> <span class="comment">// A Signer object always contains these fields and no</span></div>
<div class="line"><a id="l01359" name="l01359"></a><span class="lineno"> 1359</span> <span class="comment">// others.</span></div>
<div class="line"><a id="l01360" name="l01360"></a><span class="lineno"> 1360</span> obj.isFieldPresent(sfAccount) &amp;&amp;</div>
<div class="line"><a id="l01361" name="l01361"></a><span class="lineno"> 1361</span> obj.isFieldPresent(sfSigningPubKey) &amp;&amp;</div>
<div class="line"><a id="l01362" name="l01362"></a><span class="lineno"> 1362</span> obj.isFieldPresent(sfTxnSignature) &amp;&amp; obj.getCount() == 3);</div>
<div class="line"><a id="l01363" name="l01363"></a><span class="lineno"> 1363</span> }) != <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a2f130edacc0e266d31bd9d4fe4def16c">signers</a>.<a class="code hl_function" href="classJson_1_1Value.html#a3e443cd0ef24f7e028b175e47ee045e0">end</a>())</div>
<div class="line"><a id="l01363" name="l01363"></a><span class="lineno"> 1363</span> }) != signers.end())</div>
<div class="line"><a id="l01364" name="l01364"></a><span class="lineno"> 1364</span> {</div>
<div class="line"><a id="l01365" name="l01365"></a><span class="lineno"> 1365</span> <span class="keywordflow">return</span> <a class="code hl_function" href="namespaceripple_1_1RPC.html#a5b6ce0616f6995340f4dd846660c3749">RPC::make_param_error</a>(</div>
<div class="line"><a id="l01366" name="l01366"></a><span class="lineno"> 1366</span> <span class="stringliteral">&quot;Signers array may only contain Signer entries.&quot;</span>);</div>
<div class="line"><a id="l01367" name="l01367"></a><span class="lineno"> 1367</span> }</div>
<div class="line"><a id="l01368" name="l01368"></a><span class="lineno"> 1368</span> </div>
<div class="line"><a id="l01369" name="l01369"></a><span class="lineno"> 1369</span> <span class="comment">// The array must be sorted and validated.</span></div>
<div class="line"><a id="l01370" name="l01370"></a><span class="lineno"> 1370</span> <span class="keyword">auto</span> err = sortAndValidateSigners(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a2f130edacc0e266d31bd9d4fe4def16c">signers</a>, srcAddressID);</div>
<div class="line"><a id="l01370" name="l01370"></a><span class="lineno"> 1370</span> <span class="keyword">auto</span> err = sortAndValidateSigners(signers, srcAddressID);</div>
<div class="line"><a id="l01371" name="l01371"></a><span class="lineno"> 1371</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="namespaceripple_1_1RPC.html#a1a79f0c33d1405fe85c40d63a49658bd">RPC::contains_error</a>(err))</div>
<div class="line"><a id="l01372" name="l01372"></a><span class="lineno"> 1372</span> <span class="keywordflow">return</span> err;</div>
<div class="line"><a id="l01373" name="l01373"></a><span class="lineno"> 1373</span> </div>
@@ -1475,8 +1475,6 @@ $(function() {
<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="abasic_stringstream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_stringstream.html">std::stringstream</a></div></div>
<div class="ttc" id="aclassJson_1_1Value_html"><div class="ttname"><a href="classJson_1_1Value.html">Json::Value</a></div><div class="ttdoc">Represents a JSON value.</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8h_source.html#l00149">json_value.h:150</a></div></div>
<div class="ttc" id="aclassJson_1_1Value_html_a015459a3950c198d63a2d3be8f5ae296"><div class="ttname"><a href="classJson_1_1Value.html#a015459a3950c198d63a2d3be8f5ae296">Json::Value::begin</a></div><div class="ttdeci">const_iterator begin() const</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l01078">json_value.cpp:1078</a></div></div>
<div class="ttc" id="aclassJson_1_1Value_html_a3e443cd0ef24f7e028b175e47ee045e0"><div class="ttname"><a href="classJson_1_1Value.html#a3e443cd0ef24f7e028b175e47ee045e0">Json::Value::end</a></div><div class="ttdeci">const_iterator end() const</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l01096">json_value.cpp:1096</a></div></div>
<div class="ttc" id="aclassJson_1_1Value_html_a614d635bc248a592593feb322cd15ab8"><div class="ttname"><a href="classJson_1_1Value.html#a614d635bc248a592593feb322cd15ab8">Json::Value::asInt</a></div><div class="ttdeci">Int asInt() const</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l00516">json_value.cpp:516</a></div></div>
<div class="ttc" id="aclassJson_1_1Value_html_a71e1f82cf1c3eaf969d400dcffb163a6"><div class="ttname"><a href="classJson_1_1Value.html#a71e1f82cf1c3eaf969d400dcffb163a6">Json::Value::isString</a></div><div class="ttdeci">bool isString() const</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l01041">json_value.cpp:1041</a></div></div>
<div class="ttc" id="aclassJson_1_1Value_html_a8cf96c0f2a552051fcfc78ffee60e037"><div class="ttname"><a href="classJson_1_1Value.html#a8cf96c0f2a552051fcfc78ffee60e037">Json::Value::isObject</a></div><div class="ttdeci">bool isObject() const</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l01059">json_value.cpp:1059</a></div></div>
@@ -1541,6 +1539,7 @@ $(function() {
<div class="ttc" id="aclassripple_1_1STObject_1_1FieldErr_html"><div class="ttname"><a href="classripple_1_1STObject_1_1FieldErr.html">ripple::STObject::FieldErr</a></div><div class="ttdef"><b>Definition:</b> <a href="STObject_8h_source.html#l00683">STObject.h:684</a></div></div>
<div class="ttc" id="aclassripple_1_1STObject_html"><div class="ttname"><a href="classripple_1_1STObject.html">ripple::STObject</a></div><div class="ttdef"><b>Definition:</b> <a href="STObject_8h_source.html#l00056">STObject.h:57</a></div></div>
<div class="ttc" id="aclassripple_1_1STObject_html_ab027b1e13d78b76dd6f41f0fb3459792"><div class="ttname"><a href="classripple_1_1STObject.html#ab027b1e13d78b76dd6f41f0fb3459792">ripple::STObject::makeInnerObject</a></div><div class="ttdeci">static STObject makeInnerObject(SField const &amp;name)</div><div class="ttdef"><b>Definition:</b> <a href="STObject_8cpp_source.html#l00095">STObject.cpp:95</a></div></div>
<div class="ttc" id="aclassripple_1_1STObject_html_af1235d307d6f464392a583d0dfaa3cc4"><div class="ttname"><a href="classripple_1_1STObject.html#af1235d307d6f464392a583d0dfaa3cc4">ripple::STObject::setFieldVL</a></div><div class="ttdeci">void setFieldVL(SField const &amp;field, Blob const &amp;)</div><div class="ttdef"><b>Definition:</b> <a href="STObject_8cpp_source.html#l00777">STObject.cpp:777</a></div></div>
<div class="ttc" id="aclassripple_1_1STParsedJSONObject_html"><div class="ttname"><a href="classripple_1_1STParsedJSONObject.html">ripple::STParsedJSONObject</a></div><div class="ttdoc">Holds the serialized result of parsing an input JSON object.</div><div class="ttdef"><b>Definition:</b> <a href="STParsedJSON_8h_source.html#l00032">STParsedJSON.h:33</a></div></div>
<div class="ttc" id="aclassripple_1_1STParsedJSONObject_html_a5684522fa6918e6256d910053cd58c47"><div class="ttname"><a href="classripple_1_1STParsedJSONObject.html#a5684522fa6918e6256d910053cd58c47">ripple::STParsedJSONObject::object</a></div><div class="ttdeci">std::optional&lt; STObject &gt; object</div><div class="ttdoc">The STObject if the parse was successful.</div><div class="ttdef"><b>Definition:</b> <a href="STParsedJSON_8h_source.html#l00051">STParsedJSON.h:51</a></div></div>
<div class="ttc" id="aclassripple_1_1STParsedJSONObject_html_a75ae1e4c096f722a17614c58d8b284a4"><div class="ttname"><a href="classripple_1_1STParsedJSONObject.html#a75ae1e4c096f722a17614c58d8b284a4">ripple::STParsedJSONObject::error</a></div><div class="ttdeci">Json::Value error</div><div class="ttdoc">On failure, an appropriate set of error values.</div><div class="ttdef"><b>Definition:</b> <a href="STParsedJSON_8h_source.html#l00054">STParsedJSON.h:54</a></div></div>
@@ -1561,11 +1560,9 @@ $(function() {
<div class="ttc" id="aclassripple_1_1TxQ_html_a2a08d6cdb1e6700a24dc0f71eb3ef7ed"><div class="ttname"><a href="classripple_1_1TxQ.html#a2a08d6cdb1e6700a24dc0f71eb3ef7ed">ripple::TxQ::getMetrics</a></div><div class="ttdeci">Metrics getMetrics(OpenView const &amp;view) const</div><div class="ttdoc">Returns fee metrics in reference fee level units.</div><div class="ttdef"><b>Definition:</b> <a href="TxQ_8cpp_source.html#l01778">TxQ.cpp:1778</a></div></div>
<div class="ttc" id="aclassripple_1_1TxQ_html_a5bffe9eec3a97e1b5bc209e0edf17fda"><div class="ttname"><a href="classripple_1_1TxQ.html#a5bffe9eec3a97e1b5bc209e0edf17fda">ripple::TxQ::nextQueuableSeq</a></div><div class="ttdeci">SeqProxy nextQueuableSeq(std::shared_ptr&lt; SLE const &gt; const &amp;sleAccount) const</div><div class="ttdoc">Return the next sequence that would go in the TxQ for an account.</div><div class="ttdef"><b>Definition:</b> <a href="TxQ_8cpp_source.html#l01609">TxQ.cpp:1609</a></div></div>
<div class="ttc" id="aclassripple_1_1XRPAmount_html"><div class="ttname"><a href="classripple_1_1XRPAmount.html">ripple::XRPAmount</a></div><div class="ttdef"><b>Definition:</b> <a href="XRPAmount_8h_source.html#l00039">XRPAmount.h:43</a></div></div>
<div class="ttc" id="aclassripple_1_1XRPAmount_html_ae0f72ad2a358b203279ad0a5f99efc37"><div class="ttname"><a href="classripple_1_1XRPAmount.html#ae0f72ad2a358b203279ad0a5f99efc37">ripple::XRPAmount::jsonClipped</a></div><div class="ttdeci">Json::Value jsonClipped() const</div><div class="ttdef"><b>Definition:</b> <a href="XRPAmount_8h_source.html#l00218">XRPAmount.h:218</a></div></div>
<div class="ttc" id="aclassripple_1_1base__uint_html"><div class="ttname"><a href="classripple_1_1base__uint.html">ripple::base_uint&lt; 160, detail::AccountIDTag &gt;</a></div></div>
<div class="ttc" id="aclassripple_1_1feeunit_1_1TaggedFee_html"><div class="ttname"><a href="classripple_1_1feeunit_1_1TaggedFee.html">ripple::feeunit::TaggedFee</a></div><div class="ttdef"><b>Definition:</b> <a href="FeeUnits_8h_source.html#l00078">FeeUnits.h:84</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1fee_html"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1fee.html">ripple::test::jtx::fee</a></div><div class="ttdoc">Set the fee on a JTx.</div><div class="ttdef"><b>Definition:</b> <a href="fee_8h_source.html#l00036">fee.h:37</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1json_html"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1json.html">ripple::test::jtx::json</a></div><div class="ttdoc">Inject raw JSON.</div><div class="ttdef"><b>Definition:</b> <a href="jtx__json_8h_source.html#l00032">jtx_json.h:33</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1paths_html"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1paths.html">ripple::test::jtx::paths</a></div><div class="ttdoc">Set Paths, SendMax on a JTx.</div><div class="ttdef"><b>Definition:</b> <a href="paths_8h_source.html#l00034">paths.h:35</a></div></div>
<div class="ttc" id="aduration_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::seconds</a></div></div>
<div class="ttc" id="aempty_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string/empty.html">std::string::empty</a></div><div class="ttdeci">T empty(T... args)</div></div>
<div class="ttc" id="aexception_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/error/exception.html">std::exception</a></div></div>
@@ -1605,7 +1602,6 @@ $(function() {
<div class="ttc" id="anamespaceripple_1_1RPC_html_aec2e1163b39a450d3917af9dd15b0f06"><div class="ttname"><a href="namespaceripple_1_1RPC.html#aec2e1163b39a450d3917af9dd15b0f06">ripple::RPC::missing_field_error</a></div><div class="ttdeci">Json::Value missing_field_error(std::string const &amp;name)</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00273">ErrorCodes.h:273</a></div></div>
<div class="ttc" id="anamespaceripple_1_1RPC_html_af894bdbf60a077993d884fd31cf6e694"><div class="ttname"><a href="namespaceripple_1_1RPC.html#af894bdbf60a077993d884fd31cf6e694">ripple::RPC::keypairForSignature</a></div><div class="ttdeci">std::optional&lt; std::pair&lt; PublicKey, SecretKey &gt; &gt; keypairForSignature(Json::Value const &amp;params, Json::Value &amp;error, unsigned int apiVersion)</div><div class="ttdef"><b>Definition:</b> <a href="RPCHelpers_8cpp_source.html#l00795">RPCHelpers.cpp:795</a></div></div>
<div class="ttc" id="anamespaceripple_1_1keylet_html_aa756e0f59b26042ed00a4d0ba6e96951"><div class="ttname"><a href="namespaceripple_1_1keylet.html#aa756e0f59b26042ed00a4d0ba6e96951">ripple::keylet::account</a></div><div class="ttdeci">Keylet account(AccountID const &amp;id) noexcept</div><div class="ttdoc">AccountID root.</div><div class="ttdef"><b>Definition:</b> <a href="Indexes_8cpp_source.html#l00177">Indexes.cpp:177</a></div></div>
<div class="ttc" id="anamespaceripple_1_1test_1_1jtx_html_a2f130edacc0e266d31bd9d4fe4def16c"><div class="ttname"><a href="namespaceripple_1_1test_1_1jtx.html#a2f130edacc0e266d31bd9d4fe4def16c">ripple::test::jtx::signers</a></div><div class="ttdeci">Json::Value signers(Account const &amp;account, std::uint32_t quorum, std::vector&lt; signer &gt; const &amp;v)</div><div class="ttdef"><b>Definition:</b> <a href="multisign_8cpp_source.html#l00034">multisign.cpp:34</a></div></div>
<div class="ttc" id="anamespaceripple_html"><div class="ttname"><a href="namespaceripple.html">ripple</a></div><div class="ttdoc">Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.</div><div class="ttdef"><b>Definition:</b> <a href="algorithm_8h_source.html#l00026">algorithm.h:26</a></div></div>
<div class="ttc" id="anamespaceripple_html_a08a13b62b18272366f788632359e8793"><div class="ttname"><a href="namespaceripple.html#a08a13b62b18272366f788632359e8793">ripple::toBase58</a></div><div class="ttdeci">std::string toBase58(AccountID const &amp;v)</div><div class="ttdoc">Convert AccountID to base58 checked string.</div><div class="ttdef"><b>Definition:</b> <a href="AccountID_8cpp_source.html#l00114">AccountID.cpp:114</a></div></div>
<div class="ttc" id="anamespaceripple_html_a2e97c395a5e1ef4ed1052299e0e60843a80ec8c7487b7d590db02cdcbfdf4cf91"><div class="ttname"><a href="namespaceripple.html#a2e97c395a5e1ef4ed1052299e0e60843a80ec8c7487b7d590db02cdcbfdf4cf91">ripple::NEW</a></div><div class="ttdeci">@ NEW</div><div class="ttdef"><b>Definition:</b> <a href="Transaction_8h_source.html#l00047">Transaction.h:47</a></div></div>
@@ -1671,7 +1667,6 @@ $(function() {
<div class="ttc" id="astructripple_1_1RPC_1_1detail_1_1transactionPreProcessResult_html_ae81b909a82e4822f0074c6353f57cc09"><div class="ttname"><a href="structripple_1_1RPC_1_1detail_1_1transactionPreProcessResult.html#ae81b909a82e4822f0074c6353f57cc09">ripple::RPC::detail::transactionPreProcessResult::second</a></div><div class="ttdeci">std::shared_ptr&lt; STTx &gt; const second</div><div class="ttdef"><b>Definition:</b> <a href="TransactionSign_8cpp_source.html#l00368">TransactionSign.cpp:368</a></div></div>
<div class="ttc" id="astructripple_1_1RPC_1_1detail_1_1transactionPreProcessResult_html_af58aa6693b07dbeb9e777937f9fcc9bc"><div class="ttname"><a href="structripple_1_1RPC_1_1detail_1_1transactionPreProcessResult.html#af58aa6693b07dbeb9e777937f9fcc9bc">ripple::RPC::detail::transactionPreProcessResult::transactionPreProcessResult</a></div><div class="ttdeci">transactionPreProcessResult(transactionPreProcessResult &amp;&amp;rhs)=default</div></div>
<div class="ttc" id="astructripple_1_1RPC_1_1detail_1_1transactionPreProcessResult_html_af730e498527f3bfa637305e07b34d1f1"><div class="ttname"><a href="structripple_1_1RPC_1_1detail_1_1transactionPreProcessResult.html#af730e498527f3bfa637305e07b34d1f1">ripple::RPC::detail::transactionPreProcessResult::operator=</a></div><div class="ttdeci">transactionPreProcessResult &amp; operator=(transactionPreProcessResult &amp;&amp;)=delete</div></div>
<div class="ttc" id="astructripple_1_1test_1_1jtx_1_1signer_html"><div class="ttname"><a href="structripple_1_1test_1_1jtx_1_1signer.html">ripple::test::jtx::signer</a></div><div class="ttdoc">A signer in a SignerList.</div><div class="ttdef"><b>Definition:</b> <a href="multisign_8h_source.html#l00038">multisign.h:39</a></div></div>
<div class="ttc" id="avector_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt; unsigned char &gt;</a></div></div>
<div class="ttc" id="awhat_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/error/exception/what.html">std::runtime_error::what</a></div><div class="ttdeci">T what(T... args)</div></div>
</div><!-- fragment --></div><!-- contents -->