This commit is contained in:
manojsdoshi
2023-11-08 18:39:32 +00:00
parent e2a2b5c865
commit c5554cfb8a
2686 changed files with 55239 additions and 53717 deletions

View File

@@ -2607,149 +2607,153 @@ $(function() {
<div class="line"><a name="l02536"></a><span class="lineno"> 2536</span>&#160; <span class="comment">// A list of all the functions we want to test.</span></div>
<div class="line"><a name="l02537"></a><span class="lineno"> 2537</span>&#160; <span class="keyword">using</span> signFunc = <a class="code" href="classJson_1_1Value.html">Json::Value</a> (*)(</div>
<div class="line"><a name="l02538"></a><span class="lineno"> 2538</span>&#160; <a class="code" href="classJson_1_1Value.html">Json::Value</a> params,</div>
<div class="line"><a name="l02539"></a><span class="lineno"> 2539</span>&#160; <a class="code" href="classripple_1_1NetworkOPs.html#ada325f492d3aa1aa62d4b159e106c37a">NetworkOPs::FailHard</a> failType,</div>
<div class="line"><a name="l02540"></a><span class="lineno"> 2540</span>&#160; <a class="code" href="namespaceripple.html#ae08fe18f17b24699ce41d3898fbb8c2c">Role</a> role,</div>
<div class="line"><a name="l02541"></a><span class="lineno"> 2541</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::seconds</a> validatedLedgerAge,</div>
<div class="line"><a name="l02542"></a><span class="lineno"> 2542</span>&#160; Application &amp; app);</div>
<div class="line"><a name="l02543"></a><span class="lineno"> 2543</span>&#160; </div>
<div class="line"><a name="l02544"></a><span class="lineno"> 2544</span>&#160; <span class="keyword">using</span> submitFunc = <a class="code" href="classJson_1_1Value.html">Json::Value</a> (*)(</div>
<div class="line"><a name="l02545"></a><span class="lineno"> 2545</span>&#160; <a class="code" href="classJson_1_1Value.html">Json::Value</a> params,</div>
<div class="line"><a name="l02546"></a><span class="lineno"> 2546</span>&#160; <a class="code" href="classripple_1_1NetworkOPs.html#ada325f492d3aa1aa62d4b159e106c37a">NetworkOPs::FailHard</a> failType,</div>
<div class="line"><a name="l02547"></a><span class="lineno"> 2547</span>&#160; <a class="code" href="namespaceripple.html#ae08fe18f17b24699ce41d3898fbb8c2c">Role</a> role,</div>
<div class="line"><a name="l02548"></a><span class="lineno"> 2548</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::seconds</a> validatedLedgerAge,</div>
<div class="line"><a name="l02549"></a><span class="lineno"> 2549</span>&#160; Application &amp; app,</div>
<div class="line"><a name="l02550"></a><span class="lineno"> 2550</span>&#160; <a class="code" href="namespaceripple_1_1RPC.html#afaa2fd678ac2606b4797f3a074cb5d99">ProcessTransactionFn</a> <span class="keyword">const</span>&amp; processTransaction,</div>
<div class="line"><a name="l02551"></a><span class="lineno"> 2551</span>&#160; <a class="code" href="namespaceripple_1_1RPC.html#a33378ee5e4181cef672fc56627fc0551">RPC::SubmitSync</a> <a class="code" href="namespaceripple_1_1RPC.html#a33378ee5e4181cef672fc56627fc0551a63ad9d34f3503826e5f649ae6b7ac92c">sync</a>);</div>
<div class="line"><a name="l02552"></a><span class="lineno"> 2552</span>&#160; </div>
<div class="line"><a name="l02553"></a><span class="lineno"> 2553</span>&#160; <span class="keyword">using</span> TestStuff =</div>
<div class="line"><a name="l02554"></a><span class="lineno"> 2554</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/tuple.html">std::tuple&lt;signFunc, submitFunc, char const*, unsigned int&gt;</a>;</div>
<div class="line"><a name="l02555"></a><span class="lineno"> 2555</span>&#160; </div>
<div class="line"><a name="l02556"></a><span class="lineno"> 2556</span>&#160; <span class="keyword">static</span> TestStuff <span class="keyword">const</span> testFuncs[] = {</div>
<div class="line"><a name="l02557"></a><span class="lineno"> 2557</span>&#160; TestStuff{<a class="code" href="namespaceripple_1_1RPC.html#a22e1b9888dfab6a73dd8116ad4ec6d0b">transactionSign</a>, <span class="keyword">nullptr</span>, <span class="stringliteral">&quot;sign&quot;</span>, 0},</div>
<div class="line"><a name="l02558"></a><span class="lineno"> 2558</span>&#160; TestStuff{<span class="keyword">nullptr</span>, <a class="code" href="namespaceripple_1_1RPC.html#aec2860565139f7e6f21a31ce991f96f4">transactionSubmit</a>, <span class="stringliteral">&quot;submit&quot;</span>, 1},</div>
<div class="line"><a name="l02559"></a><span class="lineno"> 2559</span>&#160; TestStuff{<a class="code" href="namespaceripple_1_1RPC.html#a2466eabd830ae0eb35322fc7a284c629">transactionSignFor</a>, <span class="keyword">nullptr</span>, <span class="stringliteral">&quot;sign_for&quot;</span>, 2},</div>
<div class="line"><a name="l02560"></a><span class="lineno"> 2560</span>&#160; TestStuff{</div>
<div class="line"><a name="l02561"></a><span class="lineno"> 2561</span>&#160; <span class="keyword">nullptr</span>,</div>
<div class="line"><a name="l02562"></a><span class="lineno"> 2562</span>&#160; <a class="code" href="namespaceripple_1_1RPC.html#a2fb0d86fd372bbf3ce906631e0aeca73">transactionSubmitMultiSigned</a>,</div>
<div class="line"><a name="l02563"></a><span class="lineno"> 2563</span>&#160; <span class="stringliteral">&quot;submit_multisigned&quot;</span>,</div>
<div class="line"><a name="l02564"></a><span class="lineno"> 2564</span>&#160; 3}};</div>
<div class="line"><a name="l02565"></a><span class="lineno"> 2565</span>&#160; </div>
<div class="line"><a name="l02566"></a><span class="lineno"> 2566</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> testFunc : testFuncs)</div>
<div class="line"><a name="l02567"></a><span class="lineno"> 2567</span>&#160; {</div>
<div class="line"><a name="l02568"></a><span class="lineno"> 2568</span>&#160; <span class="comment">// For each JSON test.</span></div>
<div class="line"><a name="l02569"></a><span class="lineno"> 2569</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> <span class="keyword">const</span>&amp; txnTest : <a class="code" href="namespaceripple_1_1RPC.html#acf971399318eaf92481b10636259a929">txnTestArray</a>)</div>
<div class="line"><a name="l02570"></a><span class="lineno"> 2570</span>&#160; {</div>
<div class="line"><a name="l02571"></a><span class="lineno"> 2571</span>&#160; <a class="code" href="classJson_1_1Value.html">Json::Value</a> req;</div>
<div class="line"><a name="l02572"></a><span class="lineno"> 2572</span>&#160; <a class="code" href="classJson_1_1Reader.html">Json::Reader</a>().<a class="code" href="classJson_1_1Reader.html#a8ee4d40504e4f8b069745d762ab4d78c">parse</a>(txnTest.json, req);</div>
<div class="line"><a name="l02573"></a><span class="lineno"> 2573</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="namespaceripple_1_1RPC.html#a1a79f0c33d1405fe85c40d63a49658bd">RPC::contains_error</a>(req))</div>
<div class="line"><a name="l02574"></a><span class="lineno"> 2574</span>&#160; Throw&lt;std::runtime_error&gt;(</div>
<div class="line"><a name="l02575"></a><span class="lineno"> 2575</span>&#160; <span class="stringliteral">&quot;Internal JSONRPC_test error. Bad test JSON.&quot;</span>);</div>
<div class="line"><a name="l02576"></a><span class="lineno"> 2576</span>&#160; </div>
<div class="line"><a name="l02577"></a><span class="lineno"> 2577</span>&#160; <span class="keyword">static</span> <a class="code" href="namespaceripple.html#ae08fe18f17b24699ce41d3898fbb8c2c">Role</a> <span class="keyword">const</span> testedRoles[] = {</div>
<div class="line"><a name="l02578"></a><span class="lineno"> 2578</span>&#160; <a class="code" href="namespaceripple.html#ae08fe18f17b24699ce41d3898fbb8c2ca33e9232989576b5cfaa06654217d7a1a">Role::GUEST</a>, <a class="code" href="namespaceripple.html#ae08fe18f17b24699ce41d3898fbb8c2ca2e40ad879e955201df4dedbf8d479a12">Role::USER</a>, <a class="code" href="namespaceripple.html#ae08fe18f17b24699ce41d3898fbb8c2ca73acd9a5972130b75066c82595a1fae3">Role::ADMIN</a>, <a class="code" href="namespaceripple.html#ae08fe18f17b24699ce41d3898fbb8c2cae59518181ec60bb5370c94110f1cd4bf">Role::FORBID</a>};</div>
<div class="line"><a name="l02579"></a><span class="lineno"> 2579</span>&#160; </div>
<div class="line"><a name="l02580"></a><span class="lineno"> 2580</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceripple.html#ae08fe18f17b24699ce41d3898fbb8c2c">Role</a> testRole : testedRoles)</div>
<div class="line"><a name="l02581"></a><span class="lineno"> 2581</span>&#160; {</div>
<div class="line"><a name="l02582"></a><span class="lineno"> 2582</span>&#160; <a class="code" href="classJson_1_1Value.html">Json::Value</a> result;</div>
<div class="line"><a name="l02583"></a><span class="lineno"> 2583</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> signFn = get&lt;0&gt;(testFunc);</div>
<div class="line"><a name="l02584"></a><span class="lineno"> 2584</span>&#160; <span class="keywordflow">if</span> (signFn != <span class="keyword">nullptr</span>)</div>
<div class="line"><a name="l02585"></a><span class="lineno"> 2585</span>&#160; {</div>
<div class="line"><a name="l02586"></a><span class="lineno"> 2586</span>&#160; assert(get&lt;1&gt;(testFunc) == <span class="keyword">nullptr</span>);</div>
<div class="line"><a name="l02587"></a><span class="lineno"> 2587</span>&#160; result = signFn(</div>
<div class="line"><a name="l02588"></a><span class="lineno"> 2588</span>&#160; req,</div>
<div class="line"><a name="l02589"></a><span class="lineno"> 2589</span>&#160; <a class="code" href="classripple_1_1NetworkOPs.html#ada325f492d3aa1aa62d4b159e106c37aaa6105c0a611b41b08f1209506350279e">NetworkOPs::FailHard::yes</a>,</div>
<div class="line"><a name="l02590"></a><span class="lineno"> 2590</span>&#160; testRole,</div>
<div class="line"><a name="l02591"></a><span class="lineno"> 2591</span>&#160; 1s,</div>
<div class="line"><a name="l02592"></a><span class="lineno"> 2592</span>&#160; env.app());</div>
<div class="line"><a name="l02593"></a><span class="lineno"> 2593</span>&#160; }</div>
<div class="line"><a name="l02594"></a><span class="lineno"> 2594</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l02595"></a><span class="lineno"> 2595</span>&#160; {</div>
<div class="line"><a name="l02596"></a><span class="lineno"> 2596</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> submitFn = get&lt;1&gt;(testFunc);</div>
<div class="line"><a name="l02597"></a><span class="lineno"> 2597</span>&#160; assert(submitFn != <span class="keyword">nullptr</span>);</div>
<div class="line"><a name="l02598"></a><span class="lineno"> 2598</span>&#160; result = submitFn(</div>
<div class="line"><a name="l02599"></a><span class="lineno"> 2599</span>&#160; req,</div>
<div class="line"><a name="l02600"></a><span class="lineno"><a class="line" href="classripple_1_1RPC_1_1JSONRPC__test.html#a36aa6e32886c10154783d9c1befa9178"> 2600</a></span>&#160; <a class="code" href="classripple_1_1NetworkOPs.html#ada325f492d3aa1aa62d4b159e106c37aaa6105c0a611b41b08f1209506350279e">NetworkOPs::FailHard::yes</a>,</div>
<div class="line"><a name="l02601"></a><span class="lineno"> 2601</span>&#160; testRole,</div>
<div class="line"><a name="l02602"></a><span class="lineno"> 2602</span>&#160; 1s,</div>
<div class="line"><a name="l02603"></a><span class="lineno"> 2603</span>&#160; env.app(),</div>
<div class="line"><a name="l02604"></a><span class="lineno"> 2604</span>&#160; processTxn,</div>
<div class="line"><a name="l02605"></a><span class="lineno"> 2605</span>&#160; <a class="code" href="namespaceripple_1_1RPC.html#a33378ee5e4181cef672fc56627fc0551a63ad9d34f3503826e5f649ae6b7ac92c">RPC::SubmitSync::sync</a>);</div>
<div class="line"><a name="l02606"></a><span class="lineno"> 2606</span>&#160; }</div>
<div class="line"><a name="l02607"></a><span class="lineno"> 2607</span>&#160; </div>
<div class="line"><a name="l02608"></a><span class="lineno"> 2608</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> errStr;</div>
<div class="line"><a name="l02609"></a><span class="lineno"> 2609</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="namespaceripple_1_1RPC.html#a1a79f0c33d1405fe85c40d63a49658bd">RPC::contains_error</a>(result))</div>
<div class="line"><a name="l02610"></a><span class="lineno"> 2610</span>&#160; errStr = result[<span class="stringliteral">&quot;error_message&quot;</span>].<a class="code" href="classJson_1_1Value.html#ab0d86bf425efefd03513e8dbfaca317b">asString</a>();</div>
<div class="line"><a name="l02539"></a><span class="lineno"> 2539</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> apiVersion,</div>
<div class="line"><a name="l02540"></a><span class="lineno"> 2540</span>&#160; <a class="code" href="classripple_1_1NetworkOPs.html#ada325f492d3aa1aa62d4b159e106c37a">NetworkOPs::FailHard</a> failType,</div>
<div class="line"><a name="l02541"></a><span class="lineno"> 2541</span>&#160; <a class="code" href="namespaceripple.html#ae08fe18f17b24699ce41d3898fbb8c2c">Role</a> role,</div>
<div class="line"><a name="l02542"></a><span class="lineno"> 2542</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::seconds</a> validatedLedgerAge,</div>
<div class="line"><a name="l02543"></a><span class="lineno"> 2543</span>&#160; Application&amp; app);</div>
<div class="line"><a name="l02544"></a><span class="lineno"> 2544</span>&#160; </div>
<div class="line"><a name="l02545"></a><span class="lineno"> 2545</span>&#160; <span class="keyword">using</span> submitFunc = <a class="code" href="classJson_1_1Value.html">Json::Value</a> (*)(</div>
<div class="line"><a name="l02546"></a><span class="lineno"> 2546</span>&#160; <a class="code" href="classJson_1_1Value.html">Json::Value</a> params,</div>
<div class="line"><a name="l02547"></a><span class="lineno"> 2547</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> apiVersion,</div>
<div class="line"><a name="l02548"></a><span class="lineno"> 2548</span>&#160; <a class="code" href="classripple_1_1NetworkOPs.html#ada325f492d3aa1aa62d4b159e106c37a">NetworkOPs::FailHard</a> failType,</div>
<div class="line"><a name="l02549"></a><span class="lineno"> 2549</span>&#160; <a class="code" href="namespaceripple.html#ae08fe18f17b24699ce41d3898fbb8c2c">Role</a> role,</div>
<div class="line"><a name="l02550"></a><span class="lineno"> 2550</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::seconds</a> validatedLedgerAge,</div>
<div class="line"><a name="l02551"></a><span class="lineno"> 2551</span>&#160; Application&amp; app,</div>
<div class="line"><a name="l02552"></a><span class="lineno"> 2552</span>&#160; <a class="code" href="namespaceripple_1_1RPC.html#afaa2fd678ac2606b4797f3a074cb5d99">ProcessTransactionFn</a> <span class="keyword">const</span>&amp; processTransaction,</div>
<div class="line"><a name="l02553"></a><span class="lineno"> 2553</span>&#160; <a class="code" href="namespaceripple_1_1RPC.html#a33378ee5e4181cef672fc56627fc0551">RPC::SubmitSync</a> <a class="code" href="namespaceripple_1_1RPC.html#a33378ee5e4181cef672fc56627fc0551a63ad9d34f3503826e5f649ae6b7ac92c">sync</a>);</div>
<div class="line"><a name="l02554"></a><span class="lineno"> 2554</span>&#160; </div>
<div class="line"><a name="l02555"></a><span class="lineno"> 2555</span>&#160; <span class="keyword">using</span> TestStuff =</div>
<div class="line"><a name="l02556"></a><span class="lineno"> 2556</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/tuple.html">std::tuple&lt;signFunc, submitFunc, char const*, unsigned int&gt;</a>;</div>
<div class="line"><a name="l02557"></a><span class="lineno"> 2557</span>&#160; </div>
<div class="line"><a name="l02558"></a><span class="lineno"> 2558</span>&#160; <span class="keyword">static</span> TestStuff <span class="keyword">const</span> testFuncs[] = {</div>
<div class="line"><a name="l02559"></a><span class="lineno"> 2559</span>&#160; TestStuff{<a class="code" href="namespaceripple_1_1RPC.html#a0e52076e77d0078231dda289f8048200">transactionSign</a>, <span class="keyword">nullptr</span>, <span class="stringliteral">&quot;sign&quot;</span>, 0},</div>
<div class="line"><a name="l02560"></a><span class="lineno"> 2560</span>&#160; TestStuff{<span class="keyword">nullptr</span>, <a class="code" href="namespaceripple_1_1RPC.html#ac16a3a5fc27cf3801186c4d19bc934bc">transactionSubmit</a>, <span class="stringliteral">&quot;submit&quot;</span>, 1},</div>
<div class="line"><a name="l02561"></a><span class="lineno"> 2561</span>&#160; TestStuff{<a class="code" href="namespaceripple_1_1RPC.html#aced54d69612c2b58940e2132e905dfc6">transactionSignFor</a>, <span class="keyword">nullptr</span>, <span class="stringliteral">&quot;sign_for&quot;</span>, 2},</div>
<div class="line"><a name="l02562"></a><span class="lineno"> 2562</span>&#160; TestStuff{</div>
<div class="line"><a name="l02563"></a><span class="lineno"> 2563</span>&#160; <span class="keyword">nullptr</span>,</div>
<div class="line"><a name="l02564"></a><span class="lineno"> 2564</span>&#160; <a class="code" href="namespaceripple_1_1RPC.html#aca22c2f943740539f8a1560924cae9cd">transactionSubmitMultiSigned</a>,</div>
<div class="line"><a name="l02565"></a><span class="lineno"> 2565</span>&#160; <span class="stringliteral">&quot;submit_multisigned&quot;</span>,</div>
<div class="line"><a name="l02566"></a><span class="lineno"> 2566</span>&#160; 3}};</div>
<div class="line"><a name="l02567"></a><span class="lineno"> 2567</span>&#160; </div>
<div class="line"><a name="l02568"></a><span class="lineno"> 2568</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> testFunc : testFuncs)</div>
<div class="line"><a name="l02569"></a><span class="lineno"> 2569</span>&#160; {</div>
<div class="line"><a name="l02570"></a><span class="lineno"> 2570</span>&#160; <span class="comment">// For each JSON test.</span></div>
<div class="line"><a name="l02571"></a><span class="lineno"> 2571</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> <span class="keyword">const</span>&amp; txnTest : <a class="code" href="namespaceripple_1_1RPC.html#acf971399318eaf92481b10636259a929">txnTestArray</a>)</div>
<div class="line"><a name="l02572"></a><span class="lineno"> 2572</span>&#160; {</div>
<div class="line"><a name="l02573"></a><span class="lineno"> 2573</span>&#160; <a class="code" href="classJson_1_1Value.html">Json::Value</a> req;</div>
<div class="line"><a name="l02574"></a><span class="lineno"> 2574</span>&#160; <a class="code" href="classJson_1_1Reader.html">Json::Reader</a>().<a class="code" href="classJson_1_1Reader.html#a8ee4d40504e4f8b069745d762ab4d78c">parse</a>(txnTest.json, req);</div>
<div class="line"><a name="l02575"></a><span class="lineno"> 2575</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="namespaceripple_1_1RPC.html#a1a79f0c33d1405fe85c40d63a49658bd">RPC::contains_error</a>(req))</div>
<div class="line"><a name="l02576"></a><span class="lineno"> 2576</span>&#160; Throw&lt;std::runtime_error&gt;(</div>
<div class="line"><a name="l02577"></a><span class="lineno"> 2577</span>&#160; <span class="stringliteral">&quot;Internal JSONRPC_test error. Bad test JSON.&quot;</span>);</div>
<div class="line"><a name="l02578"></a><span class="lineno"> 2578</span>&#160; </div>
<div class="line"><a name="l02579"></a><span class="lineno"> 2579</span>&#160; <span class="keyword">static</span> <a class="code" href="namespaceripple.html#ae08fe18f17b24699ce41d3898fbb8c2c">Role</a> <span class="keyword">const</span> testedRoles[] = {</div>
<div class="line"><a name="l02580"></a><span class="lineno"> 2580</span>&#160; <a class="code" href="namespaceripple.html#ae08fe18f17b24699ce41d3898fbb8c2ca33e9232989576b5cfaa06654217d7a1a">Role::GUEST</a>, <a class="code" href="namespaceripple.html#ae08fe18f17b24699ce41d3898fbb8c2ca2e40ad879e955201df4dedbf8d479a12">Role::USER</a>, <a class="code" href="namespaceripple.html#ae08fe18f17b24699ce41d3898fbb8c2ca73acd9a5972130b75066c82595a1fae3">Role::ADMIN</a>, <a class="code" href="namespaceripple.html#ae08fe18f17b24699ce41d3898fbb8c2cae59518181ec60bb5370c94110f1cd4bf">Role::FORBID</a>};</div>
<div class="line"><a name="l02581"></a><span class="lineno"> 2581</span>&#160; </div>
<div class="line"><a name="l02582"></a><span class="lineno"> 2582</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceripple.html#ae08fe18f17b24699ce41d3898fbb8c2c">Role</a> testRole : testedRoles)</div>
<div class="line"><a name="l02583"></a><span class="lineno"> 2583</span>&#160; {</div>
<div class="line"><a name="l02584"></a><span class="lineno"> 2584</span>&#160; <a class="code" href="classJson_1_1Value.html">Json::Value</a> result;</div>
<div class="line"><a name="l02585"></a><span class="lineno"> 2585</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> signFn = get&lt;0&gt;(testFunc);</div>
<div class="line"><a name="l02586"></a><span class="lineno"> 2586</span>&#160; <span class="keywordflow">if</span> (signFn != <span class="keyword">nullptr</span>)</div>
<div class="line"><a name="l02587"></a><span class="lineno"> 2587</span>&#160; {</div>
<div class="line"><a name="l02588"></a><span class="lineno"> 2588</span>&#160; assert(get&lt;1&gt;(testFunc) == <span class="keyword">nullptr</span>);</div>
<div class="line"><a name="l02589"></a><span class="lineno"> 2589</span>&#160; result = signFn(</div>
<div class="line"><a name="l02590"></a><span class="lineno"> 2590</span>&#160; req,</div>
<div class="line"><a name="l02591"></a><span class="lineno"> 2591</span>&#160; 1,</div>
<div class="line"><a name="l02592"></a><span class="lineno"> 2592</span>&#160; <a class="code" href="classripple_1_1NetworkOPs.html#ada325f492d3aa1aa62d4b159e106c37aaa6105c0a611b41b08f1209506350279e">NetworkOPs::FailHard::yes</a>,</div>
<div class="line"><a name="l02593"></a><span class="lineno"> 2593</span>&#160; testRole,</div>
<div class="line"><a name="l02594"></a><span class="lineno"> 2594</span>&#160; 1s,</div>
<div class="line"><a name="l02595"></a><span class="lineno"> 2595</span>&#160; env.app());</div>
<div class="line"><a name="l02596"></a><span class="lineno"> 2596</span>&#160; }</div>
<div class="line"><a name="l02597"></a><span class="lineno"> 2597</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l02598"></a><span class="lineno"> 2598</span>&#160; {</div>
<div class="line"><a name="l02599"></a><span class="lineno"> 2599</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> submitFn = get&lt;1&gt;(testFunc);</div>
<div class="line"><a name="l02600"></a><span class="lineno"> 2600</span>&#160; assert(submitFn != <span class="keyword">nullptr</span>);</div>
<div class="line"><a name="l02601"></a><span class="lineno"> 2601</span>&#160; result = submitFn(</div>
<div class="line"><a name="l02602"></a><span class="lineno"> 2602</span>&#160; req,</div>
<div class="line"><a name="l02603"></a><span class="lineno"> 2603</span>&#160; 1,</div>
<div class="line"><a name="l02604"></a><span class="lineno"><a class="line" href="classripple_1_1RPC_1_1JSONRPC__test.html#a36aa6e32886c10154783d9c1befa9178"> 2604</a></span>&#160; <a class="code" href="classripple_1_1NetworkOPs.html#ada325f492d3aa1aa62d4b159e106c37aaa6105c0a611b41b08f1209506350279e">NetworkOPs::FailHard::yes</a>,</div>
<div class="line"><a name="l02605"></a><span class="lineno"> 2605</span>&#160; testRole,</div>
<div class="line"><a name="l02606"></a><span class="lineno"> 2606</span>&#160; 1s,</div>
<div class="line"><a name="l02607"></a><span class="lineno"> 2607</span>&#160; env.app(),</div>
<div class="line"><a name="l02608"></a><span class="lineno"> 2608</span>&#160; processTxn,</div>
<div class="line"><a name="l02609"></a><span class="lineno"> 2609</span>&#160; <a class="code" href="namespaceripple_1_1RPC.html#a33378ee5e4181cef672fc56627fc0551a63ad9d34f3503826e5f649ae6b7ac92c">RPC::SubmitSync::sync</a>);</div>
<div class="line"><a name="l02610"></a><span class="lineno"> 2610</span>&#160; }</div>
<div class="line"><a name="l02611"></a><span class="lineno"> 2611</span>&#160; </div>
<div class="line"><a name="l02612"></a><span class="lineno"> 2612</span>&#160; <span class="keywordflow">if</span> (errStr == txnTest.expMsg[get&lt;3&gt;(testFunc)])</div>
<div class="line"><a name="l02613"></a><span class="lineno"> 2613</span>&#160; {</div>
<div class="line"><a name="l02614"></a><span class="lineno"> 2614</span>&#160; pass();</div>
<div class="line"><a name="l02615"></a><span class="lineno"> 2615</span>&#160; }</div>
<div class="line"><a name="l02616"></a><span class="lineno"> 2616</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l02612"></a><span class="lineno"> 2612</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> errStr;</div>
<div class="line"><a name="l02613"></a><span class="lineno"> 2613</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="namespaceripple_1_1RPC.html#a1a79f0c33d1405fe85c40d63a49658bd">RPC::contains_error</a>(result))</div>
<div class="line"><a name="l02614"></a><span class="lineno"> 2614</span>&#160; errStr = result[<span class="stringliteral">&quot;error_message&quot;</span>].<a class="code" href="classJson_1_1Value.html#ab0d86bf425efefd03513e8dbfaca317b">asString</a>();</div>
<div class="line"><a name="l02615"></a><span class="lineno"> 2615</span>&#160; </div>
<div class="line"><a name="l02616"></a><span class="lineno"> 2616</span>&#160; <span class="keywordflow">if</span> (errStr == txnTest.expMsg[get&lt;3&gt;(testFunc)])</div>
<div class="line"><a name="l02617"></a><span class="lineno"> 2617</span>&#160; {</div>
<div class="line"><a name="l02618"></a><span class="lineno"> 2618</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/io/basic_ostringstream.html">std::ostringstream</a> description;</div>
<div class="line"><a name="l02619"></a><span class="lineno"> 2619</span>&#160; description &lt;&lt; txnTest.description &lt;&lt; <span class="stringliteral">&quot; Called &quot;</span></div>
<div class="line"><a name="l02620"></a><span class="lineno"> 2620</span>&#160; &lt;&lt; get&lt;2&gt;(testFunc) &lt;&lt; <span class="stringliteral">&quot;(). Got \&#39;&quot;</span></div>
<div class="line"><a name="l02621"></a><span class="lineno"> 2621</span>&#160; &lt;&lt; errStr &lt;&lt; <span class="stringliteral">&quot;\&#39;&quot;</span>;</div>
<div class="line"><a name="l02622"></a><span class="lineno"> 2622</span>&#160; fail(description.<a class="codeRef" href="http://en.cppreference.com/w/cpp/io/basic_ostringstream/str.html">str</a>(), __FILE__, txnTest.line);</div>
<div class="line"><a name="l02623"></a><span class="lineno"> 2623</span>&#160; }</div>
<div class="line"><a name="l02624"></a><span class="lineno"> 2624</span>&#160; }</div>
<div class="line"><a name="l02625"></a><span class="lineno"> 2625</span>&#160; }</div>
<div class="line"><a name="l02626"></a><span class="lineno"> 2626</span>&#160; }</div>
<div class="line"><a name="l02627"></a><span class="lineno"> 2627</span>&#160; }</div>
<div class="line"><a name="l02628"></a><span class="lineno"> 2628</span>&#160; </div>
<div class="line"><a name="l02629"></a><span class="lineno"> 2629</span>&#160; <span class="keywordtype">void</span></div>
<div class="line"><a name="l02630"></a><span class="lineno"> 2630</span>&#160; <a class="code" href="classripple_1_1RPC_1_1JSONRPC__test.html#a36aa6e32886c10154783d9c1befa9178">run</a>()<span class="keyword"> override</span></div>
<div class="line"><a name="l02631"></a><span class="lineno"> 2631</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l02632"></a><span class="lineno"> 2632</span>&#160; <a class="code" href="classripple_1_1RPC_1_1JSONRPC__test.html#adad0850e85abadf109a1da3ac0899b27">testBadRpcCommand</a>();</div>
<div class="line"><a name="l02633"></a><span class="lineno"> 2633</span>&#160; <a class="code" href="classripple_1_1RPC_1_1JSONRPC__test.html#a03ce33d6b507f5fd2ec1b40ad488b832">testAutoFillFees</a>();</div>
<div class="line"><a name="l02634"></a><span class="lineno"> 2634</span>&#160; <a class="code" href="classripple_1_1RPC_1_1JSONRPC__test.html#a0c7023cbc79535e19ec9214975cb8310">testAutoFillEscalatedFees</a>();</div>
<div class="line"><a name="l02635"></a><span class="lineno"> 2635</span>&#160; <a class="code" href="classripple_1_1RPC_1_1JSONRPC__test.html#a13c86d8adaacda15df009c275904a42c">testTransactionRPC</a>();</div>
<div class="line"><a name="l02636"></a><span class="lineno"> 2636</span>&#160; }</div>
<div class="line"><a name="l02637"></a><span class="lineno"> 2637</span>&#160;};</div>
<div class="line"><a name="l02638"></a><span class="lineno"> 2638</span>&#160; </div>
<div class="line"><a name="l02639"></a><span class="lineno"> 2639</span>&#160;<a class="code" href="namespaceripple_1_1RPC.html#a557849511b477b905e67852636bb37f6">BEAST_DEFINE_TESTSUITE</a>(JSONRPC, ripple_app, <a class="code" href="namespaceripple.html">ripple</a>);</div>
<div class="line"><a name="l02640"></a><span class="lineno"> 2640</span>&#160; </div>
<div class="line"><a name="l02641"></a><span class="lineno"> 2641</span>&#160;} <span class="comment">// namespace RPC</span></div>
<div class="line"><a name="l02642"></a><span class="lineno"> 2642</span>&#160;} <span class="comment">// namespace ripple</span></div>
<div class="line"><a name="l02618"></a><span class="lineno"> 2618</span>&#160; pass();</div>
<div class="line"><a name="l02619"></a><span class="lineno"> 2619</span>&#160; }</div>
<div class="line"><a name="l02620"></a><span class="lineno"> 2620</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l02621"></a><span class="lineno"> 2621</span>&#160; {</div>
<div class="line"><a name="l02622"></a><span class="lineno"> 2622</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/io/basic_ostringstream.html">std::ostringstream</a> description;</div>
<div class="line"><a name="l02623"></a><span class="lineno"> 2623</span>&#160; description &lt;&lt; txnTest.description &lt;&lt; <span class="stringliteral">&quot; Called &quot;</span></div>
<div class="line"><a name="l02624"></a><span class="lineno"> 2624</span>&#160; &lt;&lt; get&lt;2&gt;(testFunc) &lt;&lt; <span class="stringliteral">&quot;(). Got \&#39;&quot;</span></div>
<div class="line"><a name="l02625"></a><span class="lineno"> 2625</span>&#160; &lt;&lt; errStr &lt;&lt; <span class="stringliteral">&quot;\&#39;&quot;</span>;</div>
<div class="line"><a name="l02626"></a><span class="lineno"> 2626</span>&#160; fail(description.<a class="codeRef" href="http://en.cppreference.com/w/cpp/io/basic_ostringstream/str.html">str</a>(), __FILE__, txnTest.line);</div>
<div class="line"><a name="l02627"></a><span class="lineno"> 2627</span>&#160; }</div>
<div class="line"><a name="l02628"></a><span class="lineno"> 2628</span>&#160; }</div>
<div class="line"><a name="l02629"></a><span class="lineno"> 2629</span>&#160; }</div>
<div class="line"><a name="l02630"></a><span class="lineno"> 2630</span>&#160; }</div>
<div class="line"><a name="l02631"></a><span class="lineno"> 2631</span>&#160; }</div>
<div class="line"><a name="l02632"></a><span class="lineno"> 2632</span>&#160; </div>
<div class="line"><a name="l02633"></a><span class="lineno"> 2633</span>&#160; <span class="keywordtype">void</span></div>
<div class="line"><a name="l02634"></a><span class="lineno"> 2634</span>&#160; <a class="code" href="classripple_1_1RPC_1_1JSONRPC__test.html#a36aa6e32886c10154783d9c1befa9178">run</a>()<span class="keyword"> override</span></div>
<div class="line"><a name="l02635"></a><span class="lineno"> 2635</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l02636"></a><span class="lineno"> 2636</span>&#160; <a class="code" href="classripple_1_1RPC_1_1JSONRPC__test.html#adad0850e85abadf109a1da3ac0899b27">testBadRpcCommand</a>();</div>
<div class="line"><a name="l02637"></a><span class="lineno"> 2637</span>&#160; <a class="code" href="classripple_1_1RPC_1_1JSONRPC__test.html#a03ce33d6b507f5fd2ec1b40ad488b832">testAutoFillFees</a>();</div>
<div class="line"><a name="l02638"></a><span class="lineno"> 2638</span>&#160; <a class="code" href="classripple_1_1RPC_1_1JSONRPC__test.html#a0c7023cbc79535e19ec9214975cb8310">testAutoFillEscalatedFees</a>();</div>
<div class="line"><a name="l02639"></a><span class="lineno"> 2639</span>&#160; <a class="code" href="classripple_1_1RPC_1_1JSONRPC__test.html#a13c86d8adaacda15df009c275904a42c">testTransactionRPC</a>();</div>
<div class="line"><a name="l02640"></a><span class="lineno"> 2640</span>&#160; }</div>
<div class="line"><a name="l02641"></a><span class="lineno"> 2641</span>&#160;};</div>
<div class="line"><a name="l02642"></a><span class="lineno"> 2642</span>&#160; </div>
<div class="line"><a name="l02643"></a><span class="lineno"> 2643</span>&#160;<a class="code" href="namespaceripple_1_1RPC.html#a557849511b477b905e67852636bb37f6">BEAST_DEFINE_TESTSUITE</a>(JSONRPC, ripple_app, <a class="code" href="namespaceripple.html">ripple</a>);</div>
<div class="line"><a name="l02644"></a><span class="lineno"> 2644</span>&#160; </div>
<div class="line"><a name="l02645"></a><span class="lineno"> 2645</span>&#160;} <span class="comment">// namespace RPC</span></div>
<div class="line"><a name="l02646"></a><span class="lineno"> 2646</span>&#160;} <span class="comment">// namespace ripple</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="anamespaceripple_1_1RPC_html_a557849511b477b905e67852636bb37f6"><div class="ttname"><a href="namespaceripple_1_1RPC.html#a557849511b477b905e67852636bb37f6">ripple::RPC::BEAST_DEFINE_TESTSUITE</a></div><div class="ttdeci">BEAST_DEFINE_TESTSUITE(AccountLinesRPC, app, ripple)</div></div>
<div class="ttc" id="anamespaceripple_1_1test_1_1jtx_html_a37cf35ddf6bc8f4c6cbfa3fba57d6815"><div class="ttname"><a href="namespaceripple_1_1test_1_1jtx.html#a37cf35ddf6bc8f4c6cbfa3fba57d6815">ripple::test::jtx::XRP</a></div><div class="ttdeci">const XRP_t XRP</div><div class="ttdoc">Converts to XRP Issue or STAmount.</div><div class="ttdef"><b>Definition:</b> <a href="amount_8cpp_source.html#l00105">amount.cpp:105</a></div></div>
<div class="ttc" id="anamespaceripple_1_1RPC_html_a33378ee5e4181cef672fc56627fc0551"><div class="ttname"><a href="namespaceripple_1_1RPC.html#a33378ee5e4181cef672fc56627fc0551">ripple::RPC::SubmitSync</a></div><div class="ttdeci">SubmitSync</div><div class="ttdoc">Possible values for defining synchronous behavior of the transaction submission API.</div><div class="ttdef"><b>Definition:</b> <a href="SubmitSync_8h_source.html#l00036">SubmitSync.h:36</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 class="ttdoc">STL class.</div></div>
<div class="ttc" id="ashared_ptr_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr&lt; Transaction &gt;</a></div></div>
<div class="ttc" id="anamespaceripple_1_1RPC_html_a2466eabd830ae0eb35322fc7a284c629"><div class="ttname"><a href="namespaceripple_1_1RPC.html#a2466eabd830ae0eb35322fc7a284c629">ripple::RPC::transactionSignFor</a></div><div class="ttdeci">Json::Value transactionSignFor(Json::Value jvRequest, NetworkOPs::FailHard failType, Role role, std::chrono::seconds validatedLedgerAge, Application &amp;app)</div><div class="ttdoc">Returns a Json::objectValue.</div><div class="ttdef"><b>Definition:</b> <a href="TransactionSign_8cpp_source.html#l00944">TransactionSign.cpp:944</a></div></div>
<div class="ttc" id="astructripple_1_1RPC_1_1TxnTestData_html_adb287de60b1b1992a2b5fd9a16cd53a1"><div class="ttname"><a href="structripple_1_1RPC_1_1TxnTestData.html#adb287de60b1b1992a2b5fd9a16cd53a1">ripple::RPC::TxnTestData::description</a></div><div class="ttdeci">char const *const description</div><div class="ttdef"><b>Definition:</b> <a href="JSONRPC__test_8cpp_source.html#l00039">JSONRPC_test.cpp:39</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="anamespaceripple_1_1test_1_1jtx_1_1amm_html_ad598bf10f0d1bde849bb8b6333f2edb3"><div class="ttname"><a href="namespaceripple_1_1test_1_1jtx_1_1amm.html#ad598bf10f0d1bde849bb8b6333f2edb3">ripple::test::jtx::amm::pay</a></div><div class="ttdeci">Json::Value pay(Account const &amp;account, AccountID const &amp;to, STAmount const &amp;amount)</div><div class="ttdef"><b>Definition:</b> <a href="AMM_8cpp_source.html#l00746">AMM.cpp:746</a></div></div>
<div class="ttc" id="anamespaceripple_1_1RPC_html_aec2860565139f7e6f21a31ce991f96f4"><div class="ttname"><a href="namespaceripple_1_1RPC.html#aec2860565139f7e6f21a31ce991f96f4">ripple::RPC::transactionSubmit</a></div><div class="ttdeci">Json::Value transactionSubmit(Json::Value jvRequest, NetworkOPs::FailHard failType, Role role, std::chrono::seconds validatedLedgerAge, Application &amp;app, ProcessTransactionFn const &amp;processTransaction, RPC::SubmitSync sync)</div><div class="ttdoc">Returns a Json::objectValue.</div><div class="ttdef"><b>Definition:</b> <a href="TransactionSign_8cpp_source.html#l00815">TransactionSign.cpp:815</a></div></div>
<div class="ttc" id="aclassripple_1_1RPC_1_1JSONRPC__test_html_a13c86d8adaacda15df009c275904a42c"><div class="ttname"><a href="classripple_1_1RPC_1_1JSONRPC__test.html#a13c86d8adaacda15df009c275904a42c">ripple::RPC::JSONRPC_test::testTransactionRPC</a></div><div class="ttdeci">void testTransactionRPC()</div><div class="ttdef"><b>Definition:</b> <a href="JSONRPC__test_8cpp_source.html#l02479">JSONRPC_test.cpp:2479</a></div></div>
<div class="ttc" id="atuple_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/tuple.html">std::tuple</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html_a9e55bbdb66a785bfd0dda93802b514b6"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html#a9e55bbdb66a785bfd0dda93802b514b6">ripple::test::jtx::Env::app</a></div><div class="ttdeci">Application &amp; app()</div><div class="ttdef"><b>Definition:</b> <a href="Env_8h_source.html#l00242">Env.h:242</a></div></div>
<div class="ttc" id="aclassJson_1_1Reader_html"><div class="ttname"><a href="classJson_1_1Reader.html">Json::Reader</a></div><div class="ttdoc">Unserialize a JSON document into a Value.</div><div class="ttdef"><b>Definition:</b> <a href="json__reader_8h_source.html#l00036">json_reader.h:36</a></div></div>
<div class="ttc" id="anamespaceripple_1_1RPC_html_a22e1b9888dfab6a73dd8116ad4ec6d0b"><div class="ttname"><a href="namespaceripple_1_1RPC.html#a22e1b9888dfab6a73dd8116ad4ec6d0b">ripple::RPC::transactionSign</a></div><div class="ttdeci">Json::Value transactionSign(Json::Value jvRequest, NetworkOPs::FailHard failType, Role role, std::chrono::seconds validatedLedgerAge, Application &amp;app)</div><div class="ttdoc">Returns a Json::objectValue.</div><div class="ttdef"><b>Definition:</b> <a href="TransactionSign_8cpp_source.html#l00778">TransactionSign.cpp:778</a></div></div>
<div class="ttc" id="anamespaceripple_1_1RPC_html_aca22c2f943740539f8a1560924cae9cd"><div class="ttname"><a href="namespaceripple_1_1RPC.html#aca22c2f943740539f8a1560924cae9cd">ripple::RPC::transactionSubmitMultiSigned</a></div><div class="ttdeci">Json::Value transactionSubmitMultiSigned(Json::Value jvRequest, unsigned apiVersion, NetworkOPs::FailHard failType, Role role, std::chrono::seconds validatedLedgerAge, Application &amp;app, ProcessTransactionFn const &amp;processTransaction, RPC::SubmitSync sync)</div><div class="ttdoc">Returns a Json::objectValue.</div><div class="ttdef"><b>Definition:</b> <a href="TransactionSign_8cpp_source.html#l01062">TransactionSign.cpp:1062</a></div></div>
<div class="ttc" id="aclassripple_1_1Application_html_a426bdbb87f6dc2082cf6f418526901cb"><div class="ttname"><a href="classripple_1_1Application.html#a426bdbb87f6dc2082cf6f418526901cb">ripple::Application::getFeeTrack</a></div><div class="ttdeci">virtual LoadFeeTrack &amp; getFeeTrack()=0</div></div>
<div class="ttc" id="aclassripple_1_1RPC_1_1JSONRPC__test_html_a03ce33d6b507f5fd2ec1b40ad488b832"><div class="ttname"><a href="classripple_1_1RPC_1_1JSONRPC__test.html#a03ce33d6b507f5fd2ec1b40ad488b832">ripple::RPC::JSONRPC_test::testAutoFillFees</a></div><div class="ttdeci">void testAutoFillFees()</div><div class="ttdef"><b>Definition:</b> <a href="JSONRPC__test_8cpp_source.html#l02040">JSONRPC_test.cpp:2040</a></div></div>
<div class="ttc" id="anamespaceripple_html_a9de744cfdefe1132969eb982e57e4ddea8183aa2c95dc1385c8f58bf1917fcb0b"><div class="ttname"><a href="namespaceripple.html#a9de744cfdefe1132969eb982e57e4ddea8183aa2c95dc1385c8f58bf1917fcb0b">ripple::KeyType::ed25519</a></div><div class="ttdeci">@ ed25519</div></div>
<div class="ttc" id="anamespaceripple_1_1RPC_html_adf952f7ca5d0d26e982a92acce6bf937"><div class="ttname"><a href="namespaceripple_1_1RPC.html#adf952f7ca5d0d26e982a92acce6bf937">ripple::RPC::checkFee</a></div><div class="ttdeci">Json::Value checkFee(Json::Value &amp;request, Role const role, bool doAutoFill, Config const &amp;config, LoadFeeTrack const &amp;feeTrack, TxQ const &amp;txQ, Application const &amp;app)</div><div class="ttdoc">Fill in the fee on behalf of the client.</div><div class="ttdef"><b>Definition:</b> <a href="TransactionSign_8cpp_source.html#l00682">TransactionSign.cpp:682</a></div></div>
<div class="ttc" id="anamespaceripple_1_1RPC_html_adf952f7ca5d0d26e982a92acce6bf937"><div class="ttname"><a href="namespaceripple_1_1RPC.html#adf952f7ca5d0d26e982a92acce6bf937">ripple::RPC::checkFee</a></div><div class="ttdeci">Json::Value checkFee(Json::Value &amp;request, Role const role, bool doAutoFill, Config const &amp;config, LoadFeeTrack const &amp;feeTrack, TxQ const &amp;txQ, Application const &amp;app)</div><div class="ttdoc">Fill in the fee on behalf of the client.</div><div class="ttdef"><b>Definition:</b> <a href="TransactionSign_8cpp_source.html#l00690">TransactionSign.cpp:690</a></div></div>
<div class="ttc" id="anamespaceripple_html_ae08fe18f17b24699ce41d3898fbb8c2ca73acd9a5972130b75066c82595a1fae3"><div class="ttname"><a href="namespaceripple.html#ae08fe18f17b24699ce41d3898fbb8c2ca73acd9a5972130b75066c82595a1fae3">ripple::Role::ADMIN</a></div><div class="ttdeci">@ ADMIN</div></div>
<div class="ttc" id="anamespaceripple_1_1RPC_html_a1a79f0c33d1405fe85c40d63a49658bd"><div class="ttname"><a href="namespaceripple_1_1RPC.html#a1a79f0c33d1405fe85c40d63a49658bd">ripple::RPC::contains_error</a></div><div class="ttdeci">bool contains_error(Json::Value const &amp;json)</div><div class="ttdoc">Returns true if the json contains an rpc error specification.</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8cpp_source.html#l00196">ErrorCodes.cpp:196</a></div></div>
<div class="ttc" id="anamespaceripple_html_ae08fe18f17b24699ce41d3898fbb8c2ca2e40ad879e955201df4dedbf8d479a12"><div class="ttname"><a href="namespaceripple.html#ae08fe18f17b24699ce41d3898fbb8c2ca2e40ad879e955201df4dedbf8d479a12">ripple::Role::USER</a></div><div class="ttdeci">@ USER</div></div>
<div class="ttc" id="anamespaceripple_1_1RPC_html_ac16a3a5fc27cf3801186c4d19bc934bc"><div class="ttname"><a href="namespaceripple_1_1RPC.html#ac16a3a5fc27cf3801186c4d19bc934bc">ripple::RPC::transactionSubmit</a></div><div class="ttdeci">Json::Value transactionSubmit(Json::Value jvRequest, unsigned apiVersion, NetworkOPs::FailHard failType, Role role, std::chrono::seconds validatedLedgerAge, Application &amp;app, ProcessTransactionFn const &amp;processTransaction, RPC::SubmitSync sync)</div><div class="ttdoc">Returns a Json::objectValue.</div><div class="ttdef"><b>Definition:</b> <a href="TransactionSign_8cpp_source.html#l00824">TransactionSign.cpp:824</a></div></div>
<div class="ttc" id="aclassripple_1_1Application_html_aca56b7c63030174e59720ab51d739422"><div class="ttname"><a href="classripple_1_1Application.html#aca56b7c63030174e59720ab51d739422">ripple::Application::config</a></div><div class="ttdeci">virtual Config &amp; config()=0</div></div>
<div class="ttc" id="astructripple_1_1RPC_1_1TxnTestData_html_a2fa0a3bd96c3ea93e225a6dfd404eb48"><div class="ttname"><a href="structripple_1_1RPC_1_1TxnTestData.html#a2fa0a3bd96c3ea93e225a6dfd404eb48">ripple::RPC::TxnTestData::TxnTestData</a></div><div class="ttdeci">TxnTestData()=delete</div></div>
<div class="ttc" id="aclassripple_1_1RPC_1_1JSONRPC__test_html_a36aa6e32886c10154783d9c1befa9178"><div class="ttname"><a href="classripple_1_1RPC_1_1JSONRPC__test.html#a36aa6e32886c10154783d9c1befa9178">ripple::RPC::JSONRPC_test::run</a></div><div class="ttdeci">void run() override</div><div class="ttdef"><b>Definition:</b> <a href="JSONRPC__test_8cpp_source.html#l02600">JSONRPC_test.cpp:2600</a></div></div>
<div class="ttc" id="aclassripple_1_1RPC_1_1JSONRPC__test_html_a36aa6e32886c10154783d9c1befa9178"><div class="ttname"><a href="classripple_1_1RPC_1_1JSONRPC__test.html#a36aa6e32886c10154783d9c1befa9178">ripple::RPC::JSONRPC_test::run</a></div><div class="ttdeci">void run() override</div><div class="ttdef"><b>Definition:</b> <a href="JSONRPC__test_8cpp_source.html#l02604">JSONRPC_test.cpp:2604</a></div></div>
<div class="ttc" id="aclassripple_1_1Application_html_a9865710c130bf4427842a544b2b7f077"><div class="ttname"><a href="classripple_1_1Application.html#a9865710c130bf4427842a544b2b7f077">ripple::Application::getTxQ</a></div><div class="ttdeci">virtual TxQ &amp; getTxQ()=0</div></div>
<div class="ttc" id="aclassripple_1_1LoadFeeTrack_html"><div class="ttname"><a href="classripple_1_1LoadFeeTrack.html">ripple::LoadFeeTrack</a></div><div class="ttdoc">Manages the current fee schedule.</div><div class="ttdef"><b>Definition:</b> <a href="LoadFeeTrack_8h_source.html#l00044">LoadFeeTrack.h:44</a></div></div>
<div class="ttc" id="astructripple_1_1RPC_1_1TxnTestData_html_ab49cef88619d44efd0d1a8ea6eb59ccf"><div class="ttname"><a href="structripple_1_1RPC_1_1TxnTestData.html#ab49cef88619d44efd0d1a8ea6eb59ccf">ripple::RPC::TxnTestData::TxnTestData</a></div><div class="ttdeci">constexpr TxnTestData(char const *description_, int line_, char const *json_, std::array&lt; char const *const, 4 &gt; const &amp;expMsg_)</div><div class="ttdef"><b>Definition:</b> <a href="JSONRPC__test_8cpp_source.html#l00053">JSONRPC_test.cpp:53</a></div></div>
<div class="ttc" id="astructripple_1_1RPC_1_1TxnTestData_html_a2ee4aec1fb7cb31cceea4d50cc684511"><div class="ttname"><a href="structripple_1_1RPC_1_1TxnTestData.html#a2ee4aec1fb7cb31cceea4d50cc684511">ripple::RPC::TxnTestData::line</a></div><div class="ttdeci">const int line</div><div class="ttdef"><b>Definition:</b> <a href="JSONRPC__test_8cpp_source.html#l00040">JSONRPC_test.cpp:40</a></div></div>
<div class="ttc" id="anamespaceripple_html_a53f80df10254751781250aa20704e98f"><div class="ttname"><a href="namespaceripple.html#a53f80df10254751781250aa20704e98f">ripple::set</a></div><div class="ttdeci">bool set(T &amp;target, std::string const &amp;name, Section const &amp;section)</div><div class="ttdoc">Set a value from a configuration Section If the named value is not found or doesn't parse as a T,...</div><div class="ttdef"><b>Definition:</b> <a href="BasicConfig_8h_source.html#l00313">BasicConfig.h:313</a></div></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 class="ttdoc">STL class.</div></div>
<div class="ttc" id="anamespaceripple_1_1RPC_html_a0e52076e77d0078231dda289f8048200"><div class="ttname"><a href="namespaceripple_1_1RPC.html#a0e52076e77d0078231dda289f8048200">ripple::RPC::transactionSign</a></div><div class="ttdeci">Json::Value transactionSign(Json::Value jvRequest, unsigned apiVersion, NetworkOPs::FailHard failType, Role role, std::chrono::seconds validatedLedgerAge, Application &amp;app)</div><div class="ttdoc">Returns a Json::objectValue.</div><div class="ttdef"><b>Definition:</b> <a href="TransactionSign_8cpp_source.html#l00786">TransactionSign.cpp:786</a></div></div>
<div class="ttc" id="anamespaceripple_1_1test_1_1jtx_1_1amm_html_a405e123375285ad8f0bc427953749fe2"><div class="ttname"><a href="namespaceripple_1_1test_1_1jtx_1_1amm.html#a405e123375285ad8f0bc427953749fe2">ripple::test::jtx::amm::trust</a></div><div class="ttdeci">Json::Value trust(AccountID const &amp;account, STAmount const &amp;amount, std::uint32_t flags=0)</div><div class="ttdef"><b>Definition:</b> <a href="AMM_8cpp_source.html#l00734">AMM.cpp:734</a></div></div>
<div class="ttc" id="anamespaceripple_html_ae08fe18f17b24699ce41d3898fbb8c2cae59518181ec60bb5370c94110f1cd4bf"><div class="ttname"><a href="namespaceripple.html#ae08fe18f17b24699ce41d3898fbb8c2cae59518181ec60bb5370c94110f1cd4bf">ripple::Role::FORBID</a></div><div class="ttdeci">@ FORBID</div></div>
<div class="ttc" id="astructripple_1_1RPC_1_1TxnTestData_html_ae40cfb5a6bce1d09f3f4e87df427f3b8"><div class="ttname"><a href="structripple_1_1RPC_1_1TxnTestData.html#ae40cfb5a6bce1d09f3f4e87df427f3b8">ripple::RPC::TxnTestData::expMsg</a></div><div class="ttdeci">const std::array&lt; char const *const, 4 &gt; expMsg</div><div class="ttdef"><b>Definition:</b> <a href="JSONRPC__test_8cpp_source.html#l00051">JSONRPC_test.cpp:51</a></div></div>
<div class="ttc" id="anamespaceripple_1_1RPC_html_aced54d69612c2b58940e2132e905dfc6"><div class="ttname"><a href="namespaceripple_1_1RPC.html#aced54d69612c2b58940e2132e905dfc6">ripple::RPC::transactionSignFor</a></div><div class="ttdeci">Json::Value transactionSignFor(Json::Value jvRequest, unsigned apiVersion, NetworkOPs::FailHard failType, Role role, std::chrono::seconds validatedLedgerAge, Application &amp;app)</div><div class="ttdoc">Returns a Json::objectValue.</div><div class="ttdef"><b>Definition:</b> <a href="TransactionSign_8cpp_source.html#l00954">TransactionSign.cpp:954</a></div></div>
<div class="ttc" id="anamespaceripple_1_1RPC_html_a33378ee5e4181cef672fc56627fc0551a63ad9d34f3503826e5f649ae6b7ac92c"><div class="ttname"><a href="namespaceripple_1_1RPC.html#a33378ee5e4181cef672fc56627fc0551a63ad9d34f3503826e5f649ae6b7ac92c">ripple::RPC::SubmitSync::sync</a></div><div class="ttdeci">@ sync</div></div>
<div class="ttc" id="aclassripple_1_1NetworkOPs_html_ada325f492d3aa1aa62d4b159e106c37a"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#ada325f492d3aa1aa62d4b159e106c37a">ripple::NetworkOPs::FailHard</a></div><div class="ttdeci">FailHard</div><div class="ttdef"><b>Definition:</b> <a href="NetworkOPs_8h_source.html#l00095">NetworkOPs.h:95</a></div></div>
<div class="ttc" id="abasic_ostringstream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_ostringstream.html">std::ostringstream</a></div><div class="ttdoc">STL class.</div></div>
<div class="ttc" id="anamespaceripple_1_1RPC_html_a2fb0d86fd372bbf3ce906631e0aeca73"><div class="ttname"><a href="namespaceripple_1_1RPC.html#a2fb0d86fd372bbf3ce906631e0aeca73">ripple::RPC::transactionSubmitMultiSigned</a></div><div class="ttdeci">Json::Value transactionSubmitMultiSigned(Json::Value jvRequest, NetworkOPs::FailHard failType, Role role, std::chrono::seconds validatedLedgerAge, Application &amp;app, ProcessTransactionFn const &amp;processTransaction, RPC::SubmitSync sync)</div><div class="ttdoc">Returns a Json::objectValue.</div><div class="ttdef"><b>Definition:</b> <a href="TransactionSign_8cpp_source.html#l01051">TransactionSign.cpp:1051</a></div></div>
<div class="ttc" id="anamespaceripple_html"><div class="ttname"><a href="namespaceripple.html">ripple</a></div><div class="ttdoc">Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.</div><div class="ttdef"><b>Definition:</b> <a href="RCLCensorshipDetector_8h_source.html#l00029">RCLCensorshipDetector.h:29</a></div></div>
<div class="ttc" id="aclassripple_1_1RPC_1_1JSONRPC__test_html_a203f3c6f77f95f269661cb7390225c81"><div class="ttname"><a href="classripple_1_1RPC_1_1JSONRPC__test.html#a203f3c6f77f95f269661cb7390225c81">ripple::RPC::JSONRPC_test::fakeProcessTransaction</a></div><div class="ttdeci">static void fakeProcessTransaction(std::shared_ptr&lt; Transaction &gt; &amp;, bool, SubmitSync, NetworkOPs::FailHard)</div><div class="ttdef"><b>Definition:</b> <a href="JSONRPC__test_8cpp_source.html#l02469">JSONRPC_test.cpp:2469</a></div></div>
<div class="ttc" id="anamespaceripple_html_ae08fe18f17b24699ce41d3898fbb8c2ca33e9232989576b5cfaa06654217d7a1a"><div class="ttname"><a href="namespaceripple.html#ae08fe18f17b24699ce41d3898fbb8c2ca33e9232989576b5cfaa06654217d7a1a">ripple::Role::GUEST</a></div><div class="ttdeci">@ GUEST</div></div>