This commit is contained in:
bthomee
2026-01-28 10:13:01 -08:00
parent feb9060dd0
commit 9368c0d563
5641 changed files with 403487 additions and 442352 deletions

View File

@@ -100,171 +100,160 @@ $(document).ready(function() { init_codefold(0); });
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> </div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span>XRPAmount</div>
<div class="foldopen" id="foldopen00019" data-start="{" data-end="}">
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"><a class="line" href="namespacexrpl_1_1test_1_1jtx_1_1batch.html#ad0864e770e42d7ca0c82aa7cc3c4d2af"> 19</a></span><a class="code hl_function" href="namespacexrpl_1_1test_1_1jtx_1_1batch.html#ad0864e770e42d7ca0c82aa7cc3c4d2af">calcBatchFee</a>(</div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1Env.html">test::jtx::Env</a> <span class="keyword">const</span>&amp; env,</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> uint32_t <span class="keyword">const</span>&amp; numSigners,</div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> uint32_t <span class="keyword">const</span>&amp; txns)</div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span>{</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> <a class="code hl_class" href="classxrpl_1_1XRPAmount.html">XRPAmount</a> <span class="keyword">const</span> feeDrops = env.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Env.html#af7f5213163cfb1264ae49e0b4eff1a1e">current</a>()-&gt;fees().base;</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> <span class="keywordflow">return</span> ((numSigners + 2) * feeDrops) + feeDrops * txns;</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span>}</div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"><a class="line" href="namespacexrpl_1_1test_1_1jtx_1_1batch.html#ad0864e770e42d7ca0c82aa7cc3c4d2af"> 19</a></span><a class="code hl_function" href="namespacexrpl_1_1test_1_1jtx_1_1batch.html#ad0864e770e42d7ca0c82aa7cc3c4d2af">calcBatchFee</a>(<a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1Env.html">test::jtx::Env</a> <span class="keyword">const</span>&amp; env, uint32_t <span class="keyword">const</span>&amp; numSigners, uint32_t <span class="keyword">const</span>&amp; txns)</div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span>{</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> <a class="code hl_class" href="classxrpl_1_1XRPAmount.html">XRPAmount</a> <span class="keyword">const</span> feeDrops = env.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Env.html#af7f5213163cfb1264ae49e0b4eff1a1e">current</a>()-&gt;fees().base;</div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> <span class="keywordflow">return</span> ((numSigners + 2) * feeDrops) + feeDrops * txns;</div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span>}</div>
</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> </div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="comment">// Batch.</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a></div>
<div class="foldopen" id="foldopen00030" data-start="{" data-end="}">
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"><a class="line" href="namespacexrpl_1_1test_1_1jtx_1_1batch.html#a6b275a73061974d679756897fb84c887"> 30</a></span><a class="code hl_function" href="namespacexrpl_1_1test_1_1jtx_1_1batch.html#a6b275a73061974d679756897fb84c887">outer</a>(</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1Account.html">jtx::Account</a> <span class="keyword">const</span>&amp; account,</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> uint32_t <a class="code hl_struct" href="structxrpl_1_1test_1_1jtx_1_1seq.html">seq</a>,</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <a class="code hl_class" href="classxrpl_1_1STAmount.html">STAmount</a> <span class="keyword">const</span>&amp; <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1fee.html">fee</a>,</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1flags.html">flags</a>)</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> <a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a> jv;</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> jv[jss::TransactionType] = jss::Batch;</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> jv[jss::Account] = account.human();</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> jv[jss::RawTransactions] = <a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a>{<a class="code hl_enumvalue" href="namespaceJson.html#a7d654b75c16a57007925868e38212b4eadc8f264f36b55b063c78126b335415f4">Json::arrayValue</a>};</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> jv[jss::Sequence] = <a class="code hl_struct" href="structxrpl_1_1test_1_1jtx_1_1seq.html">seq</a>;</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> jv[jss::Flags] = <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1flags.html">flags</a>;</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> jv[jss::Fee] = <a class="code hl_function" href="namespacexrpl.html#a35ce7572092b98720a52fa343c6f2fa9">to_string</a>(<a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1fee.html">fee</a>);</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <span class="keywordflow">return</span> jv;</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span>}</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> </div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="comment">// Batch.</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a></div>
<div class="foldopen" id="foldopen00027" data-start="{" data-end="}">
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"><a class="line" href="namespacexrpl_1_1test_1_1jtx_1_1batch.html#a6b275a73061974d679756897fb84c887"> 27</a></span><a class="code hl_function" href="namespacexrpl_1_1test_1_1jtx_1_1batch.html#a6b275a73061974d679756897fb84c887">outer</a>(<a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1Account.html">jtx::Account</a> <span class="keyword">const</span>&amp; account, uint32_t <a class="code hl_struct" href="structxrpl_1_1test_1_1jtx_1_1seq.html">seq</a>, <a class="code hl_class" href="classxrpl_1_1STAmount.html">STAmount</a> <span class="keyword">const</span>&amp; <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1fee.html">fee</a>, <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1flags.html">flags</a>)</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span>{</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> <a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a> jv;</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> jv[jss::TransactionType] = jss::Batch;</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> jv[jss::Account] = account.human();</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> jv[jss::RawTransactions] = <a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a>{<a class="code hl_enumvalue" href="namespaceJson.html#a7d654b75c16a57007925868e38212b4eadc8f264f36b55b063c78126b335415f4">Json::arrayValue</a>};</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> jv[jss::Sequence] = <a class="code hl_struct" href="structxrpl_1_1test_1_1jtx_1_1seq.html">seq</a>;</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> jv[jss::Flags] = <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1flags.html">flags</a>;</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> jv[jss::Fee] = <a class="code hl_function" href="namespacexrpl.html#a35ce7572092b98720a52fa343c6f2fa9">to_string</a>(<a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1fee.html">fee</a>);</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <span class="keywordflow">return</span> jv;</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span>}</div>
</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> </div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span><span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00047" data-start="{" data-end="}">
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"><a class="line" href="classxrpl_1_1test_1_1jtx_1_1batch_1_1inner.html#a38fc70441bba346fac89a1ed52aa5a1f"> 47</a></span><a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1batch_1_1inner.html#a38fc70441bba346fac89a1ed52aa5a1f">inner::operator()</a>(<a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1Env.html">Env</a>&amp; env, <a class="code hl_struct" href="structxrpl_1_1test_1_1jtx_1_1JTx.html">JTx</a>&amp; jt)<span class="keyword"> const</span></div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">auto</span> <span class="keyword">const</span> index = jt.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1JTx.html#afc49774451e206763c989c483a1b418a">jv</a>[jss::RawTransactions].<a class="code hl_function" href="classJson_1_1Value.html#a23c7027ca674f989f90564d63ef36c74">size</a>();</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a>&amp; batchTransaction = jt.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1JTx.html#afc49774451e206763c989c483a1b418a">jv</a>[jss::RawTransactions][index];</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> </div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <span class="comment">// Initialize the batch transaction</span></div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> batchTransaction = <a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a>{};</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> batchTransaction[jss::RawTransaction] = <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1batch_1_1inner.html#a6507e1530f2b039430aee68700f5d261">txn_</a>;</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</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="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00040" data-start="{" data-end="}">
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"><a class="line" href="classxrpl_1_1test_1_1jtx_1_1batch_1_1inner.html#a38fc70441bba346fac89a1ed52aa5a1f"> 40</a></span><a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1batch_1_1inner.html#a38fc70441bba346fac89a1ed52aa5a1f">inner::operator()</a>(<a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1Env.html">Env</a>&amp; env, <a class="code hl_struct" href="structxrpl_1_1test_1_1jtx_1_1JTx.html">JTx</a>&amp; jt)<span class="keyword"> const</span></div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <span class="keyword">auto</span> <span class="keyword">const</span> index = jt.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1JTx.html#afc49774451e206763c989c483a1b418a">jv</a>[jss::RawTransactions].<a class="code hl_function" href="classJson_1_1Value.html#a23c7027ca674f989f90564d63ef36c74">size</a>();</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a>&amp; batchTransaction = jt.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1JTx.html#afc49774451e206763c989c483a1b418a">jv</a>[jss::RawTransactions][index];</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> </div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <span class="comment">// Initialize the batch transaction</span></div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> batchTransaction = <a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a>{};</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> batchTransaction[jss::RawTransaction] = <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1batch_1_1inner.html#a6507e1530f2b039430aee68700f5d261">txn_</a>;</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span>}</div>
</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> </div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span><span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00058" data-start="{" data-end="}">
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"><a class="line" href="classxrpl_1_1test_1_1jtx_1_1batch_1_1sig.html#a1eb4451c76c18b92867d87d3a01d4efa"> 58</a></span><a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1batch_1_1sig.html#a1eb4451c76c18b92867d87d3a01d4efa">sig::operator()</a>(<a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1Env.html">Env</a>&amp; env, <a class="code hl_struct" href="structxrpl_1_1test_1_1jtx_1_1JTx.html">JTx</a>&amp; jt)<span class="keyword"> const</span></div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <span class="keyword">auto</span> <span class="keyword">const</span> mySigners = <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1batch_1_1sig.html#a605b8ab177ca2b69c95156f3c942504f">signers</a>;</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional&lt;STObject&gt;</a> st;</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <span class="keywordflow">try</span></div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> {</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <span class="comment">// required to cast the STObject to STTx</span></div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> jt.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1JTx.html#afc49774451e206763c989c483a1b418a">jv</a>[jss::SigningPubKey] = <span class="stringliteral">&quot;&quot;</span>;</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> st = <a class="code hl_function" href="namespacexrpl_1_1test_1_1jtx.html#a9d0ac597c94d038643d5eef3ed5f4853">parse</a>(jt.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1JTx.html#afc49774451e206763c989c483a1b418a">jv</a>);</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> }</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <span class="keywordflow">catch</span> (<a class="code hl_struct" href="structxrpl_1_1test_1_1jtx_1_1parse__error.html">parse_error</a> <span class="keyword">const</span>&amp;)</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> </div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span><span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00051" data-start="{" data-end="}">
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"><a class="line" href="classxrpl_1_1test_1_1jtx_1_1batch_1_1sig.html#a1eb4451c76c18b92867d87d3a01d4efa"> 51</a></span><a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1batch_1_1sig.html#a1eb4451c76c18b92867d87d3a01d4efa">sig::operator()</a>(<a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1Env.html">Env</a>&amp; env, <a class="code hl_struct" href="structxrpl_1_1test_1_1jtx_1_1JTx.html">JTx</a>&amp; jt)<span class="keyword"> const</span></div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> <span class="keyword">auto</span> <span class="keyword">const</span> mySigners = <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1batch_1_1sig.html#a605b8ab177ca2b69c95156f3c942504f">signers</a>;</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional&lt;STObject&gt;</a> st;</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> <span class="keywordflow">try</span></div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> {</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <span class="comment">// required to cast the STObject to STTx</span></div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> jt.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1JTx.html#afc49774451e206763c989c483a1b418a">jv</a>[jss::SigningPubKey] = <span class="stringliteral">&quot;&quot;</span>;</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> st = <a class="code hl_function" href="namespacexrpl_1_1test_1_1jtx.html#a9d0ac597c94d038643d5eef3ed5f4853">parse</a>(jt.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1JTx.html#afc49774451e206763c989c483a1b418a">jv</a>);</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> }</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <span class="keywordflow">catch</span> (<a class="code hl_struct" href="structxrpl_1_1test_1_1jtx_1_1parse__error.html">parse_error</a> <span class="keyword">const</span>&amp;)</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> {</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> env.<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1Env.html#ac2e59aeca64d95562a97b5c84e902d7b">test</a>.<a class="code hl_variable" href="classbeast_1_1unit__test_1_1suite.html#a19b8ee0ce850d78834984655ae83b20e">log</a> &lt;&lt; pretty(jt.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1JTx.html#afc49774451e206763c989c483a1b418a">jv</a>) &lt;&lt; <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <a class="code hl_function" href="namespacexrpl.html#addcb7706101a4cac409ab00b3052e86f">Rethrow</a>();</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> }</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <a class="code hl_class" href="classxrpl_1_1STTx.html">STTx</a> <span class="keyword">const</span>&amp; stx = <a class="code hl_class" href="classxrpl_1_1STTx.html">STTx</a>{std::move(*st)};</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <span class="keyword">auto</span>&amp; js = jt[sfBatchSigners.getJsonName()];</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <span class="keywordflow">for</span> (<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> i = 0; i &lt; mySigners.size(); ++i)</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> {</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> env.<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1Env.html#ac2e59aeca64d95562a97b5c84e902d7b">test</a>.<a class="code hl_variable" href="classbeast_1_1unit__test_1_1suite.html#a19b8ee0ce850d78834984655ae83b20e">log</a> &lt;&lt; pretty(jt.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1JTx.html#afc49774451e206763c989c483a1b418a">jv</a>) &lt;&lt; <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <a class="code hl_function" href="namespacexrpl.html#addcb7706101a4cac409ab00b3052e86f">Rethrow</a>();</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> }</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <a class="code hl_class" href="classxrpl_1_1STTx.html">STTx</a> <span class="keyword">const</span>&amp; stx = <a class="code hl_class" href="classxrpl_1_1STTx.html">STTx</a>{std::move(*st)};</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <span class="keyword">auto</span>&amp; js = jt[sfBatchSigners.getJsonName()];</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <span class="keywordflow">for</span> (<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> i = 0; i &lt; mySigners.size(); ++i)</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> {</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <span class="keyword">auto</span> <span class="keyword">const</span>&amp; e = mySigners[i];</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <span class="keyword">auto</span>&amp; jo = js[i][sfBatchSigner.getJsonName()];</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> jo[jss::Account] = e.acct.human();</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> jo[jss::SigningPubKey] = <a class="code hl_function" href="namespacexrpl.html#a36b95700599f590017b5912e220baf5b">strHex</a>(e.sig.pk().slice());</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> <span class="keyword">auto</span> <span class="keyword">const</span>&amp; e = mySigners[i];</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <span class="keyword">auto</span>&amp; jo = js[i][sfBatchSigner.getJsonName()];</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> jo[jss::Account] = e.acct.human();</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> jo[jss::SigningPubKey] = <a class="code hl_function" href="namespacexrpl.html#a36b95700599f590017b5912e220baf5b">strHex</a>(e.sig.pk().slice());</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> </div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <a class="code hl_class" href="classxrpl_1_1Serializer.html">Serializer</a> msg;</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <a class="code hl_function" href="namespacexrpl.html#ad80c4414fc9273a2e4c9393e81a16351">serializeBatch</a>(msg, stx.<a class="code hl_function" href="classxrpl_1_1STObject.html#afb52e3d59373da004269f1117f50f720">getFlags</a>(), stx.<a class="code hl_function" href="classxrpl_1_1STTx.html#a394b69c2035fd09053f4e3100b442cb9">getBatchTransactionIDs</a>());</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <span class="keyword">auto</span> <span class="keyword">const</span> <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1batch_1_1sig.html">sig</a> = <a class="code hl_function" href="namespacexrpl.html#aca8d3524fa9df703978f872ca8bf8c5a">xrpl::sign</a>(*<a class="code hl_function" href="namespacexrpl.html#a7629062ffff8edd500f4b66d3440ac47">publicKeyType</a>(e.sig.pk().slice()), e.sig.sk(), msg.<a class="code hl_function" href="classxrpl_1_1Serializer.html#a9fdb78b3d7b575806292496989bd138a">slice</a>());</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> jo[sfTxnSignature.getJsonName()] = <a class="code hl_function" href="namespacexrpl.html#a36b95700599f590017b5912e220baf5b">strHex</a>(<a class="code hl_class" href="classxrpl_1_1Slice.html">Slice</a>{<a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1batch_1_1sig.html">sig</a>.data(), <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1batch_1_1sig.html">sig</a>.size()});</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> }</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span>}</div>
</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> </div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> <a class="code hl_class" href="classxrpl_1_1Serializer.html">Serializer</a> msg;</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <a class="code hl_function" href="namespacexrpl.html#ad80c4414fc9273a2e4c9393e81a16351">serializeBatch</a>(msg, stx.<a class="code hl_function" href="classxrpl_1_1STObject.html#afb52e3d59373da004269f1117f50f720">getFlags</a>(), stx.<a class="code hl_function" href="classxrpl_1_1STTx.html#a394b69c2035fd09053f4e3100b442cb9">getBatchTransactionIDs</a>());</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <span class="keyword">auto</span> <span class="keyword">const</span> <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1batch_1_1sig.html">sig</a> = <a class="code hl_function" href="namespacexrpl.html#aca8d3524fa9df703978f872ca8bf8c5a">xrpl::sign</a>(</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> *<a class="code hl_function" href="namespacexrpl.html#a7629062ffff8edd500f4b66d3440ac47">publicKeyType</a>(e.sig.pk().slice()), e.sig.sk(), msg.<a class="code hl_function" href="classxrpl_1_1Serializer.html#a9fdb78b3d7b575806292496989bd138a">slice</a>());</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> jo[sfTxnSignature.getJsonName()] =</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <a class="code hl_function" href="namespacexrpl.html#a36b95700599f590017b5912e220baf5b">strHex</a>(<a class="code hl_class" href="classxrpl_1_1Slice.html">Slice</a>{<a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1batch_1_1sig.html">sig</a>.data(), <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1batch_1_1sig.html">sig</a>.size()});</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> }</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span>}</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span><span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00083" data-start="{" data-end="}">
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"><a class="line" href="classxrpl_1_1test_1_1jtx_1_1batch_1_1msig.html#acd30d8cc1c5b8a6cdc0ef5f3da655eb1"> 83</a></span><a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1batch_1_1msig.html#acd30d8cc1c5b8a6cdc0ef5f3da655eb1">msig::operator()</a>(<a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1Env.html">Env</a>&amp; env, <a class="code hl_struct" href="structxrpl_1_1test_1_1jtx_1_1JTx.html">JTx</a>&amp; jt)<span class="keyword"> const</span></div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> <span class="keyword">auto</span> <span class="keyword">const</span> mySigners = <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1batch_1_1msig.html#a04a67fd534e792878ed5e6dc9f719eb1">signers</a>;</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional&lt;STObject&gt;</a> st;</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <span class="keywordflow">try</span></div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> {</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <span class="comment">// required to cast the STObject to STTx</span></div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> jt.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1JTx.html#afc49774451e206763c989c483a1b418a">jv</a>[jss::SigningPubKey] = <span class="stringliteral">&quot;&quot;</span>;</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> st = <a class="code hl_function" href="namespacexrpl_1_1test_1_1jtx.html#a9d0ac597c94d038643d5eef3ed5f4853">parse</a>(jt.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1JTx.html#afc49774451e206763c989c483a1b418a">jv</a>);</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> }</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <span class="keywordflow">catch</span> (<a class="code hl_struct" href="structxrpl_1_1test_1_1jtx_1_1parse__error.html">parse_error</a> <span class="keyword">const</span>&amp;)</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> {</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> env.<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1Env.html#ac2e59aeca64d95562a97b5c84e902d7b">test</a>.<a class="code hl_variable" href="classbeast_1_1unit__test_1_1suite.html#a19b8ee0ce850d78834984655ae83b20e">log</a> &lt;&lt; pretty(jt.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1JTx.html#afc49774451e206763c989c483a1b418a">jv</a>) &lt;&lt; <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <a class="code hl_function" href="namespacexrpl.html#addcb7706101a4cac409ab00b3052e86f">Rethrow</a>();</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> }</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <a class="code hl_class" href="classxrpl_1_1STTx.html">STTx</a> <span class="keyword">const</span>&amp; stx = <a class="code hl_class" href="classxrpl_1_1STTx.html">STTx</a>{std::move(*st)};</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <span class="keyword">auto</span>&amp; bs = jt[sfBatchSigners.getJsonName()];</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> <span class="keyword">auto</span> <span class="keyword">const</span> index = jt[sfBatchSigners.jsonName].size();</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> <span class="keyword">auto</span>&amp; bso = bs[index][sfBatchSigner.getJsonName()];</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> bso[jss::Account] = <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1batch_1_1msig.html#af8e4d330de3810fdbb236c6f6bd26c09">master</a>.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Account.html#a26a750f85953905d4d29b1477a38ea37">human</a>();</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> bso[jss::SigningPubKey] = <span class="stringliteral">&quot;&quot;</span>;</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> <span class="keyword">auto</span>&amp; is = bso[sfSigners.getJsonName()];</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> <span class="keywordflow">for</span> (<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> i = 0; i &lt; mySigners.size(); ++i)</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> {</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> <span class="keyword">auto</span> <span class="keyword">const</span>&amp; e = mySigners[i];</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> <span class="keyword">auto</span>&amp; iso = is[i][sfSigner.getJsonName()];</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> iso[jss::Account] = e.acct.human();</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> iso[jss::SigningPubKey] = <a class="code hl_function" href="namespacexrpl.html#a36b95700599f590017b5912e220baf5b">strHex</a>(e.sig.pk().slice());</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> </div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> <a class="code hl_class" href="classxrpl_1_1Serializer.html">Serializer</a> msg;</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> <a class="code hl_function" href="namespacexrpl.html#ad80c4414fc9273a2e4c9393e81a16351">serializeBatch</a>(msg, stx.<a class="code hl_function" href="classxrpl_1_1STObject.html#afb52e3d59373da004269f1117f50f720">getFlags</a>(), stx.<a class="code hl_function" href="classxrpl_1_1STTx.html#a394b69c2035fd09053f4e3100b442cb9">getBatchTransactionIDs</a>());</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> <a class="code hl_function" href="namespacexrpl.html#a819f79fc3eae7da1f37734ded38e1e67">finishMultiSigningData</a>(e.acct.id(), msg);</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> <span class="keyword">auto</span> <span class="keyword">const</span> <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1batch_1_1sig.html">sig</a> = <a class="code hl_function" href="namespacexrpl.html#aca8d3524fa9df703978f872ca8bf8c5a">xrpl::sign</a>(*<a class="code hl_function" href="namespacexrpl.html#a7629062ffff8edd500f4b66d3440ac47">publicKeyType</a>(e.sig.pk().slice()), e.sig.sk(), msg.<a class="code hl_function" href="classxrpl_1_1Serializer.html#a9fdb78b3d7b575806292496989bd138a">slice</a>());</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> iso[sfTxnSignature.getJsonName()] = <a class="code hl_function" href="namespacexrpl.html#a36b95700599f590017b5912e220baf5b">strHex</a>(<a class="code hl_class" href="classxrpl_1_1Slice.html">Slice</a>{<a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1batch_1_1sig.html">sig</a>.data(), <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1batch_1_1sig.html">sig</a>.size()});</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> }</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span>}</div>
</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="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00092" data-start="{" data-end="}">
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"><a class="line" href="classxrpl_1_1test_1_1jtx_1_1batch_1_1msig.html#acd30d8cc1c5b8a6cdc0ef5f3da655eb1"> 92</a></span><a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1batch_1_1msig.html#acd30d8cc1c5b8a6cdc0ef5f3da655eb1">msig::operator()</a>(<a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1Env.html">Env</a>&amp; env, <a class="code hl_struct" href="structxrpl_1_1test_1_1jtx_1_1JTx.html">JTx</a>&amp; jt)<span class="keyword"> const</span></div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span><span class="keyword"></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> mySigners = <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1batch_1_1msig.html#a04a67fd534e792878ed5e6dc9f719eb1">signers</a>;</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional&lt;STObject&gt;</a> st;</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <span class="keywordflow">try</span></div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> {</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <span class="comment">// required to cast the STObject to STTx</span></div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> jt.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1JTx.html#afc49774451e206763c989c483a1b418a">jv</a>[jss::SigningPubKey] = <span class="stringliteral">&quot;&quot;</span>;</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> st = <a class="code hl_function" href="namespacexrpl_1_1test_1_1jtx.html#a9d0ac597c94d038643d5eef3ed5f4853">parse</a>(jt.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1JTx.html#afc49774451e206763c989c483a1b418a">jv</a>);</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> }</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> <span class="keywordflow">catch</span> (<a class="code hl_struct" href="structxrpl_1_1test_1_1jtx_1_1parse__error.html">parse_error</a> <span class="keyword">const</span>&amp;)</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> {</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> env.<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1Env.html#ac2e59aeca64d95562a97b5c84e902d7b">test</a>.<a class="code hl_variable" href="classbeast_1_1unit__test_1_1suite.html#a19b8ee0ce850d78834984655ae83b20e">log</a> &lt;&lt; pretty(jt.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1JTx.html#afc49774451e206763c989c483a1b418a">jv</a>) &lt;&lt; <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> <a class="code hl_function" href="namespacexrpl.html#addcb7706101a4cac409ab00b3052e86f">Rethrow</a>();</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> }</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> <a class="code hl_class" href="classxrpl_1_1STTx.html">STTx</a> <span class="keyword">const</span>&amp; stx = <a class="code hl_class" href="classxrpl_1_1STTx.html">STTx</a>{std::move(*st)};</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> <span class="keyword">auto</span>&amp; bs = jt[sfBatchSigners.getJsonName()];</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> <span class="keyword">auto</span> <span class="keyword">const</span> index = jt[sfBatchSigners.jsonName].size();</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> <span class="keyword">auto</span>&amp; bso = bs[index][sfBatchSigner.getJsonName()];</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> bso[jss::Account] = <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1batch_1_1msig.html#af8e4d330de3810fdbb236c6f6bd26c09">master</a>.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Account.html#a26a750f85953905d4d29b1477a38ea37">human</a>();</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> bso[jss::SigningPubKey] = <span class="stringliteral">&quot;&quot;</span>;</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> <span class="keyword">auto</span>&amp; is = bso[sfSigners.getJsonName()];</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> <span class="keywordflow">for</span> (<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> i = 0; i &lt; mySigners.size(); ++i)</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> {</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <span class="keyword">auto</span> <span class="keyword">const</span>&amp; e = mySigners[i];</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> <span class="keyword">auto</span>&amp; iso = is[i][sfSigner.getJsonName()];</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> iso[jss::Account] = e.acct.human();</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> iso[jss::SigningPubKey] = <a class="code hl_function" href="namespacexrpl.html#a36b95700599f590017b5912e220baf5b">strHex</a>(e.sig.pk().slice());</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> </div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <a class="code hl_class" href="classxrpl_1_1Serializer.html">Serializer</a> msg;</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> <a class="code hl_function" href="namespacexrpl.html#ad80c4414fc9273a2e4c9393e81a16351">serializeBatch</a>(msg, stx.<a class="code hl_function" href="classxrpl_1_1STObject.html#afb52e3d59373da004269f1117f50f720">getFlags</a>(), stx.<a class="code hl_function" href="classxrpl_1_1STTx.html#a394b69c2035fd09053f4e3100b442cb9">getBatchTransactionIDs</a>());</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> <a class="code hl_function" href="namespacexrpl.html#a819f79fc3eae7da1f37734ded38e1e67">finishMultiSigningData</a>(e.acct.id(), msg);</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> <span class="keyword">auto</span> <span class="keyword">const</span> <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1batch_1_1sig.html">sig</a> = <a class="code hl_function" href="namespacexrpl.html#aca8d3524fa9df703978f872ca8bf8c5a">xrpl::sign</a>(</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> *<a class="code hl_function" href="namespacexrpl.html#a7629062ffff8edd500f4b66d3440ac47">publicKeyType</a>(e.sig.pk().slice()), e.sig.sk(), msg.<a class="code hl_function" href="classxrpl_1_1Serializer.html#a9fdb78b3d7b575806292496989bd138a">slice</a>());</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> iso[sfTxnSignature.getJsonName()] =</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> <a class="code hl_function" href="namespacexrpl.html#a36b95700599f590017b5912e220baf5b">strHex</a>(<a class="code hl_class" href="classxrpl_1_1Slice.html">Slice</a>{<a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1batch_1_1sig.html">sig</a>.data(), <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1batch_1_1sig.html">sig</a>.size()});</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> }</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span>}</div>
</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> </div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span>} <span class="comment">// namespace batch</span></div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> </div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span>} <span class="comment">// namespace jtx</span></div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span>} <span class="comment">// namespace test</span></div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span>} <span class="comment">// namespace xrpl</span></div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> </div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span>} <span class="comment">// namespace batch</span></div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> </div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span>} <span class="comment">// namespace jtx</span></div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span>} <span class="comment">// namespace test</span></div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span>} <span class="comment">// namespace xrpl</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#l00130">json_value.h:131</a></div></div>
<div class="ttc" id="aclassJson_1_1Value_html_a23c7027ca674f989f90564d63ef36c74"><div class="ttname"><a href="classJson_1_1Value.html#a23c7027ca674f989f90564d63ef36c74">Json::Value::size</a></div><div class="ttdeci">UInt size() const</div><div class="ttdoc">Number of values in array or object.</div><div class="ttdef"><b>Definition</b> <a href="json__value_8cpp_source.html#l00785">json_value.cpp:785</a></div></div>
<div class="ttc" id="aclassbeast_1_1unit__test_1_1suite_html_a19b8ee0ce850d78834984655ae83b20e"><div class="ttname"><a href="classbeast_1_1unit__test_1_1suite.html#a19b8ee0ce850d78834984655ae83b20e">beast::unit_test::suite::log</a></div><div class="ttdeci">log_os&lt; char &gt; log</div><div class="ttdoc">Logging output stream.</div><div class="ttdef"><b>Definition</b> <a href="suite_8h_source.html#l00149">suite.h:149</a></div></div>
<div class="ttc" id="aclassJson_1_1Value_html_a23c7027ca674f989f90564d63ef36c74"><div class="ttname"><a href="classJson_1_1Value.html#a23c7027ca674f989f90564d63ef36c74">Json::Value::size</a></div><div class="ttdeci">UInt size() const</div><div class="ttdoc">Number of values in array or object.</div><div class="ttdef"><b>Definition</b> <a href="json__value_8cpp_source.html#l00746">json_value.cpp:746</a></div></div>
<div class="ttc" id="aclassbeast_1_1unit__test_1_1suite_html_a19b8ee0ce850d78834984655ae83b20e"><div class="ttname"><a href="classbeast_1_1unit__test_1_1suite.html#a19b8ee0ce850d78834984655ae83b20e">beast::unit_test::suite::log</a></div><div class="ttdeci">log_os&lt; char &gt; log</div><div class="ttdoc">Logging output stream.</div><div class="ttdef"><b>Definition</b> <a href="suite_8h_source.html#l00145">suite.h:145</a></div></div>
<div class="ttc" id="aclassxrpl_1_1STAmount_html"><div class="ttname"><a href="classxrpl_1_1STAmount.html">xrpl::STAmount</a></div><div class="ttdef"><b>Definition</b> <a href="STAmount_8h_source.html#l00030">STAmount.h:31</a></div></div>
<div class="ttc" id="aclassxrpl_1_1STObject_html_afb52e3d59373da004269f1117f50f720"><div class="ttname"><a href="classxrpl_1_1STObject.html#afb52e3d59373da004269f1117f50f720">xrpl::STObject::getFlags</a></div><div class="ttdeci">std::uint32_t getFlags() const</div><div class="ttdef"><b>Definition</b> <a href="STObject_8cpp_source.html#l00518">STObject.cpp:518</a></div></div>
<div class="ttc" id="aclassxrpl_1_1STObject_html_afb52e3d59373da004269f1117f50f720"><div class="ttname"><a href="classxrpl_1_1STObject.html#afb52e3d59373da004269f1117f50f720">xrpl::STObject::getFlags</a></div><div class="ttdeci">std::uint32_t getFlags() const</div><div class="ttdef"><b>Definition</b> <a href="STObject_8cpp_source.html#l00492">STObject.cpp:492</a></div></div>
<div class="ttc" id="aclassxrpl_1_1STTx_html"><div class="ttname"><a href="classxrpl_1_1STTx.html">xrpl::STTx</a></div><div class="ttdef"><b>Definition</b> <a href="STTx_8h_source.html#l00028">STTx.h:29</a></div></div>
<div class="ttc" id="aclassxrpl_1_1STTx_html_a394b69c2035fd09053f4e3100b442cb9"><div class="ttname"><a href="classxrpl_1_1STTx.html#a394b69c2035fd09053f4e3100b442cb9">xrpl::STTx::getBatchTransactionIDs</a></div><div class="ttdeci">std::vector&lt; uint256 &gt; const &amp; getBatchTransactionIDs() const</div><div class="ttdoc">Retrieves a batch of transaction IDs from the STTx.</div><div class="ttdef"><b>Definition</b> <a href="STTx_8cpp_source.html#l00569">STTx.cpp:569</a></div></div>
<div class="ttc" id="aclassxrpl_1_1STTx_html_a394b69c2035fd09053f4e3100b442cb9"><div class="ttname"><a href="classxrpl_1_1STTx.html#a394b69c2035fd09053f4e3100b442cb9">xrpl::STTx::getBatchTransactionIDs</a></div><div class="ttdeci">std::vector&lt; uint256 &gt; const &amp; getBatchTransactionIDs() const</div><div class="ttdoc">Retrieves a batch of transaction IDs from the STTx.</div><div class="ttdef"><b>Definition</b> <a href="STTx_8cpp_source.html#l00545">STTx.cpp:545</a></div></div>
<div class="ttc" id="aclassxrpl_1_1Serializer_html"><div class="ttname"><a href="classxrpl_1_1Serializer.html">xrpl::Serializer</a></div><div class="ttdef"><b>Definition</b> <a href="Serializer_8h_source.html#l00021">Serializer.h:22</a></div></div>
<div class="ttc" id="aclassxrpl_1_1Serializer_html_a9fdb78b3d7b575806292496989bd138a"><div class="ttname"><a href="classxrpl_1_1Serializer.html#a9fdb78b3d7b575806292496989bd138a">xrpl::Serializer::slice</a></div><div class="ttdeci">Slice slice() const noexcept</div><div class="ttdef"><b>Definition</b> <a href="Serializer_8h_source.html#l00047">Serializer.h:47</a></div></div>
<div class="ttc" id="aclassxrpl_1_1Serializer_html_a9fdb78b3d7b575806292496989bd138a"><div class="ttname"><a href="classxrpl_1_1Serializer.html#a9fdb78b3d7b575806292496989bd138a">xrpl::Serializer::slice</a></div><div class="ttdeci">Slice slice() const noexcept</div><div class="ttdef"><b>Definition</b> <a href="Serializer_8h_source.html#l00045">Serializer.h:45</a></div></div>
<div class="ttc" id="aclassxrpl_1_1Slice_html"><div class="ttname"><a href="classxrpl_1_1Slice.html">xrpl::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#l00026">Slice.h:27</a></div></div>
<div class="ttc" id="aclassxrpl_1_1XRPAmount_html"><div class="ttname"><a href="classxrpl_1_1XRPAmount.html">xrpl::XRPAmount</a></div><div class="ttdef"><b>Definition</b> <a href="XRPAmount_8h_source.html#l00020">XRPAmount.h:24</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1Account_html"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1Account.html">xrpl::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#l00019">Account.h:20</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1Account_html_a26a750f85953905d4d29b1477a38ea37"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1Account.html#a26a750f85953905d4d29b1477a38ea37">xrpl::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#l00099">Account.h:99</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1Env_html"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1Env.html">xrpl::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#l00101">Env.h:102</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1Env_html_ac2e59aeca64d95562a97b5c84e902d7b"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1Env.html#ac2e59aeca64d95562a97b5c84e902d7b">xrpl::test::jtx::Env::test</a></div><div class="ttdeci">beast::unit_test::suite &amp; test</div><div class="ttdef"><b>Definition</b> <a href="Env_8h_source.html#l00104">Env.h:104</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1Env_html_af7f5213163cfb1264ae49e0b4eff1a1e"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1Env.html#af7f5213163cfb1264ae49e0b4eff1a1e">xrpl::test::jtx::Env::current</a></div><div class="ttdeci">std::shared_ptr&lt; OpenView const &gt; current() const</div><div class="ttdoc">Returns the current ledger.</div><div class="ttdef"><b>Definition</b> <a href="Env_8h_source.html#l00314">Env.h:314</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1batch_1_1inner_html_a38fc70441bba346fac89a1ed52aa5a1f"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1batch_1_1inner.html#a38fc70441bba346fac89a1ed52aa5a1f">xrpl::test::jtx::batch::inner::operator()</a></div><div class="ttdeci">void operator()(Env &amp;, JTx &amp;jtx) const</div><div class="ttdef"><b>Definition</b> <a href="batch_8cpp_source.html#l00047">batch.cpp:47</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1batch_1_1inner_html_a6507e1530f2b039430aee68700f5d261"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1batch_1_1inner.html#a6507e1530f2b039430aee68700f5d261">xrpl::test::jtx::batch::inner::txn_</a></div><div class="ttdeci">Json::Value txn_</div><div class="ttdef"><b>Definition</b> <a href="batch_8h_source.html#l00044">batch.h:44</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1batch_1_1msig_html_a04a67fd534e792878ed5e6dc9f719eb1"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1batch_1_1msig.html#a04a67fd534e792878ed5e6dc9f719eb1">xrpl::test::jtx::batch::msig::signers</a></div><div class="ttdeci">std::vector&lt; Reg &gt; signers</div><div class="ttdef"><b>Definition</b> <a href="batch_8h_source.html#l00118">batch.h:118</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1batch_1_1msig_html_acd30d8cc1c5b8a6cdc0ef5f3da655eb1"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1batch_1_1msig.html#acd30d8cc1c5b8a6cdc0ef5f3da655eb1">xrpl::test::jtx::batch::msig::operator()</a></div><div class="ttdeci">void operator()(Env &amp;, JTx &amp;jt) const</div><div class="ttdef"><b>Definition</b> <a href="batch_8cpp_source.html#l00092">batch.cpp:92</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1batch_1_1msig_html_af8e4d330de3810fdbb236c6f6bd26c09"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1batch_1_1msig.html#af8e4d330de3810fdbb236c6f6bd26c09">xrpl::test::jtx::batch::msig::master</a></div><div class="ttdeci">Account master</div><div class="ttdef"><b>Definition</b> <a href="batch_8h_source.html#l00117">batch.h:117</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1batch_1_1sig_html"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1batch_1_1sig.html">xrpl::test::jtx::batch::sig</a></div><div class="ttdoc">Set a batch signature on a JTx.</div><div class="ttdef"><b>Definition</b> <a href="batch_8h_source.html#l00091">batch.h:92</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1batch_1_1sig_html_a1eb4451c76c18b92867d87d3a01d4efa"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1batch_1_1sig.html#a1eb4451c76c18b92867d87d3a01d4efa">xrpl::test::jtx::batch::sig::operator()</a></div><div class="ttdeci">void operator()(Env &amp;, JTx &amp;jt) const</div><div class="ttdef"><b>Definition</b> <a href="batch_8cpp_source.html#l00058">batch.cpp:58</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1batch_1_1sig_html_a605b8ab177ca2b69c95156f3c942504f"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1batch_1_1sig.html#a605b8ab177ca2b69c95156f3c942504f">xrpl::test::jtx::batch::sig::signers</a></div><div class="ttdeci">std::vector&lt; Reg &gt; signers</div><div class="ttdef"><b>Definition</b> <a href="batch_8h_source.html#l00094">batch.h:94</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1Account_html_a26a750f85953905d4d29b1477a38ea37"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1Account.html#a26a750f85953905d4d29b1477a38ea37">xrpl::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#l00095">Account.h:95</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1Env_html"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1Env.html">xrpl::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#l00097">Env.h:98</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1Env_html_ac2e59aeca64d95562a97b5c84e902d7b"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1Env.html#ac2e59aeca64d95562a97b5c84e902d7b">xrpl::test::jtx::Env::test</a></div><div class="ttdeci">beast::unit_test::suite &amp; test</div><div class="ttdef"><b>Definition</b> <a href="Env_8h_source.html#l00100">Env.h:100</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1Env_html_af7f5213163cfb1264ae49e0b4eff1a1e"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1Env.html#af7f5213163cfb1264ae49e0b4eff1a1e">xrpl::test::jtx::Env::current</a></div><div class="ttdeci">std::shared_ptr&lt; OpenView const &gt; current() const</div><div class="ttdoc">Returns the current ledger.</div><div class="ttdef"><b>Definition</b> <a href="Env_8h_source.html#l00298">Env.h:298</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1batch_1_1inner_html_a38fc70441bba346fac89a1ed52aa5a1f"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1batch_1_1inner.html#a38fc70441bba346fac89a1ed52aa5a1f">xrpl::test::jtx::batch::inner::operator()</a></div><div class="ttdeci">void operator()(Env &amp;, JTx &amp;jtx) const</div><div class="ttdef"><b>Definition</b> <a href="batch_8cpp_source.html#l00040">batch.cpp:40</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1batch_1_1inner_html_a6507e1530f2b039430aee68700f5d261"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1batch_1_1inner.html#a6507e1530f2b039430aee68700f5d261">xrpl::test::jtx::batch::inner::txn_</a></div><div class="ttdeci">Json::Value txn_</div><div class="ttdef"><b>Definition</b> <a href="batch_8h_source.html#l00037">batch.h:37</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1batch_1_1msig_html_a04a67fd534e792878ed5e6dc9f719eb1"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1batch_1_1msig.html#a04a67fd534e792878ed5e6dc9f719eb1">xrpl::test::jtx::batch::msig::signers</a></div><div class="ttdeci">std::vector&lt; Reg &gt; signers</div><div class="ttdef"><b>Definition</b> <a href="batch_8h_source.html#l00111">batch.h:111</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1batch_1_1msig_html_acd30d8cc1c5b8a6cdc0ef5f3da655eb1"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1batch_1_1msig.html#acd30d8cc1c5b8a6cdc0ef5f3da655eb1">xrpl::test::jtx::batch::msig::operator()</a></div><div class="ttdeci">void operator()(Env &amp;, JTx &amp;jt) const</div><div class="ttdef"><b>Definition</b> <a href="batch_8cpp_source.html#l00083">batch.cpp:83</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1batch_1_1msig_html_af8e4d330de3810fdbb236c6f6bd26c09"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1batch_1_1msig.html#af8e4d330de3810fdbb236c6f6bd26c09">xrpl::test::jtx::batch::msig::master</a></div><div class="ttdeci">Account master</div><div class="ttdef"><b>Definition</b> <a href="batch_8h_source.html#l00110">batch.h:110</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1batch_1_1sig_html"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1batch_1_1sig.html">xrpl::test::jtx::batch::sig</a></div><div class="ttdoc">Set a batch signature on a JTx.</div><div class="ttdef"><b>Definition</b> <a href="batch_8h_source.html#l00084">batch.h:85</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1batch_1_1sig_html_a1eb4451c76c18b92867d87d3a01d4efa"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1batch_1_1sig.html#a1eb4451c76c18b92867d87d3a01d4efa">xrpl::test::jtx::batch::sig::operator()</a></div><div class="ttdeci">void operator()(Env &amp;, JTx &amp;jt) const</div><div class="ttdef"><b>Definition</b> <a href="batch_8cpp_source.html#l00051">batch.cpp:51</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1batch_1_1sig_html_a605b8ab177ca2b69c95156f3c942504f"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1batch_1_1sig.html#a605b8ab177ca2b69c95156f3c942504f">xrpl::test::jtx::batch::sig::signers</a></div><div class="ttdeci">std::vector&lt; Reg &gt; signers</div><div class="ttdef"><b>Definition</b> <a href="batch_8h_source.html#l00087">batch.h:87</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1fee_html"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1fee.html">xrpl::test::jtx::fee</a></div><div class="ttdoc">Set the fee on a JTx.</div><div class="ttdef"><b>Definition</b> <a href="fee_8h_source.html#l00017">fee.h:18</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1flags_html"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1flags.html">xrpl::test::jtx::flags</a></div><div class="ttdoc">Match set account flags.</div><div class="ttdef"><b>Definition</b> <a href="flags_8h_source.html#l00108">flags.h:109</a></div></div>
<div class="ttc" id="aendl_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a></div><div class="ttdeci">T endl(T... args)</div></div>
<div class="ttc" id="ainteger_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a></div></div>
<div class="ttc" id="anamespaceJson_html_a7d654b75c16a57007925868e38212b4eadc8f264f36b55b063c78126b335415f4"><div class="ttname"><a href="namespaceJson.html#a7d654b75c16a57007925868e38212b4eadc8f264f36b55b063c78126b335415f4">Json::arrayValue</a></div><div class="ttdeci">@ arrayValue</div><div class="ttdoc">array value (ordered list)</div><div class="ttdef"><b>Definition</b> <a href="json__value_8h_source.html#l00026">json_value.h:26</a></div></div>
<div class="ttc" id="anamespacexrpl_1_1test_1_1jtx_1_1batch_html_a6b275a73061974d679756897fb84c887"><div class="ttname"><a href="namespacexrpl_1_1test_1_1jtx_1_1batch.html#a6b275a73061974d679756897fb84c887">xrpl::test::jtx::batch::outer</a></div><div class="ttdeci">Json::Value outer(jtx::Account const &amp;account, uint32_t seq, STAmount const &amp;fee, std::uint32_t flags)</div><div class="ttdoc">Batch.</div><div class="ttdef"><b>Definition</b> <a href="batch_8cpp_source.html#l00030">batch.cpp:30</a></div></div>
<div class="ttc" id="anamespacexrpl_1_1test_1_1jtx_1_1batch_html_a6b275a73061974d679756897fb84c887"><div class="ttname"><a href="namespacexrpl_1_1test_1_1jtx_1_1batch.html#a6b275a73061974d679756897fb84c887">xrpl::test::jtx::batch::outer</a></div><div class="ttdeci">Json::Value outer(jtx::Account const &amp;account, uint32_t seq, STAmount const &amp;fee, std::uint32_t flags)</div><div class="ttdoc">Batch.</div><div class="ttdef"><b>Definition</b> <a href="batch_8cpp_source.html#l00027">batch.cpp:27</a></div></div>
<div class="ttc" id="anamespacexrpl_1_1test_1_1jtx_1_1batch_html_ad0864e770e42d7ca0c82aa7cc3c4d2af"><div class="ttname"><a href="namespacexrpl_1_1test_1_1jtx_1_1batch.html#ad0864e770e42d7ca0c82aa7cc3c4d2af">xrpl::test::jtx::batch::calcBatchFee</a></div><div class="ttdeci">XRPAmount calcBatchFee(jtx::Env const &amp;env, uint32_t const &amp;numSigners, uint32_t const &amp;txns=0)</div><div class="ttdoc">Calculate Batch Fee.</div><div class="ttdef"><b>Definition</b> <a href="batch_8cpp_source.html#l00019">batch.cpp:19</a></div></div>
<div class="ttc" id="anamespacexrpl_1_1test_1_1jtx_html_a9d0ac597c94d038643d5eef3ed5f4853"><div class="ttname"><a href="namespacexrpl_1_1test_1_1jtx.html#a9d0ac597c94d038643d5eef3ed5f4853">xrpl::test::jtx::parse</a></div><div class="ttdeci">STObject parse(Json::Value const &amp;jv)</div><div class="ttdoc">Convert JSON to STObject.</div><div class="ttdef"><b>Definition</b> <a href="utility_8cpp_source.html#l00018">utility.cpp:18</a></div></div>
<div class="ttc" id="anamespacexrpl_html"><div class="ttname"><a href="namespacexrpl.html">xrpl</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#l00006">algorithm.h:6</a></div></div>
<div class="ttc" id="anamespacexrpl_html_a35ce7572092b98720a52fa343c6f2fa9"><div class="ttname"><a href="namespacexrpl.html#a35ce7572092b98720a52fa343c6f2fa9">xrpl::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#l00611">base_uint.h:611</a></div></div>
<div class="ttc" id="anamespacexrpl_html_a35ce7572092b98720a52fa343c6f2fa9"><div class="ttname"><a href="namespacexrpl.html#a35ce7572092b98720a52fa343c6f2fa9">xrpl::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#l00598">base_uint.h:598</a></div></div>
<div class="ttc" id="anamespacexrpl_html_a36b95700599f590017b5912e220baf5b"><div class="ttname"><a href="namespacexrpl.html#a36b95700599f590017b5912e220baf5b">xrpl::strHex</a></div><div class="ttdeci">std::string strHex(FwdIt begin, FwdIt end)</div><div class="ttdef"><b>Definition</b> <a href="strHex_8h_source.html#l00011">strHex.h:11</a></div></div>
<div class="ttc" id="anamespacexrpl_html_a7629062ffff8edd500f4b66d3440ac47"><div class="ttname"><a href="namespacexrpl.html#a7629062ffff8edd500f4b66d3440ac47">xrpl::publicKeyType</a></div><div class="ttdeci">std::optional&lt; KeyType &gt; publicKeyType(Slice const &amp;slice)</div><div class="ttdoc">Returns the type of public key.</div><div class="ttdef"><b>Definition</b> <a href="PublicKey_8cpp_source.html#l00204">PublicKey.cpp:204</a></div></div>
<div class="ttc" id="anamespacexrpl_html_a819f79fc3eae7da1f37734ded38e1e67"><div class="ttname"><a href="namespacexrpl.html#a819f79fc3eae7da1f37734ded38e1e67">xrpl::finishMultiSigningData</a></div><div class="ttdeci">void finishMultiSigningData(AccountID const &amp;signingID, Serializer &amp;s)</div><div class="ttdef"><b>Definition</b> <a href="Sign_8h_source.html#l00065">Sign.h:65</a></div></div>
<div class="ttc" id="anamespacexrpl_html_a7629062ffff8edd500f4b66d3440ac47"><div class="ttname"><a href="namespacexrpl.html#a7629062ffff8edd500f4b66d3440ac47">xrpl::publicKeyType</a></div><div class="ttdeci">std::optional&lt; KeyType &gt; publicKeyType(Slice const &amp;slice)</div><div class="ttdoc">Returns the type of public key.</div><div class="ttdef"><b>Definition</b> <a href="PublicKey_8cpp_source.html#l00198">PublicKey.cpp:198</a></div></div>
<div class="ttc" id="anamespacexrpl_html_a819f79fc3eae7da1f37734ded38e1e67"><div class="ttname"><a href="namespacexrpl.html#a819f79fc3eae7da1f37734ded38e1e67">xrpl::finishMultiSigningData</a></div><div class="ttdeci">void finishMultiSigningData(AccountID const &amp;signingID, Serializer &amp;s)</div><div class="ttdef"><b>Definition</b> <a href="Sign_8h_source.html#l00056">Sign.h:56</a></div></div>
<div class="ttc" id="anamespacexrpl_html_ac599741e6d4066bada11df4c7e8ad30aad265aed699f7409ac0ec6fe07ee9cb11"><div class="ttname"><a href="namespacexrpl.html#ac599741e6d4066bada11df4c7e8ad30aad265aed699f7409ac0ec6fe07ee9cb11">xrpl::HashPrefix::batch</a></div><div class="ttdeci">@ batch</div><div class="ttdoc">Batch.</div></div>
<div class="ttc" id="anamespacexrpl_html_aca8d3524fa9df703978f872ca8bf8c5a"><div class="ttname"><a href="namespacexrpl.html#aca8d3524fa9df703978f872ca8bf8c5a">xrpl::sign</a></div><div class="ttdeci">Buffer sign(PublicKey const &amp;pk, SecretKey const &amp;sk, Slice const &amp;message)</div><div class="ttdoc">Generate a signature for a message.</div><div class="ttdef"><b>Definition</b> <a href="SecretKey_8cpp_source.html#l00236">SecretKey.cpp:236</a></div></div>
<div class="ttc" id="anamespacexrpl_html_aca8d3524fa9df703978f872ca8bf8c5a"><div class="ttname"><a href="namespacexrpl.html#aca8d3524fa9df703978f872ca8bf8c5a">xrpl::sign</a></div><div class="ttdeci">Buffer sign(PublicKey const &amp;pk, SecretKey const &amp;sk, Slice const &amp;message)</div><div class="ttdoc">Generate a signature for a message.</div><div class="ttdef"><b>Definition</b> <a href="SecretKey_8cpp_source.html#l00228">SecretKey.cpp:228</a></div></div>
<div class="ttc" id="anamespacexrpl_html_ad80c4414fc9273a2e4c9393e81a16351"><div class="ttname"><a href="namespacexrpl.html#ad80c4414fc9273a2e4c9393e81a16351">xrpl::serializeBatch</a></div><div class="ttdeci">void serializeBatch(Serializer &amp;msg, std::uint32_t const &amp;flags, std::vector&lt; uint256 &gt; const &amp;txids)</div><div class="ttdef"><b>Definition</b> <a href="include_2xrpl_2protocol_2Batch_8h_source.html#l00008">include/xrpl/protocol/Batch.h:8</a></div></div>
<div class="ttc" id="anamespacexrpl_html_addcb7706101a4cac409ab00b3052e86f"><div class="ttname"><a href="namespacexrpl.html#addcb7706101a4cac409ab00b3052e86f">xrpl::Rethrow</a></div><div class="ttdeci">void Rethrow()</div><div class="ttdoc">Rethrow the exception currently being handled.</div><div class="ttdef"><b>Definition</b> <a href="contract_8h_source.html#l00029">contract.h:29</a></div></div>
<div class="ttc" id="aoptional_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/optional.html">optional</a></div></div>