This commit is contained in:
intelliot
2024-02-16 21:34:13 +00:00
parent 85369d57c6
commit 34c4011245
3 changed files with 227 additions and 221 deletions

View File

@@ -1657,236 +1657,240 @@ $(function() {
<div class="line"><a name="l01591"></a><span class="lineno"> 1591</span>&#160; });</div>
<div class="line"><a name="l01592"></a><span class="lineno"> 1592</span>&#160; j.<a class="code" href="classripple_1_1STTx.html#a2ff70c45520477e847ef95913baf1a20">sign</a>(keypair.first, keypair.second);</div>
<div class="line"><a name="l01593"></a><span class="lineno"> 1593</span>&#160; </div>
<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>&#160; <a class="code" href="classripple_1_1Rules.html">Rules</a> defaultRules{{}};</div>
<div class="line"><a name="l01595"></a><span class="lineno"> 1595</span>&#160; </div>
<div class="line"><a name="l01596"></a><span class="lineno"> 1596</span>&#160; unexpected(</div>
<div class="line"><a name="l01597"></a><span class="lineno"> 1597</span>&#160; !j.checkSign(<a class="code" href="classripple_1_1STTx.html#a8bb1ca29546758e0fe3e97d1753e3d8daa6105c0a611b41b08f1209506350279e">STTx::RequireFullyCanonicalSig::yes</a>, defaultRules),</div>
<div class="line"><a name="l01598"></a><span class="lineno"> 1598</span>&#160; <span class="stringliteral">&quot;Transaction fails signature test&quot;</span>);</div>
<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>&#160; <span class="comment">// Rules store a reference to the presets. Create a local to guarantee</span></div>
<div class="line"><a name="l01595"></a><span class="lineno"> 1595</span>&#160; <span class="comment">// proper lifetime.</span></div>
<div class="line"><a name="l01596"></a><span class="lineno"> 1596</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/unordered_set.html">std::unordered_set&lt;uint256, beast::uhash&lt;&gt;</a>&gt; <span class="keyword">const</span> presets;</div>
<div class="line"><a name="l01597"></a><span class="lineno"> 1597</span>&#160; <a class="code" href="classripple_1_1Rules.html">Rules</a> <span class="keyword">const</span> defaultRules{presets};</div>
<div class="line"><a name="l01598"></a><span class="lineno"> 1598</span>&#160; BEAST_EXPECT(!defaultRules.enabled(<a class="code" href="namespaceripple.html#a28496e4c629a4a47a403a018f841d724">featureExpandedSignerList</a>));</div>
<div class="line"><a name="l01599"></a><span class="lineno"> 1599</span>&#160; </div>
<div class="line"><a name="l01600"></a><span class="lineno"> 1600</span>&#160; <a class="code" href="classripple_1_1Serializer.html">Serializer</a> rawTxn;</div>
<div class="line"><a name="l01601"></a><span class="lineno"> 1601</span>&#160; j.add(rawTxn);</div>
<div class="line"><a name="l01602"></a><span class="lineno"> 1602</span>&#160; <a class="code" href="classripple_1_1SerialIter.html">SerialIter</a> sit(rawTxn.<a class="code" href="classripple_1_1Serializer.html#a394c3299f6cfcebdaa4bc98ec0c602d6">slice</a>());</div>
<div class="line"><a name="l01603"></a><span class="lineno"> 1603</span>&#160; <a class="code" href="classripple_1_1STTx.html">STTx</a> copy(sit);</div>
<div class="line"><a name="l01604"></a><span class="lineno"> 1604</span>&#160; </div>
<div class="line"><a name="l01605"></a><span class="lineno"> 1605</span>&#160; <span class="keywordflow">if</span> (copy != j)</div>
<div class="line"><a name="l01606"></a><span class="lineno"> 1606</span>&#160; {</div>
<div class="line"><a name="l01607"></a><span class="lineno"> 1607</span>&#160; log &lt;&lt; <span class="stringliteral">&quot;j=&quot;</span> &lt;&lt; j.getJson(<a class="code" href="structripple_1_1JsonOptions.html#ab85e43ec84df987200d3355c3ba89f0aa1917451e3686dfe8d5016670eb87ab33">JsonOptions::none</a>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div>
<div class="line"><a name="l01608"></a><span class="lineno"> 1608</span>&#160; &lt;&lt; <span class="stringliteral">&quot;copy=&quot;</span> &lt;&lt; copy.getJson(<a class="code" href="structripple_1_1JsonOptions.html#ab85e43ec84df987200d3355c3ba89f0aa1917451e3686dfe8d5016670eb87ab33">JsonOptions::none</a>) &lt;&lt; <a class="codeRef" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l01609"></a><span class="lineno"> 1609</span>&#160; fail(<span class="stringliteral">&quot;Transaction fails serialize/deserialize test&quot;</span>);</div>
<div class="line"><a name="l01610"></a><span class="lineno"> 1610</span>&#160; }</div>
<div class="line"><a name="l01611"></a><span class="lineno"> 1611</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l01612"></a><span class="lineno"> 1612</span>&#160; {</div>
<div class="line"><a name="l01613"></a><span class="lineno"> 1613</span>&#160; pass();</div>
<div class="line"><a name="l01600"></a><span class="lineno"> 1600</span>&#160; unexpected(</div>
<div class="line"><a name="l01601"></a><span class="lineno"> 1601</span>&#160; !j.checkSign(<a class="code" href="classripple_1_1STTx.html#a8bb1ca29546758e0fe3e97d1753e3d8daa6105c0a611b41b08f1209506350279e">STTx::RequireFullyCanonicalSig::yes</a>, defaultRules),</div>
<div class="line"><a name="l01602"></a><span class="lineno"> 1602</span>&#160; <span class="stringliteral">&quot;Transaction fails signature test&quot;</span>);</div>
<div class="line"><a name="l01603"></a><span class="lineno"> 1603</span>&#160; </div>
<div class="line"><a name="l01604"></a><span class="lineno"> 1604</span>&#160; <a class="code" href="classripple_1_1Serializer.html">Serializer</a> rawTxn;</div>
<div class="line"><a name="l01605"></a><span class="lineno"> 1605</span>&#160; j.add(rawTxn);</div>
<div class="line"><a name="l01606"></a><span class="lineno"> 1606</span>&#160; <a class="code" href="classripple_1_1SerialIter.html">SerialIter</a> sit(rawTxn.<a class="code" href="classripple_1_1Serializer.html#a394c3299f6cfcebdaa4bc98ec0c602d6">slice</a>());</div>
<div class="line"><a name="l01607"></a><span class="lineno"> 1607</span>&#160; <a class="code" href="classripple_1_1STTx.html">STTx</a> copy(sit);</div>
<div class="line"><a name="l01608"></a><span class="lineno"> 1608</span>&#160; </div>
<div class="line"><a name="l01609"></a><span class="lineno"> 1609</span>&#160; <span class="keywordflow">if</span> (copy != j)</div>
<div class="line"><a name="l01610"></a><span class="lineno"> 1610</span>&#160; {</div>
<div class="line"><a name="l01611"></a><span class="lineno"> 1611</span>&#160; log &lt;&lt; <span class="stringliteral">&quot;j=&quot;</span> &lt;&lt; j.getJson(<a class="code" href="structripple_1_1JsonOptions.html#ab85e43ec84df987200d3355c3ba89f0aa1917451e3686dfe8d5016670eb87ab33">JsonOptions::none</a>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div>
<div class="line"><a name="l01612"></a><span class="lineno"> 1612</span>&#160; &lt;&lt; <span class="stringliteral">&quot;copy=&quot;</span> &lt;&lt; copy.getJson(<a class="code" href="structripple_1_1JsonOptions.html#ab85e43ec84df987200d3355c3ba89f0aa1917451e3686dfe8d5016670eb87ab33">JsonOptions::none</a>) &lt;&lt; <a class="codeRef" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l01613"></a><span class="lineno"> 1613</span>&#160; fail(<span class="stringliteral">&quot;Transaction fails serialize/deserialize test&quot;</span>);</div>
<div class="line"><a name="l01614"></a><span class="lineno"> 1614</span>&#160; }</div>
<div class="line"><a name="l01615"></a><span class="lineno"> 1615</span>&#160; </div>
<div class="line"><a name="l01616"></a><span class="lineno"> 1616</span>&#160; <a class="code" href="classripple_1_1STParsedJSONObject.html">STParsedJSONObject</a> parsed(<span class="stringliteral">&quot;test&quot;</span>, j.getJson(<a class="code" href="structripple_1_1JsonOptions.html#ab85e43ec84df987200d3355c3ba89f0aa1917451e3686dfe8d5016670eb87ab33">JsonOptions::none</a>));</div>
<div class="line"><a name="l01617"></a><span class="lineno"> 1617</span>&#160; <span class="keywordflow">if</span> (!parsed.<a class="code" href="classripple_1_1STParsedJSONObject.html#a5684522fa6918e6256d910053cd58c47">object</a>)</div>
<div class="line"><a name="l01618"></a><span class="lineno"> 1618</span>&#160; fail(<span class="stringliteral">&quot;Unable to build object from json&quot;</span>);</div>
<div class="line"><a name="l01615"></a><span class="lineno"> 1615</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l01616"></a><span class="lineno"> 1616</span>&#160; {</div>
<div class="line"><a name="l01617"></a><span class="lineno"> 1617</span>&#160; pass();</div>
<div class="line"><a name="l01618"></a><span class="lineno"> 1618</span>&#160; }</div>
<div class="line"><a name="l01619"></a><span class="lineno"> 1619</span>&#160; </div>
<div class="line"><a name="l01620"></a><span class="lineno"> 1620</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classripple_1_1STObject.html">STObject</a>(j) != parsed.<a class="code" href="classripple_1_1STParsedJSONObject.html#a5684522fa6918e6256d910053cd58c47">object</a>)</div>
<div class="line"><a name="l01621"></a><span class="lineno"> 1621</span>&#160; {</div>
<div class="line"><a name="l01622"></a><span class="lineno"> 1622</span>&#160; log &lt;&lt; <span class="stringliteral">&quot;ORIG: &quot;</span> &lt;&lt; j.getJson(<a class="code" href="structripple_1_1JsonOptions.html#ab85e43ec84df987200d3355c3ba89f0aa1917451e3686dfe8d5016670eb87ab33">JsonOptions::none</a>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div>
<div class="line"><a name="l01623"></a><span class="lineno"> 1623</span>&#160; &lt;&lt; <span class="stringliteral">&quot;BUILT &quot;</span> &lt;&lt; parsed.<a class="code" href="classripple_1_1STParsedJSONObject.html#a5684522fa6918e6256d910053cd58c47">object</a>-&gt;getJson(<a class="code" href="structripple_1_1JsonOptions.html#ab85e43ec84df987200d3355c3ba89f0aa1917451e3686dfe8d5016670eb87ab33">JsonOptions::none</a>)</div>
<div class="line"><a name="l01624"></a><span class="lineno"> 1624</span>&#160; &lt;&lt; <a class="codeRef" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l01625"></a><span class="lineno"> 1625</span>&#160; fail(<span class="stringliteral">&quot;Built a different transaction&quot;</span>);</div>
<div class="line"><a name="l01626"></a><span class="lineno"> 1626</span>&#160; }</div>
<div class="line"><a name="l01627"></a><span class="lineno"> 1627</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l01628"></a><span class="lineno"> 1628</span>&#160; {</div>
<div class="line"><a name="l01629"></a><span class="lineno"> 1629</span>&#160; pass();</div>
<div class="line"><a name="l01620"></a><span class="lineno"> 1620</span>&#160; <a class="code" href="classripple_1_1STParsedJSONObject.html">STParsedJSONObject</a> parsed(<span class="stringliteral">&quot;test&quot;</span>, j.getJson(<a class="code" href="structripple_1_1JsonOptions.html#ab85e43ec84df987200d3355c3ba89f0aa1917451e3686dfe8d5016670eb87ab33">JsonOptions::none</a>));</div>
<div class="line"><a name="l01621"></a><span class="lineno"> 1621</span>&#160; <span class="keywordflow">if</span> (!parsed.<a class="code" href="classripple_1_1STParsedJSONObject.html#a5684522fa6918e6256d910053cd58c47">object</a>)</div>
<div class="line"><a name="l01622"></a><span class="lineno"> 1622</span>&#160; fail(<span class="stringliteral">&quot;Unable to build object from json&quot;</span>);</div>
<div class="line"><a name="l01623"></a><span class="lineno"> 1623</span>&#160; </div>
<div class="line"><a name="l01624"></a><span class="lineno"> 1624</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classripple_1_1STObject.html">STObject</a>(j) != parsed.<a class="code" href="classripple_1_1STParsedJSONObject.html#a5684522fa6918e6256d910053cd58c47">object</a>)</div>
<div class="line"><a name="l01625"></a><span class="lineno"> 1625</span>&#160; {</div>
<div class="line"><a name="l01626"></a><span class="lineno"> 1626</span>&#160; log &lt;&lt; <span class="stringliteral">&quot;ORIG: &quot;</span> &lt;&lt; j.getJson(<a class="code" href="structripple_1_1JsonOptions.html#ab85e43ec84df987200d3355c3ba89f0aa1917451e3686dfe8d5016670eb87ab33">JsonOptions::none</a>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div>
<div class="line"><a name="l01627"></a><span class="lineno"> 1627</span>&#160; &lt;&lt; <span class="stringliteral">&quot;BUILT &quot;</span> &lt;&lt; parsed.<a class="code" href="classripple_1_1STParsedJSONObject.html#a5684522fa6918e6256d910053cd58c47">object</a>-&gt;getJson(<a class="code" href="structripple_1_1JsonOptions.html#ab85e43ec84df987200d3355c3ba89f0aa1917451e3686dfe8d5016670eb87ab33">JsonOptions::none</a>)</div>
<div class="line"><a name="l01628"></a><span class="lineno"> 1628</span>&#160; &lt;&lt; <a class="codeRef" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l01629"></a><span class="lineno"> 1629</span>&#160; fail(<span class="stringliteral">&quot;Built a different transaction&quot;</span>);</div>
<div class="line"><a name="l01630"></a><span class="lineno"> 1630</span>&#160; }</div>
<div class="line"><a name="l01631"></a><span class="lineno"> 1631</span>&#160; }</div>
<div class="line"><a name="l01632"></a><span class="lineno"> 1632</span>&#160; </div>
<div class="line"><a name="l01633"></a><span class="lineno"> 1633</span>&#160; <span class="keywordtype">void</span></div>
<div class="line"><a name="l01634"></a><span class="lineno"><a class="line" href="classripple_1_1STTx__test.html#a553a87fec8717ce44a7eca99a40e7466"> 1634</a></span>&#160; <a class="code" href="classripple_1_1STTx__test.html#a553a87fec8717ce44a7eca99a40e7466">testObjectCtorErrors</a>()</div>
<div class="line"><a name="l01635"></a><span class="lineno"> 1635</span>&#160; {</div>
<div class="line"><a name="l01636"></a><span class="lineno"> 1636</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> kp1 = <a class="code" href="namespaceripple.html#ac52a0a522fc11bdd47fce39bd29f97bc">randomKeyPair</a>(<a class="code" href="namespaceripple.html#a9de744cfdefe1132969eb982e57e4ddea82c2b7829b8129e5a2d53665ba4b4757">KeyType::secp256k1</a>);</div>
<div class="line"><a name="l01637"></a><span class="lineno"> 1637</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> id1 = <a class="code" href="namespaceripple.html#a614d8681c8dff84ac2257939751987c5">calcAccountID</a>(kp1.first);</div>
<div class="line"><a name="l01638"></a><span class="lineno"> 1638</span>&#160; </div>
<div class="line"><a name="l01639"></a><span class="lineno"> 1639</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> kp2 = <a class="code" href="namespaceripple.html#ac52a0a522fc11bdd47fce39bd29f97bc">randomKeyPair</a>(<a class="code" href="namespaceripple.html#a9de744cfdefe1132969eb982e57e4ddea82c2b7829b8129e5a2d53665ba4b4757">KeyType::secp256k1</a>);</div>
<div class="line"><a name="l01640"></a><span class="lineno"> 1640</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> id2 = <a class="code" href="namespaceripple.html#a614d8681c8dff84ac2257939751987c5">calcAccountID</a>(kp2.first);</div>
<div class="line"><a name="l01641"></a><span class="lineno"> 1641</span>&#160; </div>
<div class="line"><a name="l01642"></a><span class="lineno"> 1642</span>&#160; <span class="comment">// Lambda that returns a Payment STObject.</span></div>
<div class="line"><a name="l01643"></a><span class="lineno"> 1643</span>&#160; <span class="keyword">auto</span> getPayment = [kp1, id1, id2]() {</div>
<div class="line"><a name="l01644"></a><span class="lineno"> 1644</span>&#160; <span class="comment">// Account id1 pays account id2 10,000 XRP.</span></div>
<div class="line"><a name="l01645"></a><span class="lineno"> 1645</span>&#160; <a class="code" href="classripple_1_1STObject.html">STObject</a> payment(<a class="code" href="namespaceripple.html#a5b37d2021c21c06e89ffc7d7f55cc354">sfGeneric</a>);</div>
<div class="line"><a name="l01646"></a><span class="lineno"> 1646</span>&#160; payment.<a class="code" href="classripple_1_1STObject.html#a65cee099ee8ff5529ea7c5c4a028d566">setFieldU16</a>(<a class="code" href="namespaceripple.html#a3de80dfbf6f7cdf152c70751e51ef399">sfTransactionType</a>, <a class="code" href="namespaceripple.html#a2ce3074a39ea65126b82fc59baf43126ace21e6721f555ecd4ebf9b2c104a7a21">ttPAYMENT</a>);</div>
<div class="line"><a name="l01647"></a><span class="lineno"> 1647</span>&#160; payment.<a class="code" href="classripple_1_1STObject.html#ab503dfe8edde82e6c80719cc73201a6d">setAccountID</a>(<a class="code" href="namespaceripple.html#a5bab99595719d22579e10d21cf048eb0">sfAccount</a>, id1);</div>
<div class="line"><a name="l01648"></a><span class="lineno"> 1648</span>&#160; payment.<a class="code" href="classripple_1_1STObject.html#ab503dfe8edde82e6c80719cc73201a6d">setAccountID</a>(<a class="code" href="namespaceripple.html#a15aa3b3032d0908932dc5abf4b1ef862">sfDestination</a>, id2);</div>
<div class="line"><a name="l01649"></a><span class="lineno"> 1649</span>&#160; payment.<a class="code" href="classripple_1_1STObject.html#a7eedf70fc6afba6c2b8c6b2ba27ba23e">setFieldAmount</a>(<a class="code" href="namespaceripple.html#a29758397ce451beaa436c3a9dfc83030">sfAmount</a>, <a class="code" href="classripple_1_1STAmount.html">STAmount</a>(10000000000ull));</div>
<div class="line"><a name="l01650"></a><span class="lineno"> 1650</span>&#160; payment.<a class="code" href="classripple_1_1STObject.html#a7eedf70fc6afba6c2b8c6b2ba27ba23e">setFieldAmount</a>(<a class="code" href="namespaceripple.html#a13864ec0864daa5d24b70d276414b8ff">sfFee</a>, <a class="code" href="classripple_1_1STAmount.html">STAmount</a>(10ull));</div>
<div class="line"><a name="l01651"></a><span class="lineno"> 1651</span>&#160; payment.<a class="code" href="classripple_1_1STObject.html#acd1aac04649d694a3524faf2ddebf843">setFieldU32</a>(<a class="code" href="namespaceripple.html#a586714bf3cbbbb406d6f169742bce0d5">sfSequence</a>, 1);</div>
<div class="line"><a name="l01652"></a><span class="lineno"> 1652</span>&#160; payment.<a class="code" href="classripple_1_1STObject.html#af1235d307d6f464392a583d0dfaa3cc4">setFieldVL</a>(</div>
<div class="line"><a name="l01653"></a><span class="lineno"> 1653</span>&#160; <a class="code" href="namespaceripple.html#a590913040d5c9a68f3bf1d4da20311ad">sfSigningPubKey</a>, <a class="code" href="classripple_1_1Slice.html">Slice</a>(kp1.first.data(), kp1.first.size()));</div>
<div class="line"><a name="l01654"></a><span class="lineno"> 1654</span>&#160; <span class="keywordflow">return</span> payment;</div>
<div class="line"><a name="l01655"></a><span class="lineno"> 1655</span>&#160; };</div>
<div class="line"><a name="l01656"></a><span class="lineno"> 1656</span>&#160; {</div>
<div class="line"><a name="l01657"></a><span class="lineno"> 1657</span>&#160; <span class="comment">// Verify that getPayment() returns a viable Payment.</span></div>
<div class="line"><a name="l01658"></a><span class="lineno"> 1658</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> got;</div>
<div class="line"><a name="l01659"></a><span class="lineno"> 1659</span>&#160; <span class="keywordflow">try</span></div>
<div class="line"><a name="l01660"></a><span class="lineno"> 1660</span>&#160; {</div>
<div class="line"><a name="l01661"></a><span class="lineno"> 1661</span>&#160; <a class="code" href="classripple_1_1STTx.html">STTx</a>{getPayment()};</div>
<div class="line"><a name="l01662"></a><span class="lineno"> 1662</span>&#160; }</div>
<div class="line"><a name="l01663"></a><span class="lineno"> 1663</span>&#160; <span class="keywordflow">catch</span> (<a class="code" href="classripple_1_1STObject_1_1FieldErr.html">STTx::FieldErr</a> <span class="keyword">const</span>&amp; err)</div>
<div class="line"><a name="l01631"></a><span class="lineno"> 1631</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l01632"></a><span class="lineno"> 1632</span>&#160; {</div>
<div class="line"><a name="l01633"></a><span class="lineno"> 1633</span>&#160; pass();</div>
<div class="line"><a name="l01634"></a><span class="lineno"> 1634</span>&#160; }</div>
<div class="line"><a name="l01635"></a><span class="lineno"> 1635</span>&#160; }</div>
<div class="line"><a name="l01636"></a><span class="lineno"> 1636</span>&#160; </div>
<div class="line"><a name="l01637"></a><span class="lineno"> 1637</span>&#160; <span class="keywordtype">void</span></div>
<div class="line"><a name="l01638"></a><span class="lineno"><a class="line" href="classripple_1_1STTx__test.html#a553a87fec8717ce44a7eca99a40e7466"> 1638</a></span>&#160; <a class="code" href="classripple_1_1STTx__test.html#a553a87fec8717ce44a7eca99a40e7466">testObjectCtorErrors</a>()</div>
<div class="line"><a name="l01639"></a><span class="lineno"> 1639</span>&#160; {</div>
<div class="line"><a name="l01640"></a><span class="lineno"> 1640</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> kp1 = <a class="code" href="namespaceripple.html#ac52a0a522fc11bdd47fce39bd29f97bc">randomKeyPair</a>(<a class="code" href="namespaceripple.html#a9de744cfdefe1132969eb982e57e4ddea82c2b7829b8129e5a2d53665ba4b4757">KeyType::secp256k1</a>);</div>
<div class="line"><a name="l01641"></a><span class="lineno"> 1641</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> id1 = <a class="code" href="namespaceripple.html#a614d8681c8dff84ac2257939751987c5">calcAccountID</a>(kp1.first);</div>
<div class="line"><a name="l01642"></a><span class="lineno"> 1642</span>&#160; </div>
<div class="line"><a name="l01643"></a><span class="lineno"> 1643</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> kp2 = <a class="code" href="namespaceripple.html#ac52a0a522fc11bdd47fce39bd29f97bc">randomKeyPair</a>(<a class="code" href="namespaceripple.html#a9de744cfdefe1132969eb982e57e4ddea82c2b7829b8129e5a2d53665ba4b4757">KeyType::secp256k1</a>);</div>
<div class="line"><a name="l01644"></a><span class="lineno"> 1644</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> id2 = <a class="code" href="namespaceripple.html#a614d8681c8dff84ac2257939751987c5">calcAccountID</a>(kp2.first);</div>
<div class="line"><a name="l01645"></a><span class="lineno"> 1645</span>&#160; </div>
<div class="line"><a name="l01646"></a><span class="lineno"> 1646</span>&#160; <span class="comment">// Lambda that returns a Payment STObject.</span></div>
<div class="line"><a name="l01647"></a><span class="lineno"> 1647</span>&#160; <span class="keyword">auto</span> getPayment = [kp1, id1, id2]() {</div>
<div class="line"><a name="l01648"></a><span class="lineno"> 1648</span>&#160; <span class="comment">// Account id1 pays account id2 10,000 XRP.</span></div>
<div class="line"><a name="l01649"></a><span class="lineno"> 1649</span>&#160; <a class="code" href="classripple_1_1STObject.html">STObject</a> payment(<a class="code" href="namespaceripple.html#a5b37d2021c21c06e89ffc7d7f55cc354">sfGeneric</a>);</div>
<div class="line"><a name="l01650"></a><span class="lineno"> 1650</span>&#160; payment.<a class="code" href="classripple_1_1STObject.html#a65cee099ee8ff5529ea7c5c4a028d566">setFieldU16</a>(<a class="code" href="namespaceripple.html#a3de80dfbf6f7cdf152c70751e51ef399">sfTransactionType</a>, <a class="code" href="namespaceripple.html#a2ce3074a39ea65126b82fc59baf43126ace21e6721f555ecd4ebf9b2c104a7a21">ttPAYMENT</a>);</div>
<div class="line"><a name="l01651"></a><span class="lineno"> 1651</span>&#160; payment.<a class="code" href="classripple_1_1STObject.html#ab503dfe8edde82e6c80719cc73201a6d">setAccountID</a>(<a class="code" href="namespaceripple.html#a5bab99595719d22579e10d21cf048eb0">sfAccount</a>, id1);</div>
<div class="line"><a name="l01652"></a><span class="lineno"> 1652</span>&#160; payment.<a class="code" href="classripple_1_1STObject.html#ab503dfe8edde82e6c80719cc73201a6d">setAccountID</a>(<a class="code" href="namespaceripple.html#a15aa3b3032d0908932dc5abf4b1ef862">sfDestination</a>, id2);</div>
<div class="line"><a name="l01653"></a><span class="lineno"> 1653</span>&#160; payment.<a class="code" href="classripple_1_1STObject.html#a7eedf70fc6afba6c2b8c6b2ba27ba23e">setFieldAmount</a>(<a class="code" href="namespaceripple.html#a29758397ce451beaa436c3a9dfc83030">sfAmount</a>, <a class="code" href="classripple_1_1STAmount.html">STAmount</a>(10000000000ull));</div>
<div class="line"><a name="l01654"></a><span class="lineno"> 1654</span>&#160; payment.<a class="code" href="classripple_1_1STObject.html#a7eedf70fc6afba6c2b8c6b2ba27ba23e">setFieldAmount</a>(<a class="code" href="namespaceripple.html#a13864ec0864daa5d24b70d276414b8ff">sfFee</a>, <a class="code" href="classripple_1_1STAmount.html">STAmount</a>(10ull));</div>
<div class="line"><a name="l01655"></a><span class="lineno"> 1655</span>&#160; payment.<a class="code" href="classripple_1_1STObject.html#acd1aac04649d694a3524faf2ddebf843">setFieldU32</a>(<a class="code" href="namespaceripple.html#a586714bf3cbbbb406d6f169742bce0d5">sfSequence</a>, 1);</div>
<div class="line"><a name="l01656"></a><span class="lineno"> 1656</span>&#160; payment.<a class="code" href="classripple_1_1STObject.html#af1235d307d6f464392a583d0dfaa3cc4">setFieldVL</a>(</div>
<div class="line"><a name="l01657"></a><span class="lineno"> 1657</span>&#160; <a class="code" href="namespaceripple.html#a590913040d5c9a68f3bf1d4da20311ad">sfSigningPubKey</a>, <a class="code" href="classripple_1_1Slice.html">Slice</a>(kp1.first.data(), kp1.first.size()));</div>
<div class="line"><a name="l01658"></a><span class="lineno"> 1658</span>&#160; <span class="keywordflow">return</span> payment;</div>
<div class="line"><a name="l01659"></a><span class="lineno"> 1659</span>&#160; };</div>
<div class="line"><a name="l01660"></a><span class="lineno"> 1660</span>&#160; {</div>
<div class="line"><a name="l01661"></a><span class="lineno"> 1661</span>&#160; <span class="comment">// Verify that getPayment() returns a viable Payment.</span></div>
<div class="line"><a name="l01662"></a><span class="lineno"> 1662</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> got;</div>
<div class="line"><a name="l01663"></a><span class="lineno"> 1663</span>&#160; <span class="keywordflow">try</span></div>
<div class="line"><a name="l01664"></a><span class="lineno"> 1664</span>&#160; {</div>
<div class="line"><a name="l01665"></a><span class="lineno"> 1665</span>&#160; got = err.<a class="codeRef" href="http://en.cppreference.com/w/cpp/error/exception/what.html">what</a>();</div>
<div class="line"><a name="l01665"></a><span class="lineno"> 1665</span>&#160; <a class="code" href="classripple_1_1STTx.html">STTx</a>{getPayment()};</div>
<div class="line"><a name="l01666"></a><span class="lineno"> 1666</span>&#160; }</div>
<div class="line"><a name="l01667"></a><span class="lineno"> 1667</span>&#160; BEAST_EXPECT(got.<a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string/empty.html">empty</a>());</div>
<div class="line"><a name="l01668"></a><span class="lineno"> 1668</span>&#160; }</div>
<div class="line"><a name="l01669"></a><span class="lineno"> 1669</span>&#160; {</div>
<div class="line"><a name="l01670"></a><span class="lineno"> 1670</span>&#160; <span class="comment">// Make a payment with a defaulted PathSet field, which is invalid.</span></div>
<div class="line"><a name="l01671"></a><span class="lineno"> 1671</span>&#160; <a class="code" href="classripple_1_1STObject.html">STObject</a> defaultPath{getPayment()};</div>
<div class="line"><a name="l01672"></a><span class="lineno"> 1672</span>&#160; defaultPath.<a class="code" href="classripple_1_1STObject.html#a309347871ac021d8922708fcbbb0ed46">setFieldPathSet</a>(<a class="code" href="namespaceripple.html#a7fd7e51ca0c60ec6708ec74c0c50c8a7">sfPaths</a>, <a class="code" href="classripple_1_1STPathSet.html">STPathSet</a>{});</div>
<div class="line"><a name="l01673"></a><span class="lineno"> 1673</span>&#160; </div>
<div class="line"><a name="l01674"></a><span class="lineno"> 1674</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> got;</div>
<div class="line"><a name="l01675"></a><span class="lineno"> 1675</span>&#160; <span class="keywordflow">try</span></div>
<div class="line"><a name="l01676"></a><span class="lineno"> 1676</span>&#160; {</div>
<div class="line"><a name="l01677"></a><span class="lineno"> 1677</span>&#160; <a class="code" href="classripple_1_1STTx.html">STTx</a>{std::move(defaultPath)};</div>
<div class="line"><a name="l01678"></a><span class="lineno"> 1678</span>&#160; }</div>
<div class="line"><a name="l01679"></a><span class="lineno"> 1679</span>&#160; <span class="keywordflow">catch</span> (<a class="code" href="classripple_1_1STObject_1_1FieldErr.html">STTx::FieldErr</a> <span class="keyword">const</span>&amp; err)</div>
<div class="line"><a name="l01667"></a><span class="lineno"> 1667</span>&#160; <span class="keywordflow">catch</span> (<a class="code" href="classripple_1_1STObject_1_1FieldErr.html">STTx::FieldErr</a> <span class="keyword">const</span>&amp; err)</div>
<div class="line"><a name="l01668"></a><span class="lineno"> 1668</span>&#160; {</div>
<div class="line"><a name="l01669"></a><span class="lineno"> 1669</span>&#160; got = err.<a class="codeRef" href="http://en.cppreference.com/w/cpp/error/exception/what.html">what</a>();</div>
<div class="line"><a name="l01670"></a><span class="lineno"> 1670</span>&#160; }</div>
<div class="line"><a name="l01671"></a><span class="lineno"> 1671</span>&#160; BEAST_EXPECT(got.<a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string/empty.html">empty</a>());</div>
<div class="line"><a name="l01672"></a><span class="lineno"> 1672</span>&#160; }</div>
<div class="line"><a name="l01673"></a><span class="lineno"> 1673</span>&#160; {</div>
<div class="line"><a name="l01674"></a><span class="lineno"> 1674</span>&#160; <span class="comment">// Make a payment with a defaulted PathSet field, which is invalid.</span></div>
<div class="line"><a name="l01675"></a><span class="lineno"> 1675</span>&#160; <a class="code" href="classripple_1_1STObject.html">STObject</a> defaultPath{getPayment()};</div>
<div class="line"><a name="l01676"></a><span class="lineno"> 1676</span>&#160; defaultPath.<a class="code" href="classripple_1_1STObject.html#a309347871ac021d8922708fcbbb0ed46">setFieldPathSet</a>(<a class="code" href="namespaceripple.html#a7fd7e51ca0c60ec6708ec74c0c50c8a7">sfPaths</a>, <a class="code" href="classripple_1_1STPathSet.html">STPathSet</a>{});</div>
<div class="line"><a name="l01677"></a><span class="lineno"> 1677</span>&#160; </div>
<div class="line"><a name="l01678"></a><span class="lineno"> 1678</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> got;</div>
<div class="line"><a name="l01679"></a><span class="lineno"> 1679</span>&#160; <span class="keywordflow">try</span></div>
<div class="line"><a name="l01680"></a><span class="lineno"> 1680</span>&#160; {</div>
<div class="line"><a name="l01681"></a><span class="lineno"> 1681</span>&#160; got = err.<a class="codeRef" href="http://en.cppreference.com/w/cpp/error/exception/what.html">what</a>();</div>
<div class="line"><a name="l01681"></a><span class="lineno"> 1681</span>&#160; <a class="code" href="classripple_1_1STTx.html">STTx</a>{std::move(defaultPath)};</div>
<div class="line"><a name="l01682"></a><span class="lineno"> 1682</span>&#160; }</div>
<div class="line"><a name="l01683"></a><span class="lineno"> 1683</span>&#160; BEAST_EXPECT(</div>
<div class="line"><a name="l01684"></a><span class="lineno"> 1684</span>&#160; got == <span class="stringliteral">&quot;Field &#39;Paths&#39; may not be explicitly set to default.&quot;</span>);</div>
<div class="line"><a name="l01685"></a><span class="lineno"> 1685</span>&#160; }</div>
<div class="line"><a name="l01686"></a><span class="lineno"> 1686</span>&#160; {</div>
<div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>&#160; <span class="comment">// Make a Payment with an extra &quot;SignerWeight&quot; field.</span></div>
<div class="line"><a name="l01688"></a><span class="lineno"> 1688</span>&#160; <a class="code" href="classripple_1_1STObject.html">STObject</a> extraField{getPayment()};</div>
<div class="line"><a name="l01689"></a><span class="lineno"> 1689</span>&#160; extraField.<a class="code" href="classripple_1_1STObject.html#a65cee099ee8ff5529ea7c5c4a028d566">setFieldU16</a>(<a class="code" href="namespaceripple.html#a3eb7d40b5e6271ef328b552297f94311">sfSignerWeight</a>, 7);</div>
<div class="line"><a name="l01690"></a><span class="lineno"> 1690</span>&#160; </div>
<div class="line"><a name="l01691"></a><span class="lineno"> 1691</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> got;</div>
<div class="line"><a name="l01692"></a><span class="lineno"> 1692</span>&#160; <span class="keywordflow">try</span></div>
<div class="line"><a name="l01693"></a><span class="lineno"> 1693</span>&#160; {</div>
<div class="line"><a name="l01694"></a><span class="lineno"> 1694</span>&#160; <a class="code" href="classripple_1_1STTx.html">STTx</a>{std::move(extraField)};</div>
<div class="line"><a name="l01695"></a><span class="lineno"> 1695</span>&#160; }</div>
<div class="line"><a name="l01696"></a><span class="lineno"> 1696</span>&#160; <span class="keywordflow">catch</span> (<a class="code" href="classripple_1_1STObject_1_1FieldErr.html">STTx::FieldErr</a> <span class="keyword">const</span>&amp; err)</div>
<div class="line"><a name="l01683"></a><span class="lineno"> 1683</span>&#160; <span class="keywordflow">catch</span> (<a class="code" href="classripple_1_1STObject_1_1FieldErr.html">STTx::FieldErr</a> <span class="keyword">const</span>&amp; err)</div>
<div class="line"><a name="l01684"></a><span class="lineno"> 1684</span>&#160; {</div>
<div class="line"><a name="l01685"></a><span class="lineno"> 1685</span>&#160; got = err.<a class="codeRef" href="http://en.cppreference.com/w/cpp/error/exception/what.html">what</a>();</div>
<div class="line"><a name="l01686"></a><span class="lineno"> 1686</span>&#160; }</div>
<div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>&#160; BEAST_EXPECT(</div>
<div class="line"><a name="l01688"></a><span class="lineno"> 1688</span>&#160; got == <span class="stringliteral">&quot;Field &#39;Paths&#39; may not be explicitly set to default.&quot;</span>);</div>
<div class="line"><a name="l01689"></a><span class="lineno"> 1689</span>&#160; }</div>
<div class="line"><a name="l01690"></a><span class="lineno"> 1690</span>&#160; {</div>
<div class="line"><a name="l01691"></a><span class="lineno"> 1691</span>&#160; <span class="comment">// Make a Payment with an extra &quot;SignerWeight&quot; field.</span></div>
<div class="line"><a name="l01692"></a><span class="lineno"> 1692</span>&#160; <a class="code" href="classripple_1_1STObject.html">STObject</a> extraField{getPayment()};</div>
<div class="line"><a name="l01693"></a><span class="lineno"> 1693</span>&#160; extraField.<a class="code" href="classripple_1_1STObject.html#a65cee099ee8ff5529ea7c5c4a028d566">setFieldU16</a>(<a class="code" href="namespaceripple.html#a3eb7d40b5e6271ef328b552297f94311">sfSignerWeight</a>, 7);</div>
<div class="line"><a name="l01694"></a><span class="lineno"> 1694</span>&#160; </div>
<div class="line"><a name="l01695"></a><span class="lineno"> 1695</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> got;</div>
<div class="line"><a name="l01696"></a><span class="lineno"> 1696</span>&#160; <span class="keywordflow">try</span></div>
<div class="line"><a name="l01697"></a><span class="lineno"> 1697</span>&#160; {</div>
<div class="line"><a name="l01698"></a><span class="lineno"> 1698</span>&#160; got = err.<a class="codeRef" href="http://en.cppreference.com/w/cpp/error/exception/what.html">what</a>();</div>
<div class="line"><a name="l01698"></a><span class="lineno"> 1698</span>&#160; <a class="code" href="classripple_1_1STTx.html">STTx</a>{std::move(extraField)};</div>
<div class="line"><a name="l01699"></a><span class="lineno"> 1699</span>&#160; }</div>
<div class="line"><a name="l01700"></a><span class="lineno"> 1700</span>&#160; BEAST_EXPECT(</div>
<div class="line"><a name="l01701"></a><span class="lineno"> 1701</span>&#160; got == <span class="stringliteral">&quot;Field &#39;SignerWeight&#39; found in disallowed location.&quot;</span>);</div>
<div class="line"><a name="l01702"></a><span class="lineno"> 1702</span>&#160; }</div>
<div class="line"><a name="l01703"></a><span class="lineno"> 1703</span>&#160; {</div>
<div class="line"><a name="l01704"></a><span class="lineno"> 1704</span>&#160; <span class="comment">// Make a Payment that is missing the required Fee field.</span></div>
<div class="line"><a name="l01705"></a><span class="lineno"> 1705</span>&#160; <a class="code" href="classripple_1_1STObject.html">STObject</a> extraField{getPayment()};</div>
<div class="line"><a name="l01706"></a><span class="lineno"> 1706</span>&#160; extraField.<a class="code" href="classripple_1_1STObject.html#a82d7676b5e892190ac585206b903b5d3">delField</a>(<a class="code" href="namespaceripple.html#a13864ec0864daa5d24b70d276414b8ff">sfFee</a>);</div>
<div class="line"><a name="l01707"></a><span class="lineno"> 1707</span>&#160; </div>
<div class="line"><a name="l01708"></a><span class="lineno"> 1708</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> got;</div>
<div class="line"><a name="l01709"></a><span class="lineno"> 1709</span>&#160; <span class="keywordflow">try</span></div>
<div class="line"><a name="l01710"></a><span class="lineno"> 1710</span>&#160; {</div>
<div class="line"><a name="l01711"></a><span class="lineno"> 1711</span>&#160; <a class="code" href="classripple_1_1STTx.html">STTx</a>{std::move(extraField)};</div>
<div class="line"><a name="l01712"></a><span class="lineno"> 1712</span>&#160; }</div>
<div class="line"><a name="l01713"></a><span class="lineno"> 1713</span>&#160; <span class="keywordflow">catch</span> (<a class="code" href="classripple_1_1STObject_1_1FieldErr.html">STTx::FieldErr</a> <span class="keyword">const</span>&amp; err)</div>
<div class="line"><a name="l01700"></a><span class="lineno"> 1700</span>&#160; <span class="keywordflow">catch</span> (<a class="code" href="classripple_1_1STObject_1_1FieldErr.html">STTx::FieldErr</a> <span class="keyword">const</span>&amp; err)</div>
<div class="line"><a name="l01701"></a><span class="lineno"> 1701</span>&#160; {</div>
<div class="line"><a name="l01702"></a><span class="lineno"> 1702</span>&#160; got = err.<a class="codeRef" href="http://en.cppreference.com/w/cpp/error/exception/what.html">what</a>();</div>
<div class="line"><a name="l01703"></a><span class="lineno"> 1703</span>&#160; }</div>
<div class="line"><a name="l01704"></a><span class="lineno"> 1704</span>&#160; BEAST_EXPECT(</div>
<div class="line"><a name="l01705"></a><span class="lineno"> 1705</span>&#160; got == <span class="stringliteral">&quot;Field &#39;SignerWeight&#39; found in disallowed location.&quot;</span>);</div>
<div class="line"><a name="l01706"></a><span class="lineno"> 1706</span>&#160; }</div>
<div class="line"><a name="l01707"></a><span class="lineno"> 1707</span>&#160; {</div>
<div class="line"><a name="l01708"></a><span class="lineno"> 1708</span>&#160; <span class="comment">// Make a Payment that is missing the required Fee field.</span></div>
<div class="line"><a name="l01709"></a><span class="lineno"> 1709</span>&#160; <a class="code" href="classripple_1_1STObject.html">STObject</a> extraField{getPayment()};</div>
<div class="line"><a name="l01710"></a><span class="lineno"> 1710</span>&#160; extraField.<a class="code" href="classripple_1_1STObject.html#a82d7676b5e892190ac585206b903b5d3">delField</a>(<a class="code" href="namespaceripple.html#a13864ec0864daa5d24b70d276414b8ff">sfFee</a>);</div>
<div class="line"><a name="l01711"></a><span class="lineno"> 1711</span>&#160; </div>
<div class="line"><a name="l01712"></a><span class="lineno"> 1712</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> got;</div>
<div class="line"><a name="l01713"></a><span class="lineno"> 1713</span>&#160; <span class="keywordflow">try</span></div>
<div class="line"><a name="l01714"></a><span class="lineno"> 1714</span>&#160; {</div>
<div class="line"><a name="l01715"></a><span class="lineno"> 1715</span>&#160; got = err.<a class="codeRef" href="http://en.cppreference.com/w/cpp/error/exception/what.html">what</a>();</div>
<div class="line"><a name="l01715"></a><span class="lineno"> 1715</span>&#160; <a class="code" href="classripple_1_1STTx.html">STTx</a>{std::move(extraField)};</div>
<div class="line"><a name="l01716"></a><span class="lineno"> 1716</span>&#160; }</div>
<div class="line"><a name="l01717"></a><span class="lineno"> 1717</span>&#160; BEAST_EXPECT(got == <span class="stringliteral">&quot;Field &#39;Fee&#39; is required but missing.&quot;</span>);</div>
<div class="line"><a name="l01718"></a><span class="lineno"> 1718</span>&#160; }</div>
<div class="line"><a name="l01719"></a><span class="lineno"> 1719</span>&#160; }</div>
<div class="line"><a name="l01720"></a><span class="lineno"> 1720</span>&#160;};</div>
<div class="line"><a name="l01721"></a><span class="lineno"> 1721</span>&#160; </div>
<div class="line"><a name="l01722"></a><span class="lineno"><a class="line" href="classripple_1_1InnerObjectFormatsSerializer__test.html"> 1722</a></span>&#160;<span class="keyword">class </span><a class="code" href="classripple_1_1InnerObjectFormatsSerializer__test.html">InnerObjectFormatsSerializer_test</a> : <span class="keyword">public</span> beast::unit_test::suite</div>
<div class="line"><a name="l01723"></a><span class="lineno"> 1723</span>&#160;{</div>
<div class="line"><a name="l01724"></a><span class="lineno"> 1724</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l01725"></a><span class="lineno"> 1725</span>&#160; <span class="keywordtype">void</span></div>
<div class="line"><a name="l01726"></a><span class="lineno"><a class="line" href="classripple_1_1InnerObjectFormatsSerializer__test.html#a2a56e8c9b2722b75b90505a38cb1e810"> 1726</a></span>&#160; <a class="code" href="classripple_1_1InnerObjectFormatsSerializer__test.html#a2a56e8c9b2722b75b90505a38cb1e810">run</a>()<span class="keyword"> override</span></div>
<div class="line"><a name="l01727"></a><span class="lineno"> 1727</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l01728"></a><span class="lineno"> 1728</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> kp1 = <a class="code" href="namespaceripple.html#ac52a0a522fc11bdd47fce39bd29f97bc">randomKeyPair</a>(<a class="code" href="namespaceripple.html#a9de744cfdefe1132969eb982e57e4ddea82c2b7829b8129e5a2d53665ba4b4757">KeyType::secp256k1</a>);</div>
<div class="line"><a name="l01729"></a><span class="lineno"> 1729</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> id1 = <a class="code" href="namespaceripple.html#a614d8681c8dff84ac2257939751987c5">calcAccountID</a>(kp1.first);</div>
<div class="line"><a name="l01730"></a><span class="lineno"> 1730</span>&#160; </div>
<div class="line"><a name="l01731"></a><span class="lineno"> 1731</span>&#160; <a class="code" href="classripple_1_1STTx.html">STTx</a> txn(<a class="code" href="namespaceripple.html#a2ce3074a39ea65126b82fc59baf43126a2e3f8a31c1949d1ed0c7ae7475ed039e">ttACCOUNT_SET</a>, [&amp;id1, &amp;kp1](<span class="keyword">auto</span>&amp; obj) {</div>
<div class="line"><a name="l01732"></a><span class="lineno"> 1732</span>&#160; obj.setAccountID(<a class="code" href="namespaceripple.html#a5bab99595719d22579e10d21cf048eb0">sfAccount</a>, id1);</div>
<div class="line"><a name="l01733"></a><span class="lineno"> 1733</span>&#160; obj.setFieldVL(<a class="code" href="namespaceripple.html#a180d14f803bd9442807c6c3d05f7a96f">sfMessageKey</a>, kp1.first.slice());</div>
<div class="line"><a name="l01734"></a><span class="lineno"> 1734</span>&#160; <span class="comment">// Make empty signature for multi-signing</span></div>
<div class="line"><a name="l01735"></a><span class="lineno"> 1735</span>&#160; obj.setFieldVL(<a class="code" href="namespaceripple.html#a590913040d5c9a68f3bf1d4da20311ad">sfSigningPubKey</a>, <a class="code" href="classripple_1_1Slice.html">Slice</a>{});</div>
<div class="line"><a name="l01736"></a><span class="lineno"> 1736</span>&#160; });</div>
<div class="line"><a name="l01737"></a><span class="lineno"> 1737</span>&#160; </div>
<div class="line"><a name="l01738"></a><span class="lineno"> 1738</span>&#160; <span class="comment">// Create fields for a SigningAccount</span></div>
<div class="line"><a name="l01739"></a><span class="lineno"> 1739</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> kp2 = <a class="code" href="namespaceripple.html#ac52a0a522fc11bdd47fce39bd29f97bc">randomKeyPair</a>(<a class="code" href="namespaceripple.html#a9de744cfdefe1132969eb982e57e4ddea82c2b7829b8129e5a2d53665ba4b4757">KeyType::secp256k1</a>);</div>
<div class="line"><a name="l01740"></a><span class="lineno"> 1740</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> id2 = <a class="code" href="namespaceripple.html#a614d8681c8dff84ac2257939751987c5">calcAccountID</a>(kp2.first);</div>
<div class="line"><a name="l01717"></a><span class="lineno"> 1717</span>&#160; <span class="keywordflow">catch</span> (<a class="code" href="classripple_1_1STObject_1_1FieldErr.html">STTx::FieldErr</a> <span class="keyword">const</span>&amp; err)</div>
<div class="line"><a name="l01718"></a><span class="lineno"> 1718</span>&#160; {</div>
<div class="line"><a name="l01719"></a><span class="lineno"> 1719</span>&#160; got = err.<a class="codeRef" href="http://en.cppreference.com/w/cpp/error/exception/what.html">what</a>();</div>
<div class="line"><a name="l01720"></a><span class="lineno"> 1720</span>&#160; }</div>
<div class="line"><a name="l01721"></a><span class="lineno"> 1721</span>&#160; BEAST_EXPECT(got == <span class="stringliteral">&quot;Field &#39;Fee&#39; is required but missing.&quot;</span>);</div>
<div class="line"><a name="l01722"></a><span class="lineno"> 1722</span>&#160; }</div>
<div class="line"><a name="l01723"></a><span class="lineno"> 1723</span>&#160; }</div>
<div class="line"><a name="l01724"></a><span class="lineno"> 1724</span>&#160;};</div>
<div class="line"><a name="l01725"></a><span class="lineno"> 1725</span>&#160; </div>
<div class="line"><a name="l01726"></a><span class="lineno"><a class="line" href="classripple_1_1InnerObjectFormatsSerializer__test.html"> 1726</a></span>&#160;<span class="keyword">class </span><a class="code" href="classripple_1_1InnerObjectFormatsSerializer__test.html">InnerObjectFormatsSerializer_test</a> : <span class="keyword">public</span> beast::unit_test::suite</div>
<div class="line"><a name="l01727"></a><span class="lineno"> 1727</span>&#160;{</div>
<div class="line"><a name="l01728"></a><span class="lineno"> 1728</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l01729"></a><span class="lineno"> 1729</span>&#160; <span class="keywordtype">void</span></div>
<div class="line"><a name="l01730"></a><span class="lineno"><a class="line" href="classripple_1_1InnerObjectFormatsSerializer__test.html#a2a56e8c9b2722b75b90505a38cb1e810"> 1730</a></span>&#160; <a class="code" href="classripple_1_1InnerObjectFormatsSerializer__test.html#a2a56e8c9b2722b75b90505a38cb1e810">run</a>()<span class="keyword"> override</span></div>
<div class="line"><a name="l01731"></a><span class="lineno"> 1731</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l01732"></a><span class="lineno"> 1732</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> kp1 = <a class="code" href="namespaceripple.html#ac52a0a522fc11bdd47fce39bd29f97bc">randomKeyPair</a>(<a class="code" href="namespaceripple.html#a9de744cfdefe1132969eb982e57e4ddea82c2b7829b8129e5a2d53665ba4b4757">KeyType::secp256k1</a>);</div>
<div class="line"><a name="l01733"></a><span class="lineno"> 1733</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> id1 = <a class="code" href="namespaceripple.html#a614d8681c8dff84ac2257939751987c5">calcAccountID</a>(kp1.first);</div>
<div class="line"><a name="l01734"></a><span class="lineno"> 1734</span>&#160; </div>
<div class="line"><a name="l01735"></a><span class="lineno"> 1735</span>&#160; <a class="code" href="classripple_1_1STTx.html">STTx</a> txn(<a class="code" href="namespaceripple.html#a2ce3074a39ea65126b82fc59baf43126a2e3f8a31c1949d1ed0c7ae7475ed039e">ttACCOUNT_SET</a>, [&amp;id1, &amp;kp1](<span class="keyword">auto</span>&amp; obj) {</div>
<div class="line"><a name="l01736"></a><span class="lineno"> 1736</span>&#160; obj.setAccountID(<a class="code" href="namespaceripple.html#a5bab99595719d22579e10d21cf048eb0">sfAccount</a>, id1);</div>
<div class="line"><a name="l01737"></a><span class="lineno"> 1737</span>&#160; obj.setFieldVL(<a class="code" href="namespaceripple.html#a180d14f803bd9442807c6c3d05f7a96f">sfMessageKey</a>, kp1.first.slice());</div>
<div class="line"><a name="l01738"></a><span class="lineno"> 1738</span>&#160; <span class="comment">// Make empty signature for multi-signing</span></div>
<div class="line"><a name="l01739"></a><span class="lineno"> 1739</span>&#160; obj.setFieldVL(<a class="code" href="namespaceripple.html#a590913040d5c9a68f3bf1d4da20311ad">sfSigningPubKey</a>, <a class="code" href="classripple_1_1Slice.html">Slice</a>{});</div>
<div class="line"><a name="l01740"></a><span class="lineno"> 1740</span>&#160; });</div>
<div class="line"><a name="l01741"></a><span class="lineno"> 1741</span>&#160; </div>
<div class="line"><a name="l01742"></a><span class="lineno"> 1742</span>&#160; <span class="comment">// Get the stream of the transaction for use in multi-signing.</span></div>
<div class="line"><a name="l01743"></a><span class="lineno"> 1743</span>&#160; <a class="code" href="classripple_1_1Serializer.html">Serializer</a> s = <a class="code" href="namespaceripple.html#af191d8616acdfc276176e516985c2e1e">buildMultiSigningData</a>(txn, id2);</div>
<div class="line"><a name="l01744"></a><span class="lineno"> 1744</span>&#160; </div>
<div class="line"><a name="l01745"></a><span class="lineno"> 1745</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> saMultiSignature = <a class="code" href="namespaceripple.html#a93d957d4aa50cd0c2b37f05453a0dd68">sign</a>(kp2.first, kp2.second, s.<a class="code" href="classripple_1_1Serializer.html#a394c3299f6cfcebdaa4bc98ec0c602d6">slice</a>());</div>
<div class="line"><a name="l01746"></a><span class="lineno"> 1746</span>&#160; </div>
<div class="line"><a name="l01747"></a><span class="lineno"> 1747</span>&#160; <span class="comment">// The InnerObjectFormats say a Signer is supposed to look</span></div>
<div class="line"><a name="l01748"></a><span class="lineno"> 1748</span>&#160; <span class="comment">// like this:</span></div>
<div class="line"><a name="l01749"></a><span class="lineno"> 1749</span>&#160; <span class="comment">// Signer {</span></div>
<div class="line"><a name="l01750"></a><span class="lineno"> 1750</span>&#160; <span class="comment">// Account: &quot;...&quot;,</span></div>
<div class="line"><a name="l01751"></a><span class="lineno"> 1751</span>&#160; <span class="comment">// TxnSignature: &quot;...&quot;,</span></div>
<div class="line"><a name="l01752"></a><span class="lineno"> 1752</span>&#160; <span class="comment">// PublicKey: &quot;...&quot;&quot;</span></div>
<div class="line"><a name="l01753"></a><span class="lineno"> 1753</span>&#160; <span class="comment">// }</span></div>
<div class="line"><a name="l01754"></a><span class="lineno"> 1754</span>&#160; <span class="comment">// Make one well formed Signer and several mal-formed ones. See</span></div>
<div class="line"><a name="l01755"></a><span class="lineno"> 1755</span>&#160; <span class="comment">// whether the serializer lets the good one through and catches</span></div>
<div class="line"><a name="l01756"></a><span class="lineno"> 1756</span>&#160; <span class="comment">// the bad ones.</span></div>
<div class="line"><a name="l01757"></a><span class="lineno"> 1757</span>&#160; </div>
<div class="line"><a name="l01758"></a><span class="lineno"> 1758</span>&#160; <span class="comment">// This lambda contains the bulk of the test code.</span></div>
<div class="line"><a name="l01759"></a><span class="lineno"> 1759</span>&#160; <span class="keyword">auto</span> testMalformedSigningAccount =</div>
<div class="line"><a name="l01760"></a><span class="lineno"> 1760</span>&#160; [<span class="keyword">this</span>, &amp;txn](<a class="code" href="classripple_1_1STObject.html">STObject</a> <span class="keyword">const</span>&amp; signer, <span class="keywordtype">bool</span> expectPass) {</div>
<div class="line"><a name="l01761"></a><span class="lineno"> 1761</span>&#160; <span class="comment">// Create SigningAccounts array.</span></div>
<div class="line"><a name="l01762"></a><span class="lineno"> 1762</span>&#160; <a class="code" href="classripple_1_1STArray.html">STArray</a> signers(<a class="code" href="namespaceripple.html#a22a86f3d2d6d958de794f8532d459bac">sfSigners</a>, 1);</div>
<div class="line"><a name="l01763"></a><span class="lineno"> 1763</span>&#160; signers.push_back(signer);</div>
<div class="line"><a name="l01764"></a><span class="lineno"> 1764</span>&#160; </div>
<div class="line"><a name="l01765"></a><span class="lineno"> 1765</span>&#160; <span class="comment">// Insert signers into transaction.</span></div>
<div class="line"><a name="l01766"></a><span class="lineno"> 1766</span>&#160; <a class="code" href="classripple_1_1STTx.html">STTx</a> tempTxn(txn);</div>
<div class="line"><a name="l01767"></a><span class="lineno"> 1767</span>&#160; tempTxn.<a class="code" href="classripple_1_1STObject.html#a2be037301806856f4b202cabc53d5e0a">setFieldArray</a>(<a class="code" href="namespaceripple.html#a22a86f3d2d6d958de794f8532d459bac">sfSigners</a>, signers);</div>
<div class="line"><a name="l01742"></a><span class="lineno"> 1742</span>&#160; <span class="comment">// Create fields for a SigningAccount</span></div>
<div class="line"><a name="l01743"></a><span class="lineno"> 1743</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> kp2 = <a class="code" href="namespaceripple.html#ac52a0a522fc11bdd47fce39bd29f97bc">randomKeyPair</a>(<a class="code" href="namespaceripple.html#a9de744cfdefe1132969eb982e57e4ddea82c2b7829b8129e5a2d53665ba4b4757">KeyType::secp256k1</a>);</div>
<div class="line"><a name="l01744"></a><span class="lineno"> 1744</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> id2 = <a class="code" href="namespaceripple.html#a614d8681c8dff84ac2257939751987c5">calcAccountID</a>(kp2.first);</div>
<div class="line"><a name="l01745"></a><span class="lineno"> 1745</span>&#160; </div>
<div class="line"><a name="l01746"></a><span class="lineno"> 1746</span>&#160; <span class="comment">// Get the stream of the transaction for use in multi-signing.</span></div>
<div class="line"><a name="l01747"></a><span class="lineno"> 1747</span>&#160; <a class="code" href="classripple_1_1Serializer.html">Serializer</a> s = <a class="code" href="namespaceripple.html#af191d8616acdfc276176e516985c2e1e">buildMultiSigningData</a>(txn, id2);</div>
<div class="line"><a name="l01748"></a><span class="lineno"> 1748</span>&#160; </div>
<div class="line"><a name="l01749"></a><span class="lineno"> 1749</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> saMultiSignature = <a class="code" href="namespaceripple.html#a93d957d4aa50cd0c2b37f05453a0dd68">sign</a>(kp2.first, kp2.second, s.<a class="code" href="classripple_1_1Serializer.html#a394c3299f6cfcebdaa4bc98ec0c602d6">slice</a>());</div>
<div class="line"><a name="l01750"></a><span class="lineno"> 1750</span>&#160; </div>
<div class="line"><a name="l01751"></a><span class="lineno"> 1751</span>&#160; <span class="comment">// The InnerObjectFormats say a Signer is supposed to look</span></div>
<div class="line"><a name="l01752"></a><span class="lineno"> 1752</span>&#160; <span class="comment">// like this:</span></div>
<div class="line"><a name="l01753"></a><span class="lineno"> 1753</span>&#160; <span class="comment">// Signer {</span></div>
<div class="line"><a name="l01754"></a><span class="lineno"> 1754</span>&#160; <span class="comment">// Account: &quot;...&quot;,</span></div>
<div class="line"><a name="l01755"></a><span class="lineno"> 1755</span>&#160; <span class="comment">// TxnSignature: &quot;...&quot;,</span></div>
<div class="line"><a name="l01756"></a><span class="lineno"> 1756</span>&#160; <span class="comment">// PublicKey: &quot;...&quot;&quot;</span></div>
<div class="line"><a name="l01757"></a><span class="lineno"> 1757</span>&#160; <span class="comment">// }</span></div>
<div class="line"><a name="l01758"></a><span class="lineno"> 1758</span>&#160; <span class="comment">// Make one well formed Signer and several mal-formed ones. See</span></div>
<div class="line"><a name="l01759"></a><span class="lineno"> 1759</span>&#160; <span class="comment">// whether the serializer lets the good one through and catches</span></div>
<div class="line"><a name="l01760"></a><span class="lineno"> 1760</span>&#160; <span class="comment">// the bad ones.</span></div>
<div class="line"><a name="l01761"></a><span class="lineno"> 1761</span>&#160; </div>
<div class="line"><a name="l01762"></a><span class="lineno"> 1762</span>&#160; <span class="comment">// This lambda contains the bulk of the test code.</span></div>
<div class="line"><a name="l01763"></a><span class="lineno"> 1763</span>&#160; <span class="keyword">auto</span> testMalformedSigningAccount =</div>
<div class="line"><a name="l01764"></a><span class="lineno"> 1764</span>&#160; [<span class="keyword">this</span>, &amp;txn](<a class="code" href="classripple_1_1STObject.html">STObject</a> <span class="keyword">const</span>&amp; signer, <span class="keywordtype">bool</span> expectPass) {</div>
<div class="line"><a name="l01765"></a><span class="lineno"> 1765</span>&#160; <span class="comment">// Create SigningAccounts array.</span></div>
<div class="line"><a name="l01766"></a><span class="lineno"> 1766</span>&#160; <a class="code" href="classripple_1_1STArray.html">STArray</a> signers(<a class="code" href="namespaceripple.html#a22a86f3d2d6d958de794f8532d459bac">sfSigners</a>, 1);</div>
<div class="line"><a name="l01767"></a><span class="lineno"> 1767</span>&#160; signers.push_back(signer);</div>
<div class="line"><a name="l01768"></a><span class="lineno"> 1768</span>&#160; </div>
<div class="line"><a name="l01769"></a><span class="lineno"> 1769</span>&#160; <a class="code" href="classripple_1_1Serializer.html">Serializer</a> rawTxn;</div>
<div class="line"><a name="l01770"></a><span class="lineno"> 1770</span>&#160; tempTxn.<a class="code" href="classripple_1_1STObject.html#a7adccac3a1b54244ae210afe7c5916e8">add</a>(rawTxn);</div>
<div class="line"><a name="l01771"></a><span class="lineno"> 1771</span>&#160; <a class="code" href="classripple_1_1SerialIter.html">SerialIter</a> sit(rawTxn.<a class="code" href="classripple_1_1Serializer.html#a394c3299f6cfcebdaa4bc98ec0c602d6">slice</a>());</div>
<div class="line"><a name="l01772"></a><span class="lineno"> 1772</span>&#160; <span class="keywordtype">bool</span> serialized = <span class="keyword">false</span>;</div>
<div class="line"><a name="l01773"></a><span class="lineno"> 1773</span>&#160; <span class="keywordflow">try</span></div>
<div class="line"><a name="l01774"></a><span class="lineno"> 1774</span>&#160; {</div>
<div class="line"><a name="l01775"></a><span class="lineno"> 1775</span>&#160; <a class="code" href="classripple_1_1STTx.html">STTx</a> copy(sit);</div>
<div class="line"><a name="l01776"></a><span class="lineno"> 1776</span>&#160; serialized = <span class="keyword">true</span>;</div>
<div class="line"><a name="l01777"></a><span class="lineno"> 1777</span>&#160; }</div>
<div class="line"><a name="l01778"></a><span class="lineno"> 1778</span>&#160; <span class="keywordflow">catch</span> (<a class="codeRef" href="http://en.cppreference.com/w/cpp/error/exception.html">std::exception</a> <span class="keyword">const</span>&amp;)</div>
<div class="line"><a name="l01779"></a><span class="lineno"> 1779</span>&#160; {</div>
<div class="line"><a name="l01780"></a><span class="lineno"> 1780</span>&#160; ; <span class="comment">// If it threw then serialization failed.</span></div>
<div class="line"><a name="l01769"></a><span class="lineno"> 1769</span>&#160; <span class="comment">// Insert signers into transaction.</span></div>
<div class="line"><a name="l01770"></a><span class="lineno"> 1770</span>&#160; <a class="code" href="classripple_1_1STTx.html">STTx</a> tempTxn(txn);</div>
<div class="line"><a name="l01771"></a><span class="lineno"> 1771</span>&#160; tempTxn.<a class="code" href="classripple_1_1STObject.html#a2be037301806856f4b202cabc53d5e0a">setFieldArray</a>(<a class="code" href="namespaceripple.html#a22a86f3d2d6d958de794f8532d459bac">sfSigners</a>, signers);</div>
<div class="line"><a name="l01772"></a><span class="lineno"> 1772</span>&#160; </div>
<div class="line"><a name="l01773"></a><span class="lineno"> 1773</span>&#160; <a class="code" href="classripple_1_1Serializer.html">Serializer</a> rawTxn;</div>
<div class="line"><a name="l01774"></a><span class="lineno"> 1774</span>&#160; tempTxn.<a class="code" href="classripple_1_1STObject.html#a7adccac3a1b54244ae210afe7c5916e8">add</a>(rawTxn);</div>
<div class="line"><a name="l01775"></a><span class="lineno"> 1775</span>&#160; <a class="code" href="classripple_1_1SerialIter.html">SerialIter</a> sit(rawTxn.<a class="code" href="classripple_1_1Serializer.html#a394c3299f6cfcebdaa4bc98ec0c602d6">slice</a>());</div>
<div class="line"><a name="l01776"></a><span class="lineno"> 1776</span>&#160; <span class="keywordtype">bool</span> serialized = <span class="keyword">false</span>;</div>
<div class="line"><a name="l01777"></a><span class="lineno"> 1777</span>&#160; <span class="keywordflow">try</span></div>
<div class="line"><a name="l01778"></a><span class="lineno"> 1778</span>&#160; {</div>
<div class="line"><a name="l01779"></a><span class="lineno"> 1779</span>&#160; <a class="code" href="classripple_1_1STTx.html">STTx</a> copy(sit);</div>
<div class="line"><a name="l01780"></a><span class="lineno"> 1780</span>&#160; serialized = <span class="keyword">true</span>;</div>
<div class="line"><a name="l01781"></a><span class="lineno"> 1781</span>&#160; }</div>
<div class="line"><a name="l01782"></a><span class="lineno"> 1782</span>&#160; BEAST_EXPECT(serialized == expectPass);</div>
<div class="line"><a name="l01783"></a><span class="lineno"> 1783</span>&#160; };</div>
<div class="line"><a name="l01784"></a><span class="lineno"> 1784</span>&#160; </div>
<div class="line"><a name="l01785"></a><span class="lineno"> 1785</span>&#160; {</div>
<div class="line"><a name="l01786"></a><span class="lineno"> 1786</span>&#160; <span class="comment">// Test case 1. Make a valid Signer object.</span></div>
<div class="line"><a name="l01787"></a><span class="lineno"> 1787</span>&#160; <a class="code" href="classripple_1_1STObject.html">STObject</a> soTest1(<a class="code" href="namespaceripple.html#a4bfa815b348a23b5cd7ba52b04d21e43">sfSigner</a>);</div>
<div class="line"><a name="l01788"></a><span class="lineno"> 1788</span>&#160; soTest1.<a class="code" href="classripple_1_1STObject.html#ab503dfe8edde82e6c80719cc73201a6d">setAccountID</a>(<a class="code" href="namespaceripple.html#a5bab99595719d22579e10d21cf048eb0">sfAccount</a>, id2);</div>
<div class="line"><a name="l01789"></a><span class="lineno"> 1789</span>&#160; soTest1.<a class="code" href="classripple_1_1STObject.html#af1235d307d6f464392a583d0dfaa3cc4">setFieldVL</a>(<a class="code" href="namespaceripple.html#a590913040d5c9a68f3bf1d4da20311ad">sfSigningPubKey</a>, kp1.first.slice());</div>
<div class="line"><a name="l01790"></a><span class="lineno"> 1790</span>&#160; soTest1.<a class="code" href="classripple_1_1STObject.html#af1235d307d6f464392a583d0dfaa3cc4">setFieldVL</a>(<a class="code" href="namespaceripple.html#a61697c13ea8123e926a3df063c625245">sfTxnSignature</a>, saMultiSignature);</div>
<div class="line"><a name="l01791"></a><span class="lineno"> 1791</span>&#160; testMalformedSigningAccount(soTest1, <span class="keyword">true</span>);</div>
<div class="line"><a name="l01792"></a><span class="lineno"> 1792</span>&#160; }</div>
<div class="line"><a name="l01793"></a><span class="lineno"> 1793</span>&#160; {</div>
<div class="line"><a name="l01794"></a><span class="lineno"> 1794</span>&#160; <span class="comment">// Test case 2. Omit sfSigningPubKey from SigningAccount.</span></div>
<div class="line"><a name="l01795"></a><span class="lineno"> 1795</span>&#160; <a class="code" href="classripple_1_1STObject.html">STObject</a> soTest2(<a class="code" href="namespaceripple.html#a4bfa815b348a23b5cd7ba52b04d21e43">sfSigner</a>);</div>
<div class="line"><a name="l01796"></a><span class="lineno"> 1796</span>&#160; soTest2.<a class="code" href="classripple_1_1STObject.html#ab503dfe8edde82e6c80719cc73201a6d">setAccountID</a>(<a class="code" href="namespaceripple.html#a5bab99595719d22579e10d21cf048eb0">sfAccount</a>, id2);</div>
<div class="line"><a name="l01797"></a><span class="lineno"> 1797</span>&#160; soTest2.<a class="code" href="classripple_1_1STObject.html#af1235d307d6f464392a583d0dfaa3cc4">setFieldVL</a>(<a class="code" href="namespaceripple.html#a61697c13ea8123e926a3df063c625245">sfTxnSignature</a>, saMultiSignature);</div>
<div class="line"><a name="l01798"></a><span class="lineno"> 1798</span>&#160; testMalformedSigningAccount(soTest2, <span class="keyword">false</span>);</div>
<div class="line"><a name="l01799"></a><span class="lineno"> 1799</span>&#160; }</div>
<div class="line"><a name="l01800"></a><span class="lineno"> 1800</span>&#160; {</div>
<div class="line"><a name="l01801"></a><span class="lineno"> 1801</span>&#160; <span class="comment">// Test case 3. Extra sfAmount in SigningAccount.</span></div>
<div class="line"><a name="l01802"></a><span class="lineno"> 1802</span>&#160; <a class="code" href="classripple_1_1STObject.html">STObject</a> soTest3(<a class="code" href="namespaceripple.html#a4bfa815b348a23b5cd7ba52b04d21e43">sfSigner</a>);</div>
<div class="line"><a name="l01803"></a><span class="lineno"> 1803</span>&#160; soTest3.<a class="code" href="classripple_1_1STObject.html#ab503dfe8edde82e6c80719cc73201a6d">setAccountID</a>(<a class="code" href="namespaceripple.html#a5bab99595719d22579e10d21cf048eb0">sfAccount</a>, id2);</div>
<div class="line"><a name="l01804"></a><span class="lineno"> 1804</span>&#160; soTest3.<a class="code" href="classripple_1_1STObject.html#af1235d307d6f464392a583d0dfaa3cc4">setFieldVL</a>(<a class="code" href="namespaceripple.html#a590913040d5c9a68f3bf1d4da20311ad">sfSigningPubKey</a>, kp1.first.slice());</div>
<div class="line"><a name="l01805"></a><span class="lineno"> 1805</span>&#160; soTest3.<a class="code" href="classripple_1_1STObject.html#af1235d307d6f464392a583d0dfaa3cc4">setFieldVL</a>(<a class="code" href="namespaceripple.html#a61697c13ea8123e926a3df063c625245">sfTxnSignature</a>, saMultiSignature);</div>
<div class="line"><a name="l01806"></a><span class="lineno"> 1806</span>&#160; soTest3.<a class="code" href="classripple_1_1STObject.html#a7eedf70fc6afba6c2b8c6b2ba27ba23e">setFieldAmount</a>(<a class="code" href="namespaceripple.html#a29758397ce451beaa436c3a9dfc83030">sfAmount</a>, <a class="code" href="classripple_1_1STAmount.html">STAmount</a>(10000));</div>
<div class="line"><a name="l01807"></a><span class="lineno"> 1807</span>&#160; testMalformedSigningAccount(soTest3, <span class="keyword">false</span>);</div>
<div class="line"><a name="l01808"></a><span class="lineno"> 1808</span>&#160; }</div>
<div class="line"><a name="l01809"></a><span class="lineno"> 1809</span>&#160; {</div>
<div class="line"><a name="l01810"></a><span class="lineno"> 1810</span>&#160; <span class="comment">// Test case 4. Right number of fields, but wrong ones.</span></div>
<div class="line"><a name="l01811"></a><span class="lineno"> 1811</span>&#160; <a class="code" href="classripple_1_1STObject.html">STObject</a> soTest4(<a class="code" href="namespaceripple.html#a4bfa815b348a23b5cd7ba52b04d21e43">sfSigner</a>);</div>
<div class="line"><a name="l01812"></a><span class="lineno"> 1812</span>&#160; soTest4.<a class="code" href="classripple_1_1STObject.html#af1235d307d6f464392a583d0dfaa3cc4">setFieldVL</a>(<a class="code" href="namespaceripple.html#a590913040d5c9a68f3bf1d4da20311ad">sfSigningPubKey</a>, kp1.first.slice());</div>
<div class="line"><a name="l01813"></a><span class="lineno"> 1813</span>&#160; soTest4.<a class="code" href="classripple_1_1STObject.html#af1235d307d6f464392a583d0dfaa3cc4">setFieldVL</a>(<a class="code" href="namespaceripple.html#a61697c13ea8123e926a3df063c625245">sfTxnSignature</a>, saMultiSignature);</div>
<div class="line"><a name="l01814"></a><span class="lineno"> 1814</span>&#160; soTest4.<a class="code" href="classripple_1_1STObject.html#a7eedf70fc6afba6c2b8c6b2ba27ba23e">setFieldAmount</a>(<a class="code" href="namespaceripple.html#a29758397ce451beaa436c3a9dfc83030">sfAmount</a>, <a class="code" href="classripple_1_1STAmount.html">STAmount</a>(10000));</div>
<div class="line"><a name="l01815"></a><span class="lineno"> 1815</span>&#160; testMalformedSigningAccount(soTest4, <span class="keyword">false</span>);</div>
<div class="line"><a name="l01816"></a><span class="lineno"> 1816</span>&#160; }</div>
<div class="line"><a name="l01817"></a><span class="lineno"> 1817</span>&#160; }</div>
<div class="line"><a name="l01818"></a><span class="lineno"> 1818</span>&#160;};</div>
<div class="line"><a name="l01819"></a><span class="lineno"> 1819</span>&#160; </div>
<div class="line"><a name="l01820"></a><span class="lineno"> 1820</span>&#160;<a class="code" href="namespaceripple.html#a2701412a11b118c19256a4c901db2938">BEAST_DEFINE_TESTSUITE</a>(STTx, ripple_app, <a class="code" href="namespaceripple.html">ripple</a>);</div>
<div class="line"><a name="l01821"></a><span class="lineno"> 1821</span>&#160;<a class="code" href="namespaceripple.html#a2701412a11b118c19256a4c901db2938">BEAST_DEFINE_TESTSUITE</a>(InnerObjectFormatsSerializer, ripple_app, <a class="code" href="namespaceripple.html">ripple</a>);</div>
<div class="line"><a name="l01822"></a><span class="lineno"> 1822</span>&#160; </div>
<div class="line"><a name="l01823"></a><span class="lineno"> 1823</span>&#160;} <span class="comment">// namespace ripple</span></div>
<div class="line"><a name="l01782"></a><span class="lineno"> 1782</span>&#160; <span class="keywordflow">catch</span> (<a class="codeRef" href="http://en.cppreference.com/w/cpp/error/exception.html">std::exception</a> <span class="keyword">const</span>&amp;)</div>
<div class="line"><a name="l01783"></a><span class="lineno"> 1783</span>&#160; {</div>
<div class="line"><a name="l01784"></a><span class="lineno"> 1784</span>&#160; ; <span class="comment">// If it threw then serialization failed.</span></div>
<div class="line"><a name="l01785"></a><span class="lineno"> 1785</span>&#160; }</div>
<div class="line"><a name="l01786"></a><span class="lineno"> 1786</span>&#160; BEAST_EXPECT(serialized == expectPass);</div>
<div class="line"><a name="l01787"></a><span class="lineno"> 1787</span>&#160; };</div>
<div class="line"><a name="l01788"></a><span class="lineno"> 1788</span>&#160; </div>
<div class="line"><a name="l01789"></a><span class="lineno"> 1789</span>&#160; {</div>
<div class="line"><a name="l01790"></a><span class="lineno"> 1790</span>&#160; <span class="comment">// Test case 1. Make a valid Signer object.</span></div>
<div class="line"><a name="l01791"></a><span class="lineno"> 1791</span>&#160; <a class="code" href="classripple_1_1STObject.html">STObject</a> soTest1(<a class="code" href="namespaceripple.html#a4bfa815b348a23b5cd7ba52b04d21e43">sfSigner</a>);</div>
<div class="line"><a name="l01792"></a><span class="lineno"> 1792</span>&#160; soTest1.<a class="code" href="classripple_1_1STObject.html#ab503dfe8edde82e6c80719cc73201a6d">setAccountID</a>(<a class="code" href="namespaceripple.html#a5bab99595719d22579e10d21cf048eb0">sfAccount</a>, id2);</div>
<div class="line"><a name="l01793"></a><span class="lineno"> 1793</span>&#160; soTest1.<a class="code" href="classripple_1_1STObject.html#af1235d307d6f464392a583d0dfaa3cc4">setFieldVL</a>(<a class="code" href="namespaceripple.html#a590913040d5c9a68f3bf1d4da20311ad">sfSigningPubKey</a>, kp1.first.slice());</div>
<div class="line"><a name="l01794"></a><span class="lineno"> 1794</span>&#160; soTest1.<a class="code" href="classripple_1_1STObject.html#af1235d307d6f464392a583d0dfaa3cc4">setFieldVL</a>(<a class="code" href="namespaceripple.html#a61697c13ea8123e926a3df063c625245">sfTxnSignature</a>, saMultiSignature);</div>
<div class="line"><a name="l01795"></a><span class="lineno"> 1795</span>&#160; testMalformedSigningAccount(soTest1, <span class="keyword">true</span>);</div>
<div class="line"><a name="l01796"></a><span class="lineno"> 1796</span>&#160; }</div>
<div class="line"><a name="l01797"></a><span class="lineno"> 1797</span>&#160; {</div>
<div class="line"><a name="l01798"></a><span class="lineno"> 1798</span>&#160; <span class="comment">// Test case 2. Omit sfSigningPubKey from SigningAccount.</span></div>
<div class="line"><a name="l01799"></a><span class="lineno"> 1799</span>&#160; <a class="code" href="classripple_1_1STObject.html">STObject</a> soTest2(<a class="code" href="namespaceripple.html#a4bfa815b348a23b5cd7ba52b04d21e43">sfSigner</a>);</div>
<div class="line"><a name="l01800"></a><span class="lineno"> 1800</span>&#160; soTest2.<a class="code" href="classripple_1_1STObject.html#ab503dfe8edde82e6c80719cc73201a6d">setAccountID</a>(<a class="code" href="namespaceripple.html#a5bab99595719d22579e10d21cf048eb0">sfAccount</a>, id2);</div>
<div class="line"><a name="l01801"></a><span class="lineno"> 1801</span>&#160; soTest2.<a class="code" href="classripple_1_1STObject.html#af1235d307d6f464392a583d0dfaa3cc4">setFieldVL</a>(<a class="code" href="namespaceripple.html#a61697c13ea8123e926a3df063c625245">sfTxnSignature</a>, saMultiSignature);</div>
<div class="line"><a name="l01802"></a><span class="lineno"> 1802</span>&#160; testMalformedSigningAccount(soTest2, <span class="keyword">false</span>);</div>
<div class="line"><a name="l01803"></a><span class="lineno"> 1803</span>&#160; }</div>
<div class="line"><a name="l01804"></a><span class="lineno"> 1804</span>&#160; {</div>
<div class="line"><a name="l01805"></a><span class="lineno"> 1805</span>&#160; <span class="comment">// Test case 3. Extra sfAmount in SigningAccount.</span></div>
<div class="line"><a name="l01806"></a><span class="lineno"> 1806</span>&#160; <a class="code" href="classripple_1_1STObject.html">STObject</a> soTest3(<a class="code" href="namespaceripple.html#a4bfa815b348a23b5cd7ba52b04d21e43">sfSigner</a>);</div>
<div class="line"><a name="l01807"></a><span class="lineno"> 1807</span>&#160; soTest3.<a class="code" href="classripple_1_1STObject.html#ab503dfe8edde82e6c80719cc73201a6d">setAccountID</a>(<a class="code" href="namespaceripple.html#a5bab99595719d22579e10d21cf048eb0">sfAccount</a>, id2);</div>
<div class="line"><a name="l01808"></a><span class="lineno"> 1808</span>&#160; soTest3.<a class="code" href="classripple_1_1STObject.html#af1235d307d6f464392a583d0dfaa3cc4">setFieldVL</a>(<a class="code" href="namespaceripple.html#a590913040d5c9a68f3bf1d4da20311ad">sfSigningPubKey</a>, kp1.first.slice());</div>
<div class="line"><a name="l01809"></a><span class="lineno"> 1809</span>&#160; soTest3.<a class="code" href="classripple_1_1STObject.html#af1235d307d6f464392a583d0dfaa3cc4">setFieldVL</a>(<a class="code" href="namespaceripple.html#a61697c13ea8123e926a3df063c625245">sfTxnSignature</a>, saMultiSignature);</div>
<div class="line"><a name="l01810"></a><span class="lineno"> 1810</span>&#160; soTest3.<a class="code" href="classripple_1_1STObject.html#a7eedf70fc6afba6c2b8c6b2ba27ba23e">setFieldAmount</a>(<a class="code" href="namespaceripple.html#a29758397ce451beaa436c3a9dfc83030">sfAmount</a>, <a class="code" href="classripple_1_1STAmount.html">STAmount</a>(10000));</div>
<div class="line"><a name="l01811"></a><span class="lineno"> 1811</span>&#160; testMalformedSigningAccount(soTest3, <span class="keyword">false</span>);</div>
<div class="line"><a name="l01812"></a><span class="lineno"> 1812</span>&#160; }</div>
<div class="line"><a name="l01813"></a><span class="lineno"> 1813</span>&#160; {</div>
<div class="line"><a name="l01814"></a><span class="lineno"> 1814</span>&#160; <span class="comment">// Test case 4. Right number of fields, but wrong ones.</span></div>
<div class="line"><a name="l01815"></a><span class="lineno"> 1815</span>&#160; <a class="code" href="classripple_1_1STObject.html">STObject</a> soTest4(<a class="code" href="namespaceripple.html#a4bfa815b348a23b5cd7ba52b04d21e43">sfSigner</a>);</div>
<div class="line"><a name="l01816"></a><span class="lineno"> 1816</span>&#160; soTest4.<a class="code" href="classripple_1_1STObject.html#af1235d307d6f464392a583d0dfaa3cc4">setFieldVL</a>(<a class="code" href="namespaceripple.html#a590913040d5c9a68f3bf1d4da20311ad">sfSigningPubKey</a>, kp1.first.slice());</div>
<div class="line"><a name="l01817"></a><span class="lineno"> 1817</span>&#160; soTest4.<a class="code" href="classripple_1_1STObject.html#af1235d307d6f464392a583d0dfaa3cc4">setFieldVL</a>(<a class="code" href="namespaceripple.html#a61697c13ea8123e926a3df063c625245">sfTxnSignature</a>, saMultiSignature);</div>
<div class="line"><a name="l01818"></a><span class="lineno"> 1818</span>&#160; soTest4.<a class="code" href="classripple_1_1STObject.html#a7eedf70fc6afba6c2b8c6b2ba27ba23e">setFieldAmount</a>(<a class="code" href="namespaceripple.html#a29758397ce451beaa436c3a9dfc83030">sfAmount</a>, <a class="code" href="classripple_1_1STAmount.html">STAmount</a>(10000));</div>
<div class="line"><a name="l01819"></a><span class="lineno"> 1819</span>&#160; testMalformedSigningAccount(soTest4, <span class="keyword">false</span>);</div>
<div class="line"><a name="l01820"></a><span class="lineno"> 1820</span>&#160; }</div>
<div class="line"><a name="l01821"></a><span class="lineno"> 1821</span>&#160; }</div>
<div class="line"><a name="l01822"></a><span class="lineno"> 1822</span>&#160;};</div>
<div class="line"><a name="l01823"></a><span class="lineno"> 1823</span>&#160; </div>
<div class="line"><a name="l01824"></a><span class="lineno"> 1824</span>&#160;<a class="code" href="namespaceripple.html#a2701412a11b118c19256a4c901db2938">BEAST_DEFINE_TESTSUITE</a>(STTx, ripple_app, <a class="code" href="namespaceripple.html">ripple</a>);</div>
<div class="line"><a name="l01825"></a><span class="lineno"> 1825</span>&#160;<a class="code" href="namespaceripple.html#a2701412a11b118c19256a4c901db2938">BEAST_DEFINE_TESTSUITE</a>(InnerObjectFormatsSerializer, ripple_app, <a class="code" href="namespaceripple.html">ripple</a>);</div>
<div class="line"><a name="l01826"></a><span class="lineno"> 1826</span>&#160; </div>
<div class="line"><a name="l01827"></a><span class="lineno"> 1827</span>&#160;} <span class="comment">// namespace ripple</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aclassripple_1_1STObject_html_ab503dfe8edde82e6c80719cc73201a6d"><div class="ttname"><a href="classripple_1_1STObject.html#ab503dfe8edde82e6c80719cc73201a6d">ripple::STObject::setAccountID</a></div><div class="ttdeci">void setAccountID(SField const &amp;field, AccountID const &amp;)</div><div class="ttdef"><b>Definition:</b> <a href="STObject_8cpp_source.html#l00710">STObject.cpp:710</a></div></div>
<div class="ttc" id="anamespaceripple_html_a3eb7d40b5e6271ef328b552297f94311"><div class="ttname"><a href="namespaceripple.html#a3eb7d40b5e6271ef328b552297f94311">ripple::sfSignerWeight</a></div><div class="ttdeci">const SF_UINT16 sfSignerWeight</div></div>
@@ -1905,8 +1909,9 @@ $(function() {
<div class="ttc" id="anamespaceripple_html_a15aa3b3032d0908932dc5abf4b1ef862"><div class="ttname"><a href="namespaceripple.html#a15aa3b3032d0908932dc5abf4b1ef862">ripple::sfDestination</a></div><div class="ttdeci">const SF_ACCOUNT sfDestination</div></div>
<div class="ttc" id="anamespaceripple_html_ac37ed9ec6e136d0250e30a598991ab92"><div class="ttname"><a href="namespaceripple.html#ac37ed9ec6e136d0250e30a598991ab92">ripple::sfTransactionMetaData</a></div><div class="ttdeci">const SField sfTransactionMetaData</div></div>
<div class="ttc" id="anamespaceripple_html_a29758397ce451beaa436c3a9dfc83030"><div class="ttname"><a href="namespaceripple.html#a29758397ce451beaa436c3a9dfc83030">ripple::sfAmount</a></div><div class="ttdeci">const SF_AMOUNT sfAmount</div></div>
<div class="ttc" id="aclassripple_1_1InnerObjectFormatsSerializer__test_html"><div class="ttname"><a href="classripple_1_1InnerObjectFormatsSerializer__test.html">ripple::InnerObjectFormatsSerializer_test</a></div><div class="ttdef"><b>Definition:</b> <a href="STTx__test_8cpp_source.html#l01722">STTx_test.cpp:1722</a></div></div>
<div class="ttc" id="aclassripple_1_1InnerObjectFormatsSerializer__test_html"><div class="ttname"><a href="classripple_1_1InnerObjectFormatsSerializer__test.html">ripple::InnerObjectFormatsSerializer_test</a></div><div class="ttdef"><b>Definition:</b> <a href="STTx__test_8cpp_source.html#l01726">STTx_test.cpp:1726</a></div></div>
<div class="ttc" id="aclassripple_1_1Slice_html"><div class="ttname"><a href="classripple_1_1Slice.html">ripple::Slice</a></div><div class="ttdoc">An immutable linear range of bytes.</div><div class="ttdef"><b>Definition:</b> <a href="Slice_8h_source.html#l00044">Slice.h:44</a></div></div>
<div class="ttc" id="aunordered_set_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/unordered_set.html">std::unordered_set</a></div><div class="ttdoc">STL class.</div></div>
<div class="ttc" id="anamespaceripple_html_a586714bf3cbbbb406d6f169742bce0d5"><div class="ttname"><a href="namespaceripple.html#a586714bf3cbbbb406d6f169742bce0d5">ripple::sfSequence</a></div><div class="ttdeci">const SF_UINT32 sfSequence</div></div>
<div class="ttc" id="anamespaceripple_html_a590913040d5c9a68f3bf1d4da20311ad"><div class="ttname"><a href="namespaceripple.html#a590913040d5c9a68f3bf1d4da20311ad">ripple::sfSigningPubKey</a></div><div class="ttdeci">const SF_VL sfSigningPubKey</div></div>
<div class="ttc" id="aclassripple_1_1STObject_html_a6ae7e459a83bc46c3cfd9025753af1cb"><div class="ttname"><a href="classripple_1_1STObject.html#a6ae7e459a83bc46c3cfd9025753af1cb">ripple::STObject::getSerializer</a></div><div class="ttdeci">Serializer getSerializer() const</div><div class="ttdef"><b>Definition:</b> <a href="STObject_8h_source.html#l00906">STObject.h:906</a></div></div>
@@ -1926,6 +1931,7 @@ $(function() {
<div class="ttc" id="aclassripple_1_1STObject_html_a82d7676b5e892190ac585206b903b5d3"><div class="ttname"><a href="classripple_1_1STObject.html#a82d7676b5e892190ac585206b903b5d3">ripple::STObject::delField</a></div><div class="ttdeci">bool delField(SField const &amp;field)</div><div class="ttdef"><b>Definition:</b> <a href="STObject_8cpp_source.html#l00544">STObject.cpp:544</a></div></div>
<div class="ttc" id="aclassripple_1_1SOTemplate_html"><div class="ttname"><a href="classripple_1_1SOTemplate.html">ripple::SOTemplate</a></div><div class="ttdoc">Defines the fields and their attributes within a STObject.</div><div class="ttdef"><b>Definition:</b> <a href="SOTemplate_8h_source.html#l00084">SOTemplate.h:84</a></div></div>
<div class="ttc" id="aclassripple_1_1STTx__test_html_a099cd3cd9fa38d945de73e787d8efb7a"><div class="ttname"><a href="classripple_1_1STTx__test.html#a099cd3cd9fa38d945de73e787d8efb7a">ripple::STTx_test::testSTTx</a></div><div class="ttdeci">void testSTTx(KeyType keyType)</div><div class="ttdef"><b>Definition:</b> <a href="STTx__test_8cpp_source.html#l01583">STTx_test.cpp:1583</a></div></div>
<div class="ttc" id="anamespaceripple_html_a28496e4c629a4a47a403a018f841d724"><div class="ttname"><a href="namespaceripple.html#a28496e4c629a4a47a403a018f841d724">ripple::featureExpandedSignerList</a></div><div class="ttdeci">const uint256 featureExpandedSignerList</div></div>
<div class="ttc" id="aclassripple_1_1STObject_html_a2be037301806856f4b202cabc53d5e0a"><div class="ttname"><a href="classripple_1_1STObject.html#a2be037301806856f4b202cabc53d5e0a">ripple::STObject::setFieldArray</a></div><div class="ttdeci">void setFieldArray(SField const &amp;field, STArray const &amp;v)</div><div class="ttdef"><b>Definition:</b> <a href="STObject_8cpp_source.html#l00746">STObject.cpp:746</a></div></div>
<div class="ttc" id="aclassripple_1_1STObject_html_a7eedf70fc6afba6c2b8c6b2ba27ba23e"><div class="ttname"><a href="classripple_1_1STObject.html#a7eedf70fc6afba6c2b8c6b2ba27ba23e">ripple::STObject::setFieldAmount</a></div><div class="ttdeci">void setFieldAmount(SField const &amp;field, STAmount const &amp;)</div><div class="ttdef"><b>Definition:</b> <a href="STObject_8cpp_source.html#l00728">STObject.cpp:728</a></div></div>
<div class="ttc" id="aclassripple_1_1STObject_html_a4aee4efa6aeff63e0d5ff08d31730be2"><div class="ttname"><a href="classripple_1_1STObject.html#a4aee4efa6aeff63e0d5ff08d31730be2">ripple::STObject::setFieldH256</a></div><div class="ttdeci">void setFieldH256(SField const &amp;field, uint256 const &amp;)</div><div class="ttdef"><b>Definition:</b> <a href="STObject_8cpp_source.html#l00698">STObject.cpp:698</a></div></div>
@@ -1938,7 +1944,7 @@ $(function() {
<div class="ttc" id="aclassripple_1_1STTx_html"><div class="ttname"><a href="classripple_1_1STTx.html">ripple::STTx</a></div><div class="ttdef"><b>Definition:</b> <a href="STTx_8h_source.html#l00046">STTx.h:46</a></div></div>
<div class="ttc" id="aruntime_error_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/error/runtime_error.html">std::runtime_error</a></div><div class="ttdoc">STL class.</div></div>
<div class="ttc" id="aclassripple_1_1SerialIter_html"><div class="ttname"><a href="classripple_1_1SerialIter.html">ripple::SerialIter</a></div><div class="ttdef"><b>Definition:</b> <a href="Serializer_8h_source.html#l00311">Serializer.h:311</a></div></div>
<div class="ttc" id="aclassripple_1_1STTx__test_html_a553a87fec8717ce44a7eca99a40e7466"><div class="ttname"><a href="classripple_1_1STTx__test.html#a553a87fec8717ce44a7eca99a40e7466">ripple::STTx_test::testObjectCtorErrors</a></div><div class="ttdeci">void testObjectCtorErrors()</div><div class="ttdef"><b>Definition:</b> <a href="STTx__test_8cpp_source.html#l01634">STTx_test.cpp:1634</a></div></div>
<div class="ttc" id="aclassripple_1_1STTx__test_html_a553a87fec8717ce44a7eca99a40e7466"><div class="ttname"><a href="classripple_1_1STTx__test.html#a553a87fec8717ce44a7eca99a40e7466">ripple::STTx_test::testObjectCtorErrors</a></div><div class="ttdeci">void testObjectCtorErrors()</div><div class="ttdef"><b>Definition:</b> <a href="STTx__test_8cpp_source.html#l01638">STTx_test.cpp:1638</a></div></div>
<div class="ttc" id="aclassripple_1_1STTx_html_a2ff70c45520477e847ef95913baf1a20"><div class="ttname"><a href="classripple_1_1STTx.html#a2ff70c45520477e847ef95913baf1a20">ripple::STTx::sign</a></div><div class="ttdeci">void sign(PublicKey const &amp;publicKey, SecretKey const &amp;secretKey)</div><div class="ttdef"><b>Definition:</b> <a href="STTx_8cpp_source.html#l00199">STTx.cpp:199</a></div></div>
<div class="ttc" id="abasic_regex_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/regex/basic_regex.html">std::basic_regex</a></div></div>
<div class="ttc" id="aclassripple_1_1STTx__test_html_acaaf21281e92e08ab4a83c119578b785"><div class="ttname"><a href="classripple_1_1STTx__test.html#acaaf21281e92e08ab4a83c119578b785">ripple::STTx_test::testMalformedSerializedForm</a></div><div class="ttdeci">void testMalformedSerializedForm()</div><div class="ttdef"><b>Definition:</b> <a href="STTx__test_8cpp_source.html#l00067">STTx_test.cpp:67</a></div></div>
@@ -1969,7 +1975,7 @@ $(function() {
<div class="ttc" id="aclassripple_1_1STObject_html_acd1aac04649d694a3524faf2ddebf843"><div class="ttname"><a href="classripple_1_1STObject.html#acd1aac04649d694a3524faf2ddebf843">ripple::STObject::setFieldU32</a></div><div class="ttdeci">void setFieldU32(SField const &amp;field, std::uint32_t)</div><div class="ttdef"><b>Definition:</b> <a href="STObject_8cpp_source.html#l00680">STObject.cpp:680</a></div></div>
<div class="ttc" id="anamespaceripple_html_af191d8616acdfc276176e516985c2e1e"><div class="ttname"><a href="namespaceripple.html#af191d8616acdfc276176e516985c2e1e">ripple::buildMultiSigningData</a></div><div class="ttdeci">Serializer buildMultiSigningData(STObject const &amp;obj, AccountID const &amp;signingID)</div><div class="ttdoc">Return a Serializer suitable for computing a multisigning TxnSignature.</div><div class="ttdef"><b>Definition:</b> <a href="Sign_8cpp_source.html#l00087">Sign.cpp:87</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 class="ttc" id="aclassripple_1_1InnerObjectFormatsSerializer__test_html_a2a56e8c9b2722b75b90505a38cb1e810"><div class="ttname"><a href="classripple_1_1InnerObjectFormatsSerializer__test.html#a2a56e8c9b2722b75b90505a38cb1e810">ripple::InnerObjectFormatsSerializer_test::run</a></div><div class="ttdeci">void run() override</div><div class="ttdef"><b>Definition:</b> <a href="STTx__test_8cpp_source.html#l01726">STTx_test.cpp:1726</a></div></div>
<div class="ttc" id="aclassripple_1_1InnerObjectFormatsSerializer__test_html_a2a56e8c9b2722b75b90505a38cb1e810"><div class="ttname"><a href="classripple_1_1InnerObjectFormatsSerializer__test.html#a2a56e8c9b2722b75b90505a38cb1e810">ripple::InnerObjectFormatsSerializer_test::run</a></div><div class="ttdeci">void run() override</div><div class="ttdef"><b>Definition:</b> <a href="STTx__test_8cpp_source.html#l01730">STTx_test.cpp:1730</a></div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">