This commit is contained in:
bthomee
2025-03-12 22:37:33 +00:00
parent 863da5c9e1
commit 7f0acfcddb
1732 changed files with 298086 additions and 297371 deletions

View File

@@ -97,144 +97,145 @@ $(function() {
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#include &lt;xrpld/app/tx/detail/MPTokenIssuanceCreate.h&gt;</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#include &lt;xrpld/ledger/View.h&gt;</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="preprocessor">#include &lt;xrpl/protocol/Feature.h&gt;</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include &lt;xrpl/protocol/TxFlags.h&gt;</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> </div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespaceripple.html">ripple</a> {</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><a class="code hl_typedef" href="namespaceripple.html#af99ba2263d2a1e29207c40a35fc9f6b3">NotTEC</a></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"><a class="line" href="classripple_1_1MPTokenIssuanceCreate.html#ac61a87dd0bd689f2a9a68cd4a8bfa354"> 28</a></span><a class="code hl_function" href="classripple_1_1MPTokenIssuanceCreate.html#ac61a87dd0bd689f2a9a68cd4a8bfa354">MPTokenIssuanceCreate::preflight</a>(<a class="code hl_struct" href="structripple_1_1PreflightContext.html">PreflightContext</a> <span class="keyword">const</span>&amp; ctx)</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span>{</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> <span class="keywordflow">if</span> (!ctx.<a class="code hl_variable" href="structripple_1_1PreflightContext.html#ab27bfce9ca08a7330ff573e4e2d5fc68">rules</a>.<a class="code hl_function" href="classripple_1_1Rules.html#a1a8388a2b9588aa9446ece92a88e0dd2">enabled</a>(featureMPTokensV1))</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#afe21c8454670d46fb93751a5edffed46ac3482079467d517ea82aa9c8fa693d21">temDISABLED</a>;</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> </div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <span class="keywordflow">if</span> (<span class="keyword">auto</span> <span class="keyword">const</span> ret = <a class="code hl_function" href="namespaceripple.html#a5dfb437ade69624474bbe4125ceb791a">preflight1</a>(ctx); !<a class="code hl_function" href="namespaceripple.html#a5b31f337f444082f547ef1838e7064fc">isTesSuccess</a>(ret))</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <span class="keywordflow">return</span> ret;</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> </div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <span class="keywordflow">if</span> (ctx.<a class="code hl_variable" href="structripple_1_1PreflightContext.html#af202c00e509cfbb1df4fe69f4d6d6560">tx</a>.<a class="code hl_function" href="classripple_1_1STObject.html#af5aa57043ec772da30341e3c3b823d7f">getFlags</a>() &amp; <a class="code hl_variable" href="namespaceripple.html#a4b6ea030ccea3c675a0cf60bff27fa37">tfMPTokenIssuanceCreateMask</a>)</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#afe21c8454670d46fb93751a5edffed46aa4754e0f122658747650b3b1c0a846a8">temINVALID_FLAG</a>;</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> </div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <span class="keywordflow">if</span> (<span class="keyword">auto</span> <span class="keyword">const</span> fee = ctx.<a class="code hl_variable" href="structripple_1_1PreflightContext.html#af202c00e509cfbb1df4fe69f4d6d6560">tx</a>[~sfTransferFee])</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> {</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> <span class="keywordflow">if</span> (fee &gt; <a class="code hl_variable" href="namespaceripple.html#a4da459d9b1d7fda2784880dae5b8da1a">maxTransferFee</a>)</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#afe21c8454670d46fb93751a5edffed46a4ad20cedaec2f948cac5aba1bd1fdfb6">temBAD_TRANSFER_FEE</a>;</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="comment">// If a non-zero TransferFee is set then the tfTransferable flag</span></div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <span class="comment">// must also be set.</span></div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <span class="keywordflow">if</span> (fee &gt; 0u &amp;&amp; !ctx.<a class="code hl_variable" href="structripple_1_1PreflightContext.html#af202c00e509cfbb1df4fe69f4d6d6560">tx</a>.<a class="code hl_function" href="classripple_1_1STObject.html#a40025a423b41e20dd78cb2627e17d678">isFlag</a>(<a class="code hl_variable" href="namespaceripple.html#a2aae110929b0612004babdac451377f3">tfMPTCanTransfer</a>))</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#afe21c8454670d46fb93751a5edffed46a6c750a245b6efb84fdc4ab34dc010328">temMALFORMED</a>;</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> }</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> (<span class="keyword">auto</span> <span class="keyword">const</span> metadata = ctx.<a class="code hl_variable" href="structripple_1_1PreflightContext.html#af202c00e509cfbb1df4fe69f4d6d6560">tx</a>[~sfMPTokenMetadata])</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> {</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <span class="keywordflow">if</span> (metadata-&gt;length() == 0 ||</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> metadata-&gt;length() &gt; <a class="code hl_variable" href="namespaceripple.html#a7c331b12061c28687432e262c819a8b5">maxMPTokenMetadataLength</a>)</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#afe21c8454670d46fb93751a5edffed46a6c750a245b6efb84fdc4ab34dc010328">temMALFORMED</a>;</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> }</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> </div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <span class="comment">// Check if maximumAmount is within unsigned 63 bit range</span></div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <span class="keywordflow">if</span> (<span class="keyword">auto</span> <span class="keyword">const</span> maxAmt = ctx.<a class="code hl_variable" href="structripple_1_1PreflightContext.html#af202c00e509cfbb1df4fe69f4d6d6560">tx</a>[~sfMaximumAmount])</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> {</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <span class="keywordflow">if</span> (maxAmt == 0)</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#afe21c8454670d46fb93751a5edffed46a6c750a245b6efb84fdc4ab34dc010328">temMALFORMED</a>;</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> </div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <span class="keywordflow">if</span> (maxAmt &gt; <a class="code hl_variable" href="namespaceripple.html#a47fbaf29602fea01a79eb987cc21371c">maxMPTokenAmount</a>)</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#afe21c8454670d46fb93751a5edffed46a6c750a245b6efb84fdc4ab34dc010328">temMALFORMED</a>;</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> }</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="keywordflow">return</span> <a class="code hl_function" href="namespaceripple.html#a8b257ff89d14ac75ce240946f32d3773">preflight2</a>(ctx);</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span>}</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> </div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span><a class="code hl_class" href="classripple_1_1TERSubset.html">TER</a></div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"><a class="line" href="classripple_1_1MPTokenIssuanceCreate.html#adbb03826fc12bbaef58ea1175afdc99e"> 70</a></span><a class="code hl_function" href="classripple_1_1MPTokenIssuanceCreate.html#adbb03826fc12bbaef58ea1175afdc99e">MPTokenIssuanceCreate::create</a>(</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <a class="code hl_class" href="classripple_1_1ApplyView.html">ApplyView</a>&amp; view,</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <a class="code hl_class" href="classbeast_1_1Journal.html">beast::Journal</a> journal,</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <a class="code hl_struct" href="structripple_1_1MPTCreateArgs.html">MPTCreateArgs</a> <span class="keyword">const</span>&amp; args)</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span>{</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">auto</span> <span class="keyword">const</span> acct = <a class="code hl_function" href="classripple_1_1Transactor.html#a9acc4edc9b8f2a11a27fbcf5e93e2fe2">view</a>.<a class="code hl_function" href="classripple_1_1ApplyView.html#afa666aaa8eb0080d96f910f8a719291d">peek</a>(<a class="code hl_function" href="namespaceripple_1_1keylet.html#aa756e0f59b26042ed00a4d0ba6e96951">keylet::account</a>(args.<a class="code hl_variable" href="structripple_1_1MPTCreateArgs.html#a906558a829b57ce26217d5c092de9bd1">account</a>));</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <span class="keywordflow">if</span> (!acct)</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca93e4e159f8759ea0948423c699e7cf77">tecINTERNAL</a>;</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> </div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> <span class="keywordflow">if</span> (args.<a class="code hl_variable" href="structripple_1_1MPTCreateArgs.html#a647a9860783fd1922da48c312aafb9ef">priorBalance</a> &lt;</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> <a class="code hl_function" href="classripple_1_1Transactor.html#a9acc4edc9b8f2a11a27fbcf5e93e2fe2">view</a>.<a class="code hl_function" href="classripple_1_1ReadView.html#a9944284a00f671a4a9d9e00f9b28b258">fees</a>().<a class="code hl_function" href="structripple_1_1Fees.html#acb07843d0d0e3ccacd7cf51d5296fe40">accountReserve</a>((*acct)[sfOwnerCount] + 1))</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38cae930fb228ae74317976b57b4e87a7f0d">tecINSUFFICIENT_RESERVE</a>;</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> </div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <span class="keyword">auto</span> <span class="keyword">const</span> mptIssuanceKeylet =</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <a class="code hl_function" href="namespaceripple_1_1keylet.html#a7e12ae09e428d8a07cf82d04e62b7608">keylet::mptIssuance</a>(args.<a class="code hl_variable" href="structripple_1_1MPTCreateArgs.html#a3b1a5114e3fb1bd469b5104b8878bc06">sequence</a>, args.<a class="code hl_variable" href="structripple_1_1MPTCreateArgs.html#a906558a829b57ce26217d5c092de9bd1">account</a>);</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> </div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <span class="comment">// create the MPTokenIssuance</span></div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> {</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <span class="keyword">auto</span> <span class="keyword">const</span> ownerNode = <a class="code hl_function" href="classripple_1_1Transactor.html#a9acc4edc9b8f2a11a27fbcf5e93e2fe2">view</a>.<a class="code hl_function" href="classripple_1_1ApplyView.html#ae21b78e549dc6188382bd49e7d77d473">dirInsert</a>(</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <a class="code hl_function" href="namespaceripple_1_1keylet.html#acd4d51d467fc6e75745baf179a7965ef">keylet::ownerDir</a>(args.<a class="code hl_variable" href="structripple_1_1MPTCreateArgs.html#a906558a829b57ce26217d5c092de9bd1">account</a>),</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> mptIssuanceKeylet,</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <a class="code hl_function" href="namespaceripple.html#a5b498122d9b8c1acbeb9fe459faac22b">describeOwnerDir</a>(args.<a class="code hl_variable" href="structripple_1_1MPTCreateArgs.html#a906558a829b57ce26217d5c092de9bd1">account</a>));</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> </div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <span class="keywordflow">if</span> (!ownerNode)</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca4f19fdbc12c26412215f3477f70d5feb">tecDIR_FULL</a>;</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> </div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <span class="keyword">auto</span> mptIssuance = std::make_shared&lt;SLE&gt;(mptIssuanceKeylet);</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> (*mptIssuance)[sfFlags] = args.<a class="code hl_variable" href="structripple_1_1MPTCreateArgs.html#a4ab96c71cddf96a52a8bea28fcff5f14">flags</a> &amp; ~tfUniversal;</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> (*mptIssuance)[sfIssuer] = args.<a class="code hl_variable" href="structripple_1_1MPTCreateArgs.html#a906558a829b57ce26217d5c092de9bd1">account</a>;</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> (*mptIssuance)[sfOutstandingAmount] = 0;</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> (*mptIssuance)[sfOwnerNode] = *ownerNode;</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> (*mptIssuance)[sfSequence] = args.<a class="code hl_variable" href="structripple_1_1MPTCreateArgs.html#a3b1a5114e3fb1bd469b5104b8878bc06">sequence</a>;</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> </div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> <span class="keywordflow">if</span> (args.<a class="code hl_variable" href="structripple_1_1MPTCreateArgs.html#acd4ec37ede88efc9639a28d5bf341e8d">maxAmount</a>)</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> (*mptIssuance)[sfMaximumAmount] = *args.<a class="code hl_variable" href="structripple_1_1MPTCreateArgs.html#acd4ec37ede88efc9639a28d5bf341e8d">maxAmount</a>;</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> </div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> <span class="keywordflow">if</span> (args.<a class="code hl_variable" href="structripple_1_1MPTCreateArgs.html#a50c0f9e0db5587b20dd80e0846e2b16e">assetScale</a>)</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> (*mptIssuance)[sfAssetScale] = *args.<a class="code hl_variable" href="structripple_1_1MPTCreateArgs.html#a50c0f9e0db5587b20dd80e0846e2b16e">assetScale</a>;</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> </div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> <span class="keywordflow">if</span> (args.<a class="code hl_variable" href="structripple_1_1MPTCreateArgs.html#a03c065ddfd15a7d0fbb94e76f468f171">transferFee</a>)</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> (*mptIssuance)[sfTransferFee] = *args.<a class="code hl_variable" href="structripple_1_1MPTCreateArgs.html#a03c065ddfd15a7d0fbb94e76f468f171">transferFee</a>;</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> </div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> <span class="keywordflow">if</span> (args.<a class="code hl_variable" href="structripple_1_1MPTCreateArgs.html#ae237a9d3eb12a560ef18bac7d994bc29">metadata</a>)</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> (*mptIssuance)[sfMPTokenMetadata] = *args.<a class="code hl_variable" href="structripple_1_1MPTCreateArgs.html#ae237a9d3eb12a560ef18bac7d994bc29">metadata</a>;</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> </div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> <a class="code hl_function" href="classripple_1_1Transactor.html#a9acc4edc9b8f2a11a27fbcf5e93e2fe2">view</a>.<a class="code hl_function" href="classripple_1_1ApplyView.html#aa3c5b5cd9dca5f906be4b36640706e3c">insert</a>(mptIssuance);</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> }</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> </div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> <span class="comment">// Update owner count.</span></div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> <a class="code hl_function" href="namespaceripple.html#a868a93d3fbb97e3ba20ba054df1db3ca">adjustOwnerCount</a>(<a class="code hl_function" href="classripple_1_1Transactor.html#a9acc4edc9b8f2a11a27fbcf5e93e2fe2">view</a>, acct, 1, journal);</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> </div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#aabc7f150d5082c73116a1cd5962b434da28c7d8b3ed759d363503a05fcd59f151">tesSUCCESS</a>;</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span>}</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> </div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span><a class="code hl_class" href="classripple_1_1TERSubset.html">TER</a></div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"><a class="line" href="classripple_1_1MPTokenIssuanceCreate.html#ab82cb7639c2532ec3f32956044324c53"> 125</a></span><a class="code hl_function" href="classripple_1_1MPTokenIssuanceCreate.html#ab82cb7639c2532ec3f32956044324c53">MPTokenIssuanceCreate::doApply</a>()</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span>{</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> <span class="keyword">auto</span> <span class="keyword">const</span>&amp; tx = <a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_variable" href="classripple_1_1ApplyContext.html#a8c8757b3b1f88baef47b31ed4e9682d0">tx</a>;</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> <span class="keywordflow">return</span> <a class="code hl_function" href="classripple_1_1MPTokenIssuanceCreate.html#adbb03826fc12bbaef58ea1175afdc99e">create</a>(</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> <a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_function" href="classripple_1_1ApplyContext.html#a44c249b16b2cedb1224a96592407558d">view</a>(),</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> <a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_variable" href="classripple_1_1ApplyContext.html#a7b78c8e924babce4d14359970f55ba02">journal</a>,</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> {.priorBalance = mPriorBalance,</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> .account = account_,</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> .sequence = tx.getSeqProxy().value(),</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> .flags = tx.getFlags(),</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> .maxAmount = tx[~sfMaximumAmount],</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> .assetScale = tx[~sfAssetScale],</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> .transferFee = tx[~sfTransferFee],</div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> .metadata = tx[~sfMPTokenMetadata]});</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span>}</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">// namespace ripple</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include &lt;xrpl/protocol/Feature.h&gt;</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#include &lt;xrpl/protocol/TxFlags.h&gt;</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> </div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespaceripple.html">ripple</a> {</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_typedef" href="namespaceripple.html#af99ba2263d2a1e29207c40a35fc9f6b3">NotTEC</a></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"><a class="line" href="classripple_1_1MPTokenIssuanceCreate.html#ac61a87dd0bd689f2a9a68cd4a8bfa354"> 29</a></span><a class="code hl_function" href="classripple_1_1MPTokenIssuanceCreate.html#ac61a87dd0bd689f2a9a68cd4a8bfa354">MPTokenIssuanceCreate::preflight</a>(<a class="code hl_struct" href="structripple_1_1PreflightContext.html">PreflightContext</a> <span class="keyword">const</span>&amp; ctx)</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> <span class="keywordflow">if</span> (!ctx.<a class="code hl_variable" href="structripple_1_1PreflightContext.html#ab27bfce9ca08a7330ff573e4e2d5fc68">rules</a>.<a class="code hl_function" href="classripple_1_1Rules.html#a1a8388a2b9588aa9446ece92a88e0dd2">enabled</a>(featureMPTokensV1))</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#afe21c8454670d46fb93751a5edffed46ac3482079467d517ea82aa9c8fa693d21">temDISABLED</a>;</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> (<span class="keyword">auto</span> <span class="keyword">const</span> ret = <a class="code hl_function" href="namespaceripple.html#a5dfb437ade69624474bbe4125ceb791a">preflight1</a>(ctx); !<a class="code hl_function" href="namespaceripple.html#a5b31f337f444082f547ef1838e7064fc">isTesSuccess</a>(ret))</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <span class="keywordflow">return</span> ret;</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> </div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <span class="keywordflow">if</span> (ctx.<a class="code hl_variable" href="structripple_1_1PreflightContext.html#af202c00e509cfbb1df4fe69f4d6d6560">tx</a>.<a class="code hl_function" href="classripple_1_1STObject.html#af5aa57043ec772da30341e3c3b823d7f">getFlags</a>() &amp; <a class="code hl_variable" href="namespaceripple.html#a4b6ea030ccea3c675a0cf60bff27fa37">tfMPTokenIssuanceCreateMask</a>)</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#afe21c8454670d46fb93751a5edffed46aa4754e0f122658747650b3b1c0a846a8">temINVALID_FLAG</a>;</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> </div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="keywordflow">if</span> (<span class="keyword">auto</span> <span class="keyword">const</span> fee = ctx.<a class="code hl_variable" href="structripple_1_1PreflightContext.html#af202c00e509cfbb1df4fe69f4d6d6560">tx</a>[~sfTransferFee])</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> {</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <span class="keywordflow">if</span> (fee &gt; <a class="code hl_variable" href="namespaceripple.html#a4da459d9b1d7fda2784880dae5b8da1a">maxTransferFee</a>)</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#afe21c8454670d46fb93751a5edffed46a4ad20cedaec2f948cac5aba1bd1fdfb6">temBAD_TRANSFER_FEE</a>;</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> </div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <span class="comment">// If a non-zero TransferFee is set then the tfTransferable flag</span></div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <span class="comment">// must also be set.</span></div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <span class="keywordflow">if</span> (fee &gt; 0u &amp;&amp; !ctx.<a class="code hl_variable" href="structripple_1_1PreflightContext.html#af202c00e509cfbb1df4fe69f4d6d6560">tx</a>.<a class="code hl_function" href="classripple_1_1STObject.html#a40025a423b41e20dd78cb2627e17d678">isFlag</a>(<a class="code hl_variable" href="namespaceripple.html#a2aae110929b0612004babdac451377f3">tfMPTCanTransfer</a>))</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#afe21c8454670d46fb93751a5edffed46a6c750a245b6efb84fdc4ab34dc010328">temMALFORMED</a>;</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> </div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <span class="keywordflow">if</span> (<span class="keyword">auto</span> <span class="keyword">const</span> metadata = ctx.<a class="code hl_variable" href="structripple_1_1PreflightContext.html#af202c00e509cfbb1df4fe69f4d6d6560">tx</a>[~sfMPTokenMetadata])</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> {</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> <span class="keywordflow">if</span> (metadata-&gt;length() == 0 ||</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> metadata-&gt;length() &gt; <a class="code hl_variable" href="namespaceripple.html#a7c331b12061c28687432e262c819a8b5">maxMPTokenMetadataLength</a>)</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#afe21c8454670d46fb93751a5edffed46a6c750a245b6efb84fdc4ab34dc010328">temMALFORMED</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> </div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <span class="comment">// Check if maximumAmount is within unsigned 63 bit range</span></div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <span class="keywordflow">if</span> (<span class="keyword">auto</span> <span class="keyword">const</span> maxAmt = ctx.<a class="code hl_variable" href="structripple_1_1PreflightContext.html#af202c00e509cfbb1df4fe69f4d6d6560">tx</a>[~sfMaximumAmount])</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> {</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <span class="keywordflow">if</span> (maxAmt == 0)</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#afe21c8454670d46fb93751a5edffed46a6c750a245b6efb84fdc4ab34dc010328">temMALFORMED</a>;</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> </div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <span class="keywordflow">if</span> (maxAmt &gt; <a class="code hl_variable" href="namespaceripple.html#a47fbaf29602fea01a79eb987cc21371c">maxMPTokenAmount</a>)</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#afe21c8454670d46fb93751a5edffed46a6c750a245b6efb84fdc4ab34dc010328">temMALFORMED</a>;</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> }</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <span class="keywordflow">return</span> <a class="code hl_function" href="namespaceripple.html#a8b257ff89d14ac75ce240946f32d3773">preflight2</a>(ctx);</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 class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span><a class="code hl_class" href="classripple_1_1TERSubset.html">TER</a></div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"><a class="line" href="classripple_1_1MPTokenIssuanceCreate.html#adbb03826fc12bbaef58ea1175afdc99e"> 71</a></span><a class="code hl_function" href="classripple_1_1MPTokenIssuanceCreate.html#adbb03826fc12bbaef58ea1175afdc99e">MPTokenIssuanceCreate::create</a>(</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <a class="code hl_class" href="classripple_1_1ApplyView.html">ApplyView</a>&amp; view,</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <a class="code hl_class" href="classbeast_1_1Journal.html">beast::Journal</a> journal,</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <a class="code hl_struct" href="structripple_1_1MPTCreateArgs.html">MPTCreateArgs</a> <span class="keyword">const</span>&amp; args)</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span>{</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <span class="keyword">auto</span> <span class="keyword">const</span> acct = <a class="code hl_function" href="classripple_1_1Transactor.html#a9acc4edc9b8f2a11a27fbcf5e93e2fe2">view</a>.<a class="code hl_function" href="classripple_1_1ApplyView.html#afa666aaa8eb0080d96f910f8a719291d">peek</a>(<a class="code hl_function" href="namespaceripple_1_1keylet.html#aa756e0f59b26042ed00a4d0ba6e96951">keylet::account</a>(args.<a class="code hl_variable" href="structripple_1_1MPTCreateArgs.html#a906558a829b57ce26217d5c092de9bd1">account</a>));</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <span class="keywordflow">if</span> (!acct)</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca93e4e159f8759ea0948423c699e7cf77">tecINTERNAL</a>;</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> </div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> <span class="keywordflow">if</span> (args.<a class="code hl_variable" href="structripple_1_1MPTCreateArgs.html#a647a9860783fd1922da48c312aafb9ef">priorBalance</a> &lt;</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> <a class="code hl_function" href="classripple_1_1Transactor.html#a9acc4edc9b8f2a11a27fbcf5e93e2fe2">view</a>.<a class="code hl_function" href="classripple_1_1ReadView.html#a9944284a00f671a4a9d9e00f9b28b258">fees</a>().<a class="code hl_function" href="structripple_1_1Fees.html#acb07843d0d0e3ccacd7cf51d5296fe40">accountReserve</a>((*acct)[sfOwnerCount] + 1))</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38cae930fb228ae74317976b57b4e87a7f0d">tecINSUFFICIENT_RESERVE</a>;</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> </div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <span class="keyword">auto</span> <span class="keyword">const</span> mptIssuanceKeylet =</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> <a class="code hl_function" href="namespaceripple_1_1keylet.html#a7e12ae09e428d8a07cf82d04e62b7608">keylet::mptIssuance</a>(args.<a class="code hl_variable" href="structripple_1_1MPTCreateArgs.html#a3b1a5114e3fb1bd469b5104b8878bc06">sequence</a>, args.<a class="code hl_variable" href="structripple_1_1MPTCreateArgs.html#a906558a829b57ce26217d5c092de9bd1">account</a>);</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> </div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <span class="comment">// create the MPTokenIssuance</span></div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> {</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <span class="keyword">auto</span> <span class="keyword">const</span> ownerNode = <a class="code hl_function" href="classripple_1_1Transactor.html#a9acc4edc9b8f2a11a27fbcf5e93e2fe2">view</a>.<a class="code hl_function" href="classripple_1_1ApplyView.html#ae21b78e549dc6188382bd49e7d77d473">dirInsert</a>(</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> <a class="code hl_function" href="namespaceripple_1_1keylet.html#acd4d51d467fc6e75745baf179a7965ef">keylet::ownerDir</a>(args.<a class="code hl_variable" href="structripple_1_1MPTCreateArgs.html#a906558a829b57ce26217d5c092de9bd1">account</a>),</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> mptIssuanceKeylet,</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <a class="code hl_function" href="namespaceripple.html#a5b498122d9b8c1acbeb9fe459faac22b">describeOwnerDir</a>(args.<a class="code hl_variable" href="structripple_1_1MPTCreateArgs.html#a906558a829b57ce26217d5c092de9bd1">account</a>));</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> </div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <span class="keywordflow">if</span> (!ownerNode)</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca4f19fdbc12c26412215f3477f70d5feb">tecDIR_FULL</a>;</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> </div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <span class="keyword">auto</span> mptIssuance = std::make_shared&lt;SLE&gt;(mptIssuanceKeylet);</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> (*mptIssuance)[sfFlags] = args.<a class="code hl_variable" href="structripple_1_1MPTCreateArgs.html#a4ab96c71cddf96a52a8bea28fcff5f14">flags</a> &amp; ~tfUniversal;</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> (*mptIssuance)[sfIssuer] = args.<a class="code hl_variable" href="structripple_1_1MPTCreateArgs.html#a906558a829b57ce26217d5c092de9bd1">account</a>;</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> (*mptIssuance)[sfOutstandingAmount] = 0;</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> (*mptIssuance)[sfOwnerNode] = *ownerNode;</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> (*mptIssuance)[sfSequence] = args.<a class="code hl_variable" href="structripple_1_1MPTCreateArgs.html#a3b1a5114e3fb1bd469b5104b8878bc06">sequence</a>;</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> (args.<a class="code hl_variable" href="structripple_1_1MPTCreateArgs.html#acd4ec37ede88efc9639a28d5bf341e8d">maxAmount</a>)</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> (*mptIssuance)[sfMaximumAmount] = *args.<a class="code hl_variable" href="structripple_1_1MPTCreateArgs.html#acd4ec37ede88efc9639a28d5bf341e8d">maxAmount</a>;</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> </div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> <span class="keywordflow">if</span> (args.<a class="code hl_variable" href="structripple_1_1MPTCreateArgs.html#a50c0f9e0db5587b20dd80e0846e2b16e">assetScale</a>)</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> (*mptIssuance)[sfAssetScale] = *args.<a class="code hl_variable" href="structripple_1_1MPTCreateArgs.html#a50c0f9e0db5587b20dd80e0846e2b16e">assetScale</a>;</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> </div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> <span class="keywordflow">if</span> (args.<a class="code hl_variable" href="structripple_1_1MPTCreateArgs.html#a03c065ddfd15a7d0fbb94e76f468f171">transferFee</a>)</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> (*mptIssuance)[sfTransferFee] = *args.<a class="code hl_variable" href="structripple_1_1MPTCreateArgs.html#a03c065ddfd15a7d0fbb94e76f468f171">transferFee</a>;</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> </div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> <span class="keywordflow">if</span> (args.<a class="code hl_variable" href="structripple_1_1MPTCreateArgs.html#ae237a9d3eb12a560ef18bac7d994bc29">metadata</a>)</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> (*mptIssuance)[sfMPTokenMetadata] = *args.<a class="code hl_variable" href="structripple_1_1MPTCreateArgs.html#ae237a9d3eb12a560ef18bac7d994bc29">metadata</a>;</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> </div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <a class="code hl_function" href="classripple_1_1Transactor.html#a9acc4edc9b8f2a11a27fbcf5e93e2fe2">view</a>.<a class="code hl_function" href="classripple_1_1ApplyView.html#aa3c5b5cd9dca5f906be4b36640706e3c">insert</a>(mptIssuance);</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> }</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> </div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> <span class="comment">// Update owner count.</span></div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> <a class="code hl_function" href="namespaceripple.html#a868a93d3fbb97e3ba20ba054df1db3ca">adjustOwnerCount</a>(<a class="code hl_function" href="classripple_1_1Transactor.html#a9acc4edc9b8f2a11a27fbcf5e93e2fe2">view</a>, acct, 1, journal);</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> <a class="code hl_enumvalue" href="namespaceripple.html#aabc7f150d5082c73116a1cd5962b434da28c7d8b3ed759d363503a05fcd59f151">tesSUCCESS</a>;</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span>}</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><a class="code hl_class" href="classripple_1_1TERSubset.html">TER</a></div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"><a class="line" href="classripple_1_1MPTokenIssuanceCreate.html#ab82cb7639c2532ec3f32956044324c53"> 126</a></span><a class="code hl_function" href="classripple_1_1MPTokenIssuanceCreate.html#ab82cb7639c2532ec3f32956044324c53">MPTokenIssuanceCreate::doApply</a>()</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="keyword">auto</span> <span class="keyword">const</span>&amp; tx = <a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_variable" href="classripple_1_1ApplyContext.html#a8c8757b3b1f88baef47b31ed4e9682d0">tx</a>;</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> <span class="keywordflow">return</span> <a class="code hl_function" href="classripple_1_1MPTokenIssuanceCreate.html#adbb03826fc12bbaef58ea1175afdc99e">create</a>(</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> <a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_function" href="classripple_1_1ApplyContext.html#a44c249b16b2cedb1224a96592407558d">view</a>(),</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> <a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_variable" href="classripple_1_1ApplyContext.html#a7b78c8e924babce4d14359970f55ba02">journal</a>,</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> {.priorBalance = mPriorBalance,</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> .account = account_,</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> .sequence = tx.getSeqProxy().value(),</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> .flags = tx.getFlags(),</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> .maxAmount = tx[~sfMaximumAmount],</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> .assetScale = tx[~sfAssetScale],</div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> .transferFee = tx[~sfTransferFee],</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> .metadata = tx[~sfMPTokenMetadata]});</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> </div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span>} <span class="comment">// namespace ripple</span></div>
<div class="ttc" id="aclassbeast_1_1Journal_html"><div class="ttname"><a href="classbeast_1_1Journal.html">beast::Journal</a></div><div class="ttdoc">A generic endpoint for log messages.</div><div class="ttdef"><b>Definition:</b> <a href="Journal_8h_source.html#l00059">Journal.h:60</a></div></div>
<div class="ttc" id="aclassripple_1_1ApplyContext_html_a44c249b16b2cedb1224a96592407558d"><div class="ttname"><a href="classripple_1_1ApplyContext.html#a44c249b16b2cedb1224a96592407558d">ripple::ApplyContext::view</a></div><div class="ttdeci">ApplyView &amp; view()</div><div class="ttdef"><b>Definition:</b> <a href="ApplyContext_8h_source.html#l00054">ApplyContext.h:54</a></div></div>
<div class="ttc" id="aclassripple_1_1ApplyContext_html_a7b78c8e924babce4d14359970f55ba02"><div class="ttname"><a href="classripple_1_1ApplyContext.html#a7b78c8e924babce4d14359970f55ba02">ripple::ApplyContext::journal</a></div><div class="ttdeci">beast::Journal const journal</div><div class="ttdef"><b>Definition:</b> <a href="ApplyContext_8h_source.html#l00051">ApplyContext.h:51</a></div></div>
<div class="ttc" id="aclassripple_1_1ApplyContext_html_a8c8757b3b1f88baef47b31ed4e9682d0"><div class="ttname"><a href="classripple_1_1ApplyContext.html#a8c8757b3b1f88baef47b31ed4e9682d0">ripple::ApplyContext::tx</a></div><div class="ttdeci">STTx const &amp; tx</div><div class="ttdef"><b>Definition:</b> <a href="ApplyContext_8h_source.html#l00048">ApplyContext.h:48</a></div></div>
<div class="ttc" id="aclassripple_1_1ApplyView_html"><div class="ttname"><a href="classripple_1_1ApplyView.html">ripple::ApplyView</a></div><div class="ttdoc">Writeable view to a ledger, for applying a transaction.</div><div class="ttdef"><b>Definition:</b> <a href="ApplyView_8h_source.html#l00139">ApplyView.h:140</a></div></div>
<div class="ttc" id="aclassripple_1_1ApplyContext_html_a44c249b16b2cedb1224a96592407558d"><div class="ttname"><a href="classripple_1_1ApplyContext.html#a44c249b16b2cedb1224a96592407558d">ripple::ApplyContext::view</a></div><div class="ttdeci">ApplyView &amp; view()</div><div class="ttdef"><b>Definition:</b> <a href="ApplyContext_8h_source.html#l00055">ApplyContext.h:55</a></div></div>
<div class="ttc" id="aclassripple_1_1ApplyContext_html_a7b78c8e924babce4d14359970f55ba02"><div class="ttname"><a href="classripple_1_1ApplyContext.html#a7b78c8e924babce4d14359970f55ba02">ripple::ApplyContext::journal</a></div><div class="ttdeci">beast::Journal const journal</div><div class="ttdef"><b>Definition:</b> <a href="ApplyContext_8h_source.html#l00052">ApplyContext.h:52</a></div></div>
<div class="ttc" id="aclassripple_1_1ApplyContext_html_a8c8757b3b1f88baef47b31ed4e9682d0"><div class="ttname"><a href="classripple_1_1ApplyContext.html#a8c8757b3b1f88baef47b31ed4e9682d0">ripple::ApplyContext::tx</a></div><div class="ttdeci">STTx const &amp; tx</div><div class="ttdef"><b>Definition:</b> <a href="ApplyContext_8h_source.html#l00049">ApplyContext.h:49</a></div></div>
<div class="ttc" id="aclassripple_1_1ApplyView_html"><div class="ttname"><a href="classripple_1_1ApplyView.html">ripple::ApplyView</a></div><div class="ttdoc">Writeable view to a ledger, for applying a transaction.</div><div class="ttdef"><b>Definition:</b> <a href="ApplyView_8h_source.html#l00140">ApplyView.h:141</a></div></div>
<div class="ttc" id="aclassripple_1_1ApplyView_html_aa3c5b5cd9dca5f906be4b36640706e3c"><div class="ttname"><a href="classripple_1_1ApplyView.html#aa3c5b5cd9dca5f906be4b36640706e3c">ripple::ApplyView::insert</a></div><div class="ttdeci">virtual void insert(std::shared_ptr&lt; SLE &gt; const &amp;sle)=0</div><div class="ttdoc">Insert a new state SLE.</div></div>
<div class="ttc" id="aclassripple_1_1ApplyView_html_ae21b78e549dc6188382bd49e7d77d473"><div class="ttname"><a href="classripple_1_1ApplyView.html#ae21b78e549dc6188382bd49e7d77d473">ripple::ApplyView::dirInsert</a></div><div class="ttdeci">std::optional&lt; std::uint64_t &gt; dirInsert(Keylet const &amp;directory, uint256 const &amp;key, std::function&lt; void(std::shared_ptr&lt; SLE &gt; const &amp;)&gt; const &amp;describe)</div><div class="ttdoc">Insert an entry to a directory.</div><div class="ttdef"><b>Definition:</b> <a href="ApplyView_8h_source.html#l00314">ApplyView.h:314</a></div></div>
<div class="ttc" id="aclassripple_1_1ApplyView_html_ae21b78e549dc6188382bd49e7d77d473"><div class="ttname"><a href="classripple_1_1ApplyView.html#ae21b78e549dc6188382bd49e7d77d473">ripple::ApplyView::dirInsert</a></div><div class="ttdeci">std::optional&lt; std::uint64_t &gt; dirInsert(Keylet const &amp;directory, uint256 const &amp;key, std::function&lt; void(std::shared_ptr&lt; SLE &gt; const &amp;)&gt; const &amp;describe)</div><div class="ttdoc">Insert an entry to a directory.</div><div class="ttdef"><b>Definition:</b> <a href="ApplyView_8h_source.html#l00315">ApplyView.h:315</a></div></div>
<div class="ttc" id="aclassripple_1_1ApplyView_html_afa666aaa8eb0080d96f910f8a719291d"><div class="ttname"><a href="classripple_1_1ApplyView.html#afa666aaa8eb0080d96f910f8a719291d">ripple::ApplyView::peek</a></div><div class="ttdeci">virtual std::shared_ptr&lt; SLE &gt; peek(Keylet const &amp;k)=0</div><div class="ttdoc">Prepare to modify the SLE associated with key.</div></div>
<div class="ttc" id="aclassripple_1_1MPTokenIssuanceCreate_html_ab82cb7639c2532ec3f32956044324c53"><div class="ttname"><a href="classripple_1_1MPTokenIssuanceCreate.html#ab82cb7639c2532ec3f32956044324c53">ripple::MPTokenIssuanceCreate::doApply</a></div><div class="ttdeci">TER doApply() override</div><div class="ttdef"><b>Definition:</b> <a href="MPTokenIssuanceCreate_8cpp_source.html#l00125">MPTokenIssuanceCreate.cpp:125</a></div></div>
<div class="ttc" id="aclassripple_1_1MPTokenIssuanceCreate_html_ac61a87dd0bd689f2a9a68cd4a8bfa354"><div class="ttname"><a href="classripple_1_1MPTokenIssuanceCreate.html#ac61a87dd0bd689f2a9a68cd4a8bfa354">ripple::MPTokenIssuanceCreate::preflight</a></div><div class="ttdeci">static NotTEC preflight(PreflightContext const &amp;ctx)</div><div class="ttdef"><b>Definition:</b> <a href="MPTokenIssuanceCreate_8cpp_source.html#l00028">MPTokenIssuanceCreate.cpp:28</a></div></div>
<div class="ttc" id="aclassripple_1_1MPTokenIssuanceCreate_html_adbb03826fc12bbaef58ea1175afdc99e"><div class="ttname"><a href="classripple_1_1MPTokenIssuanceCreate.html#adbb03826fc12bbaef58ea1175afdc99e">ripple::MPTokenIssuanceCreate::create</a></div><div class="ttdeci">static TER create(ApplyView &amp;view, beast::Journal journal, MPTCreateArgs const &amp;args)</div><div class="ttdef"><b>Definition:</b> <a href="MPTokenIssuanceCreate_8cpp_source.html#l00070">MPTokenIssuanceCreate.cpp:70</a></div></div>
<div class="ttc" id="aclassripple_1_1MPTokenIssuanceCreate_html_ab82cb7639c2532ec3f32956044324c53"><div class="ttname"><a href="classripple_1_1MPTokenIssuanceCreate.html#ab82cb7639c2532ec3f32956044324c53">ripple::MPTokenIssuanceCreate::doApply</a></div><div class="ttdeci">TER doApply() override</div><div class="ttdef"><b>Definition:</b> <a href="MPTokenIssuanceCreate_8cpp_source.html#l00126">MPTokenIssuanceCreate.cpp:126</a></div></div>
<div class="ttc" id="aclassripple_1_1MPTokenIssuanceCreate_html_ac61a87dd0bd689f2a9a68cd4a8bfa354"><div class="ttname"><a href="classripple_1_1MPTokenIssuanceCreate.html#ac61a87dd0bd689f2a9a68cd4a8bfa354">ripple::MPTokenIssuanceCreate::preflight</a></div><div class="ttdeci">static NotTEC preflight(PreflightContext const &amp;ctx)</div><div class="ttdef"><b>Definition:</b> <a href="MPTokenIssuanceCreate_8cpp_source.html#l00029">MPTokenIssuanceCreate.cpp:29</a></div></div>
<div class="ttc" id="aclassripple_1_1MPTokenIssuanceCreate_html_adbb03826fc12bbaef58ea1175afdc99e"><div class="ttname"><a href="classripple_1_1MPTokenIssuanceCreate.html#adbb03826fc12bbaef58ea1175afdc99e">ripple::MPTokenIssuanceCreate::create</a></div><div class="ttdeci">static TER create(ApplyView &amp;view, beast::Journal journal, MPTCreateArgs const &amp;args)</div><div class="ttdef"><b>Definition:</b> <a href="MPTokenIssuanceCreate_8cpp_source.html#l00071">MPTokenIssuanceCreate.cpp:71</a></div></div>
<div class="ttc" id="aclassripple_1_1ReadView_html_a9944284a00f671a4a9d9e00f9b28b258"><div class="ttname"><a href="classripple_1_1ReadView.html#a9944284a00f671a4a9d9e00f9b28b258">ripple::ReadView::fees</a></div><div class="ttdeci">virtual Fees const &amp; fees() const =0</div><div class="ttdoc">Returns the fees for the base ledger.</div></div>
<div class="ttc" id="aclassripple_1_1Rules_html_a1a8388a2b9588aa9446ece92a88e0dd2"><div class="ttname"><a href="classripple_1_1Rules.html#a1a8388a2b9588aa9446ece92a88e0dd2">ripple::Rules::enabled</a></div><div class="ttdeci">bool enabled(uint256 const &amp;feature) const</div><div class="ttdoc">Returns true if a feature is enabled.</div><div class="ttdef"><b>Definition:</b> <a href="Rules_8cpp_source.html#l00130">Rules.cpp:130</a></div></div>
<div class="ttc" id="aclassripple_1_1STObject_html_a40025a423b41e20dd78cb2627e17d678"><div class="ttname"><a href="classripple_1_1STObject.html#a40025a423b41e20dd78cb2627e17d678">ripple::STObject::isFlag</a></div><div class="ttdeci">bool isFlag(std::uint32_t) const</div><div class="ttdef"><b>Definition:</b> <a href="STObject_8cpp_source.html#l00531">STObject.cpp:531</a></div></div>
<div class="ttc" id="aclassripple_1_1STObject_html_af5aa57043ec772da30341e3c3b823d7f"><div class="ttname"><a href="classripple_1_1STObject.html#af5aa57043ec772da30341e3c3b823d7f">ripple::STObject::getFlags</a></div><div class="ttdeci">std::uint32_t getFlags() const</div><div class="ttdef"><b>Definition:</b> <a href="STObject_8cpp_source.html#l00537">STObject.cpp:537</a></div></div>
<div class="ttc" id="aclassripple_1_1TERSubset_html"><div class="ttname"><a href="classripple_1_1TERSubset.html">ripple::TERSubset&lt; CanCvtToTER &gt;</a></div></div>
<div class="ttc" id="aclassripple_1_1Transactor_html_a9acc4edc9b8f2a11a27fbcf5e93e2fe2"><div class="ttname"><a href="classripple_1_1Transactor.html#a9acc4edc9b8f2a11a27fbcf5e93e2fe2">ripple::Transactor::view</a></div><div class="ttdeci">ApplyView &amp; view()</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8h_source.html#l00107">Transactor.h:107</a></div></div>
<div class="ttc" id="aclassripple_1_1Transactor_html_aef4ef0a89b5595b2a688b89e4ecef833"><div class="ttname"><a href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ripple::Transactor::ctx_</a></div><div class="ttdeci">ApplyContext &amp; ctx_</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8h_source.html#l00088">Transactor.h:88</a></div></div>
<div class="ttc" id="aclassripple_1_1Transactor_html_a9acc4edc9b8f2a11a27fbcf5e93e2fe2"><div class="ttname"><a href="classripple_1_1Transactor.html#a9acc4edc9b8f2a11a27fbcf5e93e2fe2">ripple::Transactor::view</a></div><div class="ttdeci">ApplyView &amp; view()</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8h_source.html#l00108">Transactor.h:108</a></div></div>
<div class="ttc" id="aclassripple_1_1Transactor_html_aef4ef0a89b5595b2a688b89e4ecef833"><div class="ttname"><a href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ripple::Transactor::ctx_</a></div><div class="ttdeci">ApplyContext &amp; ctx_</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8h_source.html#l00089">Transactor.h:89</a></div></div>
<div class="ttc" id="anamespaceripple_1_1keylet_html_a7e12ae09e428d8a07cf82d04e62b7608"><div class="ttname"><a href="namespaceripple_1_1keylet.html#a7e12ae09e428d8a07cf82d04e62b7608">ripple::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#l00509">Indexes.cpp:509</a></div></div>
<div class="ttc" id="anamespaceripple_1_1keylet_html_aa756e0f59b26042ed00a4d0ba6e96951"><div class="ttname"><a href="namespaceripple_1_1keylet.html#aa756e0f59b26042ed00a4d0ba6e96951">ripple::keylet::account</a></div><div class="ttdeci">Keylet account(AccountID const &amp;id) noexcept</div><div class="ttdoc">AccountID root.</div><div class="ttdef"><b>Definition:</b> <a href="Indexes_8cpp_source.html#l00175">Indexes.cpp:175</a></div></div>
<div class="ttc" id="anamespaceripple_1_1keylet_html_acd4d51d467fc6e75745baf179a7965ef"><div class="ttname"><a href="namespaceripple_1_1keylet.html#acd4d51d467fc6e75745baf179a7965ef">ripple::keylet::ownerDir</a></div><div class="ttdeci">Keylet ownerDir(AccountID const &amp;id) noexcept</div><div class="ttdoc">The root page of an account's directory.</div><div class="ttdef"><b>Definition:</b> <a href="Indexes_8cpp_source.html#l00365">Indexes.cpp:365</a></div></div>
@@ -244,11 +245,11 @@ $(function() {
<div class="ttc" id="anamespaceripple_html_a4b6ea030ccea3c675a0cf60bff27fa37"><div class="ttname"><a href="namespaceripple.html#a4b6ea030ccea3c675a0cf60bff27fa37">ripple::tfMPTokenIssuanceCreateMask</a></div><div class="ttdeci">constexpr std::uint32_t const tfMPTokenIssuanceCreateMask</div><div class="ttdef"><b>Definition:</b> <a href="TxFlags_8h_source.html#l00147">TxFlags.h:147</a></div></div>
<div class="ttc" id="anamespaceripple_html_a4da459d9b1d7fda2784880dae5b8da1a"><div class="ttname"><a href="namespaceripple.html#a4da459d9b1d7fda2784880dae5b8da1a">ripple::maxTransferFee</a></div><div class="ttdeci">std::uint16_t constexpr maxTransferFee</div><div class="ttdoc">The maximum token transfer fee allowed.</div><div class="ttdef"><b>Definition:</b> <a href="Protocol_8h_source.html#l00083">Protocol.h:83</a></div></div>
<div class="ttc" id="anamespaceripple_html_a5b31f337f444082f547ef1838e7064fc"><div class="ttname"><a href="namespaceripple.html#a5b31f337f444082f547ef1838e7064fc">ripple::isTesSuccess</a></div><div class="ttdeci">bool isTesSuccess(TER x)</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00656">TER.h:656</a></div></div>
<div class="ttc" id="anamespaceripple_html_a5b498122d9b8c1acbeb9fe459faac22b"><div class="ttname"><a href="namespaceripple.html#a5b498122d9b8c1acbeb9fe459faac22b">ripple::describeOwnerDir</a></div><div class="ttdeci">std::function&lt; void(SLE::ref)&gt; describeOwnerDir(AccountID const &amp;account)</div><div class="ttdef"><b>Definition:</b> <a href="View_8cpp_source.html#l00924">View.cpp:924</a></div></div>
<div class="ttc" id="anamespaceripple_html_a5dfb437ade69624474bbe4125ceb791a"><div class="ttname"><a href="namespaceripple.html#a5dfb437ade69624474bbe4125ceb791a">ripple::preflight1</a></div><div class="ttdeci">NotTEC preflight1(PreflightContext const &amp;ctx)</div><div class="ttdoc">Performs early sanity checks on the account and fee fields.</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8cpp_source.html#l00081">Transactor.cpp:81</a></div></div>
<div class="ttc" id="anamespaceripple_html_a5b498122d9b8c1acbeb9fe459faac22b"><div class="ttname"><a href="namespaceripple.html#a5b498122d9b8c1acbeb9fe459faac22b">ripple::describeOwnerDir</a></div><div class="ttdeci">std::function&lt; void(SLE::ref)&gt; describeOwnerDir(AccountID const &amp;account)</div><div class="ttdef"><b>Definition:</b> <a href="View_8cpp_source.html#l00925">View.cpp:925</a></div></div>
<div class="ttc" id="anamespaceripple_html_a5dfb437ade69624474bbe4125ceb791a"><div class="ttname"><a href="namespaceripple.html#a5dfb437ade69624474bbe4125ceb791a">ripple::preflight1</a></div><div class="ttdeci">NotTEC preflight1(PreflightContext const &amp;ctx)</div><div class="ttdoc">Performs early sanity checks on the account and fee fields.</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8cpp_source.html#l00082">Transactor.cpp:82</a></div></div>
<div class="ttc" id="anamespaceripple_html_a7c331b12061c28687432e262c819a8b5"><div class="ttname"><a href="namespaceripple.html#a7c331b12061c28687432e262c819a8b5">ripple::maxMPTokenMetadataLength</a></div><div class="ttdeci">std::size_t constexpr maxMPTokenMetadataLength</div><div class="ttdoc">The maximum length of MPTokenMetadata.</div><div class="ttdef"><b>Definition:</b> <a href="Protocol_8h_source.html#l00114">Protocol.h:114</a></div></div>
<div class="ttc" id="anamespaceripple_html_a868a93d3fbb97e3ba20ba054df1db3ca"><div class="ttname"><a href="namespaceripple.html#a868a93d3fbb97e3ba20ba054df1db3ca">ripple::adjustOwnerCount</a></div><div class="ttdeci">static bool adjustOwnerCount(ApplyContext &amp;ctx, int count)</div><div class="ttdef"><b>Definition:</b> <a href="SetOracle_8cpp_source.html#l00185">SetOracle.cpp:185</a></div></div>
<div class="ttc" id="anamespaceripple_html_a8b257ff89d14ac75ce240946f32d3773"><div class="ttname"><a href="namespaceripple.html#a8b257ff89d14ac75ce240946f32d3773">ripple::preflight2</a></div><div class="ttdeci">NotTEC preflight2(PreflightContext const &amp;ctx)</div><div class="ttdoc">Checks whether the signature appears valid.</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8cpp_source.html#l00133">Transactor.cpp:133</a></div></div>
<div class="ttc" id="anamespaceripple_html_a868a93d3fbb97e3ba20ba054df1db3ca"><div class="ttname"><a href="namespaceripple.html#a868a93d3fbb97e3ba20ba054df1db3ca">ripple::adjustOwnerCount</a></div><div class="ttdeci">static bool adjustOwnerCount(ApplyContext &amp;ctx, int count)</div><div class="ttdef"><b>Definition:</b> <a href="SetOracle_8cpp_source.html#l00186">SetOracle.cpp:186</a></div></div>
<div class="ttc" id="anamespaceripple_html_a8b257ff89d14ac75ce240946f32d3773"><div class="ttname"><a href="namespaceripple.html#a8b257ff89d14ac75ce240946f32d3773">ripple::preflight2</a></div><div class="ttdeci">NotTEC preflight2(PreflightContext const &amp;ctx)</div><div class="ttdoc">Checks whether the signature appears valid.</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8cpp_source.html#l00134">Transactor.cpp:134</a></div></div>
<div class="ttc" id="anamespaceripple_html_aa298e929e02f59c2b05a30ee8805b38ca4f19fdbc12c26412215f3477f70d5feb"><div class="ttname"><a href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca4f19fdbc12c26412215f3477f70d5feb">ripple::tecDIR_FULL</a></div><div class="ttdeci">@ tecDIR_FULL</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00274">TER.h:274</a></div></div>
<div class="ttc" id="anamespaceripple_html_aa298e929e02f59c2b05a30ee8805b38ca93e4e159f8759ea0948423c699e7cf77"><div class="ttname"><a href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca93e4e159f8759ea0948423c699e7cf77">ripple::tecINTERNAL</a></div><div class="ttdeci">@ tecINTERNAL</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00297">TER.h:297</a></div></div>
<div class="ttc" id="anamespaceripple_html_aa298e929e02f59c2b05a30ee8805b38cae930fb228ae74317976b57b4e87a7f0d"><div class="ttname"><a href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38cae930fb228ae74317976b57b4e87a7f0d">ripple::tecINSUFFICIENT_RESERVE</a></div><div class="ttdeci">@ tecINSUFFICIENT_RESERVE</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00294">TER.h:294</a></div></div>
@@ -268,9 +269,9 @@ $(function() {
<div class="ttc" id="astructripple_1_1MPTCreateArgs_html_a906558a829b57ce26217d5c092de9bd1"><div class="ttname"><a href="structripple_1_1MPTCreateArgs.html#a906558a829b57ce26217d5c092de9bd1">ripple::MPTCreateArgs::account</a></div><div class="ttdeci">AccountID const &amp; account</div><div class="ttdef"><b>Definition:</b> <a href="MPTokenIssuanceCreate_8h_source.html#l00030">MPTokenIssuanceCreate.h:30</a></div></div>
<div class="ttc" id="astructripple_1_1MPTCreateArgs_html_acd4ec37ede88efc9639a28d5bf341e8d"><div class="ttname"><a href="structripple_1_1MPTCreateArgs.html#acd4ec37ede88efc9639a28d5bf341e8d">ripple::MPTCreateArgs::maxAmount</a></div><div class="ttdeci">std::optional&lt; std::uint64_t &gt; maxAmount</div><div class="ttdef"><b>Definition:</b> <a href="MPTokenIssuanceCreate_8h_source.html#l00033">MPTokenIssuanceCreate.h:33</a></div></div>
<div class="ttc" id="astructripple_1_1MPTCreateArgs_html_ae237a9d3eb12a560ef18bac7d994bc29"><div class="ttname"><a href="structripple_1_1MPTCreateArgs.html#ae237a9d3eb12a560ef18bac7d994bc29">ripple::MPTCreateArgs::metadata</a></div><div class="ttdeci">std::optional&lt; Slice &gt; const &amp; metadata</div><div class="ttdef"><b>Definition:</b> <a href="MPTokenIssuanceCreate_8h_source.html#l00036">MPTokenIssuanceCreate.h:36</a></div></div>
<div class="ttc" id="astructripple_1_1PreflightContext_html"><div class="ttname"><a href="structripple_1_1PreflightContext.html">ripple::PreflightContext</a></div><div class="ttdoc">State information when preflighting a tx.</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8h_source.html#l00031">Transactor.h:32</a></div></div>
<div class="ttc" id="astructripple_1_1PreflightContext_html_ab27bfce9ca08a7330ff573e4e2d5fc68"><div class="ttname"><a href="structripple_1_1PreflightContext.html#ab27bfce9ca08a7330ff573e4e2d5fc68">ripple::PreflightContext::rules</a></div><div class="ttdeci">Rules const rules</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8h_source.html#l00036">Transactor.h:36</a></div></div>
<div class="ttc" id="astructripple_1_1PreflightContext_html_af202c00e509cfbb1df4fe69f4d6d6560"><div class="ttname"><a href="structripple_1_1PreflightContext.html#af202c00e509cfbb1df4fe69f4d6d6560">ripple::PreflightContext::tx</a></div><div class="ttdeci">STTx const &amp; tx</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8h_source.html#l00035">Transactor.h:35</a></div></div>
<div class="ttc" id="astructripple_1_1PreflightContext_html"><div class="ttname"><a href="structripple_1_1PreflightContext.html">ripple::PreflightContext</a></div><div class="ttdoc">State information when preflighting a tx.</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8h_source.html#l00032">Transactor.h:33</a></div></div>
<div class="ttc" id="astructripple_1_1PreflightContext_html_ab27bfce9ca08a7330ff573e4e2d5fc68"><div class="ttname"><a href="structripple_1_1PreflightContext.html#ab27bfce9ca08a7330ff573e4e2d5fc68">ripple::PreflightContext::rules</a></div><div class="ttdeci">Rules const rules</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8h_source.html#l00037">Transactor.h:37</a></div></div>
<div class="ttc" id="astructripple_1_1PreflightContext_html_af202c00e509cfbb1df4fe69f4d6d6560"><div class="ttname"><a href="structripple_1_1PreflightContext.html#af202c00e509cfbb1df4fe69f4d6d6560">ripple::PreflightContext::tx</a></div><div class="ttdeci">STTx const &amp; tx</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8h_source.html#l00036">Transactor.h:36</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>