Files
rippled/mpt_8cpp_source.html
2026-01-28 10:13:01 -08:00

929 lines
223 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>rippled: mpt.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">rippled
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_120ed4da3e3217b1e7fc0b4f48568e79.html">test</a></li><li class="navelem"><a class="el" href="dir_ffd09a46879067226d7ad9ce2abbf5ef.html">jtx</a></li><li class="navelem"><a class="el" href="dir_b6e1af3af959840d44bdaef0b719b3f9.html">impl</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">mpt.cpp</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#include &lt;test/jtx.h&gt;</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span> </div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="preprocessor">#include &lt;xrpl/protocol/SField.h&gt;</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#include &lt;xrpl/protocol/jss.h&gt;</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span> </div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacexrpl.html">xrpl</a> {</div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="keyword">namespace </span>test {</div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="keyword">namespace </span>jtx {</div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span> </div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00011" data-start="{" data-end="}">
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"><a class="line" href="classxrpl_1_1test_1_1jtx_1_1mptflags.html#adefa8b4442562deedc526912eb6af345"> 11</a></span><a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1mptflags.html#adefa8b4442562deedc526912eb6af345">mptflags::operator()</a>(<a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1Env.html">Env</a>&amp; env)<span class="keyword"> const</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> env.<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1Env.html#ac2e59aeca64d95562a97b5c84e902d7b">test</a>.<a class="code hl_function" href="classbeast_1_1unit__test_1_1suite.html#ac6fc161c3c00cfbbc9590afe9e4559aa">expect</a>(<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1mptflags.html#a6cc05027ebad7f08169cf96747d9b28b">tester_</a>.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a42cbcd83a5fb937741ba4e658da02134">checkFlags</a>(<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1mptflags.html#a4d107a2ed05f9c226f0e27ccdf1bb32e">flags_</a>, <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1mptflags.html#a699d34d5af5ce523c5976d01cb44baa5">holder_</a>));</div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span>}</div>
</div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> </div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00017" data-start="{" data-end="}">
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"><a class="line" href="classxrpl_1_1test_1_1jtx_1_1mptbalance.html#aa5df099f9d896f72b53eddb9c6e4f423"> 17</a></span><a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1mptbalance.html#aa5df099f9d896f72b53eddb9c6e4f423">mptbalance::operator()</a>(<a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1Env.html">Env</a>&amp; env)<span class="keyword"> const</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> env.<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1Env.html#ac2e59aeca64d95562a97b5c84e902d7b">test</a>.<a class="code hl_function" href="classbeast_1_1unit__test_1_1suite.html#ac6fc161c3c00cfbbc9590afe9e4559aa">expect</a>(<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1mptbalance.html#a295092b46389b7f313be25515587bee3">amount_</a> == <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1mptbalance.html#a1a3e989663bc167dd036be4737aa0b9d">tester_</a>.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a7f8b9715680c0695240516af294ce480">getBalance</a>(<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1mptbalance.html#a166c034f51865080ff767b8c7a475589">account_</a>));</div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span>}</div>
</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00023" data-start="{" data-end="}">
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"><a class="line" href="classxrpl_1_1test_1_1jtx_1_1requireAny.html#abcfb1d38b5ca8f2cee57ae94e70c8131"> 23</a></span><a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1requireAny.html#abcfb1d38b5ca8f2cee57ae94e70c8131">requireAny::operator()</a>(<a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1Env.html">Env</a>&amp; env)<span class="keyword"> const</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> env.<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1Env.html#ac2e59aeca64d95562a97b5c84e902d7b">test</a>.<a class="code hl_function" href="classbeast_1_1unit__test_1_1suite.html#ac6fc161c3c00cfbbc9590afe9e4559aa">expect</a>(<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1requireAny.html#a4530300edc4d32c342bd85a3992fc151">cb_</a>());</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</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><a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/unordered_map.html">std::unordered_map&lt;std::string, Account&gt;</a></div>
<div class="foldopen" id="foldopen00029" data-start="{" data-end="}">
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"><a class="line" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aece17676957202541e2245a9861381c3"> 29</a></span><a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aece17676957202541e2245a9861381c3">MPTTester::makeHolders</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;Account&gt;</a> <span class="keyword">const</span>&amp; holders)</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span>{</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/unordered_map.html">std::unordered_map&lt;std::string, Account&gt;</a> accounts;</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span> <span class="keyword">const</span>&amp; h : holders)</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> {</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <span class="keywordflow">if</span> (accounts.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/unordered_map/find.html">find</a>(h.human()) != accounts.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/unordered_map/end.html">cend</a>())</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> Throw&lt;std::runtime_error&gt;(<span class="stringliteral">&quot;Duplicate holder&quot;</span>);</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> accounts.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/unordered_map/emplace.html">emplace</a>(h.human(), h);</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> }</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> <span class="keywordflow">return</span> accounts;</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span>}</div>
</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> </div>
<div class="foldopen" id="foldopen00041" data-start="{" data-end="}">
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"><a class="line" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a15b177794a964c913e9ca9ec226f6dcb"> 41</a></span><a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a15b177794a964c913e9ca9ec226f6dcb">MPTTester::MPTTester</a>(<a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1Env.html">Env</a>&amp; env, <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1Account.html">Account</a> <span class="keyword">const</span>&amp; issuer, <a class="code hl_struct" href="structxrpl_1_1test_1_1jtx_1_1MPTInit.html">MPTInit</a> <span class="keyword">const</span>&amp; arg)</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> : env_(env), issuer_(issuer), holders_(makeHolders(arg.holders)), close_(arg.close)</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span>{</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <span class="keywordflow">if</span> (arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTInit.html#a5aa5a9bab4c8e9993fe8c652d275c70b">fund</a>)</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> <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aaec4c507bb92161d087ce02aeff521dc">env_</a>.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Env.html#a5bb0bdfba5b61e9c7de31524ab04cd5b">fund</a>(arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTInit.html#ada7b6d49e2eee415886c10aaa6f0d4e7">xrp</a>, <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a88c4f604baccfe7ec52929646234fe99">issuer_</a>);</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span> it : <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a1214ce81960880ad8f49a22aebd34b0b">holders_</a>)</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aaec4c507bb92161d087ce02aeff521dc">env_</a>.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Env.html#a5bb0bdfba5b61e9c7de31524ab04cd5b">fund</a>(arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTInit.html#af014c2b16b45a542a32675db41cedf68">xrpHolders</a>, it.second);</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="keywordflow">if</span> (<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a86eaee5413793aee72c997b9ad2a113f">close_</a>)</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> env.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Env.html#a0e3c16e11ba7ddebd9d9eb1112f59dce">close</a>();</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <span class="keywordflow">if</span> (arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTInit.html#a5aa5a9bab4c8e9993fe8c652d275c70b">fund</a>)</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> {</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aaec4c507bb92161d087ce02aeff521dc">env_</a>.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Env.html#af7d9ac71b3ca193f66ca3703595d7e40">require</a>(<a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1owners.html">owners</a>(<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a88c4f604baccfe7ec52929646234fe99">issuer_</a>, 0));</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span> it : <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a1214ce81960880ad8f49a22aebd34b0b">holders_</a>)</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="keywordflow">if</span> (<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a88c4f604baccfe7ec52929646234fe99">issuer_</a>.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Account.html#aefcff537de98b56ea2f59a9b618cd246">id</a>() == it.second.id())</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> Throw&lt;std::runtime_error&gt;(<span class="stringliteral">&quot;Issuer can&#39;t be holder&quot;</span>);</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aaec4c507bb92161d087ce02aeff521dc">env_</a>.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Env.html#af7d9ac71b3ca193f66ca3703595d7e40">require</a>(<a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1owners.html">owners</a>(it.second, 0));</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> }</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <span class="keywordflow">if</span> (arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTInit.html#a08696ed27a22a208272f4bd1883752e5">create</a>)</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a3584a8ceedb3ac4f3a590c472c09cbed">create</a>(*arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTInit.html#a08696ed27a22a208272f4bd1883752e5">create</a>);</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span>}</div>
</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> </div>
<div class="foldopen" id="foldopen00066" data-start="{" data-end="}">
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"><a class="line" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a897e33c712aae2a264a937a02ad4eebc"> 66</a></span><a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a15b177794a964c913e9ca9ec226f6dcb">MPTTester::MPTTester</a>(<a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1Env.html">Env</a>&amp; env, <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1Account.html">Account</a> <span class="keyword">const</span>&amp; issuer, <a class="code hl_class" href="classxrpl_1_1base__uint.html">MPTID</a> <span class="keyword">const</span>&amp; <span class="keywordtype">id</span>, <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;Account&gt;</a> <span class="keyword">const</span>&amp; holders, <span class="keywordtype">bool</span> close)</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> : env_(env), issuer_(issuer), holders_(makeHolders(holders)), id_(id), close_(close)</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span>{</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span>}</div>
</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> </div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span><span class="keyword">static</span> <a class="code hl_struct" href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html">MPTCreate</a></div>
<div class="foldopen" id="foldopen00072" data-start="{" data-end="}">
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"><a class="line" href="namespacexrpl_1_1test_1_1jtx.html#a1b3dae778cc37b94f5fb59e65881a560"> 72</a></span><a class="code hl_function" href="namespacexrpl_1_1test_1_1jtx.html#a1b3dae778cc37b94f5fb59e65881a560">makeMPTCreate</a>(<a class="code hl_struct" href="structxrpl_1_1test_1_1jtx_1_1MPTInitDef.html">MPTInitDef</a> <span class="keyword">const</span>&amp; arg)</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span>{</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <span class="keywordflow">if</span> (arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTInitDef.html#aa122e904599b0aed38d0f24a2cc7def9">pay</a>)</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <span class="keywordflow">return</span> {</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> .<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#aa2175dc9cb83a776cc11e2d823ee37da">maxAmt</a> = arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTInitDef.html#a6998f836a4018b1616565c9e4985902f">maxAmt</a>,</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> .transferFee = arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTInitDef.html#a300bb350188a1809590262a1ecc53f6a">transferFee</a>,</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> .pay = {{arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTInitDef.html#a9555356778827f6f77f2295c7bfe443b">holders</a>, *arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTInitDef.html#aa122e904599b0aed38d0f24a2cc7def9">pay</a>}},</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> .flags = arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTInitDef.html#a402b6966cdb2f117c08b384d6b79f77e">flags</a>,</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> .authHolder = arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTInitDef.html#a5332c095410ab00b3c47f94f3938b865">authHolder</a>};</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> <span class="keywordflow">return</span> {</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> .maxAmt = arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTInitDef.html#a6998f836a4018b1616565c9e4985902f">maxAmt</a>,</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> .transferFee = arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTInitDef.html#a300bb350188a1809590262a1ecc53f6a">transferFee</a>,</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> .authorize = arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTInitDef.html#a9555356778827f6f77f2295c7bfe443b">holders</a>,</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> .flags = arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTInitDef.html#a402b6966cdb2f117c08b384d6b79f77e">flags</a>,</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> .authHolder = arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTInitDef.html#a5332c095410ab00b3c47f94f3938b865">authHolder</a>};</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span>}</div>
</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> </div>
<div class="foldopen" id="foldopen00089" data-start="{" data-end="}">
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"><a class="line" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a3320d33edcfb1e4841b4bc8b2eeb025b"> 89</a></span><a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a15b177794a964c913e9ca9ec226f6dcb">MPTTester::MPTTester</a>(<a class="code hl_struct" href="structxrpl_1_1test_1_1jtx_1_1MPTInitDef.html">MPTInitDef</a> <span class="keyword">const</span>&amp; arg)</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> : <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html">MPTTester</a>{arg.env, arg.issuer, <a class="code hl_struct" href="structxrpl_1_1test_1_1jtx_1_1MPTInit.html">MPTInit</a>{.<a class="code hl_function" href="namespacexrpl_1_1test_1_1jtx.html#a2d1b480ddb9bb6d8bc3f067200c5e53b">fund</a> = arg.<a class="code hl_function" href="namespacexrpl_1_1test_1_1jtx.html#a2d1b480ddb9bb6d8bc3f067200c5e53b">fund</a>, .close = arg.close, .<a class="code hl_function" href="namespacexrpl_1_1test_1_1jtx_1_1paychan.html#ab8acc77a1d55bacb09386215d5c98769">create</a> = <a class="code hl_function" href="namespacexrpl_1_1test_1_1jtx.html#a1b3dae778cc37b94f5fb59e65881a560">makeMPTCreate</a>(arg)}}</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span>{</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span>}</div>
</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> </div>
<div class="foldopen" id="foldopen00094" data-start="{" data-end="}">
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"><a class="line" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a373ab13b697ba0e20d840adf73c74a2b"> 94</a></span>MPTTester::operator <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1MPT.html">MPT</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <span class="keywordflow">if</span> (!id_)</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> Throw&lt;std::runtime_error&gt;(<span class="stringliteral">&quot;MPT has not been created&quot;</span>);</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <span class="keywordflow">return</span> <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1MPT.html">MPT</a>(<span class="stringliteral">&quot;&quot;</span>, *id_);</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span>}</div>
</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> </div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span><a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a></div>
<div class="foldopen" id="foldopen00102" data-start="{" data-end="}">
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"><a class="line" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#ac4e769f0d16d9267afded2825ce6c66b"> 102</a></span><a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#ac4e769f0d16d9267afded2825ce6c66b">MPTTester::createjv</a>(<a class="code hl_struct" href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html">MPTCreate</a> <span class="keyword">const</span>&amp; arg)</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> <span class="keywordflow">if</span> (!arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#ab8cf20edfa53de2cd98e3a38095c3500">issuer</a>)</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> Throw&lt;std::runtime_error&gt;(<span class="stringliteral">&quot;MPTTester::createjv: issuer is not set&quot;</span>);</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> <a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a> jv;</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> jv[sfAccount] = arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#ab8cf20edfa53de2cd98e3a38095c3500">issuer</a>-&gt;human();</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> <span class="keywordflow">if</span> (arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#a02f4a4de36728db8bb5a973a4d2f165e">assetScale</a>)</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> jv[sfAssetScale] = *arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#a02f4a4de36728db8bb5a973a4d2f165e">assetScale</a>;</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> <span class="keywordflow">if</span> (arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#acfe77ab8187b62b68d69e77cadbd372e">transferFee</a>)</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> jv[sfTransferFee] = *arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#acfe77ab8187b62b68d69e77cadbd372e">transferFee</a>;</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> <span class="keywordflow">if</span> (arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#a70f4335b1f21cec49afb5a1e974824df">metadata</a>)</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> jv[sfMPTokenMetadata] = <a class="code hl_function" href="namespacexrpl.html#a36b95700599f590017b5912e220baf5b">strHex</a>(*arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#a70f4335b1f21cec49afb5a1e974824df">metadata</a>);</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> <span class="keywordflow">if</span> (arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#aa2175dc9cb83a776cc11e2d823ee37da">maxAmt</a>)</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> jv[sfMaximumAmount] = <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/string/basic_string/to_string.html">std::to_string</a>(*arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#aa2175dc9cb83a776cc11e2d823ee37da">maxAmt</a>);</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <span class="keywordflow">if</span> (arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#a7fa91d22de4fc1cdda5d746d27a8b580">domainID</a>)</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> jv[sfDomainID] = <a class="code hl_function" href="namespacexrpl.html#a35ce7572092b98720a52fa343c6f2fa9">to_string</a>(*arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#a7fa91d22de4fc1cdda5d746d27a8b580">domainID</a>);</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> <span class="keywordflow">if</span> (arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#a32f3a92a1962e00c09806ea4e26c2e46">mutableFlags</a>)</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> jv[sfMutableFlags] = *arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#a32f3a92a1962e00c09806ea4e26c2e46">mutableFlags</a>;</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> jv[sfTransactionType] = jss::MPTokenIssuanceCreate;</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="keywordflow">return</span> jv;</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span>}</div>
</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> </div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span><span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00126" data-start="{" data-end="}">
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"><a class="line" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a3584a8ceedb3ac4f3a590c472c09cbed"> 126</a></span><a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a3584a8ceedb3ac4f3a590c472c09cbed">MPTTester::create</a>(<a class="code hl_struct" href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html">MPTCreate</a> <span class="keyword">const</span>&amp; arg)</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span>{</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a1c57c4d5f3501d411fe64b6715b193e6">id_</a>)</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> Throw&lt;std::runtime_error&gt;(<span class="stringliteral">&quot;MPT can&#39;t be reused&quot;</span>);</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a1c57c4d5f3501d411fe64b6715b193e6">id_</a> = <a class="code hl_function" href="namespacexrpl.html#af2bcbebb809c9aba5680fc7beb0724d2">makeMptID</a>(<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aaec4c507bb92161d087ce02aeff521dc">env_</a>.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Env.html#a7e2bf847bf817405a5d8db448d8b4f6f">seq</a>(<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a88c4f604baccfe7ec52929646234fe99">issuer_</a>), <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a88c4f604baccfe7ec52929646234fe99">issuer_</a>);</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> <a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a> jv = <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#ac4e769f0d16d9267afded2825ce6c66b">createjv</a>(</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> {.issuer = <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a88c4f604baccfe7ec52929646234fe99">issuer_</a>,</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> .maxAmt = arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#aa2175dc9cb83a776cc11e2d823ee37da">maxAmt</a>,</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> .assetScale = arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#a02f4a4de36728db8bb5a973a4d2f165e">assetScale</a>,</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> .transferFee = arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#acfe77ab8187b62b68d69e77cadbd372e">transferFee</a>,</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> .metadata = arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#a70f4335b1f21cec49afb5a1e974824df">metadata</a>,</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> .mutableFlags = arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#a32f3a92a1962e00c09806ea4e26c2e46">mutableFlags</a>,</div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> .domainID = arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#a7fa91d22de4fc1cdda5d746d27a8b580">domainID</a>});</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a9071dad35da785c3a4c2f236d90cec72">submit</a>(arg, jv) != <a class="code hl_enumvalue" href="namespacexrpl.html#af4adbbe94a1cecf1bd3ad2c76ff1ea3da157dace29a657c58cdeb4f7fa19be976">tesSUCCESS</a>)</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> {</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> <span class="comment">// Verify issuance doesn&#39;t exist</span></div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aaec4c507bb92161d087ce02aeff521dc">env_</a>.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Env.html#af7d9ac71b3ca193f66ca3703595d7e40">require</a>(<a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1requireAny.html">requireAny</a>([&amp;]() -&gt; <span class="keywordtype">bool</span> { <span class="keywordflow">return</span> <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aaec4c507bb92161d087ce02aeff521dc">env_</a>.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Env.html#a53bd0932e3b83e13c1233076afb31e79">le</a>(<a class="code hl_function" href="namespacexrpl_1_1keylet.html#a77d91a4fd20b17d44ccb32b4e9ae2d9b">keylet::mptIssuance</a>(*<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a1c57c4d5f3501d411fe64b6715b193e6">id_</a>)) == <span class="keyword">nullptr</span>; }));</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> </div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a1c57c4d5f3501d411fe64b6715b193e6">id_</a>.reset();</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> }</div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> {</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aaec4c507bb92161d087ce02aeff521dc">env_</a>.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Env.html#af7d9ac71b3ca193f66ca3703595d7e40">require</a>(<a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1mptflags.html">mptflags</a>(*<span class="keyword">this</span>, arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#a7e931793ec34337b63af3a462ed1007c">flags</a>.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/utility/optional/value_or.html">value_or</a>(0)));</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> <span class="keyword">auto</span> authAndPay = [&amp;](<span class="keyword">auto</span> <span class="keyword">const</span>&amp; accts, <span class="keyword">auto</span> <span class="keyword">const</span>&amp;&amp; getAcct) {</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span> <span class="keyword">const</span>&amp; it : accts)</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> {</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a65c17f9abbed1175a1f3ad608a020494">authorize</a>({.account = getAcct(it)});</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> <span class="keywordflow">if</span> ((arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#a7e931793ec34337b63af3a462ed1007c">flags</a>.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/utility/optional/value_or.html">value_or</a>(0) &amp; <a class="code hl_variable" href="namespacexrpl.html#a3b504b2dedf069a5041193be2504e319">tfMPTRequireAuth</a>) &amp;&amp; arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#a53aab434655945b60db3287c2e0ef60d">authHolder</a>)</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a65c17f9abbed1175a1f3ad608a020494">authorize</a>({.account = <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a88c4f604baccfe7ec52929646234fe99">issuer_</a>, .holder = getAcct(it)});</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> <span class="keywordflow">if</span> (arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#abada753e1b688d6254839fb1af420ecc">pay</a> &amp;&amp; arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#abada753e1b688d6254839fb1af420ecc">pay</a>-&gt;first.empty())</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a2676c5338f78643a7a133a77b5141282">pay</a>(<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a88c4f604baccfe7ec52929646234fe99">issuer_</a>, getAcct(it), arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#abada753e1b688d6254839fb1af420ecc">pay</a>-&gt;second);</div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> }</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> <span class="keywordflow">if</span> (arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#abada753e1b688d6254839fb1af420ecc">pay</a>)</div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> {</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span> <span class="keyword">const</span>&amp; p : arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#abada753e1b688d6254839fb1af420ecc">pay</a>-&gt;first)</div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a2676c5338f78643a7a133a77b5141282">pay</a>(<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a88c4f604baccfe7ec52929646234fe99">issuer_</a>, p, arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#abada753e1b688d6254839fb1af420ecc">pay</a>-&gt;second);</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> }</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> };</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> <span class="keywordflow">if</span> (arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#af08c6964338c41ff31bdd41f9dd9f2c6">authorize</a>)</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> {</div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> <span class="keywordflow">if</span> (arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#af08c6964338c41ff31bdd41f9dd9f2c6">authorize</a>-&gt;empty())</div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> authAndPay(<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a1214ce81960880ad8f49a22aebd34b0b">holders_</a>, [](<span class="keyword">auto</span> <span class="keyword">const</span>&amp; it) { <span class="keywordflow">return</span> it.second; });</div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> authAndPay(*arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#af08c6964338c41ff31bdd41f9dd9f2c6">authorize</a>, [](<span class="keyword">auto</span> <span class="keyword">const</span>&amp; it) { return it; });</div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> }</div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#abada753e1b688d6254839fb1af420ecc">pay</a>)</div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> {</div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> <span class="keywordflow">if</span> (arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#abada753e1b688d6254839fb1af420ecc">pay</a>-&gt;first.empty())</div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> authAndPay(<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a1214ce81960880ad8f49a22aebd34b0b">holders_</a>, [](<span class="keyword">auto</span> <span class="keyword">const</span>&amp; it) { <span class="keywordflow">return</span> it.second; });</div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> authAndPay(arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#abada753e1b688d6254839fb1af420ecc">pay</a>-&gt;first, [](<span class="keyword">auto</span> <span class="keyword">const</span>&amp; it) { return it; });</div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> }</div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> }</div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span>}</div>
</div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> </div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span><a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a></div>
<div class="foldopen" id="foldopen00182" data-start="{" data-end="}">
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"><a class="line" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#ac418df1709a7a90c4c36ed6926701d86"> 182</a></span><a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#ac418df1709a7a90c4c36ed6926701d86">MPTTester::destroyjv</a>(<a class="code hl_struct" href="structxrpl_1_1test_1_1jtx_1_1MPTDestroy.html">MPTDestroy</a> <span class="keyword">const</span>&amp; arg)</div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span>{</div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> <a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a> jv;</div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> <span class="keywordflow">if</span> (!arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTDestroy.html#a21b36f715eaa866de25e9cf385396450">issuer</a> || !arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTDestroy.html#aa26c54343964d914f56cf1aaf5a63365">id</a>)</div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> Throw&lt;std::runtime_error&gt;(<span class="stringliteral">&quot;MPTTester::destroyjv: issuer/id is not set&quot;</span>);</div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> jv[sfAccount] = arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTDestroy.html#a21b36f715eaa866de25e9cf385396450">issuer</a>-&gt;human();</div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> jv[sfMPTokenIssuanceID] = <a class="code hl_function" href="namespacexrpl.html#a35ce7572092b98720a52fa343c6f2fa9">to_string</a>(*arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTDestroy.html#aa26c54343964d914f56cf1aaf5a63365">id</a>);</div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> jv[sfTransactionType] = jss::MPTokenIssuanceDestroy;</div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> </div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> <span class="keywordflow">return</span> jv;</div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span>}</div>
</div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> </div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span><span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00195" data-start="{" data-end="}">
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"><a class="line" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#acf91974921093aaf9862a7ba130199ac"> 195</a></span><a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#acf91974921093aaf9862a7ba130199ac">MPTTester::destroy</a>(<a class="code hl_struct" href="structxrpl_1_1test_1_1jtx_1_1MPTDestroy.html">MPTDestroy</a> <span class="keyword">const</span>&amp; arg)</div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span>{</div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> <span class="keywordflow">if</span> (!arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTDestroy.html#aa26c54343964d914f56cf1aaf5a63365">id</a> &amp;&amp; !<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a1c57c4d5f3501d411fe64b6715b193e6">id_</a>)</div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> Throw&lt;std::runtime_error&gt;(<span class="stringliteral">&quot;MPT has not been created&quot;</span>);</div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> <a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a> jv = <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#ac418df1709a7a90c4c36ed6926701d86">destroyjv</a>({.issuer = arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTDestroy.html#a21b36f715eaa866de25e9cf385396450">issuer</a> ? arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTDestroy.html#a21b36f715eaa866de25e9cf385396450">issuer</a> : <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a88c4f604baccfe7ec52929646234fe99">issuer_</a>, .<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Account.html#aefcff537de98b56ea2f59a9b618cd246">id</a> = arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTDestroy.html#aa26c54343964d914f56cf1aaf5a63365">id</a> ? arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTDestroy.html#aa26c54343964d914f56cf1aaf5a63365">id</a> : <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a1c57c4d5f3501d411fe64b6715b193e6">id_</a>});</div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a9071dad35da785c3a4c2f236d90cec72">submit</a>(arg, jv);</div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span>}</div>
</div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> </div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span><a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1Account.html">Account</a> <span class="keyword">const</span>&amp;</div>
<div class="foldopen" id="foldopen00204" data-start="{" data-end="}">
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"><a class="line" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a34ab7f3371665e12e787d7d9ab7a6c7a"> 204</a></span><a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a34ab7f3371665e12e787d7d9ab7a6c7a">MPTTester::holder</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>&amp; holder_)<span class="keyword"> const</span></div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> <span class="keyword">auto</span> <span class="keyword">const</span>&amp; it = <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a1214ce81960880ad8f49a22aebd34b0b">holders_</a>.find(holder_);</div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> <span class="keywordflow">if</span> (it == <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a1214ce81960880ad8f49a22aebd34b0b">holders_</a>.cend())</div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> Throw&lt;std::runtime_error&gt;(<span class="stringliteral">&quot;Holder is not found&quot;</span>);</div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> <span class="keywordflow">return</span> it-&gt;second;</div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span>}</div>
</div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> </div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span><a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a></div>
<div class="foldopen" id="foldopen00213" data-start="{" data-end="}">
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"><a class="line" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#acd69d0eceb17c518fd21a2889ec6d766"> 213</a></span><a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#acd69d0eceb17c518fd21a2889ec6d766">MPTTester::authorizejv</a>(<a class="code hl_struct" href="structxrpl_1_1test_1_1jtx_1_1MPTAuthorize.html">MPTAuthorize</a> <span class="keyword">const</span>&amp; arg)</div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span>{</div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> <a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a> jv;</div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> <span class="keywordflow">if</span> (!arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTAuthorize.html#aa56fc5bd381cbd7de74b092b64503422">account</a> || !arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTAuthorize.html#ac27b717ef5cb5cc7b21c245ee3f57ed4">id</a>)</div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> Throw&lt;std::runtime_error&gt;(<span class="stringliteral">&quot;MPTTester::authorizejv: issuer/id is not set&quot;</span>);</div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> jv[sfAccount] = arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTAuthorize.html#aa56fc5bd381cbd7de74b092b64503422">account</a>-&gt;human();</div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> jv[sfMPTokenIssuanceID] = <a class="code hl_function" href="namespacexrpl.html#a35ce7572092b98720a52fa343c6f2fa9">to_string</a>(*arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTAuthorize.html#ac27b717ef5cb5cc7b21c245ee3f57ed4">id</a>);</div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> <span class="keywordflow">if</span> (arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTAuthorize.html#a43c056caa26b5b45c3b267c7e6e4ba1d">holder</a>)</div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> jv[sfHolder] = arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTAuthorize.html#a43c056caa26b5b45c3b267c7e6e4ba1d">holder</a>-&gt;human();</div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> jv[sfTransactionType] = jss::MPTokenAuthorize;</div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> </div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> <span class="keywordflow">return</span> jv;</div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span>}</div>
</div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> </div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span><span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00228" data-start="{" data-end="}">
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"><a class="line" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a65c17f9abbed1175a1f3ad608a020494"> 228</a></span><a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a65c17f9abbed1175a1f3ad608a020494">MPTTester::authorize</a>(<a class="code hl_struct" href="structxrpl_1_1test_1_1jtx_1_1MPTAuthorize.html">MPTAuthorize</a> <span class="keyword">const</span>&amp; arg)</div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span>{</div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> <span class="keywordflow">if</span> (!arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTAuthorize.html#ac27b717ef5cb5cc7b21c245ee3f57ed4">id</a> &amp;&amp; !<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a1c57c4d5f3501d411fe64b6715b193e6">id_</a>)</div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> Throw&lt;std::runtime_error&gt;(<span class="stringliteral">&quot;MPT has not been created&quot;</span>);</div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> <a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a> jv = <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#acd69d0eceb17c518fd21a2889ec6d766">authorizejv</a>({</div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> .account = arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTAuthorize.html#aa56fc5bd381cbd7de74b092b64503422">account</a> ? arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTAuthorize.html#aa56fc5bd381cbd7de74b092b64503422">account</a> : <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a88c4f604baccfe7ec52929646234fe99">issuer_</a>,</div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span> .holder = arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTAuthorize.html#a43c056caa26b5b45c3b267c7e6e4ba1d">holder</a>,</div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> .id = arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTAuthorize.html#ac27b717ef5cb5cc7b21c245ee3f57ed4">id</a> ? arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTAuthorize.html#ac27b717ef5cb5cc7b21c245ee3f57ed4">id</a> : <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a1c57c4d5f3501d411fe64b6715b193e6">id_</a>,</div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> });</div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> <span class="keywordflow">if</span> (<span class="keyword">auto</span> <span class="keyword">const</span> result = <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a9071dad35da785c3a4c2f236d90cec72">submit</a>(arg, jv); result == <a class="code hl_enumvalue" href="namespacexrpl.html#af4adbbe94a1cecf1bd3ad2c76ff1ea3da157dace29a657c58cdeb4f7fa19be976">tesSUCCESS</a>)</div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> {</div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span> <span class="comment">// Issuer authorizes</span></div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span> <span class="keywordflow">if</span> (!arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTAuthorize.html#aa56fc5bd381cbd7de74b092b64503422">account</a> || *arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTAuthorize.html#aa56fc5bd381cbd7de74b092b64503422">account</a> == <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a88c4f604baccfe7ec52929646234fe99">issuer_</a>)</div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> {</div>
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span> <span class="keyword">auto</span> <span class="keyword">const</span> <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1flags.html">flags</a> = <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aeb7680b708ed7a7ce47c3b3828bce9a6">getFlags</a>(arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTAuthorize.html#a43c056caa26b5b45c3b267c7e6e4ba1d">holder</a>);</div>
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span> <span class="comment">// issuer un-authorizes the holder</span></div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> <span class="keywordflow">if</span> (arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTAuthorize.html#ae4a56b3928f48ec1cba3acd468eab6ac">flags</a>.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/utility/optional/value_or.html">value_or</a>(0) == <a class="code hl_variable" href="namespacexrpl.html#aae07b590d51f8a8c8d93dfb4b05b1032">tfMPTUnauthorize</a>)</div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aaec4c507bb92161d087ce02aeff521dc">env_</a>.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Env.html#af7d9ac71b3ca193f66ca3703595d7e40">require</a>(<a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1mptflags.html">mptflags</a>(*<span class="keyword">this</span>, <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1flags.html">flags</a>, arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTAuthorize.html#a43c056caa26b5b45c3b267c7e6e4ba1d">holder</a>));</div>
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> <span class="comment">// issuer authorizes the holder</span></div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aaec4c507bb92161d087ce02aeff521dc">env_</a>.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Env.html#af7d9ac71b3ca193f66ca3703595d7e40">require</a>(<a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1mptflags.html">mptflags</a>(*<span class="keyword">this</span>, <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1flags.html">flags</a> | <a class="code hl_enumvalue" href="namespacexrpl.html#ada4805619214865518ed8c0b54a71bc1a81b9ddff6289c440ee479d861eb5405d">lsfMPTAuthorized</a>, arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTAuthorize.html#a43c056caa26b5b45c3b267c7e6e4ba1d">holder</a>));</div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> }</div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> <span class="comment">// Holder authorizes</span></div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTAuthorize.html#ae4a56b3928f48ec1cba3acd468eab6ac">flags</a>.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/utility/optional/value_or.html">value_or</a>(0) != <a class="code hl_variable" href="namespacexrpl.html#aae07b590d51f8a8c8d93dfb4b05b1032">tfMPTUnauthorize</a>)</div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> {</div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> <span class="keyword">auto</span> <span class="keyword">const</span> <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1flags.html">flags</a> = <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aeb7680b708ed7a7ce47c3b3828bce9a6">getFlags</a>(arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTAuthorize.html#aa56fc5bd381cbd7de74b092b64503422">account</a>);</div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> <span class="comment">// holder creates a token</span></div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aaec4c507bb92161d087ce02aeff521dc">env_</a>.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Env.html#af7d9ac71b3ca193f66ca3703595d7e40">require</a>(<a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1mptflags.html">mptflags</a>(*<span class="keyword">this</span>, <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1flags.html">flags</a>, arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTAuthorize.html#aa56fc5bd381cbd7de74b092b64503422">account</a>));</div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aaec4c507bb92161d087ce02aeff521dc">env_</a>.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Env.html#af7d9ac71b3ca193f66ca3703595d7e40">require</a>(<a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1mptbalance.html">mptbalance</a>(*<span class="keyword">this</span>, *arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTAuthorize.html#aa56fc5bd381cbd7de74b092b64503422">account</a>, 0));</div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span> }</div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> {</div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> <span class="comment">// Verify that the MPToken doesn&#39;t exist.</span></div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span> <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a18a84eba6f43fcdacb46936841a3ddcc">forObject</a>([&amp;](<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">SLEP</a> <span class="keyword">const</span>&amp; sle) { <span class="keywordflow">return</span> <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aaec4c507bb92161d087ce02aeff521dc">env_</a>.<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1Env.html#ac2e59aeca64d95562a97b5c84e902d7b">test</a>.BEAST_EXPECT(!sle); }, arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTAuthorize.html#aa56fc5bd381cbd7de74b092b64503422">account</a>);</div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span> }</div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> }</div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTAuthorize.html#aa56fc5bd381cbd7de74b092b64503422">account</a> &amp;&amp; *arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTAuthorize.html#aa56fc5bd381cbd7de74b092b64503422">account</a> != <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a88c4f604baccfe7ec52929646234fe99">issuer_</a> &amp;&amp; arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTAuthorize.html#ae4a56b3928f48ec1cba3acd468eab6ac">flags</a>.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/utility/optional/value_or.html">value_or</a>(0) != <a class="code hl_variable" href="namespacexrpl.html#aae07b590d51f8a8c8d93dfb4b05b1032">tfMPTUnauthorize</a> &amp;&amp; <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a1c57c4d5f3501d411fe64b6715b193e6">id_</a>)</div>
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> {</div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span> <span class="keywordflow">if</span> (result == <a class="code hl_enumvalue" href="namespacexrpl.html#ad78c115958eec639754bf9227f58556baf32cb7d951bbd9da39a402a16cfbcb5a">tecDUPLICATE</a>)</div>
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span> {</div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> <span class="comment">// Verify that MPToken already exists</span></div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aaec4c507bb92161d087ce02aeff521dc">env_</a>.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Env.html#af7d9ac71b3ca193f66ca3703595d7e40">require</a>(</div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1requireAny.html">requireAny</a>([&amp;]() -&gt; <span class="keywordtype">bool</span> { <span class="keywordflow">return</span> <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aaec4c507bb92161d087ce02aeff521dc">env_</a>.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Env.html#a53bd0932e3b83e13c1233076afb31e79">le</a>(<a class="code hl_function" href="namespacexrpl_1_1keylet.html#ab3ec6c5e531adf3b2fbee3a984c3d453">keylet::mptoken</a>(*<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a1c57c4d5f3501d411fe64b6715b193e6">id_</a>, arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTAuthorize.html#aa56fc5bd381cbd7de74b092b64503422">account</a>-&gt;id())) != <span class="keyword">nullptr</span>; }));</div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> }</div>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> {</div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span> <span class="comment">// Verify MPToken doesn&#39;t exist if holder failed authorizing(unless</span></div>
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> <span class="comment">// it already exists)</span></div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aaec4c507bb92161d087ce02aeff521dc">env_</a>.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Env.html#af7d9ac71b3ca193f66ca3703595d7e40">require</a>(</div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1requireAny.html">requireAny</a>([&amp;]() -&gt; <span class="keywordtype">bool</span> { <span class="keywordflow">return</span> <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aaec4c507bb92161d087ce02aeff521dc">env_</a>.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Env.html#a53bd0932e3b83e13c1233076afb31e79">le</a>(<a class="code hl_function" href="namespacexrpl_1_1keylet.html#ab3ec6c5e531adf3b2fbee3a984c3d453">keylet::mptoken</a>(*<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a1c57c4d5f3501d411fe64b6715b193e6">id_</a>, arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTAuthorize.html#aa56fc5bd381cbd7de74b092b64503422">account</a>-&gt;id())) == <span class="keyword">nullptr</span>; }));</div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span> }</div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span> }</div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span>}</div>
</div>
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span> </div>
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</span><span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00283" data-start="{" data-end="}">
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"><a class="line" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a52b35df884a0e968c4e5d720386a5713"> 283</a></span><a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a52b35df884a0e968c4e5d720386a5713">MPTTester::authorizeHolders</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">Holders</a> <span class="keyword">const</span>&amp; holders)</div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span>{</div>
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span> <span class="keyword">const</span>&amp; <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a34ab7f3371665e12e787d7d9ab7a6c7a">holder</a> : holders)</div>
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span> {</div>
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span> <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a65c17f9abbed1175a1f3ad608a020494">authorize</a>({.account = <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a34ab7f3371665e12e787d7d9ab7a6c7a">holder</a>});</div>
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span> }</div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span>}</div>
</div>
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"> 290</span> </div>
<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"> 291</span><a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a></div>
<div class="foldopen" id="foldopen00292" data-start="{" data-end="}">
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"><a class="line" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#abc8d3f0010fe83f60dc0b50fab2cf45e"> 292</a></span><a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#abc8d3f0010fe83f60dc0b50fab2cf45e">MPTTester::setjv</a>(<a class="code hl_struct" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html">MPTSet</a> <span class="keyword">const</span>&amp; arg)</div>
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span>{</div>
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"> 294</span> <a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a> jv;</div>
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span> <span class="keywordflow">if</span> (!arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a07b627cec654338f0638964a5fb34ad8">account</a> || !arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a448251da4a203fe1a05144e9cb5f735b">id</a>)</div>
<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</span> Throw&lt;std::runtime_error&gt;(<span class="stringliteral">&quot;MPTTester::setjv: issuer/id is not set&quot;</span>);</div>
<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"> 297</span> jv[sfAccount] = arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a07b627cec654338f0638964a5fb34ad8">account</a>-&gt;human();</div>
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"> 298</span> jv[sfMPTokenIssuanceID] = <a class="code hl_function" href="namespacexrpl.html#a35ce7572092b98720a52fa343c6f2fa9">to_string</a>(*arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a448251da4a203fe1a05144e9cb5f735b">id</a>);</div>
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span> <span class="keywordflow">if</span> (arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a8765f3d3a2c06fa48fc5ba36131b9fca">holder</a>)</div>
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span> {</div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span> <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/utility/variant/visit.html">std::visit</a>(</div>
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"> 302</span> [&amp;jv]&lt;<span class="keyword">typename</span> T&gt;(T <span class="keyword">const</span>&amp; <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a34ab7f3371665e12e787d7d9ab7a6c7a">holder</a>) {</div>
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"> 303</span> <span class="keywordflow">if</span> <span class="keyword">constexpr</span> (<a class="code hl_variableRef" href="http://en.cppreference.com/w/cpp/types/is_same.html">std::is_same_v&lt;T, Account&gt;</a>)</div>
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"> 304</span> jv[sfHolder] = <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a34ab7f3371665e12e787d7d9ab7a6c7a">holder</a>.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Account.html#a26a750f85953905d4d29b1477a38ea37">human</a>();</div>
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> <span class="keyword">constexpr</span> (<a class="code hl_variableRef" href="http://en.cppreference.com/w/cpp/types/is_same.html">std::is_same_v&lt;T, AccountID&gt;</a>)</div>
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span> jv[sfHolder] = <a class="code hl_function" href="namespacexrpl.html#a4e17e8237bc800415c303501c667baeb">toBase58</a>(<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a34ab7f3371665e12e787d7d9ab7a6c7a">holder</a>);</div>
<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"> 307</span> },</div>
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span> *arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a8765f3d3a2c06fa48fc5ba36131b9fca">holder</a>);</div>
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"> 309</span> }</div>
<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"> 310</span> </div>
<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"> 311</span> <span class="keywordflow">if</span> (arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#af8c9a91b898ad41bb8e1a85eab90fbb2">delegate</a>)</div>
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"> 312</span> jv[sfDelegate] = arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#af8c9a91b898ad41bb8e1a85eab90fbb2">delegate</a>-&gt;human();</div>
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span> <span class="keywordflow">if</span> (arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a03d29dd1dc4b2099ed80d6459728ab3b">domainID</a>)</div>
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span> jv[sfDomainID] = <a class="code hl_function" href="namespacexrpl.html#a35ce7572092b98720a52fa343c6f2fa9">to_string</a>(*arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a03d29dd1dc4b2099ed80d6459728ab3b">domainID</a>);</div>
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span> <span class="keywordflow">if</span> (arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a8fb70cab5a994edf59282aee891a0a52">mutableFlags</a>)</div>
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span> jv[sfMutableFlags] = *arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a8fb70cab5a994edf59282aee891a0a52">mutableFlags</a>;</div>
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span> <span class="keywordflow">if</span> (arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a7109f39ea394fc17f2abec524a9984f5">transferFee</a>)</div>
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span> jv[sfTransferFee] = *arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a7109f39ea394fc17f2abec524a9984f5">transferFee</a>;</div>
<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"> 319</span> <span class="keywordflow">if</span> (arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a9b5e29b2c4526c8de945363915c91ab9">metadata</a>)</div>
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"> 320</span> jv[sfMPTokenMetadata] = <a class="code hl_function" href="namespacexrpl.html#a36b95700599f590017b5912e220baf5b">strHex</a>(*arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a9b5e29b2c4526c8de945363915c91ab9">metadata</a>);</div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span> jv[sfTransactionType] = jss::MPTokenIssuanceSet;</div>
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span> </div>
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"> 323</span> <span class="keywordflow">return</span> jv;</div>
<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"> 324</span>}</div>
</div>
<div class="line"><a id="l00325" name="l00325"></a><span class="lineno"> 325</span> </div>
<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"> 326</span><span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00327" data-start="{" data-end="}">
<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"><a class="line" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a1991c39ac5c5bd21f7bb3736b811f14f"> 327</a></span><a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a1991c39ac5c5bd21f7bb3736b811f14f">MPTTester::set</a>(<a class="code hl_struct" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html">MPTSet</a> <span class="keyword">const</span>&amp; arg)</div>
<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span>{</div>
<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"> 329</span> <span class="keywordflow">if</span> (!arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a448251da4a203fe1a05144e9cb5f735b">id</a> &amp;&amp; !<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a1c57c4d5f3501d411fe64b6715b193e6">id_</a>)</div>
<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"> 330</span> Throw&lt;std::runtime_error&gt;(<span class="stringliteral">&quot;MPT has not been created&quot;</span>);</div>
<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"> 331</span> <a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a> jv = <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#abc8d3f0010fe83f60dc0b50fab2cf45e">setjv</a>(</div>
<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"> 332</span> {.account = arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a07b627cec654338f0638964a5fb34ad8">account</a> ? arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a07b627cec654338f0638964a5fb34ad8">account</a> : <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a88c4f604baccfe7ec52929646234fe99">issuer_</a>,</div>
<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"> 333</span> .holder = arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a8765f3d3a2c06fa48fc5ba36131b9fca">holder</a>,</div>
<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"> 334</span> .id = arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a448251da4a203fe1a05144e9cb5f735b">id</a> ? arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a448251da4a203fe1a05144e9cb5f735b">id</a> : <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a1c57c4d5f3501d411fe64b6715b193e6">id_</a>,</div>
<div class="line"><a id="l00335" name="l00335"></a><span class="lineno"> 335</span> .mutableFlags = arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a8fb70cab5a994edf59282aee891a0a52">mutableFlags</a>,</div>
<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"> 336</span> .transferFee = arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a7109f39ea394fc17f2abec524a9984f5">transferFee</a>,</div>
<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"> 337</span> .metadata = arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a9b5e29b2c4526c8de945363915c91ab9">metadata</a>,</div>
<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"> 338</span> .delegate = arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#af8c9a91b898ad41bb8e1a85eab90fbb2">delegate</a>,</div>
<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"> 339</span> .domainID = arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a03d29dd1dc4b2099ed80d6459728ab3b">domainID</a>});</div>
<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"> 340</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a9071dad35da785c3a4c2f236d90cec72">submit</a>(arg, jv) == <a class="code hl_enumvalue" href="namespacexrpl.html#af4adbbe94a1cecf1bd3ad2c76ff1ea3da157dace29a657c58cdeb4f7fa19be976">tesSUCCESS</a> &amp;&amp; (arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a7c1ebf8b9b48e24e5f3d2fa15f41297f">flags</a>.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/utility/optional/value_or.html">value_or</a>(0) || arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a8fb70cab5a994edf59282aee891a0a52">mutableFlags</a>))</div>
<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"> 341</span> {</div>
<div class="line"><a id="l00342" name="l00342"></a><span class="lineno"> 342</span> <span class="keyword">auto</span> <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1require.html">require</a> = [&amp;](<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional&lt;Account&gt;</a> <span class="keyword">const</span>&amp; <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a34ab7f3371665e12e787d7d9ab7a6c7a">holder</a>, <span class="keywordtype">bool</span> unchanged) {</div>
<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"> 343</span> <span class="keyword">auto</span> <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1flags.html">flags</a> = <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aeb7680b708ed7a7ce47c3b3828bce9a6">getFlags</a>(<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a34ab7f3371665e12e787d7d9ab7a6c7a">holder</a>);</div>
<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"> 344</span> <span class="keywordflow">if</span> (!unchanged)</div>
<div class="line"><a id="l00345" name="l00345"></a><span class="lineno"> 345</span> {</div>
<div class="line"><a id="l00346" name="l00346"></a><span class="lineno"> 346</span> <span class="keywordflow">if</span> (arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a7c1ebf8b9b48e24e5f3d2fa15f41297f">flags</a>)</div>
<div class="line"><a id="l00347" name="l00347"></a><span class="lineno"> 347</span> {</div>
<div class="line"><a id="l00348" name="l00348"></a><span class="lineno"> 348</span> <span class="keywordflow">if</span> (*arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a7c1ebf8b9b48e24e5f3d2fa15f41297f">flags</a> &amp; <a class="code hl_variable" href="namespacexrpl.html#a91fd197c1aed397d38e1ed3bde3a2d33">tfMPTLock</a>)</div>
<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"> 349</span> <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1flags.html">flags</a> |= <a class="code hl_enumvalue" href="namespacexrpl.html#ada4805619214865518ed8c0b54a71bc1a740c0f905e085fd723d6d45822c17340">lsfMPTLocked</a>;</div>
<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"> 350</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (*arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a7c1ebf8b9b48e24e5f3d2fa15f41297f">flags</a> &amp; <a class="code hl_variable" href="namespacexrpl.html#a65485546d5dd32422663a8d1bcf86c56">tfMPTUnlock</a>)</div>
<div class="line"><a id="l00351" name="l00351"></a><span class="lineno"> 351</span> <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1flags.html">flags</a> &amp;= ~lsfMPTLocked;</div>
<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"> 352</span> }</div>
<div class="line"><a id="l00353" name="l00353"></a><span class="lineno"> 353</span> </div>
<div class="line"><a id="l00354" name="l00354"></a><span class="lineno"> 354</span> <span class="keywordflow">if</span> (arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a8fb70cab5a994edf59282aee891a0a52">mutableFlags</a>)</div>
<div class="line"><a id="l00355" name="l00355"></a><span class="lineno"> 355</span> {</div>
<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"> 356</span> <span class="keywordflow">if</span> (*arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a8fb70cab5a994edf59282aee891a0a52">mutableFlags</a> &amp; <a class="code hl_variable" href="namespacexrpl.html#a85ce0cebdfcd772881b9dd2fa400e50e">tmfMPTSetCanLock</a>)</div>
<div class="line"><a id="l00357" name="l00357"></a><span class="lineno"> 357</span> <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1flags.html">flags</a> |= <a class="code hl_enumvalue" href="namespacexrpl.html#ada4805619214865518ed8c0b54a71bc1a026e4c021a7478544f4bcbf645a1019b">lsfMPTCanLock</a>;</div>
<div class="line"><a id="l00358" name="l00358"></a><span class="lineno"> 358</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (*arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a8fb70cab5a994edf59282aee891a0a52">mutableFlags</a> &amp; <a class="code hl_variable" href="namespacexrpl.html#a1d41aa726bbfffd5fce41a2ef30e7420">tmfMPTClearCanLock</a>)</div>
<div class="line"><a id="l00359" name="l00359"></a><span class="lineno"> 359</span> <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1flags.html">flags</a> &amp;= ~lsfMPTCanLock;</div>
<div class="line"><a id="l00360" name="l00360"></a><span class="lineno"> 360</span> </div>
<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"> 361</span> <span class="keywordflow">if</span> (*arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a8fb70cab5a994edf59282aee891a0a52">mutableFlags</a> &amp; <a class="code hl_variable" href="namespacexrpl.html#a47f3290c67c90ac8cd9605b6fe085c9d">tmfMPTSetRequireAuth</a>)</div>
<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"> 362</span> <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1flags.html">flags</a> |= <a class="code hl_enumvalue" href="namespacexrpl.html#ada4805619214865518ed8c0b54a71bc1a4bb421654dafd3243c576e2947f0ae29">lsfMPTRequireAuth</a>;</div>
<div class="line"><a id="l00363" name="l00363"></a><span class="lineno"> 363</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (*arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a8fb70cab5a994edf59282aee891a0a52">mutableFlags</a> &amp; <a class="code hl_variable" href="namespacexrpl.html#a49e1bed80ec5ec939bfb3670e5bc16b2">tmfMPTClearRequireAuth</a>)</div>
<div class="line"><a id="l00364" name="l00364"></a><span class="lineno"> 364</span> <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1flags.html">flags</a> &amp;= ~lsfMPTRequireAuth;</div>
<div class="line"><a id="l00365" name="l00365"></a><span class="lineno"> 365</span> </div>
<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"> 366</span> <span class="keywordflow">if</span> (*arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a8fb70cab5a994edf59282aee891a0a52">mutableFlags</a> &amp; <a class="code hl_variable" href="namespacexrpl.html#acce5110ebccbf64e80bf0f08d7fefa74">tmfMPTSetCanEscrow</a>)</div>
<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"> 367</span> <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1flags.html">flags</a> |= <a class="code hl_enumvalue" href="namespacexrpl.html#ada4805619214865518ed8c0b54a71bc1a06c092887e1d9b5c9e828fa8287adada">lsfMPTCanEscrow</a>;</div>
<div class="line"><a id="l00368" name="l00368"></a><span class="lineno"> 368</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (*arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a8fb70cab5a994edf59282aee891a0a52">mutableFlags</a> &amp; <a class="code hl_variable" href="namespacexrpl.html#a4339bc6ca914871ce8e5e4aa924d1161">tmfMPTClearCanEscrow</a>)</div>
<div class="line"><a id="l00369" name="l00369"></a><span class="lineno"> 369</span> <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1flags.html">flags</a> &amp;= ~lsfMPTCanEscrow;</div>
<div class="line"><a id="l00370" name="l00370"></a><span class="lineno"> 370</span> </div>
<div class="line"><a id="l00371" name="l00371"></a><span class="lineno"> 371</span> <span class="keywordflow">if</span> (*arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a8fb70cab5a994edf59282aee891a0a52">mutableFlags</a> &amp; <a class="code hl_variable" href="namespacexrpl.html#ab9bc03d0294943606af67af9a94c7fb7">tmfMPTSetCanClawback</a>)</div>
<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"> 372</span> <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1flags.html">flags</a> |= <a class="code hl_enumvalue" href="namespacexrpl.html#ada4805619214865518ed8c0b54a71bc1ad6173188f5f849b70d84b480f5800145">lsfMPTCanClawback</a>;</div>
<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"> 373</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (*arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a8fb70cab5a994edf59282aee891a0a52">mutableFlags</a> &amp; <a class="code hl_variable" href="namespacexrpl.html#a2f57f27428ee80be4dda5b8b77dd8001">tmfMPTClearCanClawback</a>)</div>
<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"> 374</span> <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1flags.html">flags</a> &amp;= ~lsfMPTCanClawback;</div>
<div class="line"><a id="l00375" name="l00375"></a><span class="lineno"> 375</span> </div>
<div class="line"><a id="l00376" name="l00376"></a><span class="lineno"> 376</span> <span class="keywordflow">if</span> (*arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a8fb70cab5a994edf59282aee891a0a52">mutableFlags</a> &amp; <a class="code hl_variable" href="namespacexrpl.html#ab5d0ce96c25d41fc5d05cdfb66abedd4">tmfMPTSetCanTrade</a>)</div>
<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"> 377</span> <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1flags.html">flags</a> |= <a class="code hl_enumvalue" href="namespacexrpl.html#ada4805619214865518ed8c0b54a71bc1a4d8e8dc12951712ab3af7803b9e08628">lsfMPTCanTrade</a>;</div>
<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"> 378</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (*arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a8fb70cab5a994edf59282aee891a0a52">mutableFlags</a> &amp; <a class="code hl_variable" href="namespacexrpl.html#aa2e9e23875244e2f01faeeb0dbe88324">tmfMPTClearCanTrade</a>)</div>
<div class="line"><a id="l00379" name="l00379"></a><span class="lineno"> 379</span> <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1flags.html">flags</a> &amp;= ~lsfMPTCanTrade;</div>
<div class="line"><a id="l00380" name="l00380"></a><span class="lineno"> 380</span> </div>
<div class="line"><a id="l00381" name="l00381"></a><span class="lineno"> 381</span> <span class="keywordflow">if</span> (*arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a8fb70cab5a994edf59282aee891a0a52">mutableFlags</a> &amp; <a class="code hl_variable" href="namespacexrpl.html#af80d39e55d81f756bf5af6a960c6a120">tmfMPTSetCanTransfer</a>)</div>
<div class="line"><a id="l00382" name="l00382"></a><span class="lineno"> 382</span> <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1flags.html">flags</a> |= <a class="code hl_enumvalue" href="namespacexrpl.html#ada4805619214865518ed8c0b54a71bc1a9d5e9c29f01852a5f38050de2676a715">lsfMPTCanTransfer</a>;</div>
<div class="line"><a id="l00383" name="l00383"></a><span class="lineno"> 383</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (*arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a8fb70cab5a994edf59282aee891a0a52">mutableFlags</a> &amp; <a class="code hl_variable" href="namespacexrpl.html#a1586a7fcfd09c87d710754fa3b7ea8bd">tmfMPTClearCanTransfer</a>)</div>
<div class="line"><a id="l00384" name="l00384"></a><span class="lineno"> 384</span> <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1flags.html">flags</a> &amp;= ~lsfMPTCanTransfer;</div>
<div class="line"><a id="l00385" name="l00385"></a><span class="lineno"> 385</span> }</div>
<div class="line"><a id="l00386" name="l00386"></a><span class="lineno"> 386</span> }</div>
<div class="line"><a id="l00387" name="l00387"></a><span class="lineno"> 387</span> <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aaec4c507bb92161d087ce02aeff521dc">env_</a>.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Env.html#af7d9ac71b3ca193f66ca3703595d7e40">require</a>(<a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1mptflags.html">mptflags</a>(*<span class="keyword">this</span>, <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1flags.html">flags</a>, <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a34ab7f3371665e12e787d7d9ab7a6c7a">holder</a>));</div>
<div class="line"><a id="l00388" name="l00388"></a><span class="lineno"> 388</span> };</div>
<div class="line"><a id="l00389" name="l00389"></a><span class="lineno"> 389</span> <span class="keywordflow">if</span> (arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a07b627cec654338f0638964a5fb34ad8">account</a>)</div>
<div class="line"><a id="l00390" name="l00390"></a><span class="lineno"> 390</span> <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1require.html">require</a>(<a class="code hl_variableRef" href="http://en.cppreference.com/w/cpp/types/is_same.html">std::nullopt</a>, arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a8765f3d3a2c06fa48fc5ba36131b9fca">holder</a>.has_value());</div>
<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"> 391</span> <span class="keywordflow">if</span> (<span class="keyword">auto</span> <span class="keyword">const</span> account = (arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a8765f3d3a2c06fa48fc5ba36131b9fca">holder</a> ? <a class="code hl_variableRef" href="http://en.cppreference.com/w/cpp/types/is_same.html">std::get_if&lt;Account&gt;</a>(&amp;(*arg.<a class="code hl_variable" href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a8765f3d3a2c06fa48fc5ba36131b9fca">holder</a>)) : <span class="keyword">nullptr</span>))</div>
<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"> 392</span> <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1require.html">require</a>(*account, <span class="keyword">false</span>);</div>
<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"> 393</span> }</div>
<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"> 394</span>}</div>
</div>
<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"> 395</span> </div>
<div class="line"><a id="l00396" name="l00396"></a><span class="lineno"> 396</span><span class="keywordtype">bool</span></div>
<div class="foldopen" id="foldopen00397" data-start="{" data-end="}">
<div class="line"><a id="l00397" name="l00397"></a><span class="lineno"><a class="line" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a18a84eba6f43fcdacb46936841a3ddcc"> 397</a></span><a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a18a84eba6f43fcdacb46936841a3ddcc">MPTTester::forObject</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a>&lt;<span class="keywordtype">bool</span>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">SLEP</a> <span class="keyword">const</span>&amp; sle)&gt; <span class="keyword">const</span>&amp; cb, <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional&lt;Account&gt;</a> <span class="keyword">const</span>&amp; holder_)<span class="keyword"> const</span></div>
<div class="line"><a id="l00398" name="l00398"></a><span class="lineno"> 398</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00399" name="l00399"></a><span class="lineno"> 399</span> <span class="keywordflow">if</span> (!<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a1c57c4d5f3501d411fe64b6715b193e6">id_</a>)</div>
<div class="line"><a id="l00400" name="l00400"></a><span class="lineno"> 400</span> Throw&lt;std::runtime_error&gt;(<span class="stringliteral">&quot;MPT has not been created&quot;</span>);</div>
<div class="line"><a id="l00401" name="l00401"></a><span class="lineno"> 401</span> <span class="keyword">auto</span> <span class="keyword">const</span> key = holder_ ? <a class="code hl_function" href="namespacexrpl_1_1keylet.html#ab3ec6c5e531adf3b2fbee3a984c3d453">keylet::mptoken</a>(*<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a1c57c4d5f3501d411fe64b6715b193e6">id_</a>, holder_-&gt;id()) : <a class="code hl_function" href="namespacexrpl_1_1keylet.html#a77d91a4fd20b17d44ccb32b4e9ae2d9b">keylet::mptIssuance</a>(*<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a1c57c4d5f3501d411fe64b6715b193e6">id_</a>);</div>
<div class="line"><a id="l00402" name="l00402"></a><span class="lineno"> 402</span> <span class="keywordflow">if</span> (<span class="keyword">auto</span> <span class="keyword">const</span> sle = <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aaec4c507bb92161d087ce02aeff521dc">env_</a>.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Env.html#a53bd0932e3b83e13c1233076afb31e79">le</a>(key))</div>
<div class="line"><a id="l00403" name="l00403"></a><span class="lineno"> 403</span> <span class="keywordflow">return</span> cb(sle);</div>
<div class="line"><a id="l00404" name="l00404"></a><span class="lineno"> 404</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00405" name="l00405"></a><span class="lineno"> 405</span>}</div>
</div>
<div class="line"><a id="l00406" name="l00406"></a><span class="lineno"> 406</span> </div>
<div class="line"><a id="l00407" name="l00407"></a><span class="lineno"> 407</span>[[nodiscard]] <span class="keywordtype">bool</span></div>
<div class="foldopen" id="foldopen00408" data-start="{" data-end="}">
<div class="line"><a id="l00408" name="l00408"></a><span class="lineno"><a class="line" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#ae31de3e3aeb61a9da0a6aee848e67b1c"> 408</a></span><a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#ae31de3e3aeb61a9da0a6aee848e67b1c">MPTTester::checkDomainID</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional&lt;uint256&gt;</a> expected)<span class="keyword"> const</span></div>
<div class="line"><a id="l00409" name="l00409"></a><span class="lineno"> 409</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00410" name="l00410"></a><span class="lineno"> 410</span> <span class="keywordflow">return</span> <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a18a84eba6f43fcdacb46936841a3ddcc">forObject</a>([&amp;](<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">SLEP</a> <span class="keyword">const</span>&amp; sle) -&gt; <span class="keywordtype">bool</span> {</div>
<div class="line"><a id="l00411" name="l00411"></a><span class="lineno"> 411</span> <span class="keywordflow">if</span> (sle-&gt;isFieldPresent(sfDomainID))</div>
<div class="line"><a id="l00412" name="l00412"></a><span class="lineno"> 412</span> <span class="keywordflow">return</span> expected == sle-&gt;getFieldH256(sfDomainID);</div>
<div class="line"><a id="l00413" name="l00413"></a><span class="lineno"> 413</span> <span class="keywordflow">return</span> (!expected.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/utility/optional/operator_bool.html">has_value</a>());</div>
<div class="line"><a id="l00414" name="l00414"></a><span class="lineno"> 414</span> });</div>
<div class="line"><a id="l00415" name="l00415"></a><span class="lineno"> 415</span>}</div>
</div>
<div class="line"><a id="l00416" name="l00416"></a><span class="lineno"> 416</span> </div>
<div class="line"><a id="l00417" name="l00417"></a><span class="lineno"> 417</span>[[nodiscard]] <span class="keywordtype">bool</span></div>
<div class="foldopen" id="foldopen00418" data-start="{" data-end="}">
<div class="line"><a id="l00418" name="l00418"></a><span class="lineno"><a class="line" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a1c2fc35542e87537166092ad15f44a9b"> 418</a></span><a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a1c2fc35542e87537166092ad15f44a9b">MPTTester::checkMPTokenAmount</a>(<a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1Account.html">Account</a> <span class="keyword">const</span>&amp; holder_, <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::int64_t</a> expectedAmount)<span class="keyword"> const</span></div>
<div class="line"><a id="l00419" name="l00419"></a><span class="lineno"> 419</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00420" name="l00420"></a><span class="lineno"> 420</span> <span class="keywordflow">return</span> <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a18a84eba6f43fcdacb46936841a3ddcc">forObject</a>([&amp;](<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">SLEP</a> <span class="keyword">const</span>&amp; sle) { <span class="keywordflow">return</span> expectedAmount == (*sle)[sfMPTAmount]; }, holder_);</div>
<div class="line"><a id="l00421" name="l00421"></a><span class="lineno"> 421</span>}</div>
</div>
<div class="line"><a id="l00422" name="l00422"></a><span class="lineno"> 422</span> </div>
<div class="line"><a id="l00423" name="l00423"></a><span class="lineno"> 423</span>[[nodiscard]] <span class="keywordtype">bool</span></div>
<div class="foldopen" id="foldopen00424" data-start="{" data-end="}">
<div class="line"><a id="l00424" name="l00424"></a><span class="lineno"><a class="line" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aef2af41185972701621a11d96f9d5bce"> 424</a></span><a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aef2af41185972701621a11d96f9d5bce">MPTTester::checkMPTokenOutstandingAmount</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::int64_t</a> expectedAmount)<span class="keyword"> const</span></div>
<div class="line"><a id="l00425" name="l00425"></a><span class="lineno"> 425</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00426" name="l00426"></a><span class="lineno"> 426</span> <span class="keywordflow">return</span> <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a18a84eba6f43fcdacb46936841a3ddcc">forObject</a>([&amp;](<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">SLEP</a> <span class="keyword">const</span>&amp; sle) { <span class="keywordflow">return</span> expectedAmount == (*sle)[sfOutstandingAmount]; });</div>
<div class="line"><a id="l00427" name="l00427"></a><span class="lineno"> 427</span>}</div>
</div>
<div class="line"><a id="l00428" name="l00428"></a><span class="lineno"> 428</span> </div>
<div class="line"><a id="l00429" name="l00429"></a><span class="lineno"> 429</span>[[nodiscard]] <span class="keywordtype">bool</span></div>
<div class="foldopen" id="foldopen00430" data-start="{" data-end="}">
<div class="line"><a id="l00430" name="l00430"></a><span class="lineno"><a class="line" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a42cbcd83a5fb937741ba4e658da02134"> 430</a></span><a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a42cbcd83a5fb937741ba4e658da02134">MPTTester::checkFlags</a>(uint32_t <span class="keyword">const</span> expectedFlags, <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional&lt;Account&gt;</a> <span class="keyword">const</span>&amp; holder)<span class="keyword"> const</span></div>
<div class="line"><a id="l00431" name="l00431"></a><span class="lineno"> 431</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00432" name="l00432"></a><span class="lineno"> 432</span> <span class="keywordflow">return</span> expectedFlags == <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aeb7680b708ed7a7ce47c3b3828bce9a6">getFlags</a>(<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a34ab7f3371665e12e787d7d9ab7a6c7a">holder</a>);</div>
<div class="line"><a id="l00433" name="l00433"></a><span class="lineno"> 433</span>}</div>
</div>
<div class="line"><a id="l00434" name="l00434"></a><span class="lineno"> 434</span> </div>
<div class="line"><a id="l00435" name="l00435"></a><span class="lineno"> 435</span>[[nodiscard]] <span class="keywordtype">bool</span></div>
<div class="foldopen" id="foldopen00436" data-start="{" data-end="}">
<div class="line"><a id="l00436" name="l00436"></a><span class="lineno"><a class="line" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a3d4eac7e9a79c16aef8545b8825cdecf"> 436</a></span><a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a3d4eac7e9a79c16aef8545b8825cdecf">MPTTester::checkMetadata</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>&amp; metadata)<span class="keyword"> const</span></div>
<div class="line"><a id="l00437" name="l00437"></a><span class="lineno"> 437</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00438" name="l00438"></a><span class="lineno"> 438</span> <span class="keywordflow">return</span> <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a18a84eba6f43fcdacb46936841a3ddcc">forObject</a>([&amp;](<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">SLEP</a> <span class="keyword">const</span>&amp; sle) -&gt; <span class="keywordtype">bool</span> {</div>
<div class="line"><a id="l00439" name="l00439"></a><span class="lineno"> 439</span> <span class="keywordflow">if</span> (sle-&gt;isFieldPresent(sfMPTokenMetadata))</div>
<div class="line"><a id="l00440" name="l00440"></a><span class="lineno"> 440</span> <span class="keywordflow">return</span> <a class="code hl_function" href="namespacexrpl.html#a36b95700599f590017b5912e220baf5b">strHex</a>(sle-&gt;getFieldVL(sfMPTokenMetadata)) == <a class="code hl_function" href="namespacexrpl.html#a36b95700599f590017b5912e220baf5b">strHex</a>(metadata);</div>
<div class="line"><a id="l00441" name="l00441"></a><span class="lineno"> 441</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00442" name="l00442"></a><span class="lineno"> 442</span> });</div>
<div class="line"><a id="l00443" name="l00443"></a><span class="lineno"> 443</span>}</div>
</div>
<div class="line"><a id="l00444" name="l00444"></a><span class="lineno"> 444</span> </div>
<div class="line"><a id="l00445" name="l00445"></a><span class="lineno"> 445</span>[[nodiscard]] <span class="keywordtype">bool</span></div>
<div class="foldopen" id="foldopen00446" data-start="{" data-end="}">
<div class="line"><a id="l00446" name="l00446"></a><span class="lineno"><a class="line" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a46d5725a48e8c02ae18471b91ae04019"> 446</a></span><a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a46d5725a48e8c02ae18471b91ae04019">MPTTester::isMetadataPresent</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00447" name="l00447"></a><span class="lineno"> 447</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00448" name="l00448"></a><span class="lineno"> 448</span> <span class="keywordflow">return</span> <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a18a84eba6f43fcdacb46936841a3ddcc">forObject</a>([&amp;](<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">SLEP</a> <span class="keyword">const</span>&amp; sle) -&gt; <span class="keywordtype">bool</span> { <span class="keywordflow">return</span> sle-&gt;isFieldPresent(sfMPTokenMetadata); });</div>
<div class="line"><a id="l00449" name="l00449"></a><span class="lineno"> 449</span>}</div>
</div>
<div class="line"><a id="l00450" name="l00450"></a><span class="lineno"> 450</span> </div>
<div class="line"><a id="l00451" name="l00451"></a><span class="lineno"> 451</span>[[nodiscard]] <span class="keywordtype">bool</span></div>
<div class="foldopen" id="foldopen00452" data-start="{" data-end="}">
<div class="line"><a id="l00452" name="l00452"></a><span class="lineno"><a class="line" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#ad4a1c9b181d8d208e18a3e693d7befa0"> 452</a></span><a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#ad4a1c9b181d8d208e18a3e693d7befa0">MPTTester::checkTransferFee</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint16_t</a> transferFee)<span class="keyword"> const</span></div>
<div class="line"><a id="l00453" name="l00453"></a><span class="lineno"> 453</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00454" name="l00454"></a><span class="lineno"> 454</span> <span class="keywordflow">return</span> <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a18a84eba6f43fcdacb46936841a3ddcc">forObject</a>([&amp;](<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">SLEP</a> <span class="keyword">const</span>&amp; sle) -&gt; <span class="keywordtype">bool</span> {</div>
<div class="line"><a id="l00455" name="l00455"></a><span class="lineno"> 455</span> <span class="keywordflow">if</span> (sle-&gt;isFieldPresent(sfTransferFee))</div>
<div class="line"><a id="l00456" name="l00456"></a><span class="lineno"> 456</span> <span class="keywordflow">return</span> sle-&gt;getFieldU16(sfTransferFee) == transferFee;</div>
<div class="line"><a id="l00457" name="l00457"></a><span class="lineno"> 457</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00458" name="l00458"></a><span class="lineno"> 458</span> });</div>
<div class="line"><a id="l00459" name="l00459"></a><span class="lineno"> 459</span>}</div>
</div>
<div class="line"><a id="l00460" name="l00460"></a><span class="lineno"> 460</span> </div>
<div class="line"><a id="l00461" name="l00461"></a><span class="lineno"> 461</span>[[nodiscard]] <span class="keywordtype">bool</span></div>
<div class="foldopen" id="foldopen00462" data-start="{" data-end="}">
<div class="line"><a id="l00462" name="l00462"></a><span class="lineno"><a class="line" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a3869854abbca180e97a6f5a88f8b4e07"> 462</a></span><a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a3869854abbca180e97a6f5a88f8b4e07">MPTTester::isTransferFeePresent</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00463" name="l00463"></a><span class="lineno"> 463</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00464" name="l00464"></a><span class="lineno"> 464</span> <span class="keywordflow">return</span> <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a18a84eba6f43fcdacb46936841a3ddcc">forObject</a>([&amp;](<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">SLEP</a> <span class="keyword">const</span>&amp; sle) -&gt; <span class="keywordtype">bool</span> { <span class="keywordflow">return</span> sle-&gt;isFieldPresent(sfTransferFee); });</div>
<div class="line"><a id="l00465" name="l00465"></a><span class="lineno"> 465</span>}</div>
</div>
<div class="line"><a id="l00466" name="l00466"></a><span class="lineno"> 466</span> </div>
<div class="line"><a id="l00467" name="l00467"></a><span class="lineno"> 467</span><span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00468" data-start="{" data-end="}">
<div class="line"><a id="l00468" name="l00468"></a><span class="lineno"><a class="line" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a2676c5338f78643a7a133a77b5141282"> 468</a></span><a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a2676c5338f78643a7a133a77b5141282">MPTTester::pay</a>(</div>
<div class="line"><a id="l00469" name="l00469"></a><span class="lineno"> 469</span> <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1Account.html">Account</a> <span class="keyword">const</span>&amp; src,</div>
<div class="line"><a id="l00470" name="l00470"></a><span class="lineno"> 470</span> <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1Account.html">Account</a> <span class="keyword">const</span>&amp; dest,</div>
<div class="line"><a id="l00471" name="l00471"></a><span class="lineno"> 471</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::int64_t</a> <a class="code hl_variable" href="namespacexrpl_1_1test_1_1jtx.html#aa2d8284d8eff3443e0f8ada927a97858">amount</a>,</div>
<div class="line"><a id="l00472" name="l00472"></a><span class="lineno"> 472</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional&lt;TER&gt;</a> err,</div>
<div class="line"><a id="l00473" name="l00473"></a><span class="lineno"> 473</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional</a>&lt;<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;std::string&gt;</a>&gt; credentials)</div>
<div class="line"><a id="l00474" name="l00474"></a><span class="lineno"> 474</span>{</div>
<div class="line"><a id="l00475" name="l00475"></a><span class="lineno"> 475</span> <span class="keywordflow">if</span> (!<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a1c57c4d5f3501d411fe64b6715b193e6">id_</a>)</div>
<div class="line"><a id="l00476" name="l00476"></a><span class="lineno"> 476</span> Throw&lt;std::runtime_error&gt;(<span class="stringliteral">&quot;MPT has not been created&quot;</span>);</div>
<div class="line"><a id="l00477" name="l00477"></a><span class="lineno"> 477</span> <span class="keyword">auto</span> <span class="keyword">const</span> srcAmt = <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a7f8b9715680c0695240516af294ce480">getBalance</a>(src);</div>
<div class="line"><a id="l00478" name="l00478"></a><span class="lineno"> 478</span> <span class="keyword">auto</span> <span class="keyword">const</span> destAmt = <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a7f8b9715680c0695240516af294ce480">getBalance</a>(dest);</div>
<div class="line"><a id="l00479" name="l00479"></a><span class="lineno"> 479</span> <span class="keyword">auto</span> <span class="keyword">const</span> outstnAmt = <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a7f8b9715680c0695240516af294ce480">getBalance</a>(<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a88c4f604baccfe7ec52929646234fe99">issuer_</a>);</div>
<div class="line"><a id="l00480" name="l00480"></a><span class="lineno"> 480</span> </div>
<div class="line"><a id="l00481" name="l00481"></a><span class="lineno"> 481</span> <span class="keywordflow">if</span> (credentials)</div>
<div class="line"><a id="l00482" name="l00482"></a><span class="lineno"> 482</span> <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aaec4c507bb92161d087ce02aeff521dc">env_</a>(<a class="code hl_function" href="namespacexrpl_1_1test_1_1jtx.html#a62f8e22673d7d96178b89211b17ef09d">jtx::pay</a>(src, dest, <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#acbe92d1821058277a3c884d4b4b7ce77">mpt</a>(<a class="code hl_variable" href="namespacexrpl_1_1test_1_1jtx.html#aa2d8284d8eff3443e0f8ada927a97858">amount</a>)), <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1ter.html">ter</a>(err.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/utility/optional/value_or.html">value_or</a>(<a class="code hl_enumvalue" href="namespacexrpl.html#af4adbbe94a1cecf1bd3ad2c76ff1ea3da157dace29a657c58cdeb4f7fa19be976">tesSUCCESS</a>)), <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1credentials_1_1ids.html">credentials::ids</a>(*credentials));</div>
<div class="line"><a id="l00483" name="l00483"></a><span class="lineno"> 483</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00484" name="l00484"></a><span class="lineno"> 484</span> <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aaec4c507bb92161d087ce02aeff521dc">env_</a>(<a class="code hl_function" href="namespacexrpl_1_1test_1_1jtx.html#a62f8e22673d7d96178b89211b17ef09d">jtx::pay</a>(src, dest, <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#acbe92d1821058277a3c884d4b4b7ce77">mpt</a>(<a class="code hl_variable" href="namespacexrpl_1_1test_1_1jtx.html#aa2d8284d8eff3443e0f8ada927a97858">amount</a>)), <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1ter.html">ter</a>(err.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/utility/optional/value_or.html">value_or</a>(<a class="code hl_enumvalue" href="namespacexrpl.html#af4adbbe94a1cecf1bd3ad2c76ff1ea3da157dace29a657c58cdeb4f7fa19be976">tesSUCCESS</a>)));</div>
<div class="line"><a id="l00485" name="l00485"></a><span class="lineno"> 485</span> </div>
<div class="line"><a id="l00486" name="l00486"></a><span class="lineno"> 486</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aaec4c507bb92161d087ce02aeff521dc">env_</a>.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Env.html#a13e30a79b03fb9f0f43b6bc0a41c25b8">ter</a>() != <a class="code hl_enumvalue" href="namespacexrpl.html#af4adbbe94a1cecf1bd3ad2c76ff1ea3da157dace29a657c58cdeb4f7fa19be976">tesSUCCESS</a>)</div>
<div class="line"><a id="l00487" name="l00487"></a><span class="lineno"> 487</span> <a class="code hl_variable" href="namespacexrpl_1_1test_1_1jtx.html#aa2d8284d8eff3443e0f8ada927a97858">amount</a> = 0;</div>
<div class="line"><a id="l00488" name="l00488"></a><span class="lineno"> 488</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a86eaee5413793aee72c997b9ad2a113f">close_</a>)</div>
<div class="line"><a id="l00489" name="l00489"></a><span class="lineno"> 489</span> <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aaec4c507bb92161d087ce02aeff521dc">env_</a>.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Env.html#a0e3c16e11ba7ddebd9d9eb1112f59dce">close</a>();</div>
<div class="line"><a id="l00490" name="l00490"></a><span class="lineno"> 490</span> <span class="keywordflow">if</span> (src == <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a88c4f604baccfe7ec52929646234fe99">issuer_</a>)</div>
<div class="line"><a id="l00491" name="l00491"></a><span class="lineno"> 491</span> {</div>
<div class="line"><a id="l00492" name="l00492"></a><span class="lineno"> 492</span> <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aaec4c507bb92161d087ce02aeff521dc">env_</a>.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Env.html#af7d9ac71b3ca193f66ca3703595d7e40">require</a>(<a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1mptbalance.html">mptbalance</a>(*<span class="keyword">this</span>, src, srcAmt + <a class="code hl_variable" href="namespacexrpl_1_1test_1_1jtx.html#aa2d8284d8eff3443e0f8ada927a97858">amount</a>));</div>
<div class="line"><a id="l00493" name="l00493"></a><span class="lineno"> 493</span> <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aaec4c507bb92161d087ce02aeff521dc">env_</a>.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Env.html#af7d9ac71b3ca193f66ca3703595d7e40">require</a>(<a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1mptbalance.html">mptbalance</a>(*<span class="keyword">this</span>, dest, destAmt + <a class="code hl_variable" href="namespacexrpl_1_1test_1_1jtx.html#aa2d8284d8eff3443e0f8ada927a97858">amount</a>));</div>
<div class="line"><a id="l00494" name="l00494"></a><span class="lineno"> 494</span> }</div>
<div class="line"><a id="l00495" name="l00495"></a><span class="lineno"> 495</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (dest == <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a88c4f604baccfe7ec52929646234fe99">issuer_</a>)</div>
<div class="line"><a id="l00496" name="l00496"></a><span class="lineno"> 496</span> {</div>
<div class="line"><a id="l00497" name="l00497"></a><span class="lineno"> 497</span> <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aaec4c507bb92161d087ce02aeff521dc">env_</a>.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Env.html#af7d9ac71b3ca193f66ca3703595d7e40">require</a>(<a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1mptbalance.html">mptbalance</a>(*<span class="keyword">this</span>, src, srcAmt - <a class="code hl_variable" href="namespacexrpl_1_1test_1_1jtx.html#aa2d8284d8eff3443e0f8ada927a97858">amount</a>));</div>
<div class="line"><a id="l00498" name="l00498"></a><span class="lineno"> 498</span> <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aaec4c507bb92161d087ce02aeff521dc">env_</a>.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Env.html#af7d9ac71b3ca193f66ca3703595d7e40">require</a>(<a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1mptbalance.html">mptbalance</a>(*<span class="keyword">this</span>, dest, destAmt - <a class="code hl_variable" href="namespacexrpl_1_1test_1_1jtx.html#aa2d8284d8eff3443e0f8ada927a97858">amount</a>));</div>
<div class="line"><a id="l00499" name="l00499"></a><span class="lineno"> 499</span> }</div>
<div class="line"><a id="l00500" name="l00500"></a><span class="lineno"> 500</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00501" name="l00501"></a><span class="lineno"> 501</span> {</div>
<div class="line"><a id="l00502" name="l00502"></a><span class="lineno"> 502</span> <a class="code hl_class" href="classxrpl_1_1STAmount.html">STAmount</a> <span class="keyword">const</span> saAmount = {*<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a1c57c4d5f3501d411fe64b6715b193e6">id_</a>, <a class="code hl_variable" href="namespacexrpl_1_1test_1_1jtx.html#aa2d8284d8eff3443e0f8ada927a97858">amount</a>};</div>
<div class="line"><a id="l00503" name="l00503"></a><span class="lineno"> 503</span> <span class="keyword">auto</span> <span class="keyword">const</span> actual = <a class="code hl_function" href="namespacexrpl.html#a63a3223bbf81dbd09717eb04d45d58cf">multiply</a>(saAmount, <a class="code hl_function" href="namespacexrpl.html#a986de5f13b12ee8a23b63d3f400f6a6a">transferRate</a>(*<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aaec4c507bb92161d087ce02aeff521dc">env_</a>.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Env.html#af7f5213163cfb1264ae49e0b4eff1a1e">current</a>(), *<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a1c57c4d5f3501d411fe64b6715b193e6">id_</a>)).<a class="code hl_function" href="classxrpl_1_1STAmount.html#aca1e9af28a2e8be53fd9bc86acbc111f">mpt</a>().<a class="code hl_function" href="classxrpl_1_1MPTAmount.html#a8a6d845a85d77bf5492d21d66665d226">value</a>();</div>
<div class="line"><a id="l00504" name="l00504"></a><span class="lineno"> 504</span> <span class="comment">// Sender pays the transfer fee if any</span></div>
<div class="line"><a id="l00505" name="l00505"></a><span class="lineno"> 505</span> <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aaec4c507bb92161d087ce02aeff521dc">env_</a>.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Env.html#af7d9ac71b3ca193f66ca3703595d7e40">require</a>(<a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1mptbalance.html">mptbalance</a>(*<span class="keyword">this</span>, src, srcAmt - actual));</div>
<div class="line"><a id="l00506" name="l00506"></a><span class="lineno"> 506</span> <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aaec4c507bb92161d087ce02aeff521dc">env_</a>.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Env.html#af7d9ac71b3ca193f66ca3703595d7e40">require</a>(<a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1mptbalance.html">mptbalance</a>(*<span class="keyword">this</span>, dest, destAmt + <a class="code hl_variable" href="namespacexrpl_1_1test_1_1jtx.html#aa2d8284d8eff3443e0f8ada927a97858">amount</a>));</div>
<div class="line"><a id="l00507" name="l00507"></a><span class="lineno"> 507</span> <span class="comment">// Outstanding amount is reduced by the transfer fee if any</span></div>
<div class="line"><a id="l00508" name="l00508"></a><span class="lineno"> 508</span> <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aaec4c507bb92161d087ce02aeff521dc">env_</a>.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Env.html#af7d9ac71b3ca193f66ca3703595d7e40">require</a>(<a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1mptbalance.html">mptbalance</a>(*<span class="keyword">this</span>, <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a88c4f604baccfe7ec52929646234fe99">issuer_</a>, outstnAmt - (actual - <a class="code hl_variable" href="namespacexrpl_1_1test_1_1jtx.html#aa2d8284d8eff3443e0f8ada927a97858">amount</a>)));</div>
<div class="line"><a id="l00509" name="l00509"></a><span class="lineno"> 509</span> }</div>
<div class="line"><a id="l00510" name="l00510"></a><span class="lineno"> 510</span>}</div>
</div>
<div class="line"><a id="l00511" name="l00511"></a><span class="lineno"> 511</span> </div>
<div class="line"><a id="l00512" name="l00512"></a><span class="lineno"> 512</span><span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00513" data-start="{" data-end="}">
<div class="line"><a id="l00513" name="l00513"></a><span class="lineno"><a class="line" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a8fa5a8dad8b831e38a787b780efb6afd"> 513</a></span><a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a8fa5a8dad8b831e38a787b780efb6afd">MPTTester::claw</a>(<a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1Account.html">Account</a> <span class="keyword">const</span>&amp; issuer, <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1Account.html">Account</a> <span class="keyword">const</span>&amp; holder, <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::int64_t</a> <a class="code hl_variable" href="namespacexrpl_1_1test_1_1jtx.html#aa2d8284d8eff3443e0f8ada927a97858">amount</a>, <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional&lt;TER&gt;</a> err)</div>
<div class="line"><a id="l00514" name="l00514"></a><span class="lineno"> 514</span>{</div>
<div class="line"><a id="l00515" name="l00515"></a><span class="lineno"> 515</span> <span class="keywordflow">if</span> (!<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a1c57c4d5f3501d411fe64b6715b193e6">id_</a>)</div>
<div class="line"><a id="l00516" name="l00516"></a><span class="lineno"> 516</span> Throw&lt;std::runtime_error&gt;(<span class="stringliteral">&quot;MPT has not been created&quot;</span>);</div>
<div class="line"><a id="l00517" name="l00517"></a><span class="lineno"> 517</span> <span class="keyword">auto</span> <span class="keyword">const</span> issuerAmt = <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a7f8b9715680c0695240516af294ce480">getBalance</a>(<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a5c389a8459637435633146a5aab1fced">issuer</a>);</div>
<div class="line"><a id="l00518" name="l00518"></a><span class="lineno"> 518</span> <span class="keyword">auto</span> <span class="keyword">const</span> holderAmt = <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a7f8b9715680c0695240516af294ce480">getBalance</a>(<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a34ab7f3371665e12e787d7d9ab7a6c7a">holder</a>);</div>
<div class="line"><a id="l00519" name="l00519"></a><span class="lineno"> 519</span> <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aaec4c507bb92161d087ce02aeff521dc">env_</a>(<a class="code hl_function" href="namespacexrpl_1_1test_1_1jtx.html#a12c3ddd7a059d9aa913e96b0d1212f7b">jtx::claw</a>(<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a5c389a8459637435633146a5aab1fced">issuer</a>, <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#acbe92d1821058277a3c884d4b4b7ce77">mpt</a>(<a class="code hl_variable" href="namespacexrpl_1_1test_1_1jtx.html#aa2d8284d8eff3443e0f8ada927a97858">amount</a>), <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a34ab7f3371665e12e787d7d9ab7a6c7a">holder</a>), <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1ter.html">ter</a>(err.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/utility/optional/value_or.html">value_or</a>(<a class="code hl_enumvalue" href="namespacexrpl.html#af4adbbe94a1cecf1bd3ad2c76ff1ea3da157dace29a657c58cdeb4f7fa19be976">tesSUCCESS</a>)));</div>
<div class="line"><a id="l00520" name="l00520"></a><span class="lineno"> 520</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aaec4c507bb92161d087ce02aeff521dc">env_</a>.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Env.html#a13e30a79b03fb9f0f43b6bc0a41c25b8">ter</a>() != <a class="code hl_enumvalue" href="namespacexrpl.html#af4adbbe94a1cecf1bd3ad2c76ff1ea3da157dace29a657c58cdeb4f7fa19be976">tesSUCCESS</a>)</div>
<div class="line"><a id="l00521" name="l00521"></a><span class="lineno"> 521</span> <a class="code hl_variable" href="namespacexrpl_1_1test_1_1jtx.html#aa2d8284d8eff3443e0f8ada927a97858">amount</a> = 0;</div>
<div class="line"><a id="l00522" name="l00522"></a><span class="lineno"> 522</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a86eaee5413793aee72c997b9ad2a113f">close_</a>)</div>
<div class="line"><a id="l00523" name="l00523"></a><span class="lineno"> 523</span> <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aaec4c507bb92161d087ce02aeff521dc">env_</a>.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Env.html#a0e3c16e11ba7ddebd9d9eb1112f59dce">close</a>();</div>
<div class="line"><a id="l00524" name="l00524"></a><span class="lineno"> 524</span> </div>
<div class="line"><a id="l00525" name="l00525"></a><span class="lineno"> 525</span> <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aaec4c507bb92161d087ce02aeff521dc">env_</a>.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Env.html#af7d9ac71b3ca193f66ca3703595d7e40">require</a>(<a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1mptbalance.html">mptbalance</a>(*<span class="keyword">this</span>, <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a5c389a8459637435633146a5aab1fced">issuer</a>, issuerAmt - <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/algorithm/min.html">std::min</a>(holderAmt, <a class="code hl_variable" href="namespacexrpl_1_1test_1_1jtx.html#aa2d8284d8eff3443e0f8ada927a97858">amount</a>)));</div>
<div class="line"><a id="l00526" name="l00526"></a><span class="lineno"> 526</span> <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aaec4c507bb92161d087ce02aeff521dc">env_</a>.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Env.html#af7d9ac71b3ca193f66ca3703595d7e40">require</a>(<a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1mptbalance.html">mptbalance</a>(*<span class="keyword">this</span>, <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a34ab7f3371665e12e787d7d9ab7a6c7a">holder</a>, holderAmt - <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/algorithm/min.html">std::min</a>(holderAmt, <a class="code hl_variable" href="namespacexrpl_1_1test_1_1jtx.html#aa2d8284d8eff3443e0f8ada927a97858">amount</a>)));</div>
<div class="line"><a id="l00527" name="l00527"></a><span class="lineno"> 527</span>}</div>
</div>
<div class="line"><a id="l00528" name="l00528"></a><span class="lineno"> 528</span> </div>
<div class="line"><a id="l00529" name="l00529"></a><span class="lineno"> 529</span><a class="code hl_struct" href="structxrpl_1_1test_1_1jtx_1_1PrettyAmount.html">PrettyAmount</a></div>
<div class="foldopen" id="foldopen00530" data-start="{" data-end="}">
<div class="line"><a id="l00530" name="l00530"></a><span class="lineno"><a class="line" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#acbe92d1821058277a3c884d4b4b7ce77"> 530</a></span><a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#acbe92d1821058277a3c884d4b4b7ce77">MPTTester::mpt</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::int64_t</a> <a class="code hl_variable" href="namespacexrpl_1_1test_1_1jtx.html#aa2d8284d8eff3443e0f8ada927a97858">amount</a>)<span class="keyword"> const</span></div>
<div class="line"><a id="l00531" name="l00531"></a><span class="lineno"> 531</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00532" name="l00532"></a><span class="lineno"> 532</span> <span class="keywordflow">if</span> (!<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a1c57c4d5f3501d411fe64b6715b193e6">id_</a>)</div>
<div class="line"><a id="l00533" name="l00533"></a><span class="lineno"> 533</span> Throw&lt;std::runtime_error&gt;(<span class="stringliteral">&quot;MPT has not been created&quot;</span>);</div>
<div class="line"><a id="l00534" name="l00534"></a><span class="lineno"> 534</span> <span class="keywordflow">return</span> <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1MPT.html">xrpl::test::jtx::MPT</a>(<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a88c4f604baccfe7ec52929646234fe99">issuer_</a>.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Account.html#a8345e525bfee1c86bfa44a3eefdcfb0a">name</a>(), *<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a1c57c4d5f3501d411fe64b6715b193e6">id_</a>)(<a class="code hl_variable" href="namespacexrpl_1_1test_1_1jtx.html#aa2d8284d8eff3443e0f8ada927a97858">amount</a>);</div>
<div class="line"><a id="l00535" name="l00535"></a><span class="lineno"> 535</span>}</div>
</div>
<div class="line"><a id="l00536" name="l00536"></a><span class="lineno"> 536</span> </div>
<div class="foldopen" id="foldopen00537" data-start="{" data-end="}">
<div class="line"><a id="l00537" name="l00537"></a><span class="lineno"><a class="line" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a680ef972e6d1d83e82e4646d42d36bc3"> 537</a></span>MPTTester::operator <a class="code hl_class" href="classxrpl_1_1Asset.html">Asset</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00538" name="l00538"></a><span class="lineno"> 538</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00539" name="l00539"></a><span class="lineno"> 539</span> <span class="keywordflow">if</span> (!id_)</div>
<div class="line"><a id="l00540" name="l00540"></a><span class="lineno"> 540</span> Throw&lt;std::runtime_error&gt;(<span class="stringliteral">&quot;MPT has not been created&quot;</span>);</div>
<div class="line"><a id="l00541" name="l00541"></a><span class="lineno"> 541</span> <span class="keywordflow">return</span> <a class="code hl_class" href="classxrpl_1_1Asset.html">Asset</a>(*id_);</div>
<div class="line"><a id="l00542" name="l00542"></a><span class="lineno"> 542</span>}</div>
</div>
<div class="line"><a id="l00543" name="l00543"></a><span class="lineno"> 543</span> </div>
<div class="line"><a id="l00544" name="l00544"></a><span class="lineno"> 544</span><a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::int64_t</a></div>
<div class="foldopen" id="foldopen00545" data-start="{" data-end="}">
<div class="line"><a id="l00545" name="l00545"></a><span class="lineno"><a class="line" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a7f8b9715680c0695240516af294ce480"> 545</a></span><a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a7f8b9715680c0695240516af294ce480">MPTTester::getBalance</a>(<a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1Account.html">Account</a> <span class="keyword">const</span>&amp; account)<span class="keyword"> const</span></div>
<div class="line"><a id="l00546" name="l00546"></a><span class="lineno"> 546</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00547" name="l00547"></a><span class="lineno"> 547</span> <span class="keywordflow">if</span> (!<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a1c57c4d5f3501d411fe64b6715b193e6">id_</a>)</div>
<div class="line"><a id="l00548" name="l00548"></a><span class="lineno"> 548</span> Throw&lt;std::runtime_error&gt;(<span class="stringliteral">&quot;MPT has not been created&quot;</span>);</div>
<div class="line"><a id="l00549" name="l00549"></a><span class="lineno"> 549</span> <span class="keywordflow">if</span> (account == <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a88c4f604baccfe7ec52929646234fe99">issuer_</a>)</div>
<div class="line"><a id="l00550" name="l00550"></a><span class="lineno"> 550</span> {</div>
<div class="line"><a id="l00551" name="l00551"></a><span class="lineno"> 551</span> <span class="keywordflow">if</span> (<span class="keyword">auto</span> <span class="keyword">const</span> sle = <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aaec4c507bb92161d087ce02aeff521dc">env_</a>.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Env.html#a53bd0932e3b83e13c1233076afb31e79">le</a>(<a class="code hl_function" href="namespacexrpl_1_1keylet.html#a77d91a4fd20b17d44ccb32b4e9ae2d9b">keylet::mptIssuance</a>(*<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a1c57c4d5f3501d411fe64b6715b193e6">id_</a>)))</div>
<div class="line"><a id="l00552" name="l00552"></a><span class="lineno"> 552</span> <span class="keywordflow">return</span> sle-&gt;getFieldU64(sfOutstandingAmount);</div>
<div class="line"><a id="l00553" name="l00553"></a><span class="lineno"> 553</span> }</div>
<div class="line"><a id="l00554" name="l00554"></a><span class="lineno"> 554</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00555" name="l00555"></a><span class="lineno"> 555</span> {</div>
<div class="line"><a id="l00556" name="l00556"></a><span class="lineno"> 556</span> <span class="keywordflow">if</span> (<span class="keyword">auto</span> <span class="keyword">const</span> sle = <a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aaec4c507bb92161d087ce02aeff521dc">env_</a>.<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1Env.html#a53bd0932e3b83e13c1233076afb31e79">le</a>(<a class="code hl_function" href="namespacexrpl_1_1keylet.html#ab3ec6c5e531adf3b2fbee3a984c3d453">keylet::mptoken</a>(*<a class="code hl_variable" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a1c57c4d5f3501d411fe64b6715b193e6">id_</a>, account.id())))</div>
<div class="line"><a id="l00557" name="l00557"></a><span class="lineno"> 557</span> <span class="keywordflow">return</span> sle-&gt;getFieldU64(sfMPTAmount);</div>
<div class="line"><a id="l00558" name="l00558"></a><span class="lineno"> 558</span> }</div>
<div class="line"><a id="l00559" name="l00559"></a><span class="lineno"> 559</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00560" name="l00560"></a><span class="lineno"> 560</span>}</div>
</div>
<div class="line"><a id="l00561" name="l00561"></a><span class="lineno"> 561</span> </div>
<div class="line"><a id="l00562" name="l00562"></a><span class="lineno"> 562</span><a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a></div>
<div class="foldopen" id="foldopen00563" data-start="{" data-end="}">
<div class="line"><a id="l00563" name="l00563"></a><span class="lineno"><a class="line" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aeb7680b708ed7a7ce47c3b3828bce9a6"> 563</a></span><a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aeb7680b708ed7a7ce47c3b3828bce9a6">MPTTester::getFlags</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional&lt;Account&gt;</a> <span class="keyword">const</span>&amp; holder)<span class="keyword"> const</span></div>
<div class="line"><a id="l00564" name="l00564"></a><span class="lineno"> 564</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00565" name="l00565"></a><span class="lineno"> 565</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> = 0;</div>
<div class="line"><a id="l00566" name="l00566"></a><span class="lineno"> 566</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a18a84eba6f43fcdacb46936841a3ddcc">forObject</a>(</div>
<div class="line"><a id="l00567" name="l00567"></a><span class="lineno"> 567</span> [&amp;](<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">SLEP</a> <span class="keyword">const</span>&amp; sle) {</div>
<div class="line"><a id="l00568" name="l00568"></a><span class="lineno"> 568</span> <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1flags.html">flags</a> = sle-&gt;getFlags();</div>
<div class="line"><a id="l00569" name="l00569"></a><span class="lineno"> 569</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00570" name="l00570"></a><span class="lineno"> 570</span> },</div>
<div class="line"><a id="l00571" name="l00571"></a><span class="lineno"> 571</span> <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a34ab7f3371665e12e787d7d9ab7a6c7a">holder</a>))</div>
<div class="line"><a id="l00572" name="l00572"></a><span class="lineno"> 572</span> Throw&lt;std::runtime_error&gt;(<span class="stringliteral">&quot;Failed to get the flags&quot;</span>);</div>
<div class="line"><a id="l00573" name="l00573"></a><span class="lineno"> 573</span> <span class="keywordflow">return</span> <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1flags.html">flags</a>;</div>
<div class="line"><a id="l00574" name="l00574"></a><span class="lineno"> 574</span>}</div>
</div>
<div class="line"><a id="l00575" name="l00575"></a><span class="lineno"> 575</span> </div>
<div class="line"><a id="l00576" name="l00576"></a><span class="lineno"> 576</span><a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1MPT.html">MPT</a></div>
<div class="foldopen" id="foldopen00577" data-start="{" data-end="}">
<div class="line"><a id="l00577" name="l00577"></a><span class="lineno"><a class="line" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a4accc0653b8f272bdc9d37bc2f81d8c6"> 577</a></span><a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a4accc0653b8f272bdc9d37bc2f81d8c6">MPTTester::operator[]</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>&amp; name)<span class="keyword"> const</span></div>
<div class="line"><a id="l00578" name="l00578"></a><span class="lineno"> 578</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00579" name="l00579"></a><span class="lineno"> 579</span> <span class="keywordflow">return</span> <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1MPT.html">MPT</a>(name, <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a6fbe6f3d9a87ff807153e65068658eab">issuanceID</a>());</div>
<div class="line"><a id="l00580" name="l00580"></a><span class="lineno"> 580</span>}</div>
</div>
<div class="line"><a id="l00581" name="l00581"></a><span class="lineno"> 581</span> </div>
<div class="line"><a id="l00582" name="l00582"></a><span class="lineno"> 582</span><a class="code hl_struct" href="structxrpl_1_1test_1_1jtx_1_1PrettyAmount.html">PrettyAmount</a></div>
<div class="foldopen" id="foldopen00583" data-start="{" data-end="}">
<div class="line"><a id="l00583" name="l00583"></a><span class="lineno"><a class="line" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#ae7b08a21aad62d34eba5cd6c7fa2638a"> 583</a></span><a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#ae7b08a21aad62d34eba5cd6c7fa2638a">MPTTester::operator()</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::int64_t</a> <a class="code hl_variable" href="namespacexrpl_1_1test_1_1jtx.html#aa2d8284d8eff3443e0f8ada927a97858">amount</a>)<span class="keyword"> const</span></div>
<div class="line"><a id="l00584" name="l00584"></a><span class="lineno"> 584</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00585" name="l00585"></a><span class="lineno"> 585</span> <span class="keywordflow">return</span> <a class="code hl_class" href="classxrpl_1_1test_1_1jtx_1_1MPT.html">MPT</a>(<span class="stringliteral">&quot;&quot;</span>, <a class="code hl_function" href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a6fbe6f3d9a87ff807153e65068658eab">issuanceID</a>())(<a class="code hl_variable" href="namespacexrpl_1_1test_1_1jtx.html#aa2d8284d8eff3443e0f8ada927a97858">amount</a>);</div>
<div class="line"><a id="l00586" name="l00586"></a><span class="lineno"> 586</span>}</div>
</div>
<div class="line"><a id="l00587" name="l00587"></a><span class="lineno"> 587</span> </div>
<div class="line"><a id="l00588" name="l00588"></a><span class="lineno"> 588</span>} <span class="comment">// namespace jtx</span></div>
<div class="line"><a id="l00589" name="l00589"></a><span class="lineno"> 589</span>} <span class="comment">// namespace test</span></div>
<div class="line"><a id="l00590" name="l00590"></a><span class="lineno"> 590</span>} <span class="comment">// namespace xrpl</span></div>
<div class="ttc" id="abasic_string_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a></div></div>
<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="aclassbeast_1_1unit__test_1_1suite_html_ac6fc161c3c00cfbbc9590afe9e4559aa"><div class="ttname"><a href="classbeast_1_1unit__test_1_1suite.html#ac6fc161c3c00cfbbc9590afe9e4559aa">beast::unit_test::suite::expect</a></div><div class="ttdeci">bool expect(Condition const &amp;shouldBeTrue)</div><div class="ttdoc">Evaluate a test condition.</div><div class="ttdef"><b>Definition</b> <a href="suite_8h_source.html#l00222">suite.h:222</a></div></div>
<div class="ttc" id="aclassxrpl_1_1Asset_html"><div class="ttname"><a href="classxrpl_1_1Asset.html">xrpl::Asset</a></div><div class="ttdef"><b>Definition</b> <a href="Asset_8h_source.html#l00026">Asset.h:27</a></div></div>
<div class="ttc" id="aclassxrpl_1_1MPTAmount_html_a8a6d845a85d77bf5492d21d66665d226"><div class="ttname"><a href="classxrpl_1_1MPTAmount.html#a8a6d845a85d77bf5492d21d66665d226">xrpl::MPTAmount::value</a></div><div class="ttdeci">constexpr value_type value() const</div><div class="ttdoc">Returns the underlying value.</div><div class="ttdef"><b>Definition</b> <a href="MPTAmount_8h_source.html#l00114">MPTAmount.h:114</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_1STAmount_html_aca1e9af28a2e8be53fd9bc86acbc111f"><div class="ttname"><a href="classxrpl_1_1STAmount.html#aca1e9af28a2e8be53fd9bc86acbc111f">xrpl::STAmount::mpt</a></div><div class="ttdeci">MPTAmount mpt() const</div><div class="ttdef"><b>Definition</b> <a href="STAmount_8cpp_source.html#l00279">STAmount.cpp:279</a></div></div>
<div class="ttc" id="aclassxrpl_1_1base__uint_html"><div class="ttname"><a href="classxrpl_1_1base__uint.html">xrpl::base_uint&lt; 192 &gt;</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#l00095">Account.h:95</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1Account_html_a8345e525bfee1c86bfa44a3eefdcfb0a"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1Account.html#a8345e525bfee1c86bfa44a3eefdcfb0a">xrpl::test::jtx::Account::name</a></div><div class="ttdeci">std::string const &amp; name() const</div><div class="ttdoc">Return the name.</div><div class="ttdef"><b>Definition</b> <a href="Account_8h_source.html#l00064">Account.h:64</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1Account_html_aefcff537de98b56ea2f59a9b618cd246"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1Account.html#aefcff537de98b56ea2f59a9b618cd246">xrpl::test::jtx::Account::id</a></div><div class="ttdeci">AccountID id() const</div><div class="ttdoc">Returns the Account ID.</div><div class="ttdef"><b>Definition</b> <a href="Account_8h_source.html#l00088">Account.h:88</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_a0e3c16e11ba7ddebd9d9eb1112f59dce"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1Env.html#a0e3c16e11ba7ddebd9d9eb1112f59dce">xrpl::test::jtx::Env::close</a></div><div class="ttdeci">bool close(NetClock::time_point closeTime, std::optional&lt; std::chrono::milliseconds &gt; consensusDelay=std::nullopt)</div><div class="ttdoc">Close and advance the ledger.</div><div class="ttdef"><b>Definition</b> <a href="Env_8cpp_source.html#l00097">Env.cpp:97</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1Env_html_a13e30a79b03fb9f0f43b6bc0a41c25b8"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1Env.html#a13e30a79b03fb9f0f43b6bc0a41c25b8">xrpl::test::jtx::Env::ter</a></div><div class="ttdeci">TER ter() const</div><div class="ttdoc">Return the TER for the last JTx.</div><div class="ttdef"><b>Definition</b> <a href="Env_8h_source.html#l00560">Env.h:560</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1Env_html_a53bd0932e3b83e13c1233076afb31e79"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1Env.html#a53bd0932e3b83e13c1233076afb31e79">xrpl::test::jtx::Env::le</a></div><div class="ttdeci">std::shared_ptr&lt; SLE const &gt; le(Account const &amp;account) const</div><div class="ttdoc">Return an account root.</div><div class="ttdef"><b>Definition</b> <a href="Env_8cpp_source.html#l00248">Env.cpp:248</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1Env_html_a5bb0bdfba5b61e9c7de31524ab04cd5b"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1Env.html#a5bb0bdfba5b61e9c7de31524ab04cd5b">xrpl::test::jtx::Env::fund</a></div><div class="ttdeci">void fund(bool setDefaultRipple, STAmount const &amp;amount, Account const &amp;account)</div><div class="ttdef"><b>Definition</b> <a href="Env_8cpp_source.html#l00260">Env.cpp:260</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1Env_html_a7e2bf847bf817405a5d8db448d8b4f6f"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1Env.html#a7e2bf847bf817405a5d8db448d8b4f6f">xrpl::test::jtx::Env::seq</a></div><div class="ttdeci">std::uint32_t seq(Account const &amp;account) const</div><div class="ttdoc">Returns the next sequence number on account.</div><div class="ttdef"><b>Definition</b> <a href="Env_8cpp_source.html#l00239">Env.cpp:239</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_af7d9ac71b3ca193f66ca3703595d7e40"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1Env.html#af7d9ac71b3ca193f66ca3703595d7e40">xrpl::test::jtx::Env::require</a></div><div class="ttdeci">void require(Args const &amp;... args)</div><div class="ttdoc">Check a set of requirements.</div><div class="ttdef"><b>Definition</b> <a href="Env_8h_source.html#l00512">Env.h:512</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_1MPTTester_html"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html">xrpl::test::jtx::MPTTester</a></div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00158">mpt.h:159</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1MPTTester_html_a1214ce81960880ad8f49a22aebd34b0b"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a1214ce81960880ad8f49a22aebd34b0b">xrpl::test::jtx::MPTTester::holders_</a></div><div class="ttdeci">std::unordered_map&lt; std::string, Account &gt; const holders_</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00162">mpt.h:162</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1MPTTester_html_a15b177794a964c913e9ca9ec226f6dcb"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a15b177794a964c913e9ca9ec226f6dcb">xrpl::test::jtx::MPTTester::MPTTester</a></div><div class="ttdeci">MPTTester(Env &amp;env, Account const &amp;issuer, MPTInit const &amp;constr={})</div><div class="ttdef"><b>Definition</b> <a href="mpt_8cpp_source.html#l00041">mpt.cpp:41</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1MPTTester_html_a18a84eba6f43fcdacb46936841a3ddcc"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a18a84eba6f43fcdacb46936841a3ddcc">xrpl::test::jtx::MPTTester::forObject</a></div><div class="ttdeci">bool forObject(std::function&lt; bool(SLEP const &amp;sle)&gt; const &amp;cb, std::optional&lt; Account &gt; const &amp;holder=std::nullopt) const</div><div class="ttdef"><b>Definition</b> <a href="mpt_8cpp_source.html#l00397">mpt.cpp:397</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1MPTTester_html_a1991c39ac5c5bd21f7bb3736b811f14f"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a1991c39ac5c5bd21f7bb3736b811f14f">xrpl::test::jtx::MPTTester::set</a></div><div class="ttdeci">void set(MPTSet const &amp;set={})</div><div class="ttdef"><b>Definition</b> <a href="mpt_8cpp_source.html#l00327">mpt.cpp:327</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1MPTTester_html_a1c2fc35542e87537166092ad15f44a9b"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a1c2fc35542e87537166092ad15f44a9b">xrpl::test::jtx::MPTTester::checkMPTokenAmount</a></div><div class="ttdeci">bool checkMPTokenAmount(Account const &amp;holder, std::int64_t expectedAmount) const</div><div class="ttdef"><b>Definition</b> <a href="mpt_8cpp_source.html#l00418">mpt.cpp:418</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1MPTTester_html_a1c57c4d5f3501d411fe64b6715b193e6"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a1c57c4d5f3501d411fe64b6715b193e6">xrpl::test::jtx::MPTTester::id_</a></div><div class="ttdeci">std::optional&lt; MPTID &gt; id_</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00163">mpt.h:163</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1MPTTester_html_a2676c5338f78643a7a133a77b5141282"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a2676c5338f78643a7a133a77b5141282">xrpl::test::jtx::MPTTester::pay</a></div><div class="ttdeci">void pay(Account const &amp;src, Account const &amp;dest, std::int64_t amount, std::optional&lt; TER &gt; err=std::nullopt, std::optional&lt; std::vector&lt; std::string &gt; &gt; credentials=std::nullopt)</div><div class="ttdef"><b>Definition</b> <a href="mpt_8cpp_source.html#l00468">mpt.cpp:468</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1MPTTester_html_a34ab7f3371665e12e787d7d9ab7a6c7a"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a34ab7f3371665e12e787d7d9ab7a6c7a">xrpl::test::jtx::MPTTester::holder</a></div><div class="ttdeci">Account const &amp; holder(std::string const &amp;h) const</div><div class="ttdef"><b>Definition</b> <a href="mpt_8cpp_source.html#l00204">mpt.cpp:204</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1MPTTester_html_a3584a8ceedb3ac4f3a590c472c09cbed"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a3584a8ceedb3ac4f3a590c472c09cbed">xrpl::test::jtx::MPTTester::create</a></div><div class="ttdeci">void create(MPTCreate const &amp;arg=MPTCreate{})</div><div class="ttdef"><b>Definition</b> <a href="mpt_8cpp_source.html#l00126">mpt.cpp:126</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1MPTTester_html_a3869854abbca180e97a6f5a88f8b4e07"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a3869854abbca180e97a6f5a88f8b4e07">xrpl::test::jtx::MPTTester::isTransferFeePresent</a></div><div class="ttdeci">bool isTransferFeePresent() const</div><div class="ttdef"><b>Definition</b> <a href="mpt_8cpp_source.html#l00462">mpt.cpp:462</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1MPTTester_html_a3d4eac7e9a79c16aef8545b8825cdecf"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a3d4eac7e9a79c16aef8545b8825cdecf">xrpl::test::jtx::MPTTester::checkMetadata</a></div><div class="ttdeci">bool checkMetadata(std::string const &amp;metadata) const</div><div class="ttdef"><b>Definition</b> <a href="mpt_8cpp_source.html#l00436">mpt.cpp:436</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1MPTTester_html_a42cbcd83a5fb937741ba4e658da02134"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a42cbcd83a5fb937741ba4e658da02134">xrpl::test::jtx::MPTTester::checkFlags</a></div><div class="ttdeci">bool checkFlags(uint32_t const expectedFlags, std::optional&lt; Account &gt; const &amp;holder=std::nullopt) const</div><div class="ttdef"><b>Definition</b> <a href="mpt_8cpp_source.html#l00430">mpt.cpp:430</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1MPTTester_html_a46d5725a48e8c02ae18471b91ae04019"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a46d5725a48e8c02ae18471b91ae04019">xrpl::test::jtx::MPTTester::isMetadataPresent</a></div><div class="ttdeci">bool isMetadataPresent() const</div><div class="ttdef"><b>Definition</b> <a href="mpt_8cpp_source.html#l00446">mpt.cpp:446</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1MPTTester_html_a4accc0653b8f272bdc9d37bc2f81d8c6"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a4accc0653b8f272bdc9d37bc2f81d8c6">xrpl::test::jtx::MPTTester::operator[]</a></div><div class="ttdeci">MPT operator[](std::string const &amp;name) const</div><div class="ttdef"><b>Definition</b> <a href="mpt_8cpp_source.html#l00577">mpt.cpp:577</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1MPTTester_html_a52b35df884a0e968c4e5d720386a5713"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a52b35df884a0e968c4e5d720386a5713">xrpl::test::jtx::MPTTester::authorizeHolders</a></div><div class="ttdeci">void authorizeHolders(Holders const &amp;holders)</div><div class="ttdef"><b>Definition</b> <a href="mpt_8cpp_source.html#l00283">mpt.cpp:283</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1MPTTester_html_a5c389a8459637435633146a5aab1fced"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a5c389a8459637435633146a5aab1fced">xrpl::test::jtx::MPTTester::issuer</a></div><div class="ttdeci">Account const &amp; issuer() const</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00229">mpt.h:229</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1MPTTester_html_a65c17f9abbed1175a1f3ad608a020494"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a65c17f9abbed1175a1f3ad608a020494">xrpl::test::jtx::MPTTester::authorize</a></div><div class="ttdeci">void authorize(MPTAuthorize const &amp;arg=MPTAuthorize{})</div><div class="ttdef"><b>Definition</b> <a href="mpt_8cpp_source.html#l00228">mpt.cpp:228</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1MPTTester_html_a6fbe6f3d9a87ff807153e65068658eab"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a6fbe6f3d9a87ff807153e65068658eab">xrpl::test::jtx::MPTTester::issuanceID</a></div><div class="ttdeci">MPTID const &amp; issuanceID() const</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00250">mpt.h:250</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1MPTTester_html_a7f8b9715680c0695240516af294ce480"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a7f8b9715680c0695240516af294ce480">xrpl::test::jtx::MPTTester::getBalance</a></div><div class="ttdeci">std::int64_t getBalance(Account const &amp;account) const</div><div class="ttdef"><b>Definition</b> <a href="mpt_8cpp_source.html#l00545">mpt.cpp:545</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1MPTTester_html_a86eaee5413793aee72c997b9ad2a113f"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a86eaee5413793aee72c997b9ad2a113f">xrpl::test::jtx::MPTTester::close_</a></div><div class="ttdeci">bool close_</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00164">mpt.h:164</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1MPTTester_html_a88c4f604baccfe7ec52929646234fe99"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a88c4f604baccfe7ec52929646234fe99">xrpl::test::jtx::MPTTester::issuer_</a></div><div class="ttdeci">Account const issuer_</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00161">mpt.h:161</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1MPTTester_html_a8fa5a8dad8b831e38a787b780efb6afd"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a8fa5a8dad8b831e38a787b780efb6afd">xrpl::test::jtx::MPTTester::claw</a></div><div class="ttdeci">void claw(Account const &amp;issuer, Account const &amp;holder, std::int64_t amount, std::optional&lt; TER &gt; err=std::nullopt)</div><div class="ttdef"><b>Definition</b> <a href="mpt_8cpp_source.html#l00513">mpt.cpp:513</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1MPTTester_html_a9071dad35da785c3a4c2f236d90cec72"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#a9071dad35da785c3a4c2f236d90cec72">xrpl::test::jtx::MPTTester::submit</a></div><div class="ttdeci">TER submit(A const &amp;arg, Json::Value const &amp;jv)</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00276">mpt.h:276</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1MPTTester_html_aaec4c507bb92161d087ce02aeff521dc"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aaec4c507bb92161d087ce02aeff521dc">xrpl::test::jtx::MPTTester::env_</a></div><div class="ttdeci">Env &amp; env_</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00160">mpt.h:160</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1MPTTester_html_abc8d3f0010fe83f60dc0b50fab2cf45e"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#abc8d3f0010fe83f60dc0b50fab2cf45e">xrpl::test::jtx::MPTTester::setjv</a></div><div class="ttdeci">static Json::Value setjv(MPTSet const &amp;set={})</div><div class="ttdef"><b>Definition</b> <a href="mpt_8cpp_source.html#l00292">mpt.cpp:292</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1MPTTester_html_ac418df1709a7a90c4c36ed6926701d86"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#ac418df1709a7a90c4c36ed6926701d86">xrpl::test::jtx::MPTTester::destroyjv</a></div><div class="ttdeci">static Json::Value destroyjv(MPTDestroy const &amp;arg=MPTDestroy{})</div><div class="ttdef"><b>Definition</b> <a href="mpt_8cpp_source.html#l00182">mpt.cpp:182</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1MPTTester_html_ac4e769f0d16d9267afded2825ce6c66b"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#ac4e769f0d16d9267afded2825ce6c66b">xrpl::test::jtx::MPTTester::createjv</a></div><div class="ttdeci">static Json::Value createjv(MPTCreate const &amp;arg=MPTCreate{})</div><div class="ttdef"><b>Definition</b> <a href="mpt_8cpp_source.html#l00102">mpt.cpp:102</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1MPTTester_html_acbe92d1821058277a3c884d4b4b7ce77"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#acbe92d1821058277a3c884d4b4b7ce77">xrpl::test::jtx::MPTTester::mpt</a></div><div class="ttdeci">PrettyAmount mpt(std::int64_t amount) const</div><div class="ttdef"><b>Definition</b> <a href="mpt_8cpp_source.html#l00530">mpt.cpp:530</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1MPTTester_html_acd69d0eceb17c518fd21a2889ec6d766"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#acd69d0eceb17c518fd21a2889ec6d766">xrpl::test::jtx::MPTTester::authorizejv</a></div><div class="ttdeci">static Json::Value authorizejv(MPTAuthorize const &amp;arg=MPTAuthorize{})</div><div class="ttdef"><b>Definition</b> <a href="mpt_8cpp_source.html#l00213">mpt.cpp:213</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1MPTTester_html_acf91974921093aaf9862a7ba130199ac"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#acf91974921093aaf9862a7ba130199ac">xrpl::test::jtx::MPTTester::destroy</a></div><div class="ttdeci">void destroy(MPTDestroy const &amp;arg=MPTDestroy{})</div><div class="ttdef"><b>Definition</b> <a href="mpt_8cpp_source.html#l00195">mpt.cpp:195</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1MPTTester_html_ad4a1c9b181d8d208e18a3e693d7befa0"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#ad4a1c9b181d8d208e18a3e693d7befa0">xrpl::test::jtx::MPTTester::checkTransferFee</a></div><div class="ttdeci">bool checkTransferFee(std::uint16_t transferFee) const</div><div class="ttdef"><b>Definition</b> <a href="mpt_8cpp_source.html#l00452">mpt.cpp:452</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1MPTTester_html_ae31de3e3aeb61a9da0a6aee848e67b1c"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#ae31de3e3aeb61a9da0a6aee848e67b1c">xrpl::test::jtx::MPTTester::checkDomainID</a></div><div class="ttdeci">bool checkDomainID(std::optional&lt; uint256 &gt; expected) const</div><div class="ttdef"><b>Definition</b> <a href="mpt_8cpp_source.html#l00408">mpt.cpp:408</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1MPTTester_html_ae7b08a21aad62d34eba5cd6c7fa2638a"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#ae7b08a21aad62d34eba5cd6c7fa2638a">xrpl::test::jtx::MPTTester::operator()</a></div><div class="ttdeci">PrettyAmount operator()(std::int64_t amount) const</div><div class="ttdef"><b>Definition</b> <a href="mpt_8cpp_source.html#l00583">mpt.cpp:583</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1MPTTester_html_aeb7680b708ed7a7ce47c3b3828bce9a6"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aeb7680b708ed7a7ce47c3b3828bce9a6">xrpl::test::jtx::MPTTester::getFlags</a></div><div class="ttdeci">std::uint32_t getFlags(std::optional&lt; Account &gt; const &amp;holder) const</div><div class="ttdef"><b>Definition</b> <a href="mpt_8cpp_source.html#l00563">mpt.cpp:563</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1MPTTester_html_aece17676957202541e2245a9861381c3"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aece17676957202541e2245a9861381c3">xrpl::test::jtx::MPTTester::makeHolders</a></div><div class="ttdeci">static std::unordered_map&lt; std::string, Account &gt; makeHolders(std::vector&lt; Account &gt; const &amp;holders)</div><div class="ttdef"><b>Definition</b> <a href="mpt_8cpp_source.html#l00029">mpt.cpp:29</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1MPTTester_html_aef2af41185972701621a11d96f9d5bce"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1MPTTester.html#aef2af41185972701621a11d96f9d5bce">xrpl::test::jtx::MPTTester::checkMPTokenOutstandingAmount</a></div><div class="ttdeci">bool checkMPTokenOutstandingAmount(std::int64_t expectedAmount) const</div><div class="ttdef"><b>Definition</b> <a href="mpt_8cpp_source.html#l00424">mpt.cpp:424</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1MPT_html"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1MPT.html">xrpl::test::jtx::MPT</a></div><div class="ttdoc">Converts to MPT Issue or STAmount.</div><div class="ttdef"><b>Definition</b> <a href="src_2test_2jtx_2amount_8h_source.html#l00459">src/test/jtx/amount.h:460</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1credentials_1_1ids_html"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1credentials_1_1ids.html">xrpl::test::jtx::credentials::ids</a></div><div class="ttdef"><b>Definition</b> <a href="credentials_8h_source.html#l00039">credentials.h:40</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="aclassxrpl_1_1test_1_1jtx_1_1mptbalance_html"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1mptbalance.html">xrpl::test::jtx::mptbalance</a></div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00038">mpt.h:39</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1mptbalance_html_a166c034f51865080ff767b8c7a475589"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1mptbalance.html#a166c034f51865080ff767b8c7a475589">xrpl::test::jtx::mptbalance::account_</a></div><div class="ttdeci">Account const &amp; account_</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00042">mpt.h:42</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1mptbalance_html_a1a3e989663bc167dd036be4737aa0b9d"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1mptbalance.html#a1a3e989663bc167dd036be4737aa0b9d">xrpl::test::jtx::mptbalance::tester_</a></div><div class="ttdeci">MPTTester const &amp; tester_</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00041">mpt.h:41</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1mptbalance_html_a295092b46389b7f313be25515587bee3"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1mptbalance.html#a295092b46389b7f313be25515587bee3">xrpl::test::jtx::mptbalance::amount_</a></div><div class="ttdeci">std::int64_t const amount_</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00043">mpt.h:43</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1mptbalance_html_aa5df099f9d896f72b53eddb9c6e4f423"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1mptbalance.html#aa5df099f9d896f72b53eddb9c6e4f423">xrpl::test::jtx::mptbalance::operator()</a></div><div class="ttdeci">void operator()(Env &amp;env) const</div><div class="ttdef"><b>Definition</b> <a href="mpt_8cpp_source.html#l00017">mpt.cpp:17</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1mptflags_html"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1mptflags.html">xrpl::test::jtx::mptflags</a></div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00020">mpt.h:21</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1mptflags_html_a4d107a2ed05f9c226f0e27ccdf1bb32e"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1mptflags.html#a4d107a2ed05f9c226f0e27ccdf1bb32e">xrpl::test::jtx::mptflags::flags_</a></div><div class="ttdeci">std::uint32_t flags_</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00024">mpt.h:24</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1mptflags_html_a699d34d5af5ce523c5976d01cb44baa5"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1mptflags.html#a699d34d5af5ce523c5976d01cb44baa5">xrpl::test::jtx::mptflags::holder_</a></div><div class="ttdeci">std::optional&lt; Account &gt; holder_</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00025">mpt.h:25</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1mptflags_html_a6cc05027ebad7f08169cf96747d9b28b"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1mptflags.html#a6cc05027ebad7f08169cf96747d9b28b">xrpl::test::jtx::mptflags::tester_</a></div><div class="ttdeci">MPTTester &amp; tester_</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00023">mpt.h:23</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1mptflags_html_adefa8b4442562deedc526912eb6af345"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1mptflags.html#adefa8b4442562deedc526912eb6af345">xrpl::test::jtx::mptflags::operator()</a></div><div class="ttdeci">void operator()(Env &amp;env) const</div><div class="ttdef"><b>Definition</b> <a href="mpt_8cpp_source.html#l00011">mpt.cpp:11</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1owners_html"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1owners.html">xrpl::test::jtx::owners</a></div><div class="ttdoc">Match the number of items in the account's owner directory.</div><div class="ttdef"><b>Definition</b> <a href="owners_8h_source.html#l00048">owners.h:49</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1requireAny_html"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1requireAny.html">xrpl::test::jtx::requireAny</a></div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00055">mpt.h:56</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1requireAny_html_a4530300edc4d32c342bd85a3992fc151"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1requireAny.html#a4530300edc4d32c342bd85a3992fc151">xrpl::test::jtx::requireAny::cb_</a></div><div class="ttdeci">std::function&lt; bool()&gt; cb_</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00058">mpt.h:58</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1requireAny_html_abcfb1d38b5ca8f2cee57ae94e70c8131"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1requireAny.html#abcfb1d38b5ca8f2cee57ae94e70c8131">xrpl::test::jtx::requireAny::operator()</a></div><div class="ttdeci">void operator()(Env &amp;env) const</div><div class="ttdef"><b>Definition</b> <a href="mpt_8cpp_source.html#l00023">mpt.cpp:23</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1require_html"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1require.html">xrpl::test::jtx::require</a></div><div class="ttdoc">Check a set of conditions.</div><div class="ttdef"><b>Definition</b> <a href="require_8h_source.html#l00046">require.h:47</a></div></div>
<div class="ttc" id="aclassxrpl_1_1test_1_1jtx_1_1ter_html"><div class="ttname"><a href="classxrpl_1_1test_1_1jtx_1_1ter.html">xrpl::test::jtx::ter</a></div><div class="ttdoc">Set the expected result code for a JTx The test will fail if the code doesn't match.</div><div class="ttdef"><b>Definition</b> <a href="ter_8h_source.html#l00015">ter.h:16</a></div></div>
<div class="ttc" id="aemplace_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/unordered_map/emplace.html">std::unordered_map::emplace</a></div><div class="ttdeci">T emplace(T... args)</div></div>
<div class="ttc" id="aend_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/unordered_map/end.html">std::unordered_map::cend</a></div><div class="ttdeci">T cend(T... args)</div></div>
<div class="ttc" id="afind_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/unordered_map/find.html">std::unordered_map::find</a></div><div class="ttdeci">T find(T... args)</div></div>
<div class="ttc" id="afunction_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a></div></div>
<div class="ttc" id="ainteger_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/types/integer.html">std::int64_t</a></div></div>
<div class="ttc" id="ais_same_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/types/is_same.html">std::is_same_v</a></div><div class="ttdeci">T is_same_v</div></div>
<div class="ttc" id="amin_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/algorithm/min.html">std::min</a></div><div class="ttdeci">T min(T... args)</div></div>
<div class="ttc" id="anamespacexrpl_1_1keylet_html_a77d91a4fd20b17d44ccb32b4e9ae2d9b"><div class="ttname"><a href="namespacexrpl_1_1keylet.html#a77d91a4fd20b17d44ccb32b4e9ae2d9b">xrpl::keylet::mptIssuance</a></div><div class="ttdeci">Keylet mptIssuance(std::uint32_t seq, AccountID const &amp;issuer) noexcept</div><div class="ttdef"><b>Definition</b> <a href="Indexes_8cpp_source.html#l00462">Indexes.cpp:462</a></div></div>
<div class="ttc" id="anamespacexrpl_1_1keylet_html_ab3ec6c5e531adf3b2fbee3a984c3d453"><div class="ttname"><a href="namespacexrpl_1_1keylet.html#ab3ec6c5e531adf3b2fbee3a984c3d453">xrpl::keylet::mptoken</a></div><div class="ttdeci">Keylet mptoken(MPTID const &amp;issuanceID, AccountID const &amp;holder) noexcept</div><div class="ttdef"><b>Definition</b> <a href="Indexes_8cpp_source.html#l00474">Indexes.cpp:474</a></div></div>
<div class="ttc" id="anamespacexrpl_1_1test_1_1jtx_1_1paychan_html_ab8acc77a1d55bacb09386215d5c98769"><div class="ttname"><a href="namespacexrpl_1_1test_1_1jtx_1_1paychan.html#ab8acc77a1d55bacb09386215d5c98769">xrpl::test::jtx::paychan::create</a></div><div class="ttdeci">Json::Value create(AccountID const &amp;account, AccountID const &amp;to, STAmount const &amp;amount, NetClock::duration const &amp;settleDelay, PublicKey const &amp;pk, std::optional&lt; NetClock::time_point &gt; const &amp;cancelAfter, std::optional&lt; std::uint32_t &gt; const &amp;dstTag)</div><div class="ttdef"><b>Definition</b> <a href="TestHelpers_8cpp_source.html#l00191">TestHelpers.cpp:191</a></div></div>
<div class="ttc" id="anamespacexrpl_1_1test_1_1jtx_html_a12c3ddd7a059d9aa913e96b0d1212f7b"><div class="ttname"><a href="namespacexrpl_1_1test_1_1jtx.html#a12c3ddd7a059d9aa913e96b0d1212f7b">xrpl::test::jtx::claw</a></div><div class="ttdeci">Json::Value claw(Account const &amp;account, STAmount const &amp;amount, std::optional&lt; Account &gt; const &amp;mptHolder)</div><div class="ttdef"><b>Definition</b> <a href="trust_8cpp_source.html#l00046">trust.cpp:46</a></div></div>
<div class="ttc" id="anamespacexrpl_1_1test_1_1jtx_html_a1b3dae778cc37b94f5fb59e65881a560"><div class="ttname"><a href="namespacexrpl_1_1test_1_1jtx.html#a1b3dae778cc37b94f5fb59e65881a560">xrpl::test::jtx::makeMPTCreate</a></div><div class="ttdeci">static MPTCreate makeMPTCreate(MPTInitDef const &amp;arg)</div><div class="ttdef"><b>Definition</b> <a href="mpt_8cpp_source.html#l00072">mpt.cpp:72</a></div></div>
<div class="ttc" id="anamespacexrpl_1_1test_1_1jtx_html_a2d1b480ddb9bb6d8bc3f067200c5e53b"><div class="ttname"><a href="namespacexrpl_1_1test_1_1jtx.html#a2d1b480ddb9bb6d8bc3f067200c5e53b">xrpl::test::jtx::fund</a></div><div class="ttdeci">void fund(jtx::Env &amp;env, jtx::Account const &amp;gw, std::vector&lt; jtx::Account &gt; const &amp;accounts, std::vector&lt; STAmount &gt; const &amp;amts, Fund how)</div><div class="ttdef"><b>Definition</b> <a href="AMMTest_8cpp_source.html#l00018">AMMTest.cpp:18</a></div></div>
<div class="ttc" id="anamespacexrpl_1_1test_1_1jtx_html_a62f8e22673d7d96178b89211b17ef09d"><div class="ttname"><a href="namespacexrpl_1_1test_1_1jtx.html#a62f8e22673d7d96178b89211b17ef09d">xrpl::test::jtx::pay</a></div><div class="ttdeci">Json::Value pay(AccountID const &amp;account, AccountID const &amp;to, AnyAmount amount)</div><div class="ttdoc">Create a payment.</div><div class="ttdef"><b>Definition</b> <a href="pay_8cpp_source.html#l00011">pay.cpp:11</a></div></div>
<div class="ttc" id="anamespacexrpl_1_1test_1_1jtx_html_aa2d8284d8eff3443e0f8ada927a97858"><div class="ttname"><a href="namespacexrpl_1_1test_1_1jtx.html#aa2d8284d8eff3443e0f8ada927a97858">xrpl::test::jtx::amount</a></div><div class="ttdeci">auto const amount</div><div class="ttdef"><b>Definition</b> <a href="TestHelpers_8h_source.html#l00277">TestHelpers.h:277</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_a1586a7fcfd09c87d710754fa3b7ea8bd"><div class="ttname"><a href="namespacexrpl.html#a1586a7fcfd09c87d710754fa3b7ea8bd">xrpl::tmfMPTClearCanTransfer</a></div><div class="ttdeci">constexpr std::uint32_t const tmfMPTClearCanTransfer</div><div class="ttdef"><b>Definition</b> <a href="TxFlags_8h_source.html#l00173">TxFlags.h:173</a></div></div>
<div class="ttc" id="anamespacexrpl_html_a1d41aa726bbfffd5fce41a2ef30e7420"><div class="ttname"><a href="namespacexrpl.html#a1d41aa726bbfffd5fce41a2ef30e7420">xrpl::tmfMPTClearCanLock</a></div><div class="ttdeci">constexpr std::uint32_t const tmfMPTClearCanLock</div><div class="ttdef"><b>Definition</b> <a href="TxFlags_8h_source.html#l00165">TxFlags.h:165</a></div></div>
<div class="ttc" id="anamespacexrpl_html_a2f57f27428ee80be4dda5b8b77dd8001"><div class="ttname"><a href="namespacexrpl.html#a2f57f27428ee80be4dda5b8b77dd8001">xrpl::tmfMPTClearCanClawback</a></div><div class="ttdeci">constexpr std::uint32_t const tmfMPTClearCanClawback</div><div class="ttdef"><b>Definition</b> <a href="TxFlags_8h_source.html#l00175">TxFlags.h:175</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_a3b504b2dedf069a5041193be2504e319"><div class="ttname"><a href="namespacexrpl.html#a3b504b2dedf069a5041193be2504e319">xrpl::tfMPTRequireAuth</a></div><div class="ttdeci">constexpr std::uint32_t const tfMPTRequireAuth</div><div class="ttdef"><b>Definition</b> <a href="TxFlags_8h_source.html#l00130">TxFlags.h:130</a></div></div>
<div class="ttc" id="anamespacexrpl_html_a4339bc6ca914871ce8e5e4aa924d1161"><div class="ttname"><a href="namespacexrpl.html#a4339bc6ca914871ce8e5e4aa924d1161">xrpl::tmfMPTClearCanEscrow</a></div><div class="ttdeci">constexpr std::uint32_t const tmfMPTClearCanEscrow</div><div class="ttdef"><b>Definition</b> <a href="TxFlags_8h_source.html#l00169">TxFlags.h:169</a></div></div>
<div class="ttc" id="anamespacexrpl_html_a47f3290c67c90ac8cd9605b6fe085c9d"><div class="ttname"><a href="namespacexrpl.html#a47f3290c67c90ac8cd9605b6fe085c9d">xrpl::tmfMPTSetRequireAuth</a></div><div class="ttdeci">constexpr std::uint32_t const tmfMPTSetRequireAuth</div><div class="ttdef"><b>Definition</b> <a href="TxFlags_8h_source.html#l00166">TxFlags.h:166</a></div></div>
<div class="ttc" id="anamespacexrpl_html_a49e1bed80ec5ec939bfb3670e5bc16b2"><div class="ttname"><a href="namespacexrpl.html#a49e1bed80ec5ec939bfb3670e5bc16b2">xrpl::tmfMPTClearRequireAuth</a></div><div class="ttdeci">constexpr std::uint32_t const tmfMPTClearRequireAuth</div><div class="ttdef"><b>Definition</b> <a href="TxFlags_8h_source.html#l00167">TxFlags.h:167</a></div></div>
<div class="ttc" id="anamespacexrpl_html_a4e17e8237bc800415c303501c667baeb"><div class="ttname"><a href="namespacexrpl.html#a4e17e8237bc800415c303501c667baeb">xrpl::toBase58</a></div><div class="ttdeci">std::string toBase58(AccountID const &amp;v)</div><div class="ttdoc">Convert AccountID to base58 checked string.</div><div class="ttdef"><b>Definition</b> <a href="AccountID_8cpp_source.html#l00092">AccountID.cpp:92</a></div></div>
<div class="ttc" id="anamespacexrpl_html_a63a3223bbf81dbd09717eb04d45d58cf"><div class="ttname"><a href="namespacexrpl.html#a63a3223bbf81dbd09717eb04d45d58cf">xrpl::multiply</a></div><div class="ttdeci">STAmount multiply(STAmount const &amp;amount, Rate const &amp;rate)</div><div class="ttdef"><b>Definition</b> <a href="Rate2_8cpp_source.html#l00034">Rate2.cpp:34</a></div></div>
<div class="ttc" id="anamespacexrpl_html_a65485546d5dd32422663a8d1bcf86c56"><div class="ttname"><a href="namespacexrpl.html#a65485546d5dd32422663a8d1bcf86c56">xrpl::tfMPTUnlock</a></div><div class="ttdeci">constexpr std::uint32_t const tfMPTUnlock</div><div class="ttdef"><b>Definition</b> <a href="TxFlags_8h_source.html#l00158">TxFlags.h:158</a></div></div>
<div class="ttc" id="anamespacexrpl_html_a85ce0cebdfcd772881b9dd2fa400e50e"><div class="ttname"><a href="namespacexrpl.html#a85ce0cebdfcd772881b9dd2fa400e50e">xrpl::tmfMPTSetCanLock</a></div><div class="ttdeci">constexpr std::uint32_t const tmfMPTSetCanLock</div><div class="ttdef"><b>Definition</b> <a href="TxFlags_8h_source.html#l00164">TxFlags.h:164</a></div></div>
<div class="ttc" id="anamespacexrpl_html_a91fd197c1aed397d38e1ed3bde3a2d33"><div class="ttname"><a href="namespacexrpl.html#a91fd197c1aed397d38e1ed3bde3a2d33">xrpl::tfMPTLock</a></div><div class="ttdeci">constexpr std::uint32_t const tfMPTLock</div><div class="ttdef"><b>Definition</b> <a href="TxFlags_8h_source.html#l00157">TxFlags.h:157</a></div></div>
<div class="ttc" id="anamespacexrpl_html_a986de5f13b12ee8a23b63d3f400f6a6a"><div class="ttname"><a href="namespacexrpl.html#a986de5f13b12ee8a23b63d3f400f6a6a">xrpl::transferRate</a></div><div class="ttdeci">Rate transferRate(ReadView const &amp;view, AccountID const &amp;issuer)</div><div class="ttdoc">Returns IOU issuer transfer fee as Rate.</div><div class="ttdef"><b>Definition</b> <a href="View_8cpp_source.html#l00699">View.cpp:699</a></div></div>
<div class="ttc" id="anamespacexrpl_html_aa2e9e23875244e2f01faeeb0dbe88324"><div class="ttname"><a href="namespacexrpl.html#aa2e9e23875244e2f01faeeb0dbe88324">xrpl::tmfMPTClearCanTrade</a></div><div class="ttdeci">constexpr std::uint32_t const tmfMPTClearCanTrade</div><div class="ttdef"><b>Definition</b> <a href="TxFlags_8h_source.html#l00171">TxFlags.h:171</a></div></div>
<div class="ttc" id="anamespacexrpl_html_aae07b590d51f8a8c8d93dfb4b05b1032"><div class="ttname"><a href="namespacexrpl.html#aae07b590d51f8a8c8d93dfb4b05b1032">xrpl::tfMPTUnauthorize</a></div><div class="ttdeci">constexpr std::uint32_t const tfMPTUnauthorize</div><div class="ttdef"><b>Definition</b> <a href="TxFlags_8h_source.html#l00153">TxFlags.h:153</a></div></div>
<div class="ttc" id="anamespacexrpl_html_ab5d0ce96c25d41fc5d05cdfb66abedd4"><div class="ttname"><a href="namespacexrpl.html#ab5d0ce96c25d41fc5d05cdfb66abedd4">xrpl::tmfMPTSetCanTrade</a></div><div class="ttdeci">constexpr std::uint32_t const tmfMPTSetCanTrade</div><div class="ttdef"><b>Definition</b> <a href="TxFlags_8h_source.html#l00170">TxFlags.h:170</a></div></div>
<div class="ttc" id="anamespacexrpl_html_ab9bc03d0294943606af67af9a94c7fb7"><div class="ttname"><a href="namespacexrpl.html#ab9bc03d0294943606af67af9a94c7fb7">xrpl::tmfMPTSetCanClawback</a></div><div class="ttdeci">constexpr std::uint32_t const tmfMPTSetCanClawback</div><div class="ttdef"><b>Definition</b> <a href="TxFlags_8h_source.html#l00174">TxFlags.h:174</a></div></div>
<div class="ttc" id="anamespacexrpl_html_acce5110ebccbf64e80bf0f08d7fefa74"><div class="ttname"><a href="namespacexrpl.html#acce5110ebccbf64e80bf0f08d7fefa74">xrpl::tmfMPTSetCanEscrow</a></div><div class="ttdeci">constexpr std::uint32_t const tmfMPTSetCanEscrow</div><div class="ttdef"><b>Definition</b> <a href="TxFlags_8h_source.html#l00168">TxFlags.h:168</a></div></div>
<div class="ttc" id="anamespacexrpl_html_ad78c115958eec639754bf9227f58556baf32cb7d951bbd9da39a402a16cfbcb5a"><div class="ttname"><a href="namespacexrpl.html#ad78c115958eec639754bf9227f58556baf32cb7d951bbd9da39a402a16cfbcb5a">xrpl::tecDUPLICATE</a></div><div class="ttdeci">@ tecDUPLICATE</div><div class="ttdef"><b>Definition</b> <a href="TER_8h_source.html#l00297">TER.h:297</a></div></div>
<div class="ttc" id="anamespacexrpl_html_ada4805619214865518ed8c0b54a71bc1a026e4c021a7478544f4bcbf645a1019b"><div class="ttname"><a href="namespacexrpl.html#ada4805619214865518ed8c0b54a71bc1a026e4c021a7478544f4bcbf645a1019b">xrpl::lsfMPTCanLock</a></div><div class="ttdeci">@ lsfMPTCanLock</div><div class="ttdef"><b>Definition</b> <a href="LedgerFormats_8h_source.html#l00165">LedgerFormats.h:165</a></div></div>
<div class="ttc" id="anamespacexrpl_html_ada4805619214865518ed8c0b54a71bc1a06c092887e1d9b5c9e828fa8287adada"><div class="ttname"><a href="namespacexrpl.html#ada4805619214865518ed8c0b54a71bc1a06c092887e1d9b5c9e828fa8287adada">xrpl::lsfMPTCanEscrow</a></div><div class="ttdeci">@ lsfMPTCanEscrow</div><div class="ttdef"><b>Definition</b> <a href="LedgerFormats_8h_source.html#l00167">LedgerFormats.h:167</a></div></div>
<div class="ttc" id="anamespacexrpl_html_ada4805619214865518ed8c0b54a71bc1a4bb421654dafd3243c576e2947f0ae29"><div class="ttname"><a href="namespacexrpl.html#ada4805619214865518ed8c0b54a71bc1a4bb421654dafd3243c576e2947f0ae29">xrpl::lsfMPTRequireAuth</a></div><div class="ttdeci">@ lsfMPTRequireAuth</div><div class="ttdef"><b>Definition</b> <a href="LedgerFormats_8h_source.html#l00166">LedgerFormats.h:166</a></div></div>
<div class="ttc" id="anamespacexrpl_html_ada4805619214865518ed8c0b54a71bc1a4d8e8dc12951712ab3af7803b9e08628"><div class="ttname"><a href="namespacexrpl.html#ada4805619214865518ed8c0b54a71bc1a4d8e8dc12951712ab3af7803b9e08628">xrpl::lsfMPTCanTrade</a></div><div class="ttdeci">@ lsfMPTCanTrade</div><div class="ttdef"><b>Definition</b> <a href="LedgerFormats_8h_source.html#l00168">LedgerFormats.h:168</a></div></div>
<div class="ttc" id="anamespacexrpl_html_ada4805619214865518ed8c0b54a71bc1a740c0f905e085fd723d6d45822c17340"><div class="ttname"><a href="namespacexrpl.html#ada4805619214865518ed8c0b54a71bc1a740c0f905e085fd723d6d45822c17340">xrpl::lsfMPTLocked</a></div><div class="ttdeci">@ lsfMPTLocked</div><div class="ttdef"><b>Definition</b> <a href="LedgerFormats_8h_source.html#l00164">LedgerFormats.h:164</a></div></div>
<div class="ttc" id="anamespacexrpl_html_ada4805619214865518ed8c0b54a71bc1a81b9ddff6289c440ee479d861eb5405d"><div class="ttname"><a href="namespacexrpl.html#ada4805619214865518ed8c0b54a71bc1a81b9ddff6289c440ee479d861eb5405d">xrpl::lsfMPTAuthorized</a></div><div class="ttdeci">@ lsfMPTAuthorized</div><div class="ttdef"><b>Definition</b> <a href="LedgerFormats_8h_source.html#l00182">LedgerFormats.h:182</a></div></div>
<div class="ttc" id="anamespacexrpl_html_ada4805619214865518ed8c0b54a71bc1a9d5e9c29f01852a5f38050de2676a715"><div class="ttname"><a href="namespacexrpl.html#ada4805619214865518ed8c0b54a71bc1a9d5e9c29f01852a5f38050de2676a715">xrpl::lsfMPTCanTransfer</a></div><div class="ttdeci">@ lsfMPTCanTransfer</div><div class="ttdef"><b>Definition</b> <a href="LedgerFormats_8h_source.html#l00169">LedgerFormats.h:169</a></div></div>
<div class="ttc" id="anamespacexrpl_html_ada4805619214865518ed8c0b54a71bc1ad6173188f5f849b70d84b480f5800145"><div class="ttname"><a href="namespacexrpl.html#ada4805619214865518ed8c0b54a71bc1ad6173188f5f849b70d84b480f5800145">xrpl::lsfMPTCanClawback</a></div><div class="ttdeci">@ lsfMPTCanClawback</div><div class="ttdef"><b>Definition</b> <a href="LedgerFormats_8h_source.html#l00170">LedgerFormats.h:170</a></div></div>
<div class="ttc" id="anamespacexrpl_html_af2bcbebb809c9aba5680fc7beb0724d2"><div class="ttname"><a href="namespacexrpl.html#af2bcbebb809c9aba5680fc7beb0724d2">xrpl::makeMptID</a></div><div class="ttdeci">MPTID makeMptID(std::uint32_t sequence, AccountID const &amp;account)</div><div class="ttdef"><b>Definition</b> <a href="Indexes_8cpp_source.html#l00146">Indexes.cpp:146</a></div></div>
<div class="ttc" id="anamespacexrpl_html_af4adbbe94a1cecf1bd3ad2c76ff1ea3da157dace29a657c58cdeb4f7fa19be976"><div class="ttname"><a href="namespacexrpl.html#af4adbbe94a1cecf1bd3ad2c76ff1ea3da157dace29a657c58cdeb4f7fa19be976">xrpl::tesSUCCESS</a></div><div class="ttdeci">@ tesSUCCESS</div><div class="ttdef"><b>Definition</b> <a href="TER_8h_source.html#l00227">TER.h:226</a></div></div>
<div class="ttc" id="anamespacexrpl_html_af80d39e55d81f756bf5af6a960c6a120"><div class="ttname"><a href="namespacexrpl.html#af80d39e55d81f756bf5af6a960c6a120">xrpl::tmfMPTSetCanTransfer</a></div><div class="ttdeci">constexpr std::uint32_t const tmfMPTSetCanTransfer</div><div class="ttdef"><b>Definition</b> <a href="TxFlags_8h_source.html#l00172">TxFlags.h:172</a></div></div>
<div class="ttc" id="aoperator_bool_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/optional/operator_bool.html">std::optional::has_value</a></div><div class="ttdeci">T has_value(T... args)</div></div>
<div class="ttc" id="aoptional_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional</a></div></div>
<div class="ttc" id="ashared_ptr_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTAuthorize_html"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTAuthorize.html">xrpl::test::jtx::MPTAuthorize</a></div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00131">mpt.h:132</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTAuthorize_html_a43c056caa26b5b45c3b267c7e6e4ba1d"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTAuthorize.html#a43c056caa26b5b45c3b267c7e6e4ba1d">xrpl::test::jtx::MPTAuthorize::holder</a></div><div class="ttdeci">std::optional&lt; Account &gt; holder</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00134">mpt.h:134</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTAuthorize_html_aa56fc5bd381cbd7de74b092b64503422"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTAuthorize.html#aa56fc5bd381cbd7de74b092b64503422">xrpl::test::jtx::MPTAuthorize::account</a></div><div class="ttdeci">std::optional&lt; Account &gt; account</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00133">mpt.h:133</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTAuthorize_html_ac27b717ef5cb5cc7b21c245ee3f57ed4"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTAuthorize.html#ac27b717ef5cb5cc7b21c245ee3f57ed4">xrpl::test::jtx::MPTAuthorize::id</a></div><div class="ttdeci">std::optional&lt; MPTID &gt; id</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00135">mpt.h:135</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTAuthorize_html_ae4a56b3928f48ec1cba3acd468eab6ac"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTAuthorize.html#ae4a56b3928f48ec1cba3acd468eab6ac">xrpl::test::jtx::MPTAuthorize::flags</a></div><div class="ttdeci">std::optional&lt; std::uint32_t &gt; flags</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00138">mpt.h:138</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTCreate_html"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html">xrpl::test::jtx::MPTCreate</a></div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00071">mpt.h:72</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTCreate_html_a02f4a4de36728db8bb5a973a4d2f165e"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#a02f4a4de36728db8bb5a973a4d2f165e">xrpl::test::jtx::MPTCreate::assetScale</a></div><div class="ttdeci">std::optional&lt; std::uint8_t &gt; assetScale</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00076">mpt.h:76</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTCreate_html_a32f3a92a1962e00c09806ea4e26c2e46"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#a32f3a92a1962e00c09806ea4e26c2e46">xrpl::test::jtx::MPTCreate::mutableFlags</a></div><div class="ttdeci">std::optional&lt; std::uint32_t &gt; mutableFlags</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00088">mpt.h:88</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTCreate_html_a53aab434655945b60db3287c2e0ef60d"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#a53aab434655945b60db3287c2e0ef60d">xrpl::test::jtx::MPTCreate::authHolder</a></div><div class="ttdeci">bool authHolder</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00089">mpt.h:89</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTCreate_html_a70f4335b1f21cec49afb5a1e974824df"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#a70f4335b1f21cec49afb5a1e974824df">xrpl::test::jtx::MPTCreate::metadata</a></div><div class="ttdeci">std::optional&lt; std::string &gt; metadata</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00078">mpt.h:78</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTCreate_html_a7e931793ec34337b63af3a462ed1007c"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#a7e931793ec34337b63af3a462ed1007c">xrpl::test::jtx::MPTCreate::flags</a></div><div class="ttdeci">std::optional&lt; std::uint32_t &gt; flags</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00087">mpt.h:87</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTCreate_html_a7fa91d22de4fc1cdda5d746d27a8b580"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#a7fa91d22de4fc1cdda5d746d27a8b580">xrpl::test::jtx::MPTCreate::domainID</a></div><div class="ttdeci">std::optional&lt; uint256 &gt; domainID</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00090">mpt.h:90</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTCreate_html_aa2175dc9cb83a776cc11e2d823ee37da"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#aa2175dc9cb83a776cc11e2d823ee37da">xrpl::test::jtx::MPTCreate::maxAmt</a></div><div class="ttdeci">std::optional&lt; std::uint64_t &gt; maxAmt</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00075">mpt.h:75</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTCreate_html_ab8cf20edfa53de2cd98e3a38095c3500"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#ab8cf20edfa53de2cd98e3a38095c3500">xrpl::test::jtx::MPTCreate::issuer</a></div><div class="ttdeci">std::optional&lt; Account &gt; issuer</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00074">mpt.h:74</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTCreate_html_abada753e1b688d6254839fb1af420ecc"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#abada753e1b688d6254839fb1af420ecc">xrpl::test::jtx::MPTCreate::pay</a></div><div class="ttdeci">std::optional&lt; std::pair&lt; std::vector&lt; Account &gt;, std::uint64_t &gt; &gt; pay</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00086">mpt.h:86</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTCreate_html_acfe77ab8187b62b68d69e77cadbd372e"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#acfe77ab8187b62b68d69e77cadbd372e">xrpl::test::jtx::MPTCreate::transferFee</a></div><div class="ttdeci">std::optional&lt; std::uint16_t &gt; transferFee</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00077">mpt.h:77</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTCreate_html_af08c6964338c41ff31bdd41f9dd9f2c6"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTCreate.html#af08c6964338c41ff31bdd41f9dd9f2c6">xrpl::test::jtx::MPTCreate::authorize</a></div><div class="ttdeci">std::optional&lt; std::vector&lt; Account &gt; &gt; authorize</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00083">mpt.h:83</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTDestroy_html"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTDestroy.html">xrpl::test::jtx::MPTDestroy</a></div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00121">mpt.h:122</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTDestroy_html_a21b36f715eaa866de25e9cf385396450"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTDestroy.html#a21b36f715eaa866de25e9cf385396450">xrpl::test::jtx::MPTDestroy::issuer</a></div><div class="ttdeci">std::optional&lt; Account &gt; issuer</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00123">mpt.h:123</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTDestroy_html_aa26c54343964d914f56cf1aaf5a63365"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTDestroy.html#aa26c54343964d914f56cf1aaf5a63365">xrpl::test::jtx::MPTDestroy::id</a></div><div class="ttdeci">std::optional&lt; MPTID &gt; id</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00124">mpt.h:124</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTInitDef_html"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTInitDef.html">xrpl::test::jtx::MPTInitDef</a></div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00106">mpt.h:107</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTInitDef_html_a300bb350188a1809590262a1ecc53f6a"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTInitDef.html#a300bb350188a1809590262a1ecc53f6a">xrpl::test::jtx::MPTInitDef::transferFee</a></div><div class="ttdeci">std::uint16_t transferFee</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00111">mpt.h:111</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTInitDef_html_a402b6966cdb2f117c08b384d6b79f77e"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTInitDef.html#a402b6966cdb2f117c08b384d6b79f77e">xrpl::test::jtx::MPTInitDef::flags</a></div><div class="ttdeci">std::uint32_t flags</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00113">mpt.h:113</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTInitDef_html_a5332c095410ab00b3c47f94f3938b865"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTInitDef.html#a5332c095410ab00b3c47f94f3938b865">xrpl::test::jtx::MPTInitDef::authHolder</a></div><div class="ttdeci">bool authHolder</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00114">mpt.h:114</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTInitDef_html_a6998f836a4018b1616565c9e4985902f"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTInitDef.html#a6998f836a4018b1616565c9e4985902f">xrpl::test::jtx::MPTInitDef::maxAmt</a></div><div class="ttdeci">std::optional&lt; std::uint64_t &gt; maxAmt</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00117">mpt.h:117</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTInitDef_html_a9555356778827f6f77f2295c7bfe443b"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTInitDef.html#a9555356778827f6f77f2295c7bfe443b">xrpl::test::jtx::MPTInitDef::holders</a></div><div class="ttdeci">Holders holders</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00110">mpt.h:110</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTInitDef_html_aa122e904599b0aed38d0f24a2cc7def9"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTInitDef.html#aa122e904599b0aed38d0f24a2cc7def9">xrpl::test::jtx::MPTInitDef::pay</a></div><div class="ttdeci">std::optional&lt; std::uint64_t &gt; pay</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00112">mpt.h:112</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTInit_html"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTInit.html">xrpl::test::jtx::MPTInit</a></div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00094">mpt.h:95</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTInit_html_a08696ed27a22a208272f4bd1883752e5"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTInit.html#a08696ed27a22a208272f4bd1883752e5">xrpl::test::jtx::MPTInit::create</a></div><div class="ttdeci">std::optional&lt; MPTCreate &gt; create</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00102">mpt.h:102</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTInit_html_a5aa5a9bab4c8e9993fe8c652d275c70b"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTInit.html#a5aa5a9bab4c8e9993fe8c652d275c70b">xrpl::test::jtx::MPTInit::fund</a></div><div class="ttdeci">bool fund</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00099">mpt.h:99</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTInit_html_ada7b6d49e2eee415886c10aaa6f0d4e7"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTInit.html#ada7b6d49e2eee415886c10aaa6f0d4e7">xrpl::test::jtx::MPTInit::xrp</a></div><div class="ttdeci">PrettyAmount const xrp</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00097">mpt.h:97</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTInit_html_af014c2b16b45a542a32675db41cedf68"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTInit.html#af014c2b16b45a542a32675db41cedf68">xrpl::test::jtx::MPTInit::xrpHolders</a></div><div class="ttdeci">PrettyAmount const xrpHolders</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00098">mpt.h:98</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTSet_html"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html">xrpl::test::jtx::MPTSet</a></div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00142">mpt.h:143</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTSet_html_a03d29dd1dc4b2099ed80d6459728ab3b"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a03d29dd1dc4b2099ed80d6459728ab3b">xrpl::test::jtx::MPTSet::domainID</a></div><div class="ttdeci">std::optional&lt; uint256 &gt; domainID</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00154">mpt.h:154</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTSet_html_a07b627cec654338f0638964a5fb34ad8"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a07b627cec654338f0638964a5fb34ad8">xrpl::test::jtx::MPTSet::account</a></div><div class="ttdeci">std::optional&lt; Account &gt; account</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00144">mpt.h:144</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTSet_html_a448251da4a203fe1a05144e9cb5f735b"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a448251da4a203fe1a05144e9cb5f735b">xrpl::test::jtx::MPTSet::id</a></div><div class="ttdeci">std::optional&lt; MPTID &gt; id</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00146">mpt.h:146</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTSet_html_a7109f39ea394fc17f2abec524a9984f5"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a7109f39ea394fc17f2abec524a9984f5">xrpl::test::jtx::MPTSet::transferFee</a></div><div class="ttdeci">std::optional&lt; std::uint16_t &gt; transferFee</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00151">mpt.h:151</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTSet_html_a7c1ebf8b9b48e24e5f3d2fa15f41297f"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a7c1ebf8b9b48e24e5f3d2fa15f41297f">xrpl::test::jtx::MPTSet::flags</a></div><div class="ttdeci">std::optional&lt; std::uint32_t &gt; flags</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00149">mpt.h:149</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTSet_html_a8765f3d3a2c06fa48fc5ba36131b9fca"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a8765f3d3a2c06fa48fc5ba36131b9fca">xrpl::test::jtx::MPTSet::holder</a></div><div class="ttdeci">std::optional&lt; std::variant&lt; Account, AccountID &gt; &gt; holder</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00145">mpt.h:145</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTSet_html_a8fb70cab5a994edf59282aee891a0a52"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a8fb70cab5a994edf59282aee891a0a52">xrpl::test::jtx::MPTSet::mutableFlags</a></div><div class="ttdeci">std::optional&lt; std::uint32_t &gt; mutableFlags</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00150">mpt.h:150</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTSet_html_a9b5e29b2c4526c8de945363915c91ab9"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#a9b5e29b2c4526c8de945363915c91ab9">xrpl::test::jtx::MPTSet::metadata</a></div><div class="ttdeci">std::optional&lt; std::string &gt; metadata</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00152">mpt.h:152</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1MPTSet_html_af8c9a91b898ad41bb8e1a85eab90fbb2"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1MPTSet.html#af8c9a91b898ad41bb8e1a85eab90fbb2">xrpl::test::jtx::MPTSet::delegate</a></div><div class="ttdeci">std::optional&lt; Account &gt; delegate</div><div class="ttdef"><b>Definition</b> <a href="mpt_8h_source.html#l00153">mpt.h:153</a></div></div>
<div class="ttc" id="astructxrpl_1_1test_1_1jtx_1_1PrettyAmount_html"><div class="ttname"><a href="structxrpl_1_1test_1_1jtx_1_1PrettyAmount.html">xrpl::test::jtx::PrettyAmount</a></div><div class="ttdoc">Represents an XRP or IOU quantity This customizes the string conversion and supports XRP conversions ...</div><div class="ttdef"><b>Definition</b> <a href="src_2test_2jtx_2amount_8h_source.html#l00064">src/test/jtx/amount.h:65</a></div></div>
<div class="ttc" id="ato_string_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string/to_string.html">std::to_string</a></div><div class="ttdeci">T to_string(T... args)</div></div>
<div class="ttc" id="aunordered_map_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/unordered_map.html">std::unordered_map</a></div></div>
<div class="ttc" id="avalue_or_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/optional/value_or.html">std::optional::value_or</a></div><div class="ttdeci">T value_or(T... args)</div></div>
<div class="ttc" id="avector_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a></div></div>
<div class="ttc" id="avisit_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/variant/visit.html">std::visit</a></div><div class="ttdeci">T visit(T... args)</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>