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

View File

@@ -112,10 +112,10 @@ $(function() {
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <a class="code hl_variable" href="classbeast_1_1unit__test_1_1suite.html#aaa1237d9b85c69d35fe86645cee094b5">testcase</a>(<span class="stringliteral">&quot;Bad input to owner_info&quot;</span>);</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> </div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <span class="keyword">using namespace </span>test::jtx;</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> Env env{*<span class="keyword">this</span>};</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> env{*<span class="keyword">this</span>};</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> </div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <span class="keyword">auto</span> <span class="keyword">const</span> alice = Account{<span class="stringliteral">&quot;alice&quot;</span>};</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> env.fund(XRP(10000), alice);</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <span class="keyword">auto</span> <span class="keyword">const</span> alice = <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Account.html">Account</a>{<span class="stringliteral">&quot;alice&quot;</span>};</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> env.fund(<a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10000), alice);</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> env.close();</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> </div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> { <span class="comment">// missing account field</span></div>
@@ -152,7 +152,7 @@ $(function() {
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <span class="comment">// this seems like it should be an error, but current impl</span></div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <span class="comment">// (deprecated) does not return an error, just empty fields.</span></div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a> params;</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> params[jss::account] = Account{<span class="stringliteral">&quot;bob&quot;</span>}.human();</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> params[jss::account] = <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Account.html">Account</a>{<span class="stringliteral">&quot;bob&quot;</span>}.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Account.html#af418ef1752815f3b0d0c80e7e9891004">human</a>();</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <span class="keyword">auto</span> <span class="keyword">const</span> result =</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> env.rpc(<span class="stringliteral">&quot;json&quot;</span>, <span class="stringliteral">&quot;owner_info&quot;</span>, <a class="code hl_function" href="namespaceripple.html#ac124fe6744b7fe887dec949b56b16d50">to_string</a>(params))[jss::result];</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> BEAST_EXPECT(result[jss::accepted] == <a class="code hl_enumvalue" href="namespaceJson.html#a7d654b75c16a57007925868e38212b4eae8386dcfc36d1ae897745f7b4f77a1f6">Json::objectValue</a>);</div>
@@ -167,22 +167,22 @@ $(function() {
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <a class="code hl_variable" href="classbeast_1_1unit__test_1_1suite.html#aaa1237d9b85c69d35fe86645cee094b5">testcase</a>(<span class="stringliteral">&quot;Basic request for owner_info&quot;</span>);</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> </div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <span class="keyword">using namespace </span>test::jtx;</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> Env env{*<span class="keyword">this</span>};</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> env{*<span class="keyword">this</span>};</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> </div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <span class="keyword">auto</span> <span class="keyword">const</span> alice = Account{<span class="stringliteral">&quot;alice&quot;</span>};</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <span class="keyword">auto</span> <span class="keyword">const</span> gw = Account{<span class="stringliteral">&quot;gateway&quot;</span>};</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> env.fund(XRP(10000), alice, gw);</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <span class="keyword">auto</span> <span class="keyword">const</span> alice = <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Account.html">Account</a>{<span class="stringliteral">&quot;alice&quot;</span>};</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <span class="keyword">auto</span> <span class="keyword">const</span> gw = <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Account.html">Account</a>{<span class="stringliteral">&quot;gateway&quot;</span>};</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> env.fund(<a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10000), alice, gw);</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> env.close();</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <span class="keyword">auto</span> <span class="keyword">const</span> USD = gw[<span class="stringliteral">&quot;USD&quot;</span>];</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <span class="keyword">auto</span> <span class="keyword">const</span> CNY = gw[<span class="stringliteral">&quot;CNY&quot;</span>];</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> env(trust(alice, USD(1000)));</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> env(trust(alice, CNY(1000)));</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> env(offer(alice, USD(1), XRP(1000)));</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a47cac3a8bfbc8c14ae8da735ec52ebbf">trust</a>(alice, USD(1000)));</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a47cac3a8bfbc8c14ae8da735ec52ebbf">trust</a>(alice, CNY(1000)));</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#ac423e2aa3fd7a14ae651849b430994f1">offer</a>(alice, USD(1), <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(1000)));</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> env.close();</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> </div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> env(pay(gw, alice, USD(50)));</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> env(pay(gw, alice, CNY(50)));</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> env(offer(alice, CNY(2), XRP(1000)));</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a66b99468a4160bccaa9959a444b40d40">pay</a>(gw, alice, USD(50)));</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a66b99468a4160bccaa9959a444b40d40">pay</a>(gw, alice, CNY(50)));</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#ac423e2aa3fd7a14ae651849b430994f1">offer</a>(alice, CNY(2), <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(1000)));</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> </div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> <a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a> params;</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> params[jss::account] = alice.human();</div>
@@ -198,57 +198,57 @@ $(function() {
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> <span class="comment">// accepted ledger entry</span></div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <span class="keywordflow">if</span> (!BEAST_EXPECT(result[jss::accepted].isMember(jss::ripple_lines)))</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> <span class="keyword">auto</span> lines = result[jss::accepted][jss::ripple_lines];</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> <span class="keywordflow">if</span> (!BEAST_EXPECT(lines.isArray() &amp;&amp; lines.size() == 2))</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> <span class="keyword">auto</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1owner__count.html">lines</a> = result[jss::accepted][jss::ripple_lines];</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> <span class="keywordflow">if</span> (!BEAST_EXPECT(<a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1owner__count.html">lines</a>.isArray() &amp;&amp; <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1owner__count.html">lines</a>.size() == 2))</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> </div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> BEAST_EXPECT(</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> lines[0u][sfBalance.fieldName] ==</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1owner__count.html">lines</a>[0u][sfBalance.fieldName] ==</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> (<a class="code hl_class" href="classripple_1_1STAmount.html">STAmount</a>{Issue{to_currency(<span class="stringliteral">&quot;CNY&quot;</span>), noAccount()}, 0}</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> .<a class="code hl_function" href="classripple_1_1STAmount.html#aa40b0743a468d95eeaaf4914ea555866">value</a>()</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> .<a class="code hl_function" href="namespaceripple.html#ad30131b5a5b7cf60d9b392ab868b8c0e">getJson</a>(<a class="code hl_enumvalue" href="structripple_1_1JsonOptions.html#ab85e43ec84df987200d3355c3ba89f0aa1917451e3686dfe8d5016670eb87ab33">JsonOptions::none</a>)));</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> BEAST_EXPECT(</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> lines[0u][sfHighLimit.fieldName] ==</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1owner__count.html">lines</a>[0u][sfHighLimit.fieldName] ==</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> alice[<span class="stringliteral">&quot;CNY&quot;</span>](1000).value().getJson(<a class="code hl_enumvalue" href="structripple_1_1JsonOptions.html#ab85e43ec84df987200d3355c3ba89f0aa1917451e3686dfe8d5016670eb87ab33">JsonOptions::none</a>));</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> BEAST_EXPECT(</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> lines[0u][sfLowLimit.fieldName] ==</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1owner__count.html">lines</a>[0u][sfLowLimit.fieldName] ==</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> gw[<span class="stringliteral">&quot;CNY&quot;</span>](0).value().getJson(<a class="code hl_enumvalue" href="structripple_1_1JsonOptions.html#ab85e43ec84df987200d3355c3ba89f0aa1917451e3686dfe8d5016670eb87ab33">JsonOptions::none</a>));</div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> </div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> BEAST_EXPECT(</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> lines[1u][sfBalance.fieldName] ==</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1owner__count.html">lines</a>[1u][sfBalance.fieldName] ==</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> (<a class="code hl_class" href="classripple_1_1STAmount.html">STAmount</a>{Issue{to_currency(<span class="stringliteral">&quot;USD&quot;</span>), noAccount()}, 0}</div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> .<a class="code hl_function" href="classripple_1_1STAmount.html#aa40b0743a468d95eeaaf4914ea555866">value</a>()</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> .<a class="code hl_function" href="namespaceripple.html#ad30131b5a5b7cf60d9b392ab868b8c0e">getJson</a>(<a class="code hl_enumvalue" href="structripple_1_1JsonOptions.html#ab85e43ec84df987200d3355c3ba89f0aa1917451e3686dfe8d5016670eb87ab33">JsonOptions::none</a>)));</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> BEAST_EXPECT(</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> lines[1u][sfHighLimit.fieldName] ==</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> <a class="code hl_typedef" href="namespaceripple_1_1test_1_1jtx.html#a07a4f5b92ce36a9cbf86ab7845fb94b4">lines</a>[1u][sfHighLimit.fieldName] ==</div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> alice[<span class="stringliteral">&quot;USD&quot;</span>](1000).value().getJson(<a class="code hl_enumvalue" href="structripple_1_1JsonOptions.html#ab85e43ec84df987200d3355c3ba89f0aa1917451e3686dfe8d5016670eb87ab33">JsonOptions::none</a>));</div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> BEAST_EXPECT(</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> lines[1u][sfLowLimit.fieldName] ==</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> <a class="code hl_typedef" href="namespaceripple_1_1test_1_1jtx.html#a07a4f5b92ce36a9cbf86ab7845fb94b4">lines</a>[1u][sfLowLimit.fieldName] ==</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> USD(0).value().<a class="code hl_function" href="namespaceripple.html#ad30131b5a5b7cf60d9b392ab868b8c0e">getJson</a>(<a class="code hl_enumvalue" href="structripple_1_1JsonOptions.html#ab85e43ec84df987200d3355c3ba89f0aa1917451e3686dfe8d5016670eb87ab33">JsonOptions::none</a>));</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> </div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> <span class="keywordflow">if</span> (!BEAST_EXPECT(result[jss::accepted].isMember(jss::offers)))</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> <span class="keyword">auto</span> offers = result[jss::accepted][jss::offers];</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> <span class="keywordflow">if</span> (!BEAST_EXPECT(offers.isArray() &amp;&amp; offers.size() == 1))</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> <span class="keyword">auto</span> <a class="code hl_typedef" href="namespaceripple_1_1test_1_1jtx.html#a3beb715a43d7e5bc771c333529bbf92d">offers</a> = result[jss::accepted][jss::offers];</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> <span class="keywordflow">if</span> (!BEAST_EXPECT(<a class="code hl_typedef" href="namespaceripple_1_1test_1_1jtx.html#a3beb715a43d7e5bc771c333529bbf92d">offers</a>.isArray() &amp;&amp; <a class="code hl_typedef" href="namespaceripple_1_1test_1_1jtx.html#a3beb715a43d7e5bc771c333529bbf92d">offers</a>.size() == 1))</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> </div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> BEAST_EXPECT(offers[0u][jss::Account] == alice.human());</div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> BEAST_EXPECT(<a class="code hl_typedef" href="namespaceripple_1_1test_1_1jtx.html#a3beb715a43d7e5bc771c333529bbf92d">offers</a>[0u][jss::Account] == alice.human());</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> BEAST_EXPECT(</div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> offers[0u][sfTakerGets.fieldName] ==</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> XRP(1000).value().<a class="code hl_function" href="namespaceripple.html#ad30131b5a5b7cf60d9b392ab868b8c0e">getJson</a>(<a class="code hl_enumvalue" href="structripple_1_1JsonOptions.html#ab85e43ec84df987200d3355c3ba89f0aa1917451e3686dfe8d5016670eb87ab33">JsonOptions::none</a>));</div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> <a class="code hl_typedef" href="namespaceripple_1_1test_1_1jtx.html#a3beb715a43d7e5bc771c333529bbf92d">offers</a>[0u][sfTakerGets.fieldName] ==</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(1000).value().<a class="code hl_function" href="namespaceripple.html#ad30131b5a5b7cf60d9b392ab868b8c0e">getJson</a>(<a class="code hl_enumvalue" href="structripple_1_1JsonOptions.html#ab85e43ec84df987200d3355c3ba89f0aa1917451e3686dfe8d5016670eb87ab33">JsonOptions::none</a>));</div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> BEAST_EXPECT(</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> offers[0u][sfTakerPays.fieldName] ==</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> <a class="code hl_typedef" href="namespaceripple_1_1test_1_1jtx.html#a3beb715a43d7e5bc771c333529bbf92d">offers</a>[0u][sfTakerPays.fieldName] ==</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> USD(1).value().<a class="code hl_function" href="namespaceripple.html#ad30131b5a5b7cf60d9b392ab868b8c0e">getJson</a>(<a class="code hl_enumvalue" href="structripple_1_1JsonOptions.html#ab85e43ec84df987200d3355c3ba89f0aa1917451e3686dfe8d5016670eb87ab33">JsonOptions::none</a>));</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> </div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> <span class="comment">// current ledger entry</span></div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> <span class="keywordflow">if</span> (!BEAST_EXPECT(result[jss::current].isMember(jss::ripple_lines)))</div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> lines = result[jss::current][jss::ripple_lines];</div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> <span class="keywordflow">if</span> (!BEAST_EXPECT(lines.isArray() &amp;&amp; lines.size() == 2))</div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> <a class="code hl_typedef" href="namespaceripple_1_1test_1_1jtx.html#a07a4f5b92ce36a9cbf86ab7845fb94b4">lines</a> = result[jss::current][jss::ripple_lines];</div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> <span class="keywordflow">if</span> (!BEAST_EXPECT(<a class="code hl_typedef" href="namespaceripple_1_1test_1_1jtx.html#a07a4f5b92ce36a9cbf86ab7845fb94b4">lines</a>.isArray() &amp;&amp; <a class="code hl_typedef" href="namespaceripple_1_1test_1_1jtx.html#a07a4f5b92ce36a9cbf86ab7845fb94b4">lines</a>.size() == 2))</div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> </div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> BEAST_EXPECT(</div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> lines[0u][sfBalance.fieldName] ==</div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> <a class="code hl_typedef" href="namespaceripple_1_1test_1_1jtx.html#a07a4f5b92ce36a9cbf86ab7845fb94b4">lines</a>[0u][sfBalance.fieldName] ==</div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> (STAmount{Issue{to_currency(<span class="stringliteral">&quot;CNY&quot;</span>), noAccount()}, -50}</div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> .value()</div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> .<a class="code hl_function" href="namespaceripple.html#ad30131b5a5b7cf60d9b392ab868b8c0e">getJson</a>(JsonOptions::none)));</div>
@@ -300,7 +300,7 @@ $(function() {
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"><a class="line" href="namespaceripple.html#a60134e6787fd51a3424332ae3c44d0df"> 222</a></span>BEAST_DEFINE_TESTSUITE(OwnerInfo, app, <a class="code hl_namespace" href="namespaceripple.html">ripple</a>);</div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> </div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span>} <span class="comment">// namespace ripple</span></div>
<div class="ttc" id="aclassJson_1_1Value_html"><div class="ttname"><a href="classJson_1_1Value.html">Json::Value</a></div><div class="ttdoc">Represents a JSON value.</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8h_source.html#l00147">json_value.h:148</a></div></div>
<div class="ttc" id="aclassJson_1_1Value_html"><div class="ttname"><a href="classJson_1_1Value.html">Json::Value</a></div><div class="ttdoc">Represents a JSON value.</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8h_source.html#l00149">json_value.h:150</a></div></div>
<div class="ttc" id="aclassbeast_1_1unit__test_1_1suite_html"><div class="ttname"><a href="classbeast_1_1unit__test_1_1suite.html">beast::unit_test::suite</a></div><div class="ttdoc">A testsuite class.</div><div class="ttdef"><b>Definition:</b> <a href="suite_8h_source.html#l00054">suite.h:55</a></div></div>
<div class="ttc" id="aclassbeast_1_1unit__test_1_1suite_html_aaa1237d9b85c69d35fe86645cee094b5"><div class="ttname"><a href="classbeast_1_1unit__test_1_1suite.html#aaa1237d9b85c69d35fe86645cee094b5">beast::unit_test::suite::testcase</a></div><div class="ttdeci">testcase_t testcase</div><div class="ttdoc">Memberspace for declaring test cases.</div><div class="ttdef"><b>Definition:</b> <a href="suite_8h_source.html#l00155">suite.h:155</a></div></div>
<div class="ttc" id="aclassripple_1_1OwnerInfo__test_html"><div class="ttname"><a href="classripple_1_1OwnerInfo__test.html">ripple::OwnerInfo_test</a></div><div class="ttdef"><b>Definition:</b> <a href="OwnerInfo__test_8cpp_source.html#l00029">OwnerInfo_test.cpp:30</a></div></div>
@@ -308,9 +308,17 @@ $(function() {
<div class="ttc" id="aclassripple_1_1OwnerInfo__test_html_a773a9795127e329bbfe8ce100fd3bb77"><div class="ttname"><a href="classripple_1_1OwnerInfo__test.html#a773a9795127e329bbfe8ce100fd3bb77">ripple::OwnerInfo_test::testBadInput</a></div><div class="ttdeci">void testBadInput()</div><div class="ttdef"><b>Definition:</b> <a href="OwnerInfo__test_8cpp_source.html#l00032">OwnerInfo_test.cpp:32</a></div></div>
<div class="ttc" id="aclassripple_1_1OwnerInfo__test_html_aacd96111febfe60b97824783c2cbc9f4"><div class="ttname"><a href="classripple_1_1OwnerInfo__test.html#aacd96111febfe60b97824783c2cbc9f4">ripple::OwnerInfo_test::testBasic</a></div><div class="ttdeci">void testBasic()</div><div class="ttdef"><b>Definition:</b> <a href="OwnerInfo__test_8cpp_source.html#l00087">OwnerInfo_test.cpp:87</a></div></div>
<div class="ttc" id="aclassripple_1_1STAmount_html"><div class="ttname"><a href="classripple_1_1STAmount.html">ripple::STAmount</a></div><div class="ttdef"><b>Definition:</b> <a href="STAmount_8h_source.html#l00049">STAmount.h:50</a></div></div>
<div class="ttc" id="aclassripple_1_1STAmount_html_aa40b0743a468d95eeaaf4914ea555866"><div class="ttname"><a href="classripple_1_1STAmount.html#aa40b0743a468d95eeaaf4914ea555866">ripple::STAmount::value</a></div><div class="ttdeci">STAmount const &amp; value() const noexcept</div><div class="ttdef"><b>Definition:</b> <a href="STAmount_8h_source.html#l00575">STAmount.h:575</a></div></div>
<div class="ttc" id="anamespaceJson_html_a7d654b75c16a57007925868e38212b4eae8386dcfc36d1ae897745f7b4f77a1f6"><div class="ttname"><a href="namespaceJson.html#a7d654b75c16a57007925868e38212b4eae8386dcfc36d1ae897745f7b4f77a1f6">Json::objectValue</a></div><div class="ttdeci">@ objectValue</div><div class="ttdoc">object value (collection of name/value pairs).</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8h_source.html#l00045">json_value.h:44</a></div></div>
<div class="ttc" id="aclassripple_1_1STAmount_html_aa40b0743a468d95eeaaf4914ea555866"><div class="ttname"><a href="classripple_1_1STAmount.html#aa40b0743a468d95eeaaf4914ea555866">ripple::STAmount::value</a></div><div class="ttdeci">STAmount const &amp; value() const noexcept</div><div class="ttdef"><b>Definition:</b> <a href="STAmount_8h_source.html#l00594">STAmount.h:594</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Account_html"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Account.html">ripple::test::jtx::Account</a></div><div class="ttdoc">Immutable cryptographic account descriptor.</div><div class="ttdef"><b>Definition:</b> <a href="Account_8h_source.html#l00038">Account.h:39</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Account_html_af418ef1752815f3b0d0c80e7e9891004"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Account.html#af418ef1752815f3b0d0c80e7e9891004">ripple::test::jtx::Account::human</a></div><div class="ttdeci">std::string const &amp; human() const</div><div class="ttdoc">Returns the human readable public key.</div><div class="ttdef"><b>Definition:</b> <a href="Account_8h_source.html#l00114">Account.h:114</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html">ripple::test::jtx::Env</a></div><div class="ttdoc">A transaction testing environment.</div><div class="ttdef"><b>Definition:</b> <a href="Env_8h_source.html#l00120">Env.h:121</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1owner__count_html"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1owner__count.html">ripple::test::jtx::owner_count</a></div><div class="ttdef"><b>Definition:</b> <a href="owners_8h_source.html#l00052">owners.h:53</a></div></div>
<div class="ttc" id="anamespaceJson_html_a7d654b75c16a57007925868e38212b4eae8386dcfc36d1ae897745f7b4f77a1f6"><div class="ttname"><a href="namespaceJson.html#a7d654b75c16a57007925868e38212b4eae8386dcfc36d1ae897745f7b4f77a1f6">Json::objectValue</a></div><div class="ttdeci">@ objectValue</div><div class="ttdoc">object value (collection of name/value pairs).</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8h_source.html#l00047">json_value.h:46</a></div></div>
<div class="ttc" id="anamespaceripple_1_1test_1_1jtx_html_a07a4f5b92ce36a9cbf86ab7845fb94b4"><div class="ttname"><a href="namespaceripple_1_1test_1_1jtx.html#a07a4f5b92ce36a9cbf86ab7845fb94b4">ripple::test::jtx::lines</a></div><div class="ttdeci">owner_count&lt; ltRIPPLE_STATE &gt; lines</div><div class="ttdoc">Match the number of trust lines in the account's owner directory.</div><div class="ttdef"><b>Definition:</b> <a href="owners_8h_source.html#l00089">owners.h:89</a></div></div>
<div class="ttc" id="anamespaceripple_1_1test_1_1jtx_html_a3beb715a43d7e5bc771c333529bbf92d"><div class="ttname"><a href="namespaceripple_1_1test_1_1jtx.html#a3beb715a43d7e5bc771c333529bbf92d">ripple::test::jtx::offers</a></div><div class="ttdeci">owner_count&lt; ltOFFER &gt; offers</div><div class="ttdoc">Match the number of offers in the account's owner directory.</div><div class="ttdef"><b>Definition:</b> <a href="owners_8h_source.html#l00092">owners.h:92</a></div></div>
<div class="ttc" id="anamespaceripple_1_1test_1_1jtx_html_a47cac3a8bfbc8c14ae8da735ec52ebbf"><div class="ttname"><a href="namespaceripple_1_1test_1_1jtx.html#a47cac3a8bfbc8c14ae8da735ec52ebbf">ripple::test::jtx::trust</a></div><div class="ttdeci">Json::Value trust(Account const &amp;account, STAmount const &amp;amount, std::uint32_t flags)</div><div class="ttdoc">Modify a trust line.</div><div class="ttdef"><b>Definition:</b> <a href="trust_8cpp_source.html#l00032">trust.cpp:32</a></div></div>
<div class="ttc" id="anamespaceripple_1_1test_1_1jtx_html_a66b99468a4160bccaa9959a444b40d40"><div class="ttname"><a href="namespaceripple_1_1test_1_1jtx.html#a66b99468a4160bccaa9959a444b40d40">ripple::test::jtx::pay</a></div><div class="ttdeci">Json::Value pay(AccountID const &amp;account, AccountID const &amp;to, AnyAmount amount)</div><div class="ttdoc">Create a payment.</div><div class="ttdef"><b>Definition:</b> <a href="pay_8cpp_source.html#l00030">pay.cpp:30</a></div></div>
<div class="ttc" id="anamespaceripple_1_1test_1_1jtx_html_ac423e2aa3fd7a14ae651849b430994f1"><div class="ttname"><a href="namespaceripple_1_1test_1_1jtx.html#ac423e2aa3fd7a14ae651849b430994f1">ripple::test::jtx::offer</a></div><div class="ttdeci">Json::Value offer(Account const &amp;account, STAmount const &amp;takerPays, STAmount const &amp;takerGets, std::uint32_t flags)</div><div class="ttdoc">Create an offer.</div><div class="ttdef"><b>Definition:</b> <a href="offer_8cpp_source.html#l00029">offer.cpp:29</a></div></div>
<div class="ttc" id="anamespaceripple_1_1test_1_1jtx_html_aea9cd3d4e6b5df2e62d53b34b605957e"><div class="ttname"><a href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">ripple::test::jtx::XRP</a></div><div class="ttdeci">XRP_t const 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_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_ac124fe6744b7fe887dec949b56b16d50"><div class="ttname"><a href="namespaceripple.html#ac124fe6744b7fe887dec949b56b16d50">ripple::to_string</a></div><div class="ttdeci">std::string to_string(base_uint&lt; Bits, Tag &gt; const &amp;a)</div><div class="ttdef"><b>Definition:</b> <a href="base__uint_8h_source.html#l00630">base_uint.h:630</a></div></div>