This commit is contained in:
bthomee
2025-05-30 17:29:11 +00:00
parent eb4df582b3
commit ebe6bc13ab
1387 changed files with 62225 additions and 49123 deletions

View File

@@ -1109,283 +1109,456 @@ $(function() {
<div class="line"><a id="l01047" name="l01047"></a><span class="lineno"> 1047</span> }</div>
<div class="line"><a id="l01048" name="l01048"></a><span class="lineno"> 1048</span> </div>
<div class="line"><a id="l01049" name="l01049"></a><span class="lineno"> 1049</span> <span class="keywordtype">void</span></div>
<div class="line"><a id="l01050" name="l01050"></a><span class="lineno"><a class="line" href="classripple_1_1Invariants__test.html#af92709ce8a2a92d6b756fb8323d708bd"> 1050</a></span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#af92709ce8a2a92d6b756fb8323d708bd">testPermissionedDomainInvariants</a>()</div>
<div class="line"><a id="l01051" name="l01051"></a><span class="lineno"> 1051</span> {</div>
<div class="line"><a id="l01052" name="l01052"></a><span class="lineno"> 1052</span> <span class="keyword">using namespace </span>test::jtx;</div>
<div class="line"><a id="l01053" name="l01053"></a><span class="lineno"> 1053</span> </div>
<div class="line"><a id="l01054" name="l01054"></a><span class="lineno"> 1054</span> <a class="code hl_variable" href="classbeast_1_1unit__test_1_1suite.html#aaa1237d9b85c69d35fe86645cee094b5">testcase</a> &lt;&lt; <span class="stringliteral">&quot;PermissionedDomain&quot;</span>;</div>
<div class="line"><a id="l01055" name="l01055"></a><span class="lineno"> 1055</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a6303914a2a308eb256597dcfca8edc20">doInvariantCheck</a>(</div>
<div class="line"><a id="l01056" name="l01056"></a><span class="lineno"> 1056</span> {{<span class="stringliteral">&quot;permissioned domain with no rules.&quot;</span>}},</div>
<div class="line"><a id="l01057" name="l01057"></a><span class="lineno"> 1057</span> [](Account <span class="keyword">const</span>&amp; A1, Account <span class="keyword">const</span>&amp;, <a class="code hl_class" href="classripple_1_1ApplyContext.html">ApplyContext</a>&amp; ac) {</div>
<div class="line"><a id="l01058" name="l01058"></a><span class="lineno"> 1058</span> <a class="code hl_struct" href="structripple_1_1Keylet.html">Keylet</a> <span class="keyword">const</span> pdKeylet = <a class="code hl_function" href="namespaceripple_1_1keylet.html#a51879ade5bc763231874ba4298bf17d3">keylet::permissionedDomain</a>(A1.id(), 10);</div>
<div class="line"><a id="l01059" name="l01059"></a><span class="lineno"> 1059</span> <span class="keyword">auto</span> slePd = std::make_shared&lt;SLE&gt;(pdKeylet);</div>
<div class="line"><a id="l01060" name="l01060"></a><span class="lineno"> 1060</span> slePd-&gt;setAccountID(sfOwner, A1);</div>
<div class="line"><a id="l01061" name="l01061"></a><span class="lineno"> 1061</span> slePd-&gt;setFieldU32(sfSequence, 10);</div>
<div class="line"><a id="l01062" name="l01062"></a><span class="lineno"> 1062</span> </div>
<div class="line"><a id="l01063" name="l01063"></a><span class="lineno"> 1063</span> ac.view().insert(slePd);</div>
<div class="line"><a id="l01064" name="l01064"></a><span class="lineno"> 1064</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l01065" name="l01065"></a><span class="lineno"> 1065</span> },</div>
<div class="line"><a id="l01066" name="l01066"></a><span class="lineno"> 1066</span> <a class="code hl_class" href="classripple_1_1XRPAmount.html">XRPAmount</a>{},</div>
<div class="line"><a id="l01067" name="l01067"></a><span class="lineno"> 1067</span> <a class="code hl_class" href="classripple_1_1STTx.html">STTx</a>{ttPERMISSIONED_DOMAIN_SET, [](<a class="code hl_class" href="classripple_1_1STObject.html">STObject</a>&amp; tx) {}},</div>
<div class="line"><a id="l01068" name="l01068"></a><span class="lineno"> 1068</span> {<a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>, <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>});</div>
<div class="line"><a id="l01069" name="l01069"></a><span class="lineno"> 1069</span> </div>
<div class="line"><a id="l01070" name="l01070"></a><span class="lineno"> 1070</span> <a class="code hl_variable" href="classbeast_1_1unit__test_1_1suite.html#aaa1237d9b85c69d35fe86645cee094b5">testcase</a> &lt;&lt; <span class="stringliteral">&quot;PermissionedDomain 2&quot;</span>;</div>
<div class="line"><a id="l01071" name="l01071"></a><span class="lineno"> 1071</span> </div>
<div class="line"><a id="l01072" name="l01072"></a><span class="lineno"> 1072</span> <span class="keyword">auto</span> <span class="keyword">constexpr</span> tooBig = <a class="code hl_variable" href="namespaceripple.html#a3b7b0b8833993d53519f223aa4b637df">maxPermissionedDomainCredentialsArraySize</a> + 1;</div>
<div class="line"><a id="l01073" name="l01073"></a><span class="lineno"> 1073</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a6303914a2a308eb256597dcfca8edc20">doInvariantCheck</a>(</div>
<div class="line"><a id="l01074" name="l01074"></a><span class="lineno"> 1074</span> {{<span class="stringliteral">&quot;permissioned domain bad credentials size &quot;</span> +</div>
<div class="line"><a id="l01075" name="l01075"></a><span class="lineno"> 1075</span> <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/string/basic_string/to_string.html">std::to_string</a>(tooBig)}},</div>
<div class="line"><a id="l01076" name="l01076"></a><span class="lineno"> 1076</span> [](Account <span class="keyword">const</span>&amp; A1, Account <span class="keyword">const</span>&amp; A2, <a class="code hl_class" href="classripple_1_1ApplyContext.html">ApplyContext</a>&amp; ac) {</div>
<div class="line"><a id="l01077" name="l01077"></a><span class="lineno"> 1077</span> <a class="code hl_struct" href="structripple_1_1Keylet.html">Keylet</a> <span class="keyword">const</span> pdKeylet = <a class="code hl_function" href="namespaceripple_1_1keylet.html#a51879ade5bc763231874ba4298bf17d3">keylet::permissionedDomain</a>(A1.id(), 10);</div>
<div class="line"><a id="l01078" name="l01078"></a><span class="lineno"> 1078</span> <span class="keyword">auto</span> slePd = std::make_shared&lt;SLE&gt;(pdKeylet);</div>
<div class="line"><a id="l01079" name="l01079"></a><span class="lineno"> 1079</span> slePd-&gt;setAccountID(sfOwner, A1);</div>
<div class="line"><a id="l01080" name="l01080"></a><span class="lineno"> 1080</span> slePd-&gt;setFieldU32(sfSequence, 10);</div>
<div class="line"><a id="l01081" name="l01081"></a><span class="lineno"> 1081</span> </div>
<div class="line"><a id="l01082" name="l01082"></a><span class="lineno"> 1082</span> <a class="code hl_class" href="classripple_1_1STArray.html">STArray</a> credentials(sfAcceptedCredentials, tooBig);</div>
<div class="line"><a id="l01083" name="l01083"></a><span class="lineno"> 1083</span> <span class="keywordflow">for</span> (<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> n = 0; n &lt; tooBig; ++n)</div>
<div class="line"><a id="l01084" name="l01084"></a><span class="lineno"> 1084</span> {</div>
<div class="line"><a id="l01085" name="l01085"></a><span class="lineno"> 1085</span> <span class="keyword">auto</span> cred = <a class="code hl_function" href="classripple_1_1STObject.html#ab027b1e13d78b76dd6f41f0fb3459792">STObject::makeInnerObject</a>(sfCredential);</div>
<div class="line"><a id="l01086" name="l01086"></a><span class="lineno"> 1086</span> cred.setAccountID(sfIssuer, A2);</div>
<div class="line"><a id="l01087" name="l01087"></a><span class="lineno"> 1087</span> <span class="keyword">auto</span> credType =</div>
<div class="line"><a id="l01088" name="l01088"></a><span class="lineno"> 1088</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a>(<span class="stringliteral">&quot;cred_type&quot;</span>) + <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/string/basic_string/to_string.html">std::to_string</a>(n);</div>
<div class="line"><a id="l01089" name="l01089"></a><span class="lineno"> 1089</span> cred.setFieldVL(</div>
<div class="line"><a id="l01090" name="l01090"></a><span class="lineno"> 1090</span> sfCredentialType,</div>
<div class="line"><a id="l01091" name="l01091"></a><span class="lineno"> 1091</span> <a class="code hl_class" href="classripple_1_1Slice.html">Slice</a>(credType.c_str(), credType.size()));</div>
<div class="line"><a id="l01092" name="l01092"></a><span class="lineno"> 1092</span> credentials.<a class="code hl_function" href="classripple_1_1STArray.html#adc3dc750320964c46b6d4ea2af8b8bc7">push_back</a>(std::move(cred));</div>
<div class="line"><a id="l01093" name="l01093"></a><span class="lineno"> 1093</span> }</div>
<div class="line"><a id="l01094" name="l01094"></a><span class="lineno"> 1094</span> slePd-&gt;setFieldArray(sfAcceptedCredentials, credentials);</div>
<div class="line"><a id="l01095" name="l01095"></a><span class="lineno"> 1095</span> ac.view().insert(slePd);</div>
<div class="line"><a id="l01096" name="l01096"></a><span class="lineno"> 1096</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l01097" name="l01097"></a><span class="lineno"> 1097</span> },</div>
<div class="line"><a id="l01098" name="l01098"></a><span class="lineno"> 1098</span> <a class="code hl_class" href="classripple_1_1XRPAmount.html">XRPAmount</a>{},</div>
<div class="line"><a id="l01099" name="l01099"></a><span class="lineno"> 1099</span> <a class="code hl_class" href="classripple_1_1STTx.html">STTx</a>{ttPERMISSIONED_DOMAIN_SET, [](<a class="code hl_class" href="classripple_1_1STObject.html">STObject</a>&amp;) {}},</div>
<div class="line"><a id="l01100" name="l01100"></a><span class="lineno"> 1100</span> {<a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>, <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>});</div>
<div class="line"><a id="l01101" name="l01101"></a><span class="lineno"> 1101</span> </div>
<div class="line"><a id="l01102" name="l01102"></a><span class="lineno"> 1102</span> <a class="code hl_variable" href="classbeast_1_1unit__test_1_1suite.html#aaa1237d9b85c69d35fe86645cee094b5">testcase</a> &lt;&lt; <span class="stringliteral">&quot;PermissionedDomain 3&quot;</span>;</div>
<div class="line"><a id="l01103" name="l01103"></a><span class="lineno"> 1103</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a6303914a2a308eb256597dcfca8edc20">doInvariantCheck</a>(</div>
<div class="line"><a id="l01104" name="l01104"></a><span class="lineno"> 1104</span> {{<span class="stringliteral">&quot;permissioned domain credentials aren&#39;t sorted&quot;</span>}},</div>
<div class="line"><a id="l01105" name="l01105"></a><span class="lineno"> 1105</span> [](Account <span class="keyword">const</span>&amp; A1, Account <span class="keyword">const</span>&amp; A2, <a class="code hl_class" href="classripple_1_1ApplyContext.html">ApplyContext</a>&amp; ac) {</div>
<div class="line"><a id="l01106" name="l01106"></a><span class="lineno"> 1106</span> <a class="code hl_struct" href="structripple_1_1Keylet.html">Keylet</a> <span class="keyword">const</span> pdKeylet = <a class="code hl_function" href="namespaceripple_1_1keylet.html#a51879ade5bc763231874ba4298bf17d3">keylet::permissionedDomain</a>(A1.id(), 10);</div>
<div class="line"><a id="l01107" name="l01107"></a><span class="lineno"> 1107</span> <span class="keyword">auto</span> slePd = std::make_shared&lt;SLE&gt;(pdKeylet);</div>
<div class="line"><a id="l01108" name="l01108"></a><span class="lineno"> 1108</span> slePd-&gt;setAccountID(sfOwner, A1);</div>
<div class="line"><a id="l01109" name="l01109"></a><span class="lineno"> 1109</span> slePd-&gt;setFieldU32(sfSequence, 10);</div>
<div class="line"><a id="l01110" name="l01110"></a><span class="lineno"> 1110</span> </div>
<div class="line"><a id="l01111" name="l01111"></a><span class="lineno"> 1111</span> <a class="code hl_class" href="classripple_1_1STArray.html">STArray</a> credentials(sfAcceptedCredentials, 2);</div>
<div class="line"><a id="l01112" name="l01112"></a><span class="lineno"> 1112</span> <span class="keywordflow">for</span> (<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> n = 0; n &lt; 2; ++n)</div>
<div class="line"><a id="l01113" name="l01113"></a><span class="lineno"> 1113</span> {</div>
<div class="line"><a id="l01114" name="l01114"></a><span class="lineno"> 1114</span> <span class="keyword">auto</span> cred = <a class="code hl_function" href="classripple_1_1STObject.html#ab027b1e13d78b76dd6f41f0fb3459792">STObject::makeInnerObject</a>(sfCredential);</div>
<div class="line"><a id="l01115" name="l01115"></a><span class="lineno"> 1115</span> cred.setAccountID(sfIssuer, A2);</div>
<div class="line"><a id="l01116" name="l01116"></a><span class="lineno"> 1116</span> <span class="keyword">auto</span> credType =</div>
<div class="line"><a id="l01117" name="l01117"></a><span class="lineno"> 1117</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a>(<span class="stringliteral">&quot;cred_type&quot;</span>) + <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/string/basic_string/to_string.html">std::to_string</a>(9 - n);</div>
<div class="line"><a id="l01118" name="l01118"></a><span class="lineno"> 1118</span> cred.setFieldVL(</div>
<div class="line"><a id="l01119" name="l01119"></a><span class="lineno"> 1119</span> sfCredentialType,</div>
<div class="line"><a id="l01120" name="l01120"></a><span class="lineno"> 1120</span> <a class="code hl_class" href="classripple_1_1Slice.html">Slice</a>(credType.c_str(), credType.size()));</div>
<div class="line"><a id="l01121" name="l01121"></a><span class="lineno"> 1121</span> credentials.<a class="code hl_function" href="classripple_1_1STArray.html#adc3dc750320964c46b6d4ea2af8b8bc7">push_back</a>(std::move(cred));</div>
<div class="line"><a id="l01122" name="l01122"></a><span class="lineno"> 1122</span> }</div>
<div class="line"><a id="l01123" name="l01123"></a><span class="lineno"> 1123</span> slePd-&gt;setFieldArray(sfAcceptedCredentials, credentials);</div>
<div class="line"><a id="l01124" name="l01124"></a><span class="lineno"> 1124</span> ac.view().insert(slePd);</div>
<div class="line"><a id="l01125" name="l01125"></a><span class="lineno"> 1125</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l01126" name="l01126"></a><span class="lineno"> 1126</span> },</div>
<div class="line"><a id="l01127" name="l01127"></a><span class="lineno"> 1127</span> <a class="code hl_class" href="classripple_1_1XRPAmount.html">XRPAmount</a>{},</div>
<div class="line"><a id="l01128" name="l01128"></a><span class="lineno"> 1128</span> <a class="code hl_class" href="classripple_1_1STTx.html">STTx</a>{ttPERMISSIONED_DOMAIN_SET, [](<a class="code hl_class" href="classripple_1_1STObject.html">STObject</a>&amp;) {}},</div>
<div class="line"><a id="l01129" name="l01129"></a><span class="lineno"> 1129</span> {<a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>, <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>});</div>
<div class="line"><a id="l01130" name="l01130"></a><span class="lineno"> 1130</span> </div>
<div class="line"><a id="l01131" name="l01131"></a><span class="lineno"> 1131</span> <a class="code hl_variable" href="classbeast_1_1unit__test_1_1suite.html#aaa1237d9b85c69d35fe86645cee094b5">testcase</a> &lt;&lt; <span class="stringliteral">&quot;PermissionedDomain 4&quot;</span>;</div>
<div class="line"><a id="l01132" name="l01132"></a><span class="lineno"> 1132</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a6303914a2a308eb256597dcfca8edc20">doInvariantCheck</a>(</div>
<div class="line"><a id="l01133" name="l01133"></a><span class="lineno"> 1133</span> {{<span class="stringliteral">&quot;permissioned domain credentials aren&#39;t unique&quot;</span>}},</div>
<div class="line"><a id="l01134" name="l01134"></a><span class="lineno"> 1134</span> [](Account <span class="keyword">const</span>&amp; A1, Account <span class="keyword">const</span>&amp; A2, <a class="code hl_class" href="classripple_1_1ApplyContext.html">ApplyContext</a>&amp; ac) {</div>
<div class="line"><a id="l01135" name="l01135"></a><span class="lineno"> 1135</span> <a class="code hl_struct" href="structripple_1_1Keylet.html">Keylet</a> <span class="keyword">const</span> pdKeylet = <a class="code hl_function" href="namespaceripple_1_1keylet.html#a51879ade5bc763231874ba4298bf17d3">keylet::permissionedDomain</a>(A1.id(), 10);</div>
<div class="line"><a id="l01136" name="l01136"></a><span class="lineno"> 1136</span> <span class="keyword">auto</span> slePd = std::make_shared&lt;SLE&gt;(pdKeylet);</div>
<div class="line"><a id="l01137" name="l01137"></a><span class="lineno"> 1137</span> slePd-&gt;setAccountID(sfOwner, A1);</div>
<div class="line"><a id="l01138" name="l01138"></a><span class="lineno"> 1138</span> slePd-&gt;setFieldU32(sfSequence, 10);</div>
<div class="line"><a id="l01139" name="l01139"></a><span class="lineno"> 1139</span> </div>
<div class="line"><a id="l01140" name="l01140"></a><span class="lineno"> 1140</span> <a class="code hl_class" href="classripple_1_1STArray.html">STArray</a> credentials(sfAcceptedCredentials, 2);</div>
<div class="line"><a id="l01141" name="l01141"></a><span class="lineno"> 1141</span> <span class="keywordflow">for</span> (<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> n = 0; n &lt; 2; ++n)</div>
<div class="line"><a id="l01142" name="l01142"></a><span class="lineno"> 1142</span> {</div>
<div class="line"><a id="l01143" name="l01143"></a><span class="lineno"> 1143</span> <span class="keyword">auto</span> cred = <a class="code hl_function" href="classripple_1_1STObject.html#ab027b1e13d78b76dd6f41f0fb3459792">STObject::makeInnerObject</a>(sfCredential);</div>
<div class="line"><a id="l01144" name="l01144"></a><span class="lineno"> 1144</span> cred.setAccountID(sfIssuer, A2);</div>
<div class="line"><a id="l01145" name="l01145"></a><span class="lineno"> 1145</span> cred.setFieldVL(sfCredentialType, <a class="code hl_class" href="classripple_1_1Slice.html">Slice</a>(<span class="stringliteral">&quot;cred_type&quot;</span>, 9));</div>
<div class="line"><a id="l01146" name="l01146"></a><span class="lineno"> 1146</span> credentials.<a class="code hl_function" href="classripple_1_1STArray.html#adc3dc750320964c46b6d4ea2af8b8bc7">push_back</a>(std::move(cred));</div>
<div class="line"><a id="l01147" name="l01147"></a><span class="lineno"> 1147</span> }</div>
<div class="line"><a id="l01148" name="l01148"></a><span class="lineno"> 1148</span> slePd-&gt;setFieldArray(sfAcceptedCredentials, credentials);</div>
<div class="line"><a id="l01149" name="l01149"></a><span class="lineno"> 1149</span> ac.view().insert(slePd);</div>
<div class="line"><a id="l01150" name="l01150"></a><span class="lineno"> 1150</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l01151" name="l01151"></a><span class="lineno"> 1151</span> },</div>
<div class="line"><a id="l01152" name="l01152"></a><span class="lineno"> 1152</span> <a class="code hl_class" href="classripple_1_1XRPAmount.html">XRPAmount</a>{},</div>
<div class="line"><a id="l01153" name="l01153"></a><span class="lineno"> 1153</span> <a class="code hl_class" href="classripple_1_1STTx.html">STTx</a>{ttPERMISSIONED_DOMAIN_SET, [](<a class="code hl_class" href="classripple_1_1STObject.html">STObject</a>&amp; tx) {}},</div>
<div class="line"><a id="l01154" name="l01154"></a><span class="lineno"> 1154</span> {<a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>, <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>});</div>
<div class="line"><a id="l01155" name="l01155"></a><span class="lineno"> 1155</span> </div>
<div class="line"><a id="l01156" name="l01156"></a><span class="lineno"> 1156</span> <span class="keyword">auto</span> <span class="keyword">const</span> createPD = [](<a class="code hl_class" href="classripple_1_1ApplyContext.html">ApplyContext</a>&amp; ac,</div>
<div class="line"><a id="l01157" name="l01157"></a><span class="lineno"> 1157</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr&lt;SLE&gt;</a>&amp; sle,</div>
<div class="line"><a id="l01158" name="l01158"></a><span class="lineno"> 1158</span> Account <span class="keyword">const</span>&amp; A1,</div>
<div class="line"><a id="l01159" name="l01159"></a><span class="lineno"> 1159</span> Account <span class="keyword">const</span>&amp; A2) {</div>
<div class="line"><a id="l01160" name="l01160"></a><span class="lineno"> 1160</span> sle-&gt;setAccountID(sfOwner, A1);</div>
<div class="line"><a id="l01161" name="l01161"></a><span class="lineno"> 1161</span> sle-&gt;setFieldU32(sfSequence, 10);</div>
<div class="line"><a id="l01162" name="l01162"></a><span class="lineno"> 1162</span> </div>
<div class="line"><a id="l01163" name="l01163"></a><span class="lineno"> 1163</span> <a class="code hl_class" href="classripple_1_1STArray.html">STArray</a> credentials(sfAcceptedCredentials, 2);</div>
<div class="line"><a id="l01164" name="l01164"></a><span class="lineno"> 1164</span> <span class="keywordflow">for</span> (<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> n = 0; n &lt; 2; ++n)</div>
<div class="line"><a id="l01165" name="l01165"></a><span class="lineno"> 1165</span> {</div>
<div class="line"><a id="l01166" name="l01166"></a><span class="lineno"> 1166</span> <span class="keyword">auto</span> cred = <a class="code hl_function" href="classripple_1_1STObject.html#ab027b1e13d78b76dd6f41f0fb3459792">STObject::makeInnerObject</a>(sfCredential);</div>
<div class="line"><a id="l01167" name="l01167"></a><span class="lineno"> 1167</span> cred.setAccountID(sfIssuer, A2);</div>
<div class="line"><a id="l01168" name="l01168"></a><span class="lineno"> 1168</span> <span class="keyword">auto</span> credType = <span class="stringliteral">&quot;cred_type&quot;</span> + <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/string/basic_string/to_string.html">std::to_string</a>(n);</div>
<div class="line"><a id="l01169" name="l01169"></a><span class="lineno"> 1169</span> cred.setFieldVL(</div>
<div class="line"><a id="l01170" name="l01170"></a><span class="lineno"> 1170</span> sfCredentialType, <a class="code hl_class" href="classripple_1_1Slice.html">Slice</a>(credType.c_str(), credType.size()));</div>
<div class="line"><a id="l01171" name="l01171"></a><span class="lineno"> 1171</span> credentials.<a class="code hl_function" href="classripple_1_1STArray.html#adc3dc750320964c46b6d4ea2af8b8bc7">push_back</a>(std::move(cred));</div>
<div class="line"><a id="l01172" name="l01172"></a><span class="lineno"> 1172</span> }</div>
<div class="line"><a id="l01173" name="l01173"></a><span class="lineno"> 1173</span> sle-&gt;setFieldArray(sfAcceptedCredentials, credentials);</div>
<div class="line"><a id="l01174" name="l01174"></a><span class="lineno"> 1174</span> ac.<a class="code hl_function" href="classripple_1_1ApplyContext.html#a44c249b16b2cedb1224a96592407558d">view</a>().<a class="code hl_function" href="classripple_1_1ApplyView.html#aa3c5b5cd9dca5f906be4b36640706e3c">insert</a>(sle);</div>
<div class="line"><a id="l01175" name="l01175"></a><span class="lineno"> 1175</span> };</div>
<div class="line"><a id="l01176" name="l01176"></a><span class="lineno"> 1176</span> </div>
<div class="line"><a id="l01177" name="l01177"></a><span class="lineno"> 1177</span> <a class="code hl_variable" href="classbeast_1_1unit__test_1_1suite.html#aaa1237d9b85c69d35fe86645cee094b5">testcase</a> &lt;&lt; <span class="stringliteral">&quot;PermissionedDomain Set 1&quot;</span>;</div>
<div class="line"><a id="l01178" name="l01178"></a><span class="lineno"> 1178</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a6303914a2a308eb256597dcfca8edc20">doInvariantCheck</a>(</div>
<div class="line"><a id="l01179" name="l01179"></a><span class="lineno"> 1179</span> {{<span class="stringliteral">&quot;permissioned domain with no rules.&quot;</span>}},</div>
<div class="line"><a id="l01180" name="l01180"></a><span class="lineno"> 1180</span> [createPD](Account <span class="keyword">const</span>&amp; A1, Account <span class="keyword">const</span>&amp; A2, <a class="code hl_class" href="classripple_1_1ApplyContext.html">ApplyContext</a>&amp; ac) {</div>
<div class="line"><a id="l01181" name="l01181"></a><span class="lineno"> 1181</span> <a class="code hl_struct" href="structripple_1_1Keylet.html">Keylet</a> <span class="keyword">const</span> pdKeylet = <a class="code hl_function" href="namespaceripple_1_1keylet.html#a51879ade5bc763231874ba4298bf17d3">keylet::permissionedDomain</a>(A1.id(), 10);</div>
<div class="line"><a id="l01182" name="l01182"></a><span class="lineno"> 1182</span> <span class="keyword">auto</span> slePd = std::make_shared&lt;SLE&gt;(pdKeylet);</div>
<div class="line"><a id="l01183" name="l01183"></a><span class="lineno"> 1183</span> </div>
<div class="line"><a id="l01184" name="l01184"></a><span class="lineno"> 1184</span> <span class="comment">// create PD</span></div>
<div class="line"><a id="l01185" name="l01185"></a><span class="lineno"> 1185</span> createPD(ac, slePd, A1, A2);</div>
<div class="line"><a id="l01050" name="l01050"></a><span class="lineno"><a class="line" href="classripple_1_1Invariants__test.html#a8478b9a63baa3c4b510a0484294e7725"> 1050</a></span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a8478b9a63baa3c4b510a0484294e7725">createPermissionedDomain</a>(</div>
<div class="line"><a id="l01051" name="l01051"></a><span class="lineno"> 1051</span> <a class="code hl_class" href="classripple_1_1ApplyContext.html">ApplyContext</a>&amp; ac,</div>
<div class="line"><a id="l01052" name="l01052"></a><span class="lineno"> 1052</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr&lt;SLE&gt;</a>&amp; sle,</div>
<div class="line"><a id="l01053" name="l01053"></a><span class="lineno"> 1053</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Account.html">test::jtx::Account</a> <span class="keyword">const</span>&amp; A1,</div>
<div class="line"><a id="l01054" name="l01054"></a><span class="lineno"> 1054</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Account.html">test::jtx::Account</a> <span class="keyword">const</span>&amp; A2)</div>
<div class="line"><a id="l01055" name="l01055"></a><span class="lineno"> 1055</span> {</div>
<div class="line"><a id="l01056" name="l01056"></a><span class="lineno"> 1056</span> sle-&gt;setAccountID(sfOwner, A1);</div>
<div class="line"><a id="l01057" name="l01057"></a><span class="lineno"> 1057</span> sle-&gt;setFieldU32(sfSequence, 10);</div>
<div class="line"><a id="l01058" name="l01058"></a><span class="lineno"> 1058</span> </div>
<div class="line"><a id="l01059" name="l01059"></a><span class="lineno"> 1059</span> <a class="code hl_class" href="classripple_1_1STArray.html">STArray</a> credentials(sfAcceptedCredentials, 2);</div>
<div class="line"><a id="l01060" name="l01060"></a><span class="lineno"> 1060</span> <span class="keywordflow">for</span> (<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> n = 0; n &lt; 2; ++n)</div>
<div class="line"><a id="l01061" name="l01061"></a><span class="lineno"> 1061</span> {</div>
<div class="line"><a id="l01062" name="l01062"></a><span class="lineno"> 1062</span> <span class="keyword">auto</span> cred = <a class="code hl_function" href="classripple_1_1STObject.html#ab027b1e13d78b76dd6f41f0fb3459792">STObject::makeInnerObject</a>(sfCredential);</div>
<div class="line"><a id="l01063" name="l01063"></a><span class="lineno"> 1063</span> cred.setAccountID(sfIssuer, A2);</div>
<div class="line"><a id="l01064" name="l01064"></a><span class="lineno"> 1064</span> <span class="keyword">auto</span> credType = <span class="stringliteral">&quot;cred_type&quot;</span> + <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/string/basic_string/to_string.html">std::to_string</a>(n);</div>
<div class="line"><a id="l01065" name="l01065"></a><span class="lineno"> 1065</span> cred.setFieldVL(</div>
<div class="line"><a id="l01066" name="l01066"></a><span class="lineno"> 1066</span> sfCredentialType, <a class="code hl_class" href="classripple_1_1Slice.html">Slice</a>(credType.c_str(), credType.size()));</div>
<div class="line"><a id="l01067" name="l01067"></a><span class="lineno"> 1067</span> credentials.<a class="code hl_function" href="classripple_1_1STArray.html#adc3dc750320964c46b6d4ea2af8b8bc7">push_back</a>(std::move(cred));</div>
<div class="line"><a id="l01068" name="l01068"></a><span class="lineno"> 1068</span> }</div>
<div class="line"><a id="l01069" name="l01069"></a><span class="lineno"> 1069</span> sle-&gt;setFieldArray(sfAcceptedCredentials, credentials);</div>
<div class="line"><a id="l01070" name="l01070"></a><span class="lineno"> 1070</span> ac.<a class="code hl_function" href="classripple_1_1ApplyContext.html#a44c249b16b2cedb1224a96592407558d">view</a>().<a class="code hl_function" href="classripple_1_1ApplyView.html#aa3c5b5cd9dca5f906be4b36640706e3c">insert</a>(sle);</div>
<div class="line"><a id="l01071" name="l01071"></a><span class="lineno"> 1071</span> };</div>
<div class="line"><a id="l01072" name="l01072"></a><span class="lineno"> 1072</span> </div>
<div class="line"><a id="l01073" name="l01073"></a><span class="lineno"> 1073</span> <span class="keywordtype">void</span></div>
<div class="line"><a id="l01074" name="l01074"></a><span class="lineno"><a class="line" href="classripple_1_1Invariants__test.html#af92709ce8a2a92d6b756fb8323d708bd"> 1074</a></span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#af92709ce8a2a92d6b756fb8323d708bd">testPermissionedDomainInvariants</a>()</div>
<div class="line"><a id="l01075" name="l01075"></a><span class="lineno"> 1075</span> {</div>
<div class="line"><a id="l01076" name="l01076"></a><span class="lineno"> 1076</span> <span class="keyword">using namespace </span>test::jtx;</div>
<div class="line"><a id="l01077" name="l01077"></a><span class="lineno"> 1077</span> </div>
<div class="line"><a id="l01078" name="l01078"></a><span class="lineno"> 1078</span> <a class="code hl_variable" href="classbeast_1_1unit__test_1_1suite.html#aaa1237d9b85c69d35fe86645cee094b5">testcase</a> &lt;&lt; <span class="stringliteral">&quot;PermissionedDomain&quot;</span>;</div>
<div class="line"><a id="l01079" name="l01079"></a><span class="lineno"> 1079</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a6303914a2a308eb256597dcfca8edc20">doInvariantCheck</a>(</div>
<div class="line"><a id="l01080" name="l01080"></a><span class="lineno"> 1080</span> {{<span class="stringliteral">&quot;permissioned domain with no rules.&quot;</span>}},</div>
<div class="line"><a id="l01081" name="l01081"></a><span class="lineno"> 1081</span> [](Account <span class="keyword">const</span>&amp; A1, Account <span class="keyword">const</span>&amp;, <a class="code hl_class" href="classripple_1_1ApplyContext.html">ApplyContext</a>&amp; ac) {</div>
<div class="line"><a id="l01082" name="l01082"></a><span class="lineno"> 1082</span> <a class="code hl_struct" href="structripple_1_1Keylet.html">Keylet</a> <span class="keyword">const</span> pdKeylet = <a class="code hl_function" href="namespaceripple_1_1keylet.html#a51879ade5bc763231874ba4298bf17d3">keylet::permissionedDomain</a>(A1.id(), 10);</div>
<div class="line"><a id="l01083" name="l01083"></a><span class="lineno"> 1083</span> <span class="keyword">auto</span> slePd = std::make_shared&lt;SLE&gt;(pdKeylet);</div>
<div class="line"><a id="l01084" name="l01084"></a><span class="lineno"> 1084</span> slePd-&gt;setAccountID(sfOwner, A1);</div>
<div class="line"><a id="l01085" name="l01085"></a><span class="lineno"> 1085</span> slePd-&gt;setFieldU32(sfSequence, 10);</div>
<div class="line"><a id="l01086" name="l01086"></a><span class="lineno"> 1086</span> </div>
<div class="line"><a id="l01087" name="l01087"></a><span class="lineno"> 1087</span> ac.view().insert(slePd);</div>
<div class="line"><a id="l01088" name="l01088"></a><span class="lineno"> 1088</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l01089" name="l01089"></a><span class="lineno"> 1089</span> },</div>
<div class="line"><a id="l01090" name="l01090"></a><span class="lineno"> 1090</span> <a class="code hl_class" href="classripple_1_1XRPAmount.html">XRPAmount</a>{},</div>
<div class="line"><a id="l01091" name="l01091"></a><span class="lineno"> 1091</span> <a class="code hl_class" href="classripple_1_1STTx.html">STTx</a>{ttPERMISSIONED_DOMAIN_SET, [](<a class="code hl_class" href="classripple_1_1STObject.html">STObject</a>&amp; tx) {}},</div>
<div class="line"><a id="l01092" name="l01092"></a><span class="lineno"> 1092</span> {<a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>, <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>});</div>
<div class="line"><a id="l01093" name="l01093"></a><span class="lineno"> 1093</span> </div>
<div class="line"><a id="l01094" name="l01094"></a><span class="lineno"> 1094</span> <a class="code hl_variable" href="classbeast_1_1unit__test_1_1suite.html#aaa1237d9b85c69d35fe86645cee094b5">testcase</a> &lt;&lt; <span class="stringliteral">&quot;PermissionedDomain 2&quot;</span>;</div>
<div class="line"><a id="l01095" name="l01095"></a><span class="lineno"> 1095</span> </div>
<div class="line"><a id="l01096" name="l01096"></a><span class="lineno"> 1096</span> <span class="keyword">auto</span> <span class="keyword">constexpr</span> tooBig = <a class="code hl_variable" href="namespaceripple.html#a3b7b0b8833993d53519f223aa4b637df">maxPermissionedDomainCredentialsArraySize</a> + 1;</div>
<div class="line"><a id="l01097" name="l01097"></a><span class="lineno"> 1097</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a6303914a2a308eb256597dcfca8edc20">doInvariantCheck</a>(</div>
<div class="line"><a id="l01098" name="l01098"></a><span class="lineno"> 1098</span> {{<span class="stringliteral">&quot;permissioned domain bad credentials size &quot;</span> +</div>
<div class="line"><a id="l01099" name="l01099"></a><span class="lineno"> 1099</span> <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/string/basic_string/to_string.html">std::to_string</a>(tooBig)}},</div>
<div class="line"><a id="l01100" name="l01100"></a><span class="lineno"> 1100</span> [](Account <span class="keyword">const</span>&amp; A1, Account <span class="keyword">const</span>&amp; A2, <a class="code hl_class" href="classripple_1_1ApplyContext.html">ApplyContext</a>&amp; ac) {</div>
<div class="line"><a id="l01101" name="l01101"></a><span class="lineno"> 1101</span> <a class="code hl_struct" href="structripple_1_1Keylet.html">Keylet</a> <span class="keyword">const</span> pdKeylet = <a class="code hl_function" href="namespaceripple_1_1keylet.html#a51879ade5bc763231874ba4298bf17d3">keylet::permissionedDomain</a>(A1.id(), 10);</div>
<div class="line"><a id="l01102" name="l01102"></a><span class="lineno"> 1102</span> <span class="keyword">auto</span> slePd = std::make_shared&lt;SLE&gt;(pdKeylet);</div>
<div class="line"><a id="l01103" name="l01103"></a><span class="lineno"> 1103</span> slePd-&gt;setAccountID(sfOwner, A1);</div>
<div class="line"><a id="l01104" name="l01104"></a><span class="lineno"> 1104</span> slePd-&gt;setFieldU32(sfSequence, 10);</div>
<div class="line"><a id="l01105" name="l01105"></a><span class="lineno"> 1105</span> </div>
<div class="line"><a id="l01106" name="l01106"></a><span class="lineno"> 1106</span> <a class="code hl_class" href="classripple_1_1STArray.html">STArray</a> credentials(sfAcceptedCredentials, tooBig);</div>
<div class="line"><a id="l01107" name="l01107"></a><span class="lineno"> 1107</span> <span class="keywordflow">for</span> (<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> n = 0; n &lt; tooBig; ++n)</div>
<div class="line"><a id="l01108" name="l01108"></a><span class="lineno"> 1108</span> {</div>
<div class="line"><a id="l01109" name="l01109"></a><span class="lineno"> 1109</span> <span class="keyword">auto</span> cred = <a class="code hl_function" href="classripple_1_1STObject.html#ab027b1e13d78b76dd6f41f0fb3459792">STObject::makeInnerObject</a>(sfCredential);</div>
<div class="line"><a id="l01110" name="l01110"></a><span class="lineno"> 1110</span> cred.setAccountID(sfIssuer, A2);</div>
<div class="line"><a id="l01111" name="l01111"></a><span class="lineno"> 1111</span> <span class="keyword">auto</span> credType =</div>
<div class="line"><a id="l01112" name="l01112"></a><span class="lineno"> 1112</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a>(<span class="stringliteral">&quot;cred_type&quot;</span>) + <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/string/basic_string/to_string.html">std::to_string</a>(n);</div>
<div class="line"><a id="l01113" name="l01113"></a><span class="lineno"> 1113</span> cred.setFieldVL(</div>
<div class="line"><a id="l01114" name="l01114"></a><span class="lineno"> 1114</span> sfCredentialType,</div>
<div class="line"><a id="l01115" name="l01115"></a><span class="lineno"> 1115</span> <a class="code hl_class" href="classripple_1_1Slice.html">Slice</a>(credType.c_str(), credType.size()));</div>
<div class="line"><a id="l01116" name="l01116"></a><span class="lineno"> 1116</span> credentials.<a class="code hl_function" href="classripple_1_1STArray.html#adc3dc750320964c46b6d4ea2af8b8bc7">push_back</a>(std::move(cred));</div>
<div class="line"><a id="l01117" name="l01117"></a><span class="lineno"> 1117</span> }</div>
<div class="line"><a id="l01118" name="l01118"></a><span class="lineno"> 1118</span> slePd-&gt;setFieldArray(sfAcceptedCredentials, credentials);</div>
<div class="line"><a id="l01119" name="l01119"></a><span class="lineno"> 1119</span> ac.view().insert(slePd);</div>
<div class="line"><a id="l01120" name="l01120"></a><span class="lineno"> 1120</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l01121" name="l01121"></a><span class="lineno"> 1121</span> },</div>
<div class="line"><a id="l01122" name="l01122"></a><span class="lineno"> 1122</span> <a class="code hl_class" href="classripple_1_1XRPAmount.html">XRPAmount</a>{},</div>
<div class="line"><a id="l01123" name="l01123"></a><span class="lineno"> 1123</span> <a class="code hl_class" href="classripple_1_1STTx.html">STTx</a>{ttPERMISSIONED_DOMAIN_SET, [](<a class="code hl_class" href="classripple_1_1STObject.html">STObject</a>&amp;) {}},</div>
<div class="line"><a id="l01124" name="l01124"></a><span class="lineno"> 1124</span> {<a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>, <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>});</div>
<div class="line"><a id="l01125" name="l01125"></a><span class="lineno"> 1125</span> </div>
<div class="line"><a id="l01126" name="l01126"></a><span class="lineno"> 1126</span> <a class="code hl_variable" href="classbeast_1_1unit__test_1_1suite.html#aaa1237d9b85c69d35fe86645cee094b5">testcase</a> &lt;&lt; <span class="stringliteral">&quot;PermissionedDomain 3&quot;</span>;</div>
<div class="line"><a id="l01127" name="l01127"></a><span class="lineno"> 1127</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a6303914a2a308eb256597dcfca8edc20">doInvariantCheck</a>(</div>
<div class="line"><a id="l01128" name="l01128"></a><span class="lineno"> 1128</span> {{<span class="stringliteral">&quot;permissioned domain credentials aren&#39;t sorted&quot;</span>}},</div>
<div class="line"><a id="l01129" name="l01129"></a><span class="lineno"> 1129</span> [](Account <span class="keyword">const</span>&amp; A1, Account <span class="keyword">const</span>&amp; A2, <a class="code hl_class" href="classripple_1_1ApplyContext.html">ApplyContext</a>&amp; ac) {</div>
<div class="line"><a id="l01130" name="l01130"></a><span class="lineno"> 1130</span> <a class="code hl_struct" href="structripple_1_1Keylet.html">Keylet</a> <span class="keyword">const</span> pdKeylet = <a class="code hl_function" href="namespaceripple_1_1keylet.html#a51879ade5bc763231874ba4298bf17d3">keylet::permissionedDomain</a>(A1.id(), 10);</div>
<div class="line"><a id="l01131" name="l01131"></a><span class="lineno"> 1131</span> <span class="keyword">auto</span> slePd = std::make_shared&lt;SLE&gt;(pdKeylet);</div>
<div class="line"><a id="l01132" name="l01132"></a><span class="lineno"> 1132</span> slePd-&gt;setAccountID(sfOwner, A1);</div>
<div class="line"><a id="l01133" name="l01133"></a><span class="lineno"> 1133</span> slePd-&gt;setFieldU32(sfSequence, 10);</div>
<div class="line"><a id="l01134" name="l01134"></a><span class="lineno"> 1134</span> </div>
<div class="line"><a id="l01135" name="l01135"></a><span class="lineno"> 1135</span> <a class="code hl_class" href="classripple_1_1STArray.html">STArray</a> credentials(sfAcceptedCredentials, 2);</div>
<div class="line"><a id="l01136" name="l01136"></a><span class="lineno"> 1136</span> <span class="keywordflow">for</span> (<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> n = 0; n &lt; 2; ++n)</div>
<div class="line"><a id="l01137" name="l01137"></a><span class="lineno"> 1137</span> {</div>
<div class="line"><a id="l01138" name="l01138"></a><span class="lineno"> 1138</span> <span class="keyword">auto</span> cred = <a class="code hl_function" href="classripple_1_1STObject.html#ab027b1e13d78b76dd6f41f0fb3459792">STObject::makeInnerObject</a>(sfCredential);</div>
<div class="line"><a id="l01139" name="l01139"></a><span class="lineno"> 1139</span> cred.setAccountID(sfIssuer, A2);</div>
<div class="line"><a id="l01140" name="l01140"></a><span class="lineno"> 1140</span> <span class="keyword">auto</span> credType =</div>
<div class="line"><a id="l01141" name="l01141"></a><span class="lineno"> 1141</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a>(<span class="stringliteral">&quot;cred_type&quot;</span>) + <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/string/basic_string/to_string.html">std::to_string</a>(9 - n);</div>
<div class="line"><a id="l01142" name="l01142"></a><span class="lineno"> 1142</span> cred.setFieldVL(</div>
<div class="line"><a id="l01143" name="l01143"></a><span class="lineno"> 1143</span> sfCredentialType,</div>
<div class="line"><a id="l01144" name="l01144"></a><span class="lineno"> 1144</span> <a class="code hl_class" href="classripple_1_1Slice.html">Slice</a>(credType.c_str(), credType.size()));</div>
<div class="line"><a id="l01145" name="l01145"></a><span class="lineno"> 1145</span> credentials.<a class="code hl_function" href="classripple_1_1STArray.html#adc3dc750320964c46b6d4ea2af8b8bc7">push_back</a>(std::move(cred));</div>
<div class="line"><a id="l01146" name="l01146"></a><span class="lineno"> 1146</span> }</div>
<div class="line"><a id="l01147" name="l01147"></a><span class="lineno"> 1147</span> slePd-&gt;setFieldArray(sfAcceptedCredentials, credentials);</div>
<div class="line"><a id="l01148" name="l01148"></a><span class="lineno"> 1148</span> ac.view().insert(slePd);</div>
<div class="line"><a id="l01149" name="l01149"></a><span class="lineno"> 1149</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l01150" name="l01150"></a><span class="lineno"> 1150</span> },</div>
<div class="line"><a id="l01151" name="l01151"></a><span class="lineno"> 1151</span> <a class="code hl_class" href="classripple_1_1XRPAmount.html">XRPAmount</a>{},</div>
<div class="line"><a id="l01152" name="l01152"></a><span class="lineno"> 1152</span> <a class="code hl_class" href="classripple_1_1STTx.html">STTx</a>{ttPERMISSIONED_DOMAIN_SET, [](<a class="code hl_class" href="classripple_1_1STObject.html">STObject</a>&amp;) {}},</div>
<div class="line"><a id="l01153" name="l01153"></a><span class="lineno"> 1153</span> {<a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>, <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>});</div>
<div class="line"><a id="l01154" name="l01154"></a><span class="lineno"> 1154</span> </div>
<div class="line"><a id="l01155" name="l01155"></a><span class="lineno"> 1155</span> <a class="code hl_variable" href="classbeast_1_1unit__test_1_1suite.html#aaa1237d9b85c69d35fe86645cee094b5">testcase</a> &lt;&lt; <span class="stringliteral">&quot;PermissionedDomain 4&quot;</span>;</div>
<div class="line"><a id="l01156" name="l01156"></a><span class="lineno"> 1156</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a6303914a2a308eb256597dcfca8edc20">doInvariantCheck</a>(</div>
<div class="line"><a id="l01157" name="l01157"></a><span class="lineno"> 1157</span> {{<span class="stringliteral">&quot;permissioned domain credentials aren&#39;t unique&quot;</span>}},</div>
<div class="line"><a id="l01158" name="l01158"></a><span class="lineno"> 1158</span> [](Account <span class="keyword">const</span>&amp; A1, Account <span class="keyword">const</span>&amp; A2, <a class="code hl_class" href="classripple_1_1ApplyContext.html">ApplyContext</a>&amp; ac) {</div>
<div class="line"><a id="l01159" name="l01159"></a><span class="lineno"> 1159</span> <a class="code hl_struct" href="structripple_1_1Keylet.html">Keylet</a> <span class="keyword">const</span> pdKeylet = <a class="code hl_function" href="namespaceripple_1_1keylet.html#a51879ade5bc763231874ba4298bf17d3">keylet::permissionedDomain</a>(A1.id(), 10);</div>
<div class="line"><a id="l01160" name="l01160"></a><span class="lineno"> 1160</span> <span class="keyword">auto</span> slePd = std::make_shared&lt;SLE&gt;(pdKeylet);</div>
<div class="line"><a id="l01161" name="l01161"></a><span class="lineno"> 1161</span> slePd-&gt;setAccountID(sfOwner, A1);</div>
<div class="line"><a id="l01162" name="l01162"></a><span class="lineno"> 1162</span> slePd-&gt;setFieldU32(sfSequence, 10);</div>
<div class="line"><a id="l01163" name="l01163"></a><span class="lineno"> 1163</span> </div>
<div class="line"><a id="l01164" name="l01164"></a><span class="lineno"> 1164</span> <a class="code hl_class" href="classripple_1_1STArray.html">STArray</a> credentials(sfAcceptedCredentials, 2);</div>
<div class="line"><a id="l01165" name="l01165"></a><span class="lineno"> 1165</span> <span class="keywordflow">for</span> (<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> n = 0; n &lt; 2; ++n)</div>
<div class="line"><a id="l01166" name="l01166"></a><span class="lineno"> 1166</span> {</div>
<div class="line"><a id="l01167" name="l01167"></a><span class="lineno"> 1167</span> <span class="keyword">auto</span> cred = <a class="code hl_function" href="classripple_1_1STObject.html#ab027b1e13d78b76dd6f41f0fb3459792">STObject::makeInnerObject</a>(sfCredential);</div>
<div class="line"><a id="l01168" name="l01168"></a><span class="lineno"> 1168</span> cred.setAccountID(sfIssuer, A2);</div>
<div class="line"><a id="l01169" name="l01169"></a><span class="lineno"> 1169</span> cred.setFieldVL(sfCredentialType, <a class="code hl_class" href="classripple_1_1Slice.html">Slice</a>(<span class="stringliteral">&quot;cred_type&quot;</span>, 9));</div>
<div class="line"><a id="l01170" name="l01170"></a><span class="lineno"> 1170</span> credentials.<a class="code hl_function" href="classripple_1_1STArray.html#adc3dc750320964c46b6d4ea2af8b8bc7">push_back</a>(std::move(cred));</div>
<div class="line"><a id="l01171" name="l01171"></a><span class="lineno"> 1171</span> }</div>
<div class="line"><a id="l01172" name="l01172"></a><span class="lineno"> 1172</span> slePd-&gt;setFieldArray(sfAcceptedCredentials, credentials);</div>
<div class="line"><a id="l01173" name="l01173"></a><span class="lineno"> 1173</span> ac.view().insert(slePd);</div>
<div class="line"><a id="l01174" name="l01174"></a><span class="lineno"> 1174</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l01175" name="l01175"></a><span class="lineno"> 1175</span> },</div>
<div class="line"><a id="l01176" name="l01176"></a><span class="lineno"> 1176</span> <a class="code hl_class" href="classripple_1_1XRPAmount.html">XRPAmount</a>{},</div>
<div class="line"><a id="l01177" name="l01177"></a><span class="lineno"> 1177</span> <a class="code hl_class" href="classripple_1_1STTx.html">STTx</a>{ttPERMISSIONED_DOMAIN_SET, [](<a class="code hl_class" href="classripple_1_1STObject.html">STObject</a>&amp; tx) {}},</div>
<div class="line"><a id="l01178" name="l01178"></a><span class="lineno"> 1178</span> {<a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>, <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>});</div>
<div class="line"><a id="l01179" name="l01179"></a><span class="lineno"> 1179</span> </div>
<div class="line"><a id="l01180" name="l01180"></a><span class="lineno"> 1180</span> <a class="code hl_variable" href="classbeast_1_1unit__test_1_1suite.html#aaa1237d9b85c69d35fe86645cee094b5">testcase</a> &lt;&lt; <span class="stringliteral">&quot;PermissionedDomain Set 1&quot;</span>;</div>
<div class="line"><a id="l01181" name="l01181"></a><span class="lineno"> 1181</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a6303914a2a308eb256597dcfca8edc20">doInvariantCheck</a>(</div>
<div class="line"><a id="l01182" name="l01182"></a><span class="lineno"> 1182</span> {{<span class="stringliteral">&quot;permissioned domain with no rules.&quot;</span>}},</div>
<div class="line"><a id="l01183" name="l01183"></a><span class="lineno"> 1183</span> [&amp;](Account <span class="keyword">const</span>&amp; A1, Account <span class="keyword">const</span>&amp; A2, <a class="code hl_class" href="classripple_1_1ApplyContext.html">ApplyContext</a>&amp; ac) {</div>
<div class="line"><a id="l01184" name="l01184"></a><span class="lineno"> 1184</span> <a class="code hl_struct" href="structripple_1_1Keylet.html">Keylet</a> <span class="keyword">const</span> pdKeylet = <a class="code hl_function" href="namespaceripple_1_1keylet.html#a51879ade5bc763231874ba4298bf17d3">keylet::permissionedDomain</a>(A1.id(), 10);</div>
<div class="line"><a id="l01185" name="l01185"></a><span class="lineno"> 1185</span> <span class="keyword">auto</span> slePd = std::make_shared&lt;SLE&gt;(pdKeylet);</div>
<div class="line"><a id="l01186" name="l01186"></a><span class="lineno"> 1186</span> </div>
<div class="line"><a id="l01187" name="l01187"></a><span class="lineno"> 1187</span> <span class="comment">// update PD with empty rules</span></div>
<div class="line"><a id="l01188" name="l01188"></a><span class="lineno"> 1188</span> {</div>
<div class="line"><a id="l01189" name="l01189"></a><span class="lineno"> 1189</span> <a class="code hl_class" href="classripple_1_1STArray.html">STArray</a> credentials(sfAcceptedCredentials, 2);</div>
<div class="line"><a id="l01190" name="l01190"></a><span class="lineno"> 1190</span> slePd-&gt;setFieldArray(sfAcceptedCredentials, credentials);</div>
<div class="line"><a id="l01191" name="l01191"></a><span class="lineno"> 1191</span> ac.<a class="code hl_function" href="classripple_1_1ApplyContext.html#a44c249b16b2cedb1224a96592407558d">view</a>().<a class="code hl_function" href="classripple_1_1ApplyView.html#a542437b9b59a623e755979acdc075af5">update</a>(slePd);</div>
<div class="line"><a id="l01192" name="l01192"></a><span class="lineno"> 1192</span> }</div>
<div class="line"><a id="l01193" name="l01193"></a><span class="lineno"> 1193</span> </div>
<div class="line"><a id="l01194" name="l01194"></a><span class="lineno"> 1194</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l01195" name="l01195"></a><span class="lineno"> 1195</span> },</div>
<div class="line"><a id="l01196" name="l01196"></a><span class="lineno"> 1196</span> <a class="code hl_class" href="classripple_1_1XRPAmount.html">XRPAmount</a>{},</div>
<div class="line"><a id="l01197" name="l01197"></a><span class="lineno"> 1197</span> <a class="code hl_class" href="classripple_1_1STTx.html">STTx</a>{ttPERMISSIONED_DOMAIN_SET, [](<a class="code hl_class" href="classripple_1_1STObject.html">STObject</a>&amp; tx) {}},</div>
<div class="line"><a id="l01198" name="l01198"></a><span class="lineno"> 1198</span> {<a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>, <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>});</div>
<div class="line"><a id="l01199" name="l01199"></a><span class="lineno"> 1199</span> </div>
<div class="line"><a id="l01200" name="l01200"></a><span class="lineno"> 1200</span> <a class="code hl_variable" href="classbeast_1_1unit__test_1_1suite.html#aaa1237d9b85c69d35fe86645cee094b5">testcase</a> &lt;&lt; <span class="stringliteral">&quot;PermissionedDomain Set 2&quot;</span>;</div>
<div class="line"><a id="l01201" name="l01201"></a><span class="lineno"> 1201</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a6303914a2a308eb256597dcfca8edc20">doInvariantCheck</a>(</div>
<div class="line"><a id="l01202" name="l01202"></a><span class="lineno"> 1202</span> {{<span class="stringliteral">&quot;permissioned domain bad credentials size &quot;</span> +</div>
<div class="line"><a id="l01203" name="l01203"></a><span class="lineno"> 1203</span> <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/string/basic_string/to_string.html">std::to_string</a>(tooBig)}},</div>
<div class="line"><a id="l01204" name="l01204"></a><span class="lineno"> 1204</span> [createPD](Account <span class="keyword">const</span>&amp; A1, Account <span class="keyword">const</span>&amp; A2, <a class="code hl_class" href="classripple_1_1ApplyContext.html">ApplyContext</a>&amp; ac) {</div>
<div class="line"><a id="l01205" name="l01205"></a><span class="lineno"> 1205</span> <a class="code hl_struct" href="structripple_1_1Keylet.html">Keylet</a> <span class="keyword">const</span> pdKeylet = <a class="code hl_function" href="namespaceripple_1_1keylet.html#a51879ade5bc763231874ba4298bf17d3">keylet::permissionedDomain</a>(A1.id(), 10);</div>
<div class="line"><a id="l01206" name="l01206"></a><span class="lineno"> 1206</span> <span class="keyword">auto</span> slePd = std::make_shared&lt;SLE&gt;(pdKeylet);</div>
<div class="line"><a id="l01207" name="l01207"></a><span class="lineno"> 1207</span> </div>
<div class="line"><a id="l01208" name="l01208"></a><span class="lineno"> 1208</span> <span class="comment">// create PD</span></div>
<div class="line"><a id="l01209" name="l01209"></a><span class="lineno"> 1209</span> createPD(ac, slePd, A1, A2);</div>
<div class="line"><a id="l01187" name="l01187"></a><span class="lineno"> 1187</span> <span class="comment">// create PD</span></div>
<div class="line"><a id="l01188" name="l01188"></a><span class="lineno"> 1188</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a8478b9a63baa3c4b510a0484294e7725">createPermissionedDomain</a>(ac, slePd, A1, A2);</div>
<div class="line"><a id="l01189" name="l01189"></a><span class="lineno"> 1189</span> </div>
<div class="line"><a id="l01190" name="l01190"></a><span class="lineno"> 1190</span> <span class="comment">// update PD with empty rules</span></div>
<div class="line"><a id="l01191" name="l01191"></a><span class="lineno"> 1191</span> {</div>
<div class="line"><a id="l01192" name="l01192"></a><span class="lineno"> 1192</span> <a class="code hl_class" href="classripple_1_1STArray.html">STArray</a> credentials(sfAcceptedCredentials, 2);</div>
<div class="line"><a id="l01193" name="l01193"></a><span class="lineno"> 1193</span> slePd-&gt;setFieldArray(sfAcceptedCredentials, credentials);</div>
<div class="line"><a id="l01194" name="l01194"></a><span class="lineno"> 1194</span> ac.view().update(slePd);</div>
<div class="line"><a id="l01195" name="l01195"></a><span class="lineno"> 1195</span> }</div>
<div class="line"><a id="l01196" name="l01196"></a><span class="lineno"> 1196</span> </div>
<div class="line"><a id="l01197" name="l01197"></a><span class="lineno"> 1197</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l01198" name="l01198"></a><span class="lineno"> 1198</span> },</div>
<div class="line"><a id="l01199" name="l01199"></a><span class="lineno"> 1199</span> <a class="code hl_class" href="classripple_1_1XRPAmount.html">XRPAmount</a>{},</div>
<div class="line"><a id="l01200" name="l01200"></a><span class="lineno"> 1200</span> <a class="code hl_class" href="classripple_1_1STTx.html">STTx</a>{ttPERMISSIONED_DOMAIN_SET, [](<a class="code hl_class" href="classripple_1_1STObject.html">STObject</a>&amp; tx) {}},</div>
<div class="line"><a id="l01201" name="l01201"></a><span class="lineno"> 1201</span> {<a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>, <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>});</div>
<div class="line"><a id="l01202" name="l01202"></a><span class="lineno"> 1202</span> </div>
<div class="line"><a id="l01203" name="l01203"></a><span class="lineno"> 1203</span> <a class="code hl_variable" href="classbeast_1_1unit__test_1_1suite.html#aaa1237d9b85c69d35fe86645cee094b5">testcase</a> &lt;&lt; <span class="stringliteral">&quot;PermissionedDomain Set 2&quot;</span>;</div>
<div class="line"><a id="l01204" name="l01204"></a><span class="lineno"> 1204</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a6303914a2a308eb256597dcfca8edc20">doInvariantCheck</a>(</div>
<div class="line"><a id="l01205" name="l01205"></a><span class="lineno"> 1205</span> {{<span class="stringliteral">&quot;permissioned domain bad credentials size &quot;</span> +</div>
<div class="line"><a id="l01206" name="l01206"></a><span class="lineno"> 1206</span> <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/string/basic_string/to_string.html">std::to_string</a>(tooBig)}},</div>
<div class="line"><a id="l01207" name="l01207"></a><span class="lineno"> 1207</span> [&amp;](Account <span class="keyword">const</span>&amp; A1, Account <span class="keyword">const</span>&amp; A2, <a class="code hl_class" href="classripple_1_1ApplyContext.html">ApplyContext</a>&amp; ac) {</div>
<div class="line"><a id="l01208" name="l01208"></a><span class="lineno"> 1208</span> <a class="code hl_struct" href="structripple_1_1Keylet.html">Keylet</a> <span class="keyword">const</span> pdKeylet = <a class="code hl_function" href="namespaceripple_1_1keylet.html#a51879ade5bc763231874ba4298bf17d3">keylet::permissionedDomain</a>(A1.id(), 10);</div>
<div class="line"><a id="l01209" name="l01209"></a><span class="lineno"> 1209</span> <span class="keyword">auto</span> slePd = std::make_shared&lt;SLE&gt;(pdKeylet);</div>
<div class="line"><a id="l01210" name="l01210"></a><span class="lineno"> 1210</span> </div>
<div class="line"><a id="l01211" name="l01211"></a><span class="lineno"> 1211</span> <span class="comment">// update PD</span></div>
<div class="line"><a id="l01212" name="l01212"></a><span class="lineno"> 1212</span> {</div>
<div class="line"><a id="l01213" name="l01213"></a><span class="lineno"> 1213</span> <a class="code hl_class" href="classripple_1_1STArray.html">STArray</a> credentials(sfAcceptedCredentials, tooBig);</div>
<div class="line"><a id="l01214" name="l01214"></a><span class="lineno"> 1214</span> </div>
<div class="line"><a id="l01215" name="l01215"></a><span class="lineno"> 1215</span> <span class="keywordflow">for</span> (<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> n = 0; n &lt; tooBig; ++n)</div>
<div class="line"><a id="l01216" name="l01216"></a><span class="lineno"> 1216</span> {</div>
<div class="line"><a id="l01217" name="l01217"></a><span class="lineno"> 1217</span> <span class="keyword">auto</span> cred = <a class="code hl_function" href="classripple_1_1STObject.html#ab027b1e13d78b76dd6f41f0fb3459792">STObject::makeInnerObject</a>(sfCredential);</div>
<div class="line"><a id="l01218" name="l01218"></a><span class="lineno"> 1218</span> cred.setAccountID(sfIssuer, A2);</div>
<div class="line"><a id="l01219" name="l01219"></a><span class="lineno"> 1219</span> <span class="keyword">auto</span> credType = <span class="stringliteral">&quot;cred_type2&quot;</span> + <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/string/basic_string/to_string.html">std::to_string</a>(n);</div>
<div class="line"><a id="l01220" name="l01220"></a><span class="lineno"> 1220</span> cred.setFieldVL(</div>
<div class="line"><a id="l01221" name="l01221"></a><span class="lineno"> 1221</span> sfCredentialType,</div>
<div class="line"><a id="l01222" name="l01222"></a><span class="lineno"> 1222</span> <a class="code hl_class" href="classripple_1_1Slice.html">Slice</a>(credType.c_str(), credType.size()));</div>
<div class="line"><a id="l01223" name="l01223"></a><span class="lineno"> 1223</span> credentials.<a class="code hl_function" href="classripple_1_1STArray.html#adc3dc750320964c46b6d4ea2af8b8bc7">push_back</a>(std::move(cred));</div>
<div class="line"><a id="l01224" name="l01224"></a><span class="lineno"> 1224</span> }</div>
<div class="line"><a id="l01225" name="l01225"></a><span class="lineno"> 1225</span> </div>
<div class="line"><a id="l01226" name="l01226"></a><span class="lineno"> 1226</span> slePd-&gt;setFieldArray(sfAcceptedCredentials, credentials);</div>
<div class="line"><a id="l01227" name="l01227"></a><span class="lineno"> 1227</span> ac.<a class="code hl_function" href="classripple_1_1ApplyContext.html#a44c249b16b2cedb1224a96592407558d">view</a>().<a class="code hl_function" href="classripple_1_1ApplyView.html#a542437b9b59a623e755979acdc075af5">update</a>(slePd);</div>
<div class="line"><a id="l01228" name="l01228"></a><span class="lineno"> 1228</span> }</div>
<div class="line"><a id="l01229" name="l01229"></a><span class="lineno"> 1229</span> </div>
<div class="line"><a id="l01230" name="l01230"></a><span class="lineno"> 1230</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l01231" name="l01231"></a><span class="lineno"> 1231</span> },</div>
<div class="line"><a id="l01232" name="l01232"></a><span class="lineno"> 1232</span> <a class="code hl_class" href="classripple_1_1XRPAmount.html">XRPAmount</a>{},</div>
<div class="line"><a id="l01233" name="l01233"></a><span class="lineno"> 1233</span> <a class="code hl_class" href="classripple_1_1STTx.html">STTx</a>{ttPERMISSIONED_DOMAIN_SET, [](<a class="code hl_class" href="classripple_1_1STObject.html">STObject</a>&amp; tx) {}},</div>
<div class="line"><a id="l01234" name="l01234"></a><span class="lineno"> 1234</span> {<a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>, <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>});</div>
<div class="line"><a id="l01235" name="l01235"></a><span class="lineno"> 1235</span> </div>
<div class="line"><a id="l01236" name="l01236"></a><span class="lineno"> 1236</span> <a class="code hl_variable" href="classbeast_1_1unit__test_1_1suite.html#aaa1237d9b85c69d35fe86645cee094b5">testcase</a> &lt;&lt; <span class="stringliteral">&quot;PermissionedDomain Set 3&quot;</span>;</div>
<div class="line"><a id="l01237" name="l01237"></a><span class="lineno"> 1237</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a6303914a2a308eb256597dcfca8edc20">doInvariantCheck</a>(</div>
<div class="line"><a id="l01238" name="l01238"></a><span class="lineno"> 1238</span> {{<span class="stringliteral">&quot;permissioned domain credentials aren&#39;t sorted&quot;</span>}},</div>
<div class="line"><a id="l01239" name="l01239"></a><span class="lineno"> 1239</span> [createPD](Account <span class="keyword">const</span>&amp; A1, Account <span class="keyword">const</span>&amp; A2, <a class="code hl_class" href="classripple_1_1ApplyContext.html">ApplyContext</a>&amp; ac) {</div>
<div class="line"><a id="l01240" name="l01240"></a><span class="lineno"> 1240</span> <a class="code hl_struct" href="structripple_1_1Keylet.html">Keylet</a> <span class="keyword">const</span> pdKeylet = <a class="code hl_function" href="namespaceripple_1_1keylet.html#a51879ade5bc763231874ba4298bf17d3">keylet::permissionedDomain</a>(A1.id(), 10);</div>
<div class="line"><a id="l01241" name="l01241"></a><span class="lineno"> 1241</span> <span class="keyword">auto</span> slePd = std::make_shared&lt;SLE&gt;(pdKeylet);</div>
<div class="line"><a id="l01242" name="l01242"></a><span class="lineno"> 1242</span> </div>
<div class="line"><a id="l01243" name="l01243"></a><span class="lineno"> 1243</span> <span class="comment">// create PD</span></div>
<div class="line"><a id="l01244" name="l01244"></a><span class="lineno"> 1244</span> createPD(ac, slePd, A1, A2);</div>
<div class="line"><a id="l01211" name="l01211"></a><span class="lineno"> 1211</span> <span class="comment">// create PD</span></div>
<div class="line"><a id="l01212" name="l01212"></a><span class="lineno"> 1212</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a8478b9a63baa3c4b510a0484294e7725">createPermissionedDomain</a>(ac, slePd, A1, A2);</div>
<div class="line"><a id="l01213" name="l01213"></a><span class="lineno"> 1213</span> </div>
<div class="line"><a id="l01214" name="l01214"></a><span class="lineno"> 1214</span> <span class="comment">// update PD</span></div>
<div class="line"><a id="l01215" name="l01215"></a><span class="lineno"> 1215</span> {</div>
<div class="line"><a id="l01216" name="l01216"></a><span class="lineno"> 1216</span> <a class="code hl_class" href="classripple_1_1STArray.html">STArray</a> credentials(sfAcceptedCredentials, tooBig);</div>
<div class="line"><a id="l01217" name="l01217"></a><span class="lineno"> 1217</span> </div>
<div class="line"><a id="l01218" name="l01218"></a><span class="lineno"> 1218</span> <span class="keywordflow">for</span> (<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> n = 0; n &lt; tooBig; ++n)</div>
<div class="line"><a id="l01219" name="l01219"></a><span class="lineno"> 1219</span> {</div>
<div class="line"><a id="l01220" name="l01220"></a><span class="lineno"> 1220</span> <span class="keyword">auto</span> cred = <a class="code hl_function" href="classripple_1_1STObject.html#ab027b1e13d78b76dd6f41f0fb3459792">STObject::makeInnerObject</a>(sfCredential);</div>
<div class="line"><a id="l01221" name="l01221"></a><span class="lineno"> 1221</span> cred.setAccountID(sfIssuer, A2);</div>
<div class="line"><a id="l01222" name="l01222"></a><span class="lineno"> 1222</span> <span class="keyword">auto</span> credType = <span class="stringliteral">&quot;cred_type2&quot;</span> + <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/string/basic_string/to_string.html">std::to_string</a>(n);</div>
<div class="line"><a id="l01223" name="l01223"></a><span class="lineno"> 1223</span> cred.setFieldVL(</div>
<div class="line"><a id="l01224" name="l01224"></a><span class="lineno"> 1224</span> sfCredentialType,</div>
<div class="line"><a id="l01225" name="l01225"></a><span class="lineno"> 1225</span> <a class="code hl_class" href="classripple_1_1Slice.html">Slice</a>(credType.c_str(), credType.size()));</div>
<div class="line"><a id="l01226" name="l01226"></a><span class="lineno"> 1226</span> credentials.<a class="code hl_function" href="classripple_1_1STArray.html#adc3dc750320964c46b6d4ea2af8b8bc7">push_back</a>(std::move(cred));</div>
<div class="line"><a id="l01227" name="l01227"></a><span class="lineno"> 1227</span> }</div>
<div class="line"><a id="l01228" name="l01228"></a><span class="lineno"> 1228</span> </div>
<div class="line"><a id="l01229" name="l01229"></a><span class="lineno"> 1229</span> slePd-&gt;setFieldArray(sfAcceptedCredentials, credentials);</div>
<div class="line"><a id="l01230" name="l01230"></a><span class="lineno"> 1230</span> ac.view().update(slePd);</div>
<div class="line"><a id="l01231" name="l01231"></a><span class="lineno"> 1231</span> }</div>
<div class="line"><a id="l01232" name="l01232"></a><span class="lineno"> 1232</span> </div>
<div class="line"><a id="l01233" name="l01233"></a><span class="lineno"> 1233</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l01234" name="l01234"></a><span class="lineno"> 1234</span> },</div>
<div class="line"><a id="l01235" name="l01235"></a><span class="lineno"> 1235</span> <a class="code hl_class" href="classripple_1_1XRPAmount.html">XRPAmount</a>{},</div>
<div class="line"><a id="l01236" name="l01236"></a><span class="lineno"> 1236</span> <a class="code hl_class" href="classripple_1_1STTx.html">STTx</a>{ttPERMISSIONED_DOMAIN_SET, [](<a class="code hl_class" href="classripple_1_1STObject.html">STObject</a>&amp; tx) {}},</div>
<div class="line"><a id="l01237" name="l01237"></a><span class="lineno"> 1237</span> {<a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>, <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>});</div>
<div class="line"><a id="l01238" name="l01238"></a><span class="lineno"> 1238</span> </div>
<div class="line"><a id="l01239" name="l01239"></a><span class="lineno"> 1239</span> <a class="code hl_variable" href="classbeast_1_1unit__test_1_1suite.html#aaa1237d9b85c69d35fe86645cee094b5">testcase</a> &lt;&lt; <span class="stringliteral">&quot;PermissionedDomain Set 3&quot;</span>;</div>
<div class="line"><a id="l01240" name="l01240"></a><span class="lineno"> 1240</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a6303914a2a308eb256597dcfca8edc20">doInvariantCheck</a>(</div>
<div class="line"><a id="l01241" name="l01241"></a><span class="lineno"> 1241</span> {{<span class="stringliteral">&quot;permissioned domain credentials aren&#39;t sorted&quot;</span>}},</div>
<div class="line"><a id="l01242" name="l01242"></a><span class="lineno"> 1242</span> [&amp;](Account <span class="keyword">const</span>&amp; A1, Account <span class="keyword">const</span>&amp; A2, <a class="code hl_class" href="classripple_1_1ApplyContext.html">ApplyContext</a>&amp; ac) {</div>
<div class="line"><a id="l01243" name="l01243"></a><span class="lineno"> 1243</span> <a class="code hl_struct" href="structripple_1_1Keylet.html">Keylet</a> <span class="keyword">const</span> pdKeylet = <a class="code hl_function" href="namespaceripple_1_1keylet.html#a51879ade5bc763231874ba4298bf17d3">keylet::permissionedDomain</a>(A1.id(), 10);</div>
<div class="line"><a id="l01244" name="l01244"></a><span class="lineno"> 1244</span> <span class="keyword">auto</span> slePd = std::make_shared&lt;SLE&gt;(pdKeylet);</div>
<div class="line"><a id="l01245" name="l01245"></a><span class="lineno"> 1245</span> </div>
<div class="line"><a id="l01246" name="l01246"></a><span class="lineno"> 1246</span> <span class="comment">// update PD</span></div>
<div class="line"><a id="l01247" name="l01247"></a><span class="lineno"> 1247</span> {</div>
<div class="line"><a id="l01248" name="l01248"></a><span class="lineno"> 1248</span> <a class="code hl_class" href="classripple_1_1STArray.html">STArray</a> credentials(sfAcceptedCredentials, 2);</div>
<div class="line"><a id="l01249" name="l01249"></a><span class="lineno"> 1249</span> <span class="keywordflow">for</span> (<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> n = 0; n &lt; 2; ++n)</div>
<div class="line"><a id="l01250" name="l01250"></a><span class="lineno"> 1250</span> {</div>
<div class="line"><a id="l01251" name="l01251"></a><span class="lineno"> 1251</span> <span class="keyword">auto</span> cred = <a class="code hl_function" href="classripple_1_1STObject.html#ab027b1e13d78b76dd6f41f0fb3459792">STObject::makeInnerObject</a>(sfCredential);</div>
<div class="line"><a id="l01252" name="l01252"></a><span class="lineno"> 1252</span> cred.setAccountID(sfIssuer, A2);</div>
<div class="line"><a id="l01253" name="l01253"></a><span class="lineno"> 1253</span> <span class="keyword">auto</span> credType =</div>
<div class="line"><a id="l01254" name="l01254"></a><span class="lineno"> 1254</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a>(<span class="stringliteral">&quot;cred_type2&quot;</span>) + <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/string/basic_string/to_string.html">std::to_string</a>(9 - n);</div>
<div class="line"><a id="l01255" name="l01255"></a><span class="lineno"> 1255</span> cred.setFieldVL(</div>
<div class="line"><a id="l01256" name="l01256"></a><span class="lineno"> 1256</span> sfCredentialType,</div>
<div class="line"><a id="l01257" name="l01257"></a><span class="lineno"> 1257</span> <a class="code hl_class" href="classripple_1_1Slice.html">Slice</a>(credType.c_str(), credType.size()));</div>
<div class="line"><a id="l01258" name="l01258"></a><span class="lineno"> 1258</span> credentials.<a class="code hl_function" href="classripple_1_1STArray.html#adc3dc750320964c46b6d4ea2af8b8bc7">push_back</a>(std::move(cred));</div>
<div class="line"><a id="l01259" name="l01259"></a><span class="lineno"> 1259</span> }</div>
<div class="line"><a id="l01260" name="l01260"></a><span class="lineno"> 1260</span> </div>
<div class="line"><a id="l01261" name="l01261"></a><span class="lineno"> 1261</span> slePd-&gt;setFieldArray(sfAcceptedCredentials, credentials);</div>
<div class="line"><a id="l01262" name="l01262"></a><span class="lineno"> 1262</span> ac.<a class="code hl_function" href="classripple_1_1ApplyContext.html#a44c249b16b2cedb1224a96592407558d">view</a>().<a class="code hl_function" href="classripple_1_1ApplyView.html#a542437b9b59a623e755979acdc075af5">update</a>(slePd);</div>
<div class="line"><a id="l01263" name="l01263"></a><span class="lineno"> 1263</span> }</div>
<div class="line"><a id="l01264" name="l01264"></a><span class="lineno"> 1264</span> </div>
<div class="line"><a id="l01265" name="l01265"></a><span class="lineno"> 1265</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l01266" name="l01266"></a><span class="lineno"> 1266</span> },</div>
<div class="line"><a id="l01267" name="l01267"></a><span class="lineno"> 1267</span> <a class="code hl_class" href="classripple_1_1XRPAmount.html">XRPAmount</a>{},</div>
<div class="line"><a id="l01268" name="l01268"></a><span class="lineno"> 1268</span> <a class="code hl_class" href="classripple_1_1STTx.html">STTx</a>{ttPERMISSIONED_DOMAIN_SET, [](<a class="code hl_class" href="classripple_1_1STObject.html">STObject</a>&amp; tx) {}},</div>
<div class="line"><a id="l01269" name="l01269"></a><span class="lineno"> 1269</span> {<a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>, <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>});</div>
<div class="line"><a id="l01270" name="l01270"></a><span class="lineno"> 1270</span> </div>
<div class="line"><a id="l01271" name="l01271"></a><span class="lineno"> 1271</span> <a class="code hl_variable" href="classbeast_1_1unit__test_1_1suite.html#aaa1237d9b85c69d35fe86645cee094b5">testcase</a> &lt;&lt; <span class="stringliteral">&quot;PermissionedDomain Set 4&quot;</span>;</div>
<div class="line"><a id="l01272" name="l01272"></a><span class="lineno"> 1272</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a6303914a2a308eb256597dcfca8edc20">doInvariantCheck</a>(</div>
<div class="line"><a id="l01273" name="l01273"></a><span class="lineno"> 1273</span> {{<span class="stringliteral">&quot;permissioned domain credentials aren&#39;t unique&quot;</span>}},</div>
<div class="line"><a id="l01274" name="l01274"></a><span class="lineno"> 1274</span> [createPD](Account <span class="keyword">const</span>&amp; A1, Account <span class="keyword">const</span>&amp; A2, <a class="code hl_class" href="classripple_1_1ApplyContext.html">ApplyContext</a>&amp; ac) {</div>
<div class="line"><a id="l01275" name="l01275"></a><span class="lineno"> 1275</span> <a class="code hl_struct" href="structripple_1_1Keylet.html">Keylet</a> <span class="keyword">const</span> pdKeylet = <a class="code hl_function" href="namespaceripple_1_1keylet.html#a51879ade5bc763231874ba4298bf17d3">keylet::permissionedDomain</a>(A1.id(), 10);</div>
<div class="line"><a id="l01276" name="l01276"></a><span class="lineno"> 1276</span> <span class="keyword">auto</span> slePd = std::make_shared&lt;SLE&gt;(pdKeylet);</div>
<div class="line"><a id="l01277" name="l01277"></a><span class="lineno"> 1277</span> </div>
<div class="line"><a id="l01278" name="l01278"></a><span class="lineno"> 1278</span> <span class="comment">// create PD</span></div>
<div class="line"><a id="l01279" name="l01279"></a><span class="lineno"> 1279</span> createPD(ac, slePd, A1, A2);</div>
<div class="line"><a id="l01246" name="l01246"></a><span class="lineno"> 1246</span> <span class="comment">// create PD</span></div>
<div class="line"><a id="l01247" name="l01247"></a><span class="lineno"> 1247</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a8478b9a63baa3c4b510a0484294e7725">createPermissionedDomain</a>(ac, slePd, A1, A2);</div>
<div class="line"><a id="l01248" name="l01248"></a><span class="lineno"> 1248</span> </div>
<div class="line"><a id="l01249" name="l01249"></a><span class="lineno"> 1249</span> <span class="comment">// update PD</span></div>
<div class="line"><a id="l01250" name="l01250"></a><span class="lineno"> 1250</span> {</div>
<div class="line"><a id="l01251" name="l01251"></a><span class="lineno"> 1251</span> <a class="code hl_class" href="classripple_1_1STArray.html">STArray</a> credentials(sfAcceptedCredentials, 2);</div>
<div class="line"><a id="l01252" name="l01252"></a><span class="lineno"> 1252</span> <span class="keywordflow">for</span> (<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> n = 0; n &lt; 2; ++n)</div>
<div class="line"><a id="l01253" name="l01253"></a><span class="lineno"> 1253</span> {</div>
<div class="line"><a id="l01254" name="l01254"></a><span class="lineno"> 1254</span> <span class="keyword">auto</span> cred = <a class="code hl_function" href="classripple_1_1STObject.html#ab027b1e13d78b76dd6f41f0fb3459792">STObject::makeInnerObject</a>(sfCredential);</div>
<div class="line"><a id="l01255" name="l01255"></a><span class="lineno"> 1255</span> cred.setAccountID(sfIssuer, A2);</div>
<div class="line"><a id="l01256" name="l01256"></a><span class="lineno"> 1256</span> <span class="keyword">auto</span> credType =</div>
<div class="line"><a id="l01257" name="l01257"></a><span class="lineno"> 1257</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a>(<span class="stringliteral">&quot;cred_type2&quot;</span>) + <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/string/basic_string/to_string.html">std::to_string</a>(9 - n);</div>
<div class="line"><a id="l01258" name="l01258"></a><span class="lineno"> 1258</span> cred.setFieldVL(</div>
<div class="line"><a id="l01259" name="l01259"></a><span class="lineno"> 1259</span> sfCredentialType,</div>
<div class="line"><a id="l01260" name="l01260"></a><span class="lineno"> 1260</span> <a class="code hl_class" href="classripple_1_1Slice.html">Slice</a>(credType.c_str(), credType.size()));</div>
<div class="line"><a id="l01261" name="l01261"></a><span class="lineno"> 1261</span> credentials.<a class="code hl_function" href="classripple_1_1STArray.html#adc3dc750320964c46b6d4ea2af8b8bc7">push_back</a>(std::move(cred));</div>
<div class="line"><a id="l01262" name="l01262"></a><span class="lineno"> 1262</span> }</div>
<div class="line"><a id="l01263" name="l01263"></a><span class="lineno"> 1263</span> </div>
<div class="line"><a id="l01264" name="l01264"></a><span class="lineno"> 1264</span> slePd-&gt;setFieldArray(sfAcceptedCredentials, credentials);</div>
<div class="line"><a id="l01265" name="l01265"></a><span class="lineno"> 1265</span> ac.view().update(slePd);</div>
<div class="line"><a id="l01266" name="l01266"></a><span class="lineno"> 1266</span> }</div>
<div class="line"><a id="l01267" name="l01267"></a><span class="lineno"> 1267</span> </div>
<div class="line"><a id="l01268" name="l01268"></a><span class="lineno"> 1268</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l01269" name="l01269"></a><span class="lineno"> 1269</span> },</div>
<div class="line"><a id="l01270" name="l01270"></a><span class="lineno"> 1270</span> <a class="code hl_class" href="classripple_1_1XRPAmount.html">XRPAmount</a>{},</div>
<div class="line"><a id="l01271" name="l01271"></a><span class="lineno"> 1271</span> <a class="code hl_class" href="classripple_1_1STTx.html">STTx</a>{ttPERMISSIONED_DOMAIN_SET, [](<a class="code hl_class" href="classripple_1_1STObject.html">STObject</a>&amp; tx) {}},</div>
<div class="line"><a id="l01272" name="l01272"></a><span class="lineno"> 1272</span> {<a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>, <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>});</div>
<div class="line"><a id="l01273" name="l01273"></a><span class="lineno"> 1273</span> </div>
<div class="line"><a id="l01274" name="l01274"></a><span class="lineno"> 1274</span> <a class="code hl_variable" href="classbeast_1_1unit__test_1_1suite.html#aaa1237d9b85c69d35fe86645cee094b5">testcase</a> &lt;&lt; <span class="stringliteral">&quot;PermissionedDomain Set 4&quot;</span>;</div>
<div class="line"><a id="l01275" name="l01275"></a><span class="lineno"> 1275</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a6303914a2a308eb256597dcfca8edc20">doInvariantCheck</a>(</div>
<div class="line"><a id="l01276" name="l01276"></a><span class="lineno"> 1276</span> {{<span class="stringliteral">&quot;permissioned domain credentials aren&#39;t unique&quot;</span>}},</div>
<div class="line"><a id="l01277" name="l01277"></a><span class="lineno"> 1277</span> [&amp;](Account <span class="keyword">const</span>&amp; A1, Account <span class="keyword">const</span>&amp; A2, <a class="code hl_class" href="classripple_1_1ApplyContext.html">ApplyContext</a>&amp; ac) {</div>
<div class="line"><a id="l01278" name="l01278"></a><span class="lineno"> 1278</span> <a class="code hl_struct" href="structripple_1_1Keylet.html">Keylet</a> <span class="keyword">const</span> pdKeylet = <a class="code hl_function" href="namespaceripple_1_1keylet.html#a51879ade5bc763231874ba4298bf17d3">keylet::permissionedDomain</a>(A1.id(), 10);</div>
<div class="line"><a id="l01279" name="l01279"></a><span class="lineno"> 1279</span> <span class="keyword">auto</span> slePd = std::make_shared&lt;SLE&gt;(pdKeylet);</div>
<div class="line"><a id="l01280" name="l01280"></a><span class="lineno"> 1280</span> </div>
<div class="line"><a id="l01281" name="l01281"></a><span class="lineno"> 1281</span> <span class="comment">// update PD</span></div>
<div class="line"><a id="l01282" name="l01282"></a><span class="lineno"> 1282</span> {</div>
<div class="line"><a id="l01283" name="l01283"></a><span class="lineno"> 1283</span> <a class="code hl_class" href="classripple_1_1STArray.html">STArray</a> credentials(sfAcceptedCredentials, 2);</div>
<div class="line"><a id="l01284" name="l01284"></a><span class="lineno"> 1284</span> <span class="keywordflow">for</span> (<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> n = 0; n &lt; 2; ++n)</div>
<div class="line"><a id="l01285" name="l01285"></a><span class="lineno"> 1285</span> {</div>
<div class="line"><a id="l01286" name="l01286"></a><span class="lineno"> 1286</span> <span class="keyword">auto</span> cred = <a class="code hl_function" href="classripple_1_1STObject.html#ab027b1e13d78b76dd6f41f0fb3459792">STObject::makeInnerObject</a>(sfCredential);</div>
<div class="line"><a id="l01287" name="l01287"></a><span class="lineno"> 1287</span> cred.setAccountID(sfIssuer, A2);</div>
<div class="line"><a id="l01288" name="l01288"></a><span class="lineno"> 1288</span> cred.setFieldVL(</div>
<div class="line"><a id="l01289" name="l01289"></a><span class="lineno"> 1289</span> sfCredentialType, <a class="code hl_class" href="classripple_1_1Slice.html">Slice</a>(<span class="stringliteral">&quot;cred_type&quot;</span>, 9));</div>
<div class="line"><a id="l01290" name="l01290"></a><span class="lineno"> 1290</span> credentials.<a class="code hl_function" href="classripple_1_1STArray.html#adc3dc750320964c46b6d4ea2af8b8bc7">push_back</a>(std::move(cred));</div>
<div class="line"><a id="l01291" name="l01291"></a><span class="lineno"> 1291</span> }</div>
<div class="line"><a id="l01292" name="l01292"></a><span class="lineno"> 1292</span> slePd-&gt;setFieldArray(sfAcceptedCredentials, credentials);</div>
<div class="line"><a id="l01293" name="l01293"></a><span class="lineno"> 1293</span> ac.<a class="code hl_function" href="classripple_1_1ApplyContext.html#a44c249b16b2cedb1224a96592407558d">view</a>().<a class="code hl_function" href="classripple_1_1ApplyView.html#a542437b9b59a623e755979acdc075af5">update</a>(slePd);</div>
<div class="line"><a id="l01294" name="l01294"></a><span class="lineno"> 1294</span> }</div>
<div class="line"><a id="l01295" name="l01295"></a><span class="lineno"> 1295</span> </div>
<div class="line"><a id="l01296" name="l01296"></a><span class="lineno"> 1296</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l01297" name="l01297"></a><span class="lineno"> 1297</span> },</div>
<div class="line"><a id="l01298" name="l01298"></a><span class="lineno"> 1298</span> <a class="code hl_class" href="classripple_1_1XRPAmount.html">XRPAmount</a>{},</div>
<div class="line"><a id="l01299" name="l01299"></a><span class="lineno"> 1299</span> <a class="code hl_class" href="classripple_1_1STTx.html">STTx</a>{ttPERMISSIONED_DOMAIN_SET, [](<a class="code hl_class" href="classripple_1_1STObject.html">STObject</a>&amp; tx) {}},</div>
<div class="line"><a id="l01300" name="l01300"></a><span class="lineno"> 1300</span> {<a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>, <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>});</div>
<div class="line"><a id="l01301" name="l01301"></a><span class="lineno"> 1301</span> }</div>
<div class="line"><a id="l01302" name="l01302"></a><span class="lineno"> 1302</span> </div>
<div class="line"><a id="l01303" name="l01303"></a><span class="lineno"> 1303</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l01304" name="l01304"></a><span class="lineno"> 1304</span> <span class="keywordtype">void</span></div>
<div class="line"><a id="l01305" name="l01305"></a><span class="lineno"><a class="line" href="classripple_1_1Invariants__test.html#aa45827abfbd6d88dfddc3d51e7a5eaf7"> 1305</a></span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#aa45827abfbd6d88dfddc3d51e7a5eaf7">run</a>()<span class="keyword"> override</span></div>
<div class="line"><a id="l01306" name="l01306"></a><span class="lineno"> 1306</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l01307" name="l01307"></a><span class="lineno"> 1307</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a89b8f0bcc5ae7c1513f4c20139a22755">testXRPNotCreated</a>();</div>
<div class="line"><a id="l01308" name="l01308"></a><span class="lineno"> 1308</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a183797e076a9b648f55884e26c6ff4d7">testAccountRootsNotRemoved</a>();</div>
<div class="line"><a id="l01309" name="l01309"></a><span class="lineno"> 1309</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a010550ee772cb96ee12189a7c34c0ea9">testAccountRootsDeletedClean</a>();</div>
<div class="line"><a id="l01310" name="l01310"></a><span class="lineno"> 1310</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a9176f0c1d99ab8afb9720c80edc4336b">testTypesMatch</a>();</div>
<div class="line"><a id="l01311" name="l01311"></a><span class="lineno"> 1311</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#af085322b41e9d0ebc80fc07741c7ee87">testNoXRPTrustLine</a>();</div>
<div class="line"><a id="l01312" name="l01312"></a><span class="lineno"> 1312</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#ac2aaff18fe3ce55d6546976be6fb3c4e">testNoDeepFreezeTrustLinesWithoutFreeze</a>();</div>
<div class="line"><a id="l01313" name="l01313"></a><span class="lineno"> 1313</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a130eda65d3f58cc6c6aa1e7a1adc60a6">testTransfersNotFrozen</a>();</div>
<div class="line"><a id="l01314" name="l01314"></a><span class="lineno"> 1314</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a744d3c7607ad66f7d6bfdf3d9ef39176">testXRPBalanceCheck</a>();</div>
<div class="line"><a id="l01315" name="l01315"></a><span class="lineno"> 1315</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a56ba287b24a49e1de2c1f5bf7af4b1b7">testTransactionFeeCheck</a>();</div>
<div class="line"><a id="l01316" name="l01316"></a><span class="lineno"> 1316</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a351b2675ce83a445d1dd526a30e49485">testNoBadOffers</a>();</div>
<div class="line"><a id="l01317" name="l01317"></a><span class="lineno"> 1317</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a0c8f3e40f24834396d84eae65f3c035e">testNoZeroEscrow</a>();</div>
<div class="line"><a id="l01318" name="l01318"></a><span class="lineno"> 1318</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a6bf3df5da63fbcdeede0865dfa8d0abc">testValidNewAccountRoot</a>();</div>
<div class="line"><a id="l01319" name="l01319"></a><span class="lineno"> 1319</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#ab3d8404015ba968106a88a1b98f9a747">testNFTokenPageInvariants</a>();</div>
<div class="line"><a id="l01320" name="l01320"></a><span class="lineno"> 1320</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#af92709ce8a2a92d6b756fb8323d708bd">testPermissionedDomainInvariants</a>();</div>
<div class="line"><a id="l01321" name="l01321"></a><span class="lineno"> 1321</span> }</div>
<div class="line"><a id="l01322" name="l01322"></a><span class="lineno"> 1322</span>};</div>
<div class="line"><a id="l01323" name="l01323"></a><span class="lineno"> 1323</span> </div>
<div class="line"><a id="l01324" name="l01324"></a><span class="lineno"><a class="line" href="namespaceripple.html#a22bb60f949856e6879060387ae8b555a"> 1324</a></span>BEAST_DEFINE_TESTSUITE(Invariants, ledger, <a class="code hl_namespace" href="namespaceripple.html">ripple</a>);</div>
<div class="line"><a id="l01325" name="l01325"></a><span class="lineno"> 1325</span> </div>
<div class="line"><a id="l01326" name="l01326"></a><span class="lineno"> 1326</span>} <span class="comment">// namespace ripple</span></div>
<div class="line"><a id="l01281" name="l01281"></a><span class="lineno"> 1281</span> <span class="comment">// create PD</span></div>
<div class="line"><a id="l01282" name="l01282"></a><span class="lineno"> 1282</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a8478b9a63baa3c4b510a0484294e7725">createPermissionedDomain</a>(ac, slePd, A1, A2);</div>
<div class="line"><a id="l01283" name="l01283"></a><span class="lineno"> 1283</span> </div>
<div class="line"><a id="l01284" name="l01284"></a><span class="lineno"> 1284</span> <span class="comment">// update PD</span></div>
<div class="line"><a id="l01285" name="l01285"></a><span class="lineno"> 1285</span> {</div>
<div class="line"><a id="l01286" name="l01286"></a><span class="lineno"> 1286</span> <a class="code hl_class" href="classripple_1_1STArray.html">STArray</a> credentials(sfAcceptedCredentials, 2);</div>
<div class="line"><a id="l01287" name="l01287"></a><span class="lineno"> 1287</span> <span class="keywordflow">for</span> (<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> n = 0; n &lt; 2; ++n)</div>
<div class="line"><a id="l01288" name="l01288"></a><span class="lineno"> 1288</span> {</div>
<div class="line"><a id="l01289" name="l01289"></a><span class="lineno"> 1289</span> <span class="keyword">auto</span> cred = <a class="code hl_function" href="classripple_1_1STObject.html#ab027b1e13d78b76dd6f41f0fb3459792">STObject::makeInnerObject</a>(sfCredential);</div>
<div class="line"><a id="l01290" name="l01290"></a><span class="lineno"> 1290</span> cred.setAccountID(sfIssuer, A2);</div>
<div class="line"><a id="l01291" name="l01291"></a><span class="lineno"> 1291</span> cred.setFieldVL(</div>
<div class="line"><a id="l01292" name="l01292"></a><span class="lineno"> 1292</span> sfCredentialType, <a class="code hl_class" href="classripple_1_1Slice.html">Slice</a>(<span class="stringliteral">&quot;cred_type&quot;</span>, 9));</div>
<div class="line"><a id="l01293" name="l01293"></a><span class="lineno"> 1293</span> credentials.<a class="code hl_function" href="classripple_1_1STArray.html#adc3dc750320964c46b6d4ea2af8b8bc7">push_back</a>(std::move(cred));</div>
<div class="line"><a id="l01294" name="l01294"></a><span class="lineno"> 1294</span> }</div>
<div class="line"><a id="l01295" name="l01295"></a><span class="lineno"> 1295</span> slePd-&gt;setFieldArray(sfAcceptedCredentials, credentials);</div>
<div class="line"><a id="l01296" name="l01296"></a><span class="lineno"> 1296</span> ac.view().update(slePd);</div>
<div class="line"><a id="l01297" name="l01297"></a><span class="lineno"> 1297</span> }</div>
<div class="line"><a id="l01298" name="l01298"></a><span class="lineno"> 1298</span> </div>
<div class="line"><a id="l01299" name="l01299"></a><span class="lineno"> 1299</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l01300" name="l01300"></a><span class="lineno"> 1300</span> },</div>
<div class="line"><a id="l01301" name="l01301"></a><span class="lineno"> 1301</span> <a class="code hl_class" href="classripple_1_1XRPAmount.html">XRPAmount</a>{},</div>
<div class="line"><a id="l01302" name="l01302"></a><span class="lineno"> 1302</span> <a class="code hl_class" href="classripple_1_1STTx.html">STTx</a>{ttPERMISSIONED_DOMAIN_SET, [](<a class="code hl_class" href="classripple_1_1STObject.html">STObject</a>&amp; tx) {}},</div>
<div class="line"><a id="l01303" name="l01303"></a><span class="lineno"> 1303</span> {<a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>, <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>});</div>
<div class="line"><a id="l01304" name="l01304"></a><span class="lineno"> 1304</span> }</div>
<div class="line"><a id="l01305" name="l01305"></a><span class="lineno"> 1305</span> </div>
<div class="line"><a id="l01306" name="l01306"></a><span class="lineno"> 1306</span> <span class="keywordtype">void</span></div>
<div class="line"><a id="l01307" name="l01307"></a><span class="lineno"><a class="line" href="classripple_1_1Invariants__test.html#ad87200b29ad73c0eab7568967d4e1ba9"> 1307</a></span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#ad87200b29ad73c0eab7568967d4e1ba9">testPermissionedDEX</a>()</div>
<div class="line"><a id="l01308" name="l01308"></a><span class="lineno"> 1308</span> {</div>
<div class="line"><a id="l01309" name="l01309"></a><span class="lineno"> 1309</span> <span class="keyword">using namespace </span>test::jtx;</div>
<div class="line"><a id="l01310" name="l01310"></a><span class="lineno"> 1310</span> <a class="code hl_variable" href="classbeast_1_1unit__test_1_1suite.html#aaa1237d9b85c69d35fe86645cee094b5">testcase</a> &lt;&lt; <span class="stringliteral">&quot;PermissionedDEX&quot;</span>;</div>
<div class="line"><a id="l01311" name="l01311"></a><span class="lineno"> 1311</span> </div>
<div class="line"><a id="l01312" name="l01312"></a><span class="lineno"> 1312</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a6303914a2a308eb256597dcfca8edc20">doInvariantCheck</a>(</div>
<div class="line"><a id="l01313" name="l01313"></a><span class="lineno"> 1313</span> {{<span class="stringliteral">&quot;domain doesn&#39;t exist&quot;</span>}},</div>
<div class="line"><a id="l01314" name="l01314"></a><span class="lineno"> 1314</span> [](Account <span class="keyword">const</span>&amp; A1, Account <span class="keyword">const</span>&amp;, <a class="code hl_class" href="classripple_1_1ApplyContext.html">ApplyContext</a>&amp; ac) {</div>
<div class="line"><a id="l01315" name="l01315"></a><span class="lineno"> 1315</span> <a class="code hl_struct" href="structripple_1_1Keylet.html">Keylet</a> <span class="keyword">const</span> offerKey = <a class="code hl_function" href="namespaceripple_1_1keylet.html#aeffddd45805feb6cc0678738b5c21072">keylet::offer</a>(A1.id(), 10);</div>
<div class="line"><a id="l01316" name="l01316"></a><span class="lineno"> 1316</span> <span class="keyword">auto</span> sleOffer = std::make_shared&lt;SLE&gt;(offerKey);</div>
<div class="line"><a id="l01317" name="l01317"></a><span class="lineno"> 1317</span> sleOffer-&gt;setAccountID(sfAccount, A1);</div>
<div class="line"><a id="l01318" name="l01318"></a><span class="lineno"> 1318</span> sleOffer-&gt;setFieldAmount(sfTakerPays, A1[<span class="stringliteral">&quot;USD&quot;</span>](10));</div>
<div class="line"><a id="l01319" name="l01319"></a><span class="lineno"> 1319</span> sleOffer-&gt;setFieldAmount(sfTakerGets, XRP(1));</div>
<div class="line"><a id="l01320" name="l01320"></a><span class="lineno"> 1320</span> ac.view().insert(sleOffer);</div>
<div class="line"><a id="l01321" name="l01321"></a><span class="lineno"> 1321</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l01322" name="l01322"></a><span class="lineno"> 1322</span> },</div>
<div class="line"><a id="l01323" name="l01323"></a><span class="lineno"> 1323</span> <a class="code hl_class" href="classripple_1_1XRPAmount.html">XRPAmount</a>{},</div>
<div class="line"><a id="l01324" name="l01324"></a><span class="lineno"> 1324</span> <a class="code hl_class" href="classripple_1_1STTx.html">STTx</a>{</div>
<div class="line"><a id="l01325" name="l01325"></a><span class="lineno"> 1325</span> ttOFFER_CREATE,</div>
<div class="line"><a id="l01326" name="l01326"></a><span class="lineno"> 1326</span> [](<a class="code hl_class" href="classripple_1_1STObject.html">STObject</a>&amp; tx) {</div>
<div class="line"><a id="l01327" name="l01327"></a><span class="lineno"> 1327</span> tx.<a class="code hl_function" href="classripple_1_1STObject.html#a4aee4efa6aeff63e0d5ff08d31730be2">setFieldH256</a>(</div>
<div class="line"><a id="l01328" name="l01328"></a><span class="lineno"> 1328</span> sfDomainID,</div>
<div class="line"><a id="l01329" name="l01329"></a><span class="lineno"> 1329</span> <a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a>{</div>
<div class="line"><a id="l01330" name="l01330"></a><span class="lineno"> 1330</span> <span class="stringliteral">&quot;F10D0CC9A0F9A3CBF585B80BE09A186483668FDBDD39AA7E33&quot;</span></div>
<div class="line"><a id="l01331" name="l01331"></a><span class="lineno"> 1331</span> <span class="stringliteral">&quot;70F3649CE134E5&quot;</span>});</div>
<div class="line"><a id="l01332" name="l01332"></a><span class="lineno"> 1332</span> Account <span class="keyword">const</span> A1{<span class="stringliteral">&quot;A1&quot;</span>};</div>
<div class="line"><a id="l01333" name="l01333"></a><span class="lineno"> 1333</span> tx.setFieldAmount(sfTakerPays, A1[<span class="stringliteral">&quot;USD&quot;</span>](10));</div>
<div class="line"><a id="l01334" name="l01334"></a><span class="lineno"> 1334</span> tx.setFieldAmount(sfTakerGets, XRP(1));</div>
<div class="line"><a id="l01335" name="l01335"></a><span class="lineno"> 1335</span> }},</div>
<div class="line"><a id="l01336" name="l01336"></a><span class="lineno"> 1336</span> {<a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>, <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>});</div>
<div class="line"><a id="l01337" name="l01337"></a><span class="lineno"> 1337</span> </div>
<div class="line"><a id="l01338" name="l01338"></a><span class="lineno"> 1338</span> <span class="comment">// missing domain ID in offer object</span></div>
<div class="line"><a id="l01339" name="l01339"></a><span class="lineno"> 1339</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a6303914a2a308eb256597dcfca8edc20">doInvariantCheck</a>(</div>
<div class="line"><a id="l01340" name="l01340"></a><span class="lineno"> 1340</span> {{<span class="stringliteral">&quot;hybrid offer is malformed&quot;</span>}},</div>
<div class="line"><a id="l01341" name="l01341"></a><span class="lineno"> 1341</span> [&amp;](Account <span class="keyword">const</span>&amp; A1, Account <span class="keyword">const</span>&amp; A2, <a class="code hl_class" href="classripple_1_1ApplyContext.html">ApplyContext</a>&amp; ac) {</div>
<div class="line"><a id="l01342" name="l01342"></a><span class="lineno"> 1342</span> <a class="code hl_struct" href="structripple_1_1Keylet.html">Keylet</a> <span class="keyword">const</span> pdKeylet = <a class="code hl_function" href="namespaceripple_1_1keylet.html#a51879ade5bc763231874ba4298bf17d3">keylet::permissionedDomain</a>(A1.id(), 10);</div>
<div class="line"><a id="l01343" name="l01343"></a><span class="lineno"> 1343</span> <span class="keyword">auto</span> slePd = std::make_shared&lt;SLE&gt;(pdKeylet);</div>
<div class="line"><a id="l01344" name="l01344"></a><span class="lineno"> 1344</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a8478b9a63baa3c4b510a0484294e7725">createPermissionedDomain</a>(ac, slePd, A1, A2);</div>
<div class="line"><a id="l01345" name="l01345"></a><span class="lineno"> 1345</span> </div>
<div class="line"><a id="l01346" name="l01346"></a><span class="lineno"> 1346</span> <a class="code hl_struct" href="structripple_1_1Keylet.html">Keylet</a> <span class="keyword">const</span> offerKey = <a class="code hl_function" href="namespaceripple_1_1keylet.html#aeffddd45805feb6cc0678738b5c21072">keylet::offer</a>(A2.id(), 10);</div>
<div class="line"><a id="l01347" name="l01347"></a><span class="lineno"> 1347</span> <span class="keyword">auto</span> sleOffer = std::make_shared&lt;SLE&gt;(offerKey);</div>
<div class="line"><a id="l01348" name="l01348"></a><span class="lineno"> 1348</span> sleOffer-&gt;setAccountID(sfAccount, A2);</div>
<div class="line"><a id="l01349" name="l01349"></a><span class="lineno"> 1349</span> sleOffer-&gt;setFieldAmount(sfTakerPays, A1[<span class="stringliteral">&quot;USD&quot;</span>](10));</div>
<div class="line"><a id="l01350" name="l01350"></a><span class="lineno"> 1350</span> sleOffer-&gt;setFieldAmount(sfTakerGets, XRP(1));</div>
<div class="line"><a id="l01351" name="l01351"></a><span class="lineno"> 1351</span> sleOffer-&gt;setFlag(<a class="code hl_enumvalue" href="namespaceripple.html#a4a9c7b33fef9015d6406302ef80b63c5a9f6346dbd49b85ced4658b24df239b68">lsfHybrid</a>);</div>
<div class="line"><a id="l01352" name="l01352"></a><span class="lineno"> 1352</span> </div>
<div class="line"><a id="l01353" name="l01353"></a><span class="lineno"> 1353</span> <a class="code hl_class" href="classripple_1_1STArray.html">STArray</a> bookArr;</div>
<div class="line"><a id="l01354" name="l01354"></a><span class="lineno"> 1354</span> bookArr.<a class="code hl_function" href="classripple_1_1STArray.html#adc3dc750320964c46b6d4ea2af8b8bc7">push_back</a>(<a class="code hl_function" href="classripple_1_1STObject.html#ab027b1e13d78b76dd6f41f0fb3459792">STObject::makeInnerObject</a>(sfBook));</div>
<div class="line"><a id="l01355" name="l01355"></a><span class="lineno"> 1355</span> sleOffer-&gt;setFieldArray(sfAdditionalBooks, bookArr);</div>
<div class="line"><a id="l01356" name="l01356"></a><span class="lineno"> 1356</span> ac.view().insert(sleOffer);</div>
<div class="line"><a id="l01357" name="l01357"></a><span class="lineno"> 1357</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l01358" name="l01358"></a><span class="lineno"> 1358</span> },</div>
<div class="line"><a id="l01359" name="l01359"></a><span class="lineno"> 1359</span> <a class="code hl_class" href="classripple_1_1XRPAmount.html">XRPAmount</a>{},</div>
<div class="line"><a id="l01360" name="l01360"></a><span class="lineno"> 1360</span> <a class="code hl_class" href="classripple_1_1STTx.html">STTx</a>{ttOFFER_CREATE, [&amp;](<a class="code hl_class" href="classripple_1_1STObject.html">STObject</a>&amp; tx) {}},</div>
<div class="line"><a id="l01361" name="l01361"></a><span class="lineno"> 1361</span> {<a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>, <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>});</div>
<div class="line"><a id="l01362" name="l01362"></a><span class="lineno"> 1362</span> </div>
<div class="line"><a id="l01363" name="l01363"></a><span class="lineno"> 1363</span> <span class="comment">// more than one entry in sfAdditionalBooks</span></div>
<div class="line"><a id="l01364" name="l01364"></a><span class="lineno"> 1364</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a6303914a2a308eb256597dcfca8edc20">doInvariantCheck</a>(</div>
<div class="line"><a id="l01365" name="l01365"></a><span class="lineno"> 1365</span> {{<span class="stringliteral">&quot;hybrid offer is malformed&quot;</span>}},</div>
<div class="line"><a id="l01366" name="l01366"></a><span class="lineno"> 1366</span> [&amp;](Account <span class="keyword">const</span>&amp; A1, Account <span class="keyword">const</span>&amp; A2, <a class="code hl_class" href="classripple_1_1ApplyContext.html">ApplyContext</a>&amp; ac) {</div>
<div class="line"><a id="l01367" name="l01367"></a><span class="lineno"> 1367</span> <a class="code hl_struct" href="structripple_1_1Keylet.html">Keylet</a> <span class="keyword">const</span> pdKeylet = <a class="code hl_function" href="namespaceripple_1_1keylet.html#a51879ade5bc763231874ba4298bf17d3">keylet::permissionedDomain</a>(A1.id(), 10);</div>
<div class="line"><a id="l01368" name="l01368"></a><span class="lineno"> 1368</span> <span class="keyword">auto</span> slePd = std::make_shared&lt;SLE&gt;(pdKeylet);</div>
<div class="line"><a id="l01369" name="l01369"></a><span class="lineno"> 1369</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a8478b9a63baa3c4b510a0484294e7725">createPermissionedDomain</a>(ac, slePd, A1, A2);</div>
<div class="line"><a id="l01370" name="l01370"></a><span class="lineno"> 1370</span> </div>
<div class="line"><a id="l01371" name="l01371"></a><span class="lineno"> 1371</span> <a class="code hl_struct" href="structripple_1_1Keylet.html">Keylet</a> <span class="keyword">const</span> offerKey = <a class="code hl_function" href="namespaceripple_1_1keylet.html#aeffddd45805feb6cc0678738b5c21072">keylet::offer</a>(A2.id(), 10);</div>
<div class="line"><a id="l01372" name="l01372"></a><span class="lineno"> 1372</span> <span class="keyword">auto</span> sleOffer = std::make_shared&lt;SLE&gt;(offerKey);</div>
<div class="line"><a id="l01373" name="l01373"></a><span class="lineno"> 1373</span> sleOffer-&gt;setAccountID(sfAccount, A2);</div>
<div class="line"><a id="l01374" name="l01374"></a><span class="lineno"> 1374</span> sleOffer-&gt;setFieldAmount(sfTakerPays, A1[<span class="stringliteral">&quot;USD&quot;</span>](10));</div>
<div class="line"><a id="l01375" name="l01375"></a><span class="lineno"> 1375</span> sleOffer-&gt;setFieldAmount(sfTakerGets, XRP(1));</div>
<div class="line"><a id="l01376" name="l01376"></a><span class="lineno"> 1376</span> sleOffer-&gt;setFlag(<a class="code hl_enumvalue" href="namespaceripple.html#a4a9c7b33fef9015d6406302ef80b63c5a9f6346dbd49b85ced4658b24df239b68">lsfHybrid</a>);</div>
<div class="line"><a id="l01377" name="l01377"></a><span class="lineno"> 1377</span> sleOffer-&gt;setFieldH256(sfDomainID, pdKeylet.<a class="code hl_variable" href="structripple_1_1Keylet.html#a482983062843a8682fcea76a309c73db">key</a>);</div>
<div class="line"><a id="l01378" name="l01378"></a><span class="lineno"> 1378</span> </div>
<div class="line"><a id="l01379" name="l01379"></a><span class="lineno"> 1379</span> <a class="code hl_class" href="classripple_1_1STArray.html">STArray</a> bookArr;</div>
<div class="line"><a id="l01380" name="l01380"></a><span class="lineno"> 1380</span> bookArr.<a class="code hl_function" href="classripple_1_1STArray.html#adc3dc750320964c46b6d4ea2af8b8bc7">push_back</a>(<a class="code hl_function" href="classripple_1_1STObject.html#ab027b1e13d78b76dd6f41f0fb3459792">STObject::makeInnerObject</a>(sfBook));</div>
<div class="line"><a id="l01381" name="l01381"></a><span class="lineno"> 1381</span> bookArr.<a class="code hl_function" href="classripple_1_1STArray.html#adc3dc750320964c46b6d4ea2af8b8bc7">push_back</a>(<a class="code hl_function" href="classripple_1_1STObject.html#ab027b1e13d78b76dd6f41f0fb3459792">STObject::makeInnerObject</a>(sfBook));</div>
<div class="line"><a id="l01382" name="l01382"></a><span class="lineno"> 1382</span> sleOffer-&gt;setFieldArray(sfAdditionalBooks, bookArr);</div>
<div class="line"><a id="l01383" name="l01383"></a><span class="lineno"> 1383</span> ac.view().insert(sleOffer);</div>
<div class="line"><a id="l01384" name="l01384"></a><span class="lineno"> 1384</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l01385" name="l01385"></a><span class="lineno"> 1385</span> },</div>
<div class="line"><a id="l01386" name="l01386"></a><span class="lineno"> 1386</span> <a class="code hl_class" href="classripple_1_1XRPAmount.html">XRPAmount</a>{},</div>
<div class="line"><a id="l01387" name="l01387"></a><span class="lineno"> 1387</span> <a class="code hl_class" href="classripple_1_1STTx.html">STTx</a>{ttOFFER_CREATE, [&amp;](<a class="code hl_class" href="classripple_1_1STObject.html">STObject</a>&amp; tx) {}},</div>
<div class="line"><a id="l01388" name="l01388"></a><span class="lineno"> 1388</span> {<a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>, <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>});</div>
<div class="line"><a id="l01389" name="l01389"></a><span class="lineno"> 1389</span> </div>
<div class="line"><a id="l01390" name="l01390"></a><span class="lineno"> 1390</span> <span class="comment">// hybrid offer missing sfAdditionalBooks</span></div>
<div class="line"><a id="l01391" name="l01391"></a><span class="lineno"> 1391</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a6303914a2a308eb256597dcfca8edc20">doInvariantCheck</a>(</div>
<div class="line"><a id="l01392" name="l01392"></a><span class="lineno"> 1392</span> {{<span class="stringliteral">&quot;hybrid offer is malformed&quot;</span>}},</div>
<div class="line"><a id="l01393" name="l01393"></a><span class="lineno"> 1393</span> [&amp;](Account <span class="keyword">const</span>&amp; A1, Account <span class="keyword">const</span>&amp; A2, <a class="code hl_class" href="classripple_1_1ApplyContext.html">ApplyContext</a>&amp; ac) {</div>
<div class="line"><a id="l01394" name="l01394"></a><span class="lineno"> 1394</span> <a class="code hl_struct" href="structripple_1_1Keylet.html">Keylet</a> <span class="keyword">const</span> pdKeylet = <a class="code hl_function" href="namespaceripple_1_1keylet.html#a51879ade5bc763231874ba4298bf17d3">keylet::permissionedDomain</a>(A1.id(), 10);</div>
<div class="line"><a id="l01395" name="l01395"></a><span class="lineno"> 1395</span> <span class="keyword">auto</span> slePd = std::make_shared&lt;SLE&gt;(pdKeylet);</div>
<div class="line"><a id="l01396" name="l01396"></a><span class="lineno"> 1396</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a8478b9a63baa3c4b510a0484294e7725">createPermissionedDomain</a>(ac, slePd, A1, A2);</div>
<div class="line"><a id="l01397" name="l01397"></a><span class="lineno"> 1397</span> </div>
<div class="line"><a id="l01398" name="l01398"></a><span class="lineno"> 1398</span> <a class="code hl_struct" href="structripple_1_1Keylet.html">Keylet</a> <span class="keyword">const</span> offerKey = <a class="code hl_function" href="namespaceripple_1_1keylet.html#aeffddd45805feb6cc0678738b5c21072">keylet::offer</a>(A2.id(), 10);</div>
<div class="line"><a id="l01399" name="l01399"></a><span class="lineno"> 1399</span> <span class="keyword">auto</span> sleOffer = std::make_shared&lt;SLE&gt;(offerKey);</div>
<div class="line"><a id="l01400" name="l01400"></a><span class="lineno"> 1400</span> sleOffer-&gt;setAccountID(sfAccount, A2);</div>
<div class="line"><a id="l01401" name="l01401"></a><span class="lineno"> 1401</span> sleOffer-&gt;setFieldAmount(sfTakerPays, A1[<span class="stringliteral">&quot;USD&quot;</span>](10));</div>
<div class="line"><a id="l01402" name="l01402"></a><span class="lineno"> 1402</span> sleOffer-&gt;setFieldAmount(sfTakerGets, XRP(1));</div>
<div class="line"><a id="l01403" name="l01403"></a><span class="lineno"> 1403</span> sleOffer-&gt;setFlag(<a class="code hl_enumvalue" href="namespaceripple.html#a4a9c7b33fef9015d6406302ef80b63c5a9f6346dbd49b85ced4658b24df239b68">lsfHybrid</a>);</div>
<div class="line"><a id="l01404" name="l01404"></a><span class="lineno"> 1404</span> sleOffer-&gt;setFieldH256(sfDomainID, pdKeylet.<a class="code hl_variable" href="structripple_1_1Keylet.html#a482983062843a8682fcea76a309c73db">key</a>);</div>
<div class="line"><a id="l01405" name="l01405"></a><span class="lineno"> 1405</span> ac.view().insert(sleOffer);</div>
<div class="line"><a id="l01406" name="l01406"></a><span class="lineno"> 1406</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l01407" name="l01407"></a><span class="lineno"> 1407</span> },</div>
<div class="line"><a id="l01408" name="l01408"></a><span class="lineno"> 1408</span> <a class="code hl_class" href="classripple_1_1XRPAmount.html">XRPAmount</a>{},</div>
<div class="line"><a id="l01409" name="l01409"></a><span class="lineno"> 1409</span> <a class="code hl_class" href="classripple_1_1STTx.html">STTx</a>{ttOFFER_CREATE, [&amp;](<a class="code hl_class" href="classripple_1_1STObject.html">STObject</a>&amp; tx) {}},</div>
<div class="line"><a id="l01410" name="l01410"></a><span class="lineno"> 1410</span> {<a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>, <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>});</div>
<div class="line"><a id="l01411" name="l01411"></a><span class="lineno"> 1411</span> </div>
<div class="line"><a id="l01412" name="l01412"></a><span class="lineno"> 1412</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a6303914a2a308eb256597dcfca8edc20">doInvariantCheck</a>(</div>
<div class="line"><a id="l01413" name="l01413"></a><span class="lineno"> 1413</span> {{<span class="stringliteral">&quot;transaction consumed wrong domains&quot;</span>}},</div>
<div class="line"><a id="l01414" name="l01414"></a><span class="lineno"> 1414</span> [&amp;](Account <span class="keyword">const</span>&amp; A1, Account <span class="keyword">const</span>&amp; A2, <a class="code hl_class" href="classripple_1_1ApplyContext.html">ApplyContext</a>&amp; ac) {</div>
<div class="line"><a id="l01415" name="l01415"></a><span class="lineno"> 1415</span> <a class="code hl_struct" href="structripple_1_1Keylet.html">Keylet</a> <span class="keyword">const</span> pdKeylet = <a class="code hl_function" href="namespaceripple_1_1keylet.html#a51879ade5bc763231874ba4298bf17d3">keylet::permissionedDomain</a>(A1.id(), 10);</div>
<div class="line"><a id="l01416" name="l01416"></a><span class="lineno"> 1416</span> <span class="keyword">auto</span> slePd = std::make_shared&lt;SLE&gt;(pdKeylet);</div>
<div class="line"><a id="l01417" name="l01417"></a><span class="lineno"> 1417</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a8478b9a63baa3c4b510a0484294e7725">createPermissionedDomain</a>(ac, slePd, A1, A2);</div>
<div class="line"><a id="l01418" name="l01418"></a><span class="lineno"> 1418</span> </div>
<div class="line"><a id="l01419" name="l01419"></a><span class="lineno"> 1419</span> <a class="code hl_struct" href="structripple_1_1Keylet.html">Keylet</a> <span class="keyword">const</span> badDomainKeylet =</div>
<div class="line"><a id="l01420" name="l01420"></a><span class="lineno"> 1420</span> <a class="code hl_function" href="namespaceripple_1_1keylet.html#a51879ade5bc763231874ba4298bf17d3">keylet::permissionedDomain</a>(A1.id(), 20);</div>
<div class="line"><a id="l01421" name="l01421"></a><span class="lineno"> 1421</span> <span class="keyword">auto</span> sleBadPd = std::make_shared&lt;SLE&gt;(badDomainKeylet);</div>
<div class="line"><a id="l01422" name="l01422"></a><span class="lineno"> 1422</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a8478b9a63baa3c4b510a0484294e7725">createPermissionedDomain</a>(ac, sleBadPd, A1, A2);</div>
<div class="line"><a id="l01423" name="l01423"></a><span class="lineno"> 1423</span> </div>
<div class="line"><a id="l01424" name="l01424"></a><span class="lineno"> 1424</span> <a class="code hl_struct" href="structripple_1_1Keylet.html">Keylet</a> <span class="keyword">const</span> offerKey = <a class="code hl_function" href="namespaceripple_1_1keylet.html#aeffddd45805feb6cc0678738b5c21072">keylet::offer</a>(A2.id(), 10);</div>
<div class="line"><a id="l01425" name="l01425"></a><span class="lineno"> 1425</span> <span class="keyword">auto</span> sleOffer = std::make_shared&lt;SLE&gt;(offerKey);</div>
<div class="line"><a id="l01426" name="l01426"></a><span class="lineno"> 1426</span> sleOffer-&gt;setAccountID(sfAccount, A2);</div>
<div class="line"><a id="l01427" name="l01427"></a><span class="lineno"> 1427</span> sleOffer-&gt;setFieldAmount(sfTakerPays, A1[<span class="stringliteral">&quot;USD&quot;</span>](10));</div>
<div class="line"><a id="l01428" name="l01428"></a><span class="lineno"> 1428</span> sleOffer-&gt;setFieldAmount(sfTakerGets, XRP(1));</div>
<div class="line"><a id="l01429" name="l01429"></a><span class="lineno"> 1429</span> sleOffer-&gt;setFieldH256(sfDomainID, pdKeylet.<a class="code hl_variable" href="structripple_1_1Keylet.html#a482983062843a8682fcea76a309c73db">key</a>);</div>
<div class="line"><a id="l01430" name="l01430"></a><span class="lineno"> 1430</span> ac.view().insert(sleOffer);</div>
<div class="line"><a id="l01431" name="l01431"></a><span class="lineno"> 1431</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l01432" name="l01432"></a><span class="lineno"> 1432</span> },</div>
<div class="line"><a id="l01433" name="l01433"></a><span class="lineno"> 1433</span> <a class="code hl_class" href="classripple_1_1XRPAmount.html">XRPAmount</a>{},</div>
<div class="line"><a id="l01434" name="l01434"></a><span class="lineno"> 1434</span> <a class="code hl_class" href="classripple_1_1STTx.html">STTx</a>{</div>
<div class="line"><a id="l01435" name="l01435"></a><span class="lineno"> 1435</span> ttOFFER_CREATE,</div>
<div class="line"><a id="l01436" name="l01436"></a><span class="lineno"> 1436</span> [&amp;](<a class="code hl_class" href="classripple_1_1STObject.html">STObject</a>&amp; tx) {</div>
<div class="line"><a id="l01437" name="l01437"></a><span class="lineno"> 1437</span> Account <span class="keyword">const</span> A1{<span class="stringliteral">&quot;A1&quot;</span>};</div>
<div class="line"><a id="l01438" name="l01438"></a><span class="lineno"> 1438</span> <a class="code hl_struct" href="structripple_1_1Keylet.html">Keylet</a> <span class="keyword">const</span> badDomainKey =</div>
<div class="line"><a id="l01439" name="l01439"></a><span class="lineno"> 1439</span> <a class="code hl_function" href="namespaceripple_1_1keylet.html#a51879ade5bc763231874ba4298bf17d3">keylet::permissionedDomain</a>(A1.id(), 20);</div>
<div class="line"><a id="l01440" name="l01440"></a><span class="lineno"> 1440</span> tx.setFieldH256(sfDomainID, badDomainKey.<a class="code hl_variable" href="structripple_1_1Keylet.html#a482983062843a8682fcea76a309c73db">key</a>);</div>
<div class="line"><a id="l01441" name="l01441"></a><span class="lineno"> 1441</span> tx.setFieldAmount(sfTakerPays, A1[<span class="stringliteral">&quot;USD&quot;</span>](10));</div>
<div class="line"><a id="l01442" name="l01442"></a><span class="lineno"> 1442</span> tx.setFieldAmount(sfTakerGets, XRP(1));</div>
<div class="line"><a id="l01443" name="l01443"></a><span class="lineno"> 1443</span> }},</div>
<div class="line"><a id="l01444" name="l01444"></a><span class="lineno"> 1444</span> {<a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>, <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>});</div>
<div class="line"><a id="l01445" name="l01445"></a><span class="lineno"> 1445</span> </div>
<div class="line"><a id="l01446" name="l01446"></a><span class="lineno"> 1446</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a6303914a2a308eb256597dcfca8edc20">doInvariantCheck</a>(</div>
<div class="line"><a id="l01447" name="l01447"></a><span class="lineno"> 1447</span> {{<span class="stringliteral">&quot;domain transaction affected regular offers&quot;</span>}},</div>
<div class="line"><a id="l01448" name="l01448"></a><span class="lineno"> 1448</span> [&amp;](Account <span class="keyword">const</span>&amp; A1, Account <span class="keyword">const</span>&amp; A2, <a class="code hl_class" href="classripple_1_1ApplyContext.html">ApplyContext</a>&amp; ac) {</div>
<div class="line"><a id="l01449" name="l01449"></a><span class="lineno"> 1449</span> <a class="code hl_struct" href="structripple_1_1Keylet.html">Keylet</a> <span class="keyword">const</span> pdKeylet = <a class="code hl_function" href="namespaceripple_1_1keylet.html#a51879ade5bc763231874ba4298bf17d3">keylet::permissionedDomain</a>(A1.id(), 10);</div>
<div class="line"><a id="l01450" name="l01450"></a><span class="lineno"> 1450</span> <span class="keyword">auto</span> slePd = std::make_shared&lt;SLE&gt;(pdKeylet);</div>
<div class="line"><a id="l01451" name="l01451"></a><span class="lineno"> 1451</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a8478b9a63baa3c4b510a0484294e7725">createPermissionedDomain</a>(ac, slePd, A1, A2);</div>
<div class="line"><a id="l01452" name="l01452"></a><span class="lineno"> 1452</span> </div>
<div class="line"><a id="l01453" name="l01453"></a><span class="lineno"> 1453</span> <a class="code hl_struct" href="structripple_1_1Keylet.html">Keylet</a> <span class="keyword">const</span> offerKey = <a class="code hl_function" href="namespaceripple_1_1keylet.html#aeffddd45805feb6cc0678738b5c21072">keylet::offer</a>(A2.id(), 10);</div>
<div class="line"><a id="l01454" name="l01454"></a><span class="lineno"> 1454</span> <span class="keyword">auto</span> sleOffer = std::make_shared&lt;SLE&gt;(offerKey);</div>
<div class="line"><a id="l01455" name="l01455"></a><span class="lineno"> 1455</span> sleOffer-&gt;setAccountID(sfAccount, A2);</div>
<div class="line"><a id="l01456" name="l01456"></a><span class="lineno"> 1456</span> sleOffer-&gt;setFieldAmount(sfTakerPays, A1[<span class="stringliteral">&quot;USD&quot;</span>](10));</div>
<div class="line"><a id="l01457" name="l01457"></a><span class="lineno"> 1457</span> sleOffer-&gt;setFieldAmount(sfTakerGets, XRP(1));</div>
<div class="line"><a id="l01458" name="l01458"></a><span class="lineno"> 1458</span> ac.view().insert(sleOffer);</div>
<div class="line"><a id="l01459" name="l01459"></a><span class="lineno"> 1459</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l01460" name="l01460"></a><span class="lineno"> 1460</span> },</div>
<div class="line"><a id="l01461" name="l01461"></a><span class="lineno"> 1461</span> <a class="code hl_class" href="classripple_1_1XRPAmount.html">XRPAmount</a>{},</div>
<div class="line"><a id="l01462" name="l01462"></a><span class="lineno"> 1462</span> <a class="code hl_class" href="classripple_1_1STTx.html">STTx</a>{</div>
<div class="line"><a id="l01463" name="l01463"></a><span class="lineno"> 1463</span> ttOFFER_CREATE,</div>
<div class="line"><a id="l01464" name="l01464"></a><span class="lineno"> 1464</span> [&amp;](<a class="code hl_class" href="classripple_1_1STObject.html">STObject</a>&amp; tx) {</div>
<div class="line"><a id="l01465" name="l01465"></a><span class="lineno"> 1465</span> Account <span class="keyword">const</span> A1{<span class="stringliteral">&quot;A1&quot;</span>};</div>
<div class="line"><a id="l01466" name="l01466"></a><span class="lineno"> 1466</span> <a class="code hl_struct" href="structripple_1_1Keylet.html">Keylet</a> <span class="keyword">const</span> domainKey =</div>
<div class="line"><a id="l01467" name="l01467"></a><span class="lineno"> 1467</span> <a class="code hl_function" href="namespaceripple_1_1keylet.html#a51879ade5bc763231874ba4298bf17d3">keylet::permissionedDomain</a>(A1.id(), 10);</div>
<div class="line"><a id="l01468" name="l01468"></a><span class="lineno"> 1468</span> tx.setFieldH256(sfDomainID, domainKey.<a class="code hl_variable" href="structripple_1_1Keylet.html#a482983062843a8682fcea76a309c73db">key</a>);</div>
<div class="line"><a id="l01469" name="l01469"></a><span class="lineno"> 1469</span> tx.setFieldAmount(sfTakerPays, A1[<span class="stringliteral">&quot;USD&quot;</span>](10));</div>
<div class="line"><a id="l01470" name="l01470"></a><span class="lineno"> 1470</span> tx.setFieldAmount(sfTakerGets, XRP(1));</div>
<div class="line"><a id="l01471" name="l01471"></a><span class="lineno"> 1471</span> }},</div>
<div class="line"><a id="l01472" name="l01472"></a><span class="lineno"> 1472</span> {<a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>, <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>});</div>
<div class="line"><a id="l01473" name="l01473"></a><span class="lineno"> 1473</span> }</div>
<div class="line"><a id="l01474" name="l01474"></a><span class="lineno"> 1474</span> </div>
<div class="line"><a id="l01475" name="l01475"></a><span class="lineno"> 1475</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l01476" name="l01476"></a><span class="lineno"> 1476</span> <span class="keywordtype">void</span></div>
<div class="line"><a id="l01477" name="l01477"></a><span class="lineno"><a class="line" href="classripple_1_1Invariants__test.html#aa45827abfbd6d88dfddc3d51e7a5eaf7"> 1477</a></span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#aa45827abfbd6d88dfddc3d51e7a5eaf7">run</a>()<span class="keyword"> override</span></div>
<div class="line"><a id="l01478" name="l01478"></a><span class="lineno"> 1478</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l01479" name="l01479"></a><span class="lineno"> 1479</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a89b8f0bcc5ae7c1513f4c20139a22755">testXRPNotCreated</a>();</div>
<div class="line"><a id="l01480" name="l01480"></a><span class="lineno"> 1480</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a183797e076a9b648f55884e26c6ff4d7">testAccountRootsNotRemoved</a>();</div>
<div class="line"><a id="l01481" name="l01481"></a><span class="lineno"> 1481</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a010550ee772cb96ee12189a7c34c0ea9">testAccountRootsDeletedClean</a>();</div>
<div class="line"><a id="l01482" name="l01482"></a><span class="lineno"> 1482</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a9176f0c1d99ab8afb9720c80edc4336b">testTypesMatch</a>();</div>
<div class="line"><a id="l01483" name="l01483"></a><span class="lineno"> 1483</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#af085322b41e9d0ebc80fc07741c7ee87">testNoXRPTrustLine</a>();</div>
<div class="line"><a id="l01484" name="l01484"></a><span class="lineno"> 1484</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#ac2aaff18fe3ce55d6546976be6fb3c4e">testNoDeepFreezeTrustLinesWithoutFreeze</a>();</div>
<div class="line"><a id="l01485" name="l01485"></a><span class="lineno"> 1485</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a130eda65d3f58cc6c6aa1e7a1adc60a6">testTransfersNotFrozen</a>();</div>
<div class="line"><a id="l01486" name="l01486"></a><span class="lineno"> 1486</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a744d3c7607ad66f7d6bfdf3d9ef39176">testXRPBalanceCheck</a>();</div>
<div class="line"><a id="l01487" name="l01487"></a><span class="lineno"> 1487</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a56ba287b24a49e1de2c1f5bf7af4b1b7">testTransactionFeeCheck</a>();</div>
<div class="line"><a id="l01488" name="l01488"></a><span class="lineno"> 1488</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a351b2675ce83a445d1dd526a30e49485">testNoBadOffers</a>();</div>
<div class="line"><a id="l01489" name="l01489"></a><span class="lineno"> 1489</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a0c8f3e40f24834396d84eae65f3c035e">testNoZeroEscrow</a>();</div>
<div class="line"><a id="l01490" name="l01490"></a><span class="lineno"> 1490</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#a6bf3df5da63fbcdeede0865dfa8d0abc">testValidNewAccountRoot</a>();</div>
<div class="line"><a id="l01491" name="l01491"></a><span class="lineno"> 1491</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#ab3d8404015ba968106a88a1b98f9a747">testNFTokenPageInvariants</a>();</div>
<div class="line"><a id="l01492" name="l01492"></a><span class="lineno"> 1492</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#af92709ce8a2a92d6b756fb8323d708bd">testPermissionedDomainInvariants</a>();</div>
<div class="line"><a id="l01493" name="l01493"></a><span class="lineno"> 1493</span> <a class="code hl_function" href="classripple_1_1Invariants__test.html#ad87200b29ad73c0eab7568967d4e1ba9">testPermissionedDEX</a>();</div>
<div class="line"><a id="l01494" name="l01494"></a><span class="lineno"> 1494</span> }</div>
<div class="line"><a id="l01495" name="l01495"></a><span class="lineno"> 1495</span>};</div>
<div class="line"><a id="l01496" name="l01496"></a><span class="lineno"> 1496</span> </div>
<div class="line"><a id="l01497" name="l01497"></a><span class="lineno"><a class="line" href="namespaceripple.html#a22bb60f949856e6879060387ae8b555a"> 1497</a></span>BEAST_DEFINE_TESTSUITE(Invariants, ledger, <a class="code hl_namespace" href="namespaceripple.html">ripple</a>);</div>
<div class="line"><a id="l01498" name="l01498"></a><span class="lineno"> 1498</span> </div>
<div class="line"><a id="l01499" name="l01499"></a><span class="lineno"> 1499</span>} <span class="comment">// namespace ripple</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="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="aclassbeast_1_1unit__test_1_1suite_html"><div class="ttname"><a href="classbeast_1_1unit__test_1_1suite.html">beast::unit_test::suite</a></div><div class="ttdoc">A testsuite class.</div><div class="ttdef"><b>Definition:</b> <a href="suite_8h_source.html#l00054">suite.h:55</a></div></div>
@@ -1393,10 +1566,9 @@ $(function() {
<div class="ttc" id="aclassbeast_1_1unit__test_1_1suite_html_af5ea30f883ad3a2a841af60a9a82c29c"><div class="ttname"><a href="classbeast_1_1unit__test_1_1suite.html#af5ea30f883ad3a2a841af60a9a82c29c">beast::unit_test::suite::fail</a></div><div class="ttdeci">void fail(String const &amp;reason, char const *file, int line)</div><div class="ttdoc">Record a failure.</div><div class="ttdef"><b>Definition:</b> <a href="suite_8h_source.html#l00533">suite.h:533</a></div></div>
<div class="ttc" id="aclassripple_1_1ApplyContext_html"><div class="ttname"><a href="classripple_1_1ApplyContext.html">ripple::ApplyContext</a></div><div class="ttdoc">State information when applying a tx.</div><div class="ttdef"><b>Definition:</b> <a href="ApplyContext_8h_source.html#l00036">ApplyContext.h:37</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#l00078">ApplyContext.h:78</a></div></div>
<div class="ttc" id="aclassripple_1_1ApplyView_html_a542437b9b59a623e755979acdc075af5"><div class="ttname"><a href="classripple_1_1ApplyView.html#a542437b9b59a623e755979acdc075af5">ripple::ApplyView::update</a></div><div class="ttdeci">virtual void update(std::shared_ptr&lt; SLE &gt; const &amp;sle)=0</div><div class="ttdoc">Indicate changes to a peeked SLE.</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_1InnerObjectFormats_html_a5d946acc2637ba9031007888980c3764"><div class="ttname"><a href="classripple_1_1InnerObjectFormats.html#a5d946acc2637ba9031007888980c3764">ripple::InnerObjectFormats::findSOTemplateBySField</a></div><div class="ttdeci">SOTemplate const * findSOTemplateBySField(SField const &amp;sField) const</div><div class="ttdef"><b>Definition:</b> <a href="InnerObjectFormats_8cpp_source.html#l00178">InnerObjectFormats.cpp:178</a></div></div>
<div class="ttc" id="aclassripple_1_1InnerObjectFormats_html_ac8a2a46e333d5db2ecaff032e3eacc2f"><div class="ttname"><a href="classripple_1_1InnerObjectFormats.html#ac8a2a46e333d5db2ecaff032e3eacc2f">ripple::InnerObjectFormats::getInstance</a></div><div class="ttdeci">static InnerObjectFormats const &amp; getInstance()</div><div class="ttdef"><b>Definition:</b> <a href="InnerObjectFormats_8cpp_source.html#l00171">InnerObjectFormats.cpp:171</a></div></div>
<div class="ttc" id="aclassripple_1_1InnerObjectFormats_html_a5d946acc2637ba9031007888980c3764"><div class="ttname"><a href="classripple_1_1InnerObjectFormats.html#a5d946acc2637ba9031007888980c3764">ripple::InnerObjectFormats::findSOTemplateBySField</a></div><div class="ttdeci">SOTemplate const * findSOTemplateBySField(SField const &amp;sField) const</div><div class="ttdef"><b>Definition:</b> <a href="InnerObjectFormats_8cpp_source.html#l00185">InnerObjectFormats.cpp:185</a></div></div>
<div class="ttc" id="aclassripple_1_1InnerObjectFormats_html_ac8a2a46e333d5db2ecaff032e3eacc2f"><div class="ttname"><a href="classripple_1_1InnerObjectFormats.html#ac8a2a46e333d5db2ecaff032e3eacc2f">ripple::InnerObjectFormats::getInstance</a></div><div class="ttdeci">static InnerObjectFormats const &amp; getInstance()</div><div class="ttdef"><b>Definition:</b> <a href="InnerObjectFormats_8cpp_source.html#l00178">InnerObjectFormats.cpp:178</a></div></div>
<div class="ttc" id="aclassripple_1_1Invariants__test_html"><div class="ttname"><a href="classripple_1_1Invariants__test.html">ripple::Invariants_test</a></div><div class="ttdef"><b>Definition:</b> <a href="Invariants__test_8cpp_source.html#l00035">Invariants_test.cpp:36</a></div></div>
<div class="ttc" id="aclassripple_1_1Invariants__test_html_a010550ee772cb96ee12189a7c34c0ea9"><div class="ttname"><a href="classripple_1_1Invariants__test.html#a010550ee772cb96ee12189a7c34c0ea9">ripple::Invariants_test::testAccountRootsDeletedClean</a></div><div class="ttdeci">void testAccountRootsDeletedClean()</div><div class="ttdef"><b>Definition:</b> <a href="Invariants__test_8cpp_source.html#l00200">Invariants_test.cpp:200</a></div></div>
<div class="ttc" id="aclassripple_1_1Invariants__test_html_a0c8f3e40f24834396d84eae65f3c035e"><div class="ttname"><a href="classripple_1_1Invariants__test.html#a0c8f3e40f24834396d84eae65f3c035e">ripple::Invariants_test::testNoZeroEscrow</a></div><div class="ttdeci">void testNoZeroEscrow()</div><div class="ttdef"><b>Definition:</b> <a href="Invariants__test_8cpp_source.html#l00729">Invariants_test.cpp:729</a></div></div>
@@ -1408,13 +1580,15 @@ $(function() {
<div class="ttc" id="aclassripple_1_1Invariants__test_html_a6bf3df5da63fbcdeede0865dfa8d0abc"><div class="ttname"><a href="classripple_1_1Invariants__test.html#a6bf3df5da63fbcdeede0865dfa8d0abc">ripple::Invariants_test::testValidNewAccountRoot</a></div><div class="ttdeci">void testValidNewAccountRoot()</div><div class="ttdef"><b>Definition:</b> <a href="Invariants__test_8cpp_source.html#l00783">Invariants_test.cpp:783</a></div></div>
<div class="ttc" id="aclassripple_1_1Invariants__test_html_a744d3c7607ad66f7d6bfdf3d9ef39176"><div class="ttname"><a href="classripple_1_1Invariants__test.html#a744d3c7607ad66f7d6bfdf3d9ef39176">ripple::Invariants_test::testXRPBalanceCheck</a></div><div class="ttdeci">void testXRPBalanceCheck()</div><div class="ttdef"><b>Definition:</b> <a href="Invariants__test_8cpp_source.html#l00592">Invariants_test.cpp:592</a></div></div>
<div class="ttc" id="aclassripple_1_1Invariants__test_html_a8106377a72fe82fde1dcc58232be91fa"><div class="ttname"><a href="classripple_1_1Invariants__test.html#a8106377a72fe82fde1dcc58232be91fa">ripple::Invariants_test::Preclose</a></div><div class="ttdeci">std::function&lt; bool(test::jtx::Account const &amp;a, test::jtx::Account const &amp;b, test::jtx::Env &amp;env)&gt; Preclose</div><div class="ttdef"><b>Definition:</b> <a href="Invariants__test_8cpp_source.html#l00041">Invariants_test.cpp:44</a></div></div>
<div class="ttc" id="aclassripple_1_1Invariants__test_html_a8478b9a63baa3c4b510a0484294e7725"><div class="ttname"><a href="classripple_1_1Invariants__test.html#a8478b9a63baa3c4b510a0484294e7725">ripple::Invariants_test::createPermissionedDomain</a></div><div class="ttdeci">void createPermissionedDomain(ApplyContext &amp;ac, std::shared_ptr&lt; SLE &gt; &amp;sle, test::jtx::Account const &amp;A1, test::jtx::Account const &amp;A2)</div><div class="ttdef"><b>Definition:</b> <a href="Invariants__test_8cpp_source.html#l01050">Invariants_test.cpp:1050</a></div></div>
<div class="ttc" id="aclassripple_1_1Invariants__test_html_a89b8f0bcc5ae7c1513f4c20139a22755"><div class="ttname"><a href="classripple_1_1Invariants__test.html#a89b8f0bcc5ae7c1513f4c20139a22755">ripple::Invariants_test::testXRPNotCreated</a></div><div class="ttdeci">void testXRPNotCreated()</div><div class="ttdef"><b>Definition:</b> <a href="Invariants__test_8cpp_source.html#l00132">Invariants_test.cpp:132</a></div></div>
<div class="ttc" id="aclassripple_1_1Invariants__test_html_a9176f0c1d99ab8afb9720c80edc4336b"><div class="ttname"><a href="classripple_1_1Invariants__test.html#a9176f0c1d99ab8afb9720c80edc4336b">ripple::Invariants_test::testTypesMatch</a></div><div class="ttdeci">void testTypesMatch()</div><div class="ttdef"><b>Definition:</b> <a href="Invariants__test_8cpp_source.html#l00359">Invariants_test.cpp:359</a></div></div>
<div class="ttc" id="aclassripple_1_1Invariants__test_html_aa45827abfbd6d88dfddc3d51e7a5eaf7"><div class="ttname"><a href="classripple_1_1Invariants__test.html#aa45827abfbd6d88dfddc3d51e7a5eaf7">ripple::Invariants_test::run</a></div><div class="ttdeci">void run() override</div><div class="ttdoc">Runs the suite.</div><div class="ttdef"><b>Definition:</b> <a href="Invariants__test_8cpp_source.html#l01305">Invariants_test.cpp:1305</a></div></div>
<div class="ttc" id="aclassripple_1_1Invariants__test_html_aa45827abfbd6d88dfddc3d51e7a5eaf7"><div class="ttname"><a href="classripple_1_1Invariants__test.html#aa45827abfbd6d88dfddc3d51e7a5eaf7">ripple::Invariants_test::run</a></div><div class="ttdeci">void run() override</div><div class="ttdoc">Runs the suite.</div><div class="ttdef"><b>Definition:</b> <a href="Invariants__test_8cpp_source.html#l01477">Invariants_test.cpp:1477</a></div></div>
<div class="ttc" id="aclassripple_1_1Invariants__test_html_ab3d8404015ba968106a88a1b98f9a747"><div class="ttname"><a href="classripple_1_1Invariants__test.html#ab3d8404015ba968106a88a1b98f9a747">ripple::Invariants_test::testNFTokenPageInvariants</a></div><div class="ttdeci">void testNFTokenPageInvariants()</div><div class="ttdef"><b>Definition:</b> <a href="Invariants__test_8cpp_source.html#l00903">Invariants_test.cpp:903</a></div></div>
<div class="ttc" id="aclassripple_1_1Invariants__test_html_ac2aaff18fe3ce55d6546976be6fb3c4e"><div class="ttname"><a href="classripple_1_1Invariants__test.html#ac2aaff18fe3ce55d6546976be6fb3c4e">ripple::Invariants_test::testNoDeepFreezeTrustLinesWithoutFreeze</a></div><div class="ttdeci">void testNoDeepFreezeTrustLinesWithoutFreeze()</div><div class="ttdef"><b>Definition:</b> <a href="Invariants__test_8cpp_source.html#l00415">Invariants_test.cpp:415</a></div></div>
<div class="ttc" id="aclassripple_1_1Invariants__test_html_ad87200b29ad73c0eab7568967d4e1ba9"><div class="ttname"><a href="classripple_1_1Invariants__test.html#ad87200b29ad73c0eab7568967d4e1ba9">ripple::Invariants_test::testPermissionedDEX</a></div><div class="ttdeci">void testPermissionedDEX()</div><div class="ttdef"><b>Definition:</b> <a href="Invariants__test_8cpp_source.html#l01307">Invariants_test.cpp:1307</a></div></div>
<div class="ttc" id="aclassripple_1_1Invariants__test_html_af085322b41e9d0ebc80fc07741c7ee87"><div class="ttname"><a href="classripple_1_1Invariants__test.html#af085322b41e9d0ebc80fc07741c7ee87">ripple::Invariants_test::testNoXRPTrustLine</a></div><div class="ttdeci">void testNoXRPTrustLine()</div><div class="ttdef"><b>Definition:</b> <a href="Invariants__test_8cpp_source.html#l00399">Invariants_test.cpp:399</a></div></div>
<div class="ttc" id="aclassripple_1_1Invariants__test_html_af92709ce8a2a92d6b756fb8323d708bd"><div class="ttname"><a href="classripple_1_1Invariants__test.html#af92709ce8a2a92d6b756fb8323d708bd">ripple::Invariants_test::testPermissionedDomainInvariants</a></div><div class="ttdeci">void testPermissionedDomainInvariants()</div><div class="ttdef"><b>Definition:</b> <a href="Invariants__test_8cpp_source.html#l01050">Invariants_test.cpp:1050</a></div></div>
<div class="ttc" id="aclassripple_1_1Invariants__test_html_af92709ce8a2a92d6b756fb8323d708bd"><div class="ttname"><a href="classripple_1_1Invariants__test.html#af92709ce8a2a92d6b756fb8323d708bd">ripple::Invariants_test::testPermissionedDomainInvariants</a></div><div class="ttdeci">void testPermissionedDomainInvariants()</div><div class="ttdef"><b>Definition:</b> <a href="Invariants__test_8cpp_source.html#l01074">Invariants_test.cpp:1074</a></div></div>
<div class="ttc" id="aclassripple_1_1Issue_html"><div class="ttname"><a href="classripple_1_1Issue.html">ripple::Issue</a></div><div class="ttdoc">A currency issued by an account.</div><div class="ttdef"><b>Definition:</b> <a href="Issue_8h_source.html#l00035">Issue.h:36</a></div></div>
<div class="ttc" id="aclassripple_1_1SOTemplate_html"><div class="ttname"><a href="classripple_1_1SOTemplate.html">ripple::SOTemplate</a></div><div class="ttdoc">Defines the fields and their attributes within a STObject.</div><div class="ttdef"><b>Definition:</b> <a href="SOTemplate_8h_source.html#l00113">SOTemplate.h:114</a></div></div>
<div class="ttc" id="aclassripple_1_1STAmount_html"><div class="ttname"><a href="classripple_1_1STAmount.html">ripple::STAmount</a></div><div class="ttdef"><b>Definition:</b> <a href="STAmount_8h_source.html#l00049">STAmount.h:50</a></div></div>
@@ -1423,6 +1597,7 @@ $(function() {
<div class="ttc" id="aclassripple_1_1STArray_html_adc3dc750320964c46b6d4ea2af8b8bc7"><div class="ttname"><a href="classripple_1_1STArray.html#adc3dc750320964c46b6d4ea2af8b8bc7">ripple::STArray::push_back</a></div><div class="ttdeci">void push_back(STObject const &amp;object)</div><div class="ttdef"><b>Definition:</b> <a href="STArray_8h_source.html#l00212">STArray.h:212</a></div></div>
<div class="ttc" id="aclassripple_1_1STArray_html_af7e0506b401fa66e765d7610c78ced2d"><div class="ttname"><a href="classripple_1_1STArray.html#af7e0506b401fa66e765d7610c78ced2d">ripple::STArray::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdef"><b>Definition:</b> <a href="STArray_8h_source.html#l00224">STArray.h:224</a></div></div>
<div class="ttc" id="aclassripple_1_1STObject_html"><div class="ttname"><a href="classripple_1_1STObject.html">ripple::STObject</a></div><div class="ttdef"><b>Definition:</b> <a href="STObject_8h_source.html#l00056">STObject.h:57</a></div></div>
<div class="ttc" id="aclassripple_1_1STObject_html_a4aee4efa6aeff63e0d5ff08d31730be2"><div class="ttname"><a href="classripple_1_1STObject.html#a4aee4efa6aeff63e0d5ff08d31730be2">ripple::STObject::setFieldH256</a></div><div class="ttdeci">void setFieldH256(SField const &amp;field, uint256 const &amp;)</div><div class="ttdef"><b>Definition:</b> <a href="STObject_8cpp_source.html#l00759">STObject.cpp:759</a></div></div>
<div class="ttc" id="aclassripple_1_1STObject_html_a7eedf70fc6afba6c2b8c6b2ba27ba23e"><div class="ttname"><a href="classripple_1_1STObject.html#a7eedf70fc6afba6c2b8c6b2ba27ba23e">ripple::STObject::setFieldAmount</a></div><div class="ttdeci">void setFieldAmount(SField const &amp;field, STAmount const &amp;)</div><div class="ttdef"><b>Definition:</b> <a href="STObject_8cpp_source.html#l00789">STObject.cpp:789</a></div></div>
<div class="ttc" id="aclassripple_1_1STObject_html_ab027b1e13d78b76dd6f41f0fb3459792"><div class="ttname"><a href="classripple_1_1STObject.html#ab027b1e13d78b76dd6f41f0fb3459792">ripple::STObject::makeInnerObject</a></div><div class="ttdeci">static STObject makeInnerObject(SField const &amp;name)</div><div class="ttdef"><b>Definition:</b> <a href="STObject_8cpp_source.html#l00095">STObject.cpp:95</a></div></div>
<div class="ttc" id="aclassripple_1_1STTx_html"><div class="ttname"><a href="classripple_1_1STTx.html">ripple::STTx</a></div><div class="ttdef"><b>Definition:</b> <a href="STTx_8h_source.html#l00047">STTx.h:48</a></div></div>
@@ -1437,17 +1612,17 @@ $(function() {
<div class="ttc" id="ainvoke_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/functional/invoke.html">std::invoke</a></div><div class="ttdeci">T invoke(T... args)</div></div>
<div class="ttc" id="aiter_swap_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/algorithm/iter_swap.html">std::iter_swap</a></div><div class="ttdeci">T iter_swap(T... args)</div></div>
<div class="ttc" id="anamespacebeast_1_1severities_html_a069a8a312b9123b77f6aa31733ca73beab6ef7006e42e82dcc97478e4e362f883"><div class="ttname"><a href="namespacebeast_1_1severities.html#a069a8a312b9123b77f6aa31733ca73beab6ef7006e42e82dcc97478e4e362f883">beast::severities::kWarning</a></div><div class="ttdeci">@ kWarning</div><div class="ttdef"><b>Definition:</b> <a href="Journal_8h_source.html#l00038">Journal.h:38</a></div></div>
<div class="ttc" id="anamespaceripple_1_1keylet_html_a51879ade5bc763231874ba4298bf17d3"><div class="ttname"><a href="namespaceripple_1_1keylet.html#a51879ade5bc763231874ba4298bf17d3">ripple::keylet::permissionedDomain</a></div><div class="ttdeci">Keylet permissionedDomain(AccountID const &amp;account, std::uint32_t seq) noexcept</div><div class="ttdef"><b>Definition:</b> <a href="Indexes_8cpp_source.html#l00563">Indexes.cpp:563</a></div></div>
<div class="ttc" id="anamespaceripple_1_1keylet_html_a54b18d5d8dab25d338f7e105bea1068b"><div class="ttname"><a href="namespaceripple_1_1keylet.html#a54b18d5d8dab25d338f7e105bea1068b">ripple::keylet::amm</a></div><div class="ttdeci">Keylet amm(Asset const &amp;issue1, Asset const &amp;issue2) noexcept</div><div class="ttdoc">AMM entry.</div><div class="ttdef"><b>Definition:</b> <a href="Indexes_8cpp_source.html#l00439">Indexes.cpp:439</a></div></div>
<div class="ttc" id="anamespaceripple_1_1keylet_html_a55890af7192834c632299746ba300be8"><div class="ttname"><a href="namespaceripple_1_1keylet.html#a55890af7192834c632299746ba300be8">ripple::keylet::line</a></div><div class="ttdeci">Keylet line(AccountID const &amp;id0, AccountID const &amp;id1, Currency const &amp;currency) noexcept</div><div class="ttdoc">The index of a trust line for a given currency.</div><div class="ttdef"><b>Definition:</b> <a href="Indexes_8cpp_source.html#l00237">Indexes.cpp:237</a></div></div>
<div class="ttc" id="anamespaceripple_1_1keylet_html_a5660f18c64be5f8270fe66fcc25d0de8"><div class="ttname"><a href="namespaceripple_1_1keylet.html#a5660f18c64be5f8270fe66fcc25d0de8">ripple::keylet::amendments</a></div><div class="ttdeci">Keylet const &amp; amendments() noexcept</div><div class="ttdoc">The index of the amendment table.</div><div class="ttdef"><b>Definition:</b> <a href="Indexes_8cpp_source.html#l00207">Indexes.cpp:207</a></div></div>
<div class="ttc" id="anamespaceripple_1_1keylet_html_a7c16b0abc727e34b4d83377b7f3da2dd"><div class="ttname"><a href="namespaceripple_1_1keylet.html#a7c16b0abc727e34b4d83377b7f3da2dd">ripple::keylet::nftpage</a></div><div class="ttdeci">Keylet nftpage(Keylet const &amp;k, uint256 const &amp;token)</div><div class="ttdef"><b>Definition:</b> <a href="Indexes_8cpp_source.html#l00412">Indexes.cpp:412</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#l00177">Indexes.cpp:177</a></div></div>
<div class="ttc" id="anamespaceripple_1_1keylet_html_ab82de2a0ed5a2dde37fcb992a0b36356"><div class="ttname"><a href="namespaceripple_1_1keylet.html#ab82de2a0ed5a2dde37fcb992a0b36356">ripple::keylet::escrow</a></div><div class="ttdeci">Keylet escrow(AccountID const &amp;src, std::uint32_t seq) noexcept</div><div class="ttdoc">An escrow entry.</div><div class="ttdef"><b>Definition:</b> <a href="Indexes_8cpp_source.html#l00382">Indexes.cpp:382</a></div></div>
<div class="ttc" id="anamespaceripple_1_1keylet_html_abf6a2f8678a82fc0ea6bf41e3972a9eb"><div class="ttname"><a href="namespaceripple_1_1keylet.html#abf6a2f8678a82fc0ea6bf41e3972a9eb">ripple::keylet::nftpage_min</a></div><div class="ttdeci">Keylet nftpage_min(AccountID const &amp;owner)</div><div class="ttdoc">NFT page keylets.</div><div class="ttdef"><b>Definition:</b> <a href="Indexes_8cpp_source.html#l00396">Indexes.cpp:396</a></div></div>
<div class="ttc" id="anamespaceripple_1_1keylet_html_acbbf19b6eb7d5e93f6448832d9e0288c"><div class="ttname"><a href="namespaceripple_1_1keylet.html#acbbf19b6eb7d5e93f6448832d9e0288c">ripple::keylet::nftpage_max</a></div><div class="ttdeci">Keylet nftpage_max(AccountID const &amp;owner)</div><div class="ttdoc">A keylet for the owner's last possible NFT page.</div><div class="ttdef"><b>Definition:</b> <a href="Indexes_8cpp_source.html#l00404">Indexes.cpp:404</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#l00367">Indexes.cpp:367</a></div></div>
<div class="ttc" id="anamespaceripple_1_1keylet_html_aeffddd45805feb6cc0678738b5c21072"><div class="ttname"><a href="namespaceripple_1_1keylet.html#aeffddd45805feb6cc0678738b5c21072">ripple::keylet::offer</a></div><div class="ttdeci">Keylet offer(AccountID const &amp;id, std::uint32_t seq) noexcept</div><div class="ttdoc">An offer from an account.</div><div class="ttdef"><b>Definition:</b> <a href="Indexes_8cpp_source.html#l00267">Indexes.cpp:267</a></div></div>
<div class="ttc" id="anamespaceripple_1_1keylet_html_a51879ade5bc763231874ba4298bf17d3"><div class="ttname"><a href="namespaceripple_1_1keylet.html#a51879ade5bc763231874ba4298bf17d3">ripple::keylet::permissionedDomain</a></div><div class="ttdeci">Keylet permissionedDomain(AccountID const &amp;account, std::uint32_t seq) noexcept</div><div class="ttdef"><b>Definition:</b> <a href="Indexes_8cpp_source.html#l00570">Indexes.cpp:570</a></div></div>
<div class="ttc" id="anamespaceripple_1_1keylet_html_a54b18d5d8dab25d338f7e105bea1068b"><div class="ttname"><a href="namespaceripple_1_1keylet.html#a54b18d5d8dab25d338f7e105bea1068b">ripple::keylet::amm</a></div><div class="ttdeci">Keylet amm(Asset const &amp;issue1, Asset const &amp;issue2) noexcept</div><div class="ttdoc">AMM entry.</div><div class="ttdef"><b>Definition:</b> <a href="Indexes_8cpp_source.html#l00446">Indexes.cpp:446</a></div></div>
<div class="ttc" id="anamespaceripple_1_1keylet_html_a55890af7192834c632299746ba300be8"><div class="ttname"><a href="namespaceripple_1_1keylet.html#a55890af7192834c632299746ba300be8">ripple::keylet::line</a></div><div class="ttdeci">Keylet line(AccountID const &amp;id0, AccountID const &amp;id1, Currency const &amp;currency) noexcept</div><div class="ttdoc">The index of a trust line for a given currency.</div><div class="ttdef"><b>Definition:</b> <a href="Indexes_8cpp_source.html#l00244">Indexes.cpp:244</a></div></div>
<div class="ttc" id="anamespaceripple_1_1keylet_html_a5660f18c64be5f8270fe66fcc25d0de8"><div class="ttname"><a href="namespaceripple_1_1keylet.html#a5660f18c64be5f8270fe66fcc25d0de8">ripple::keylet::amendments</a></div><div class="ttdeci">Keylet const &amp; amendments() noexcept</div><div class="ttdoc">The index of the amendment table.</div><div class="ttdef"><b>Definition:</b> <a href="Indexes_8cpp_source.html#l00214">Indexes.cpp:214</a></div></div>
<div class="ttc" id="anamespaceripple_1_1keylet_html_a7c16b0abc727e34b4d83377b7f3da2dd"><div class="ttname"><a href="namespaceripple_1_1keylet.html#a7c16b0abc727e34b4d83377b7f3da2dd">ripple::keylet::nftpage</a></div><div class="ttdeci">Keylet nftpage(Keylet const &amp;k, uint256 const &amp;token)</div><div class="ttdef"><b>Definition:</b> <a href="Indexes_8cpp_source.html#l00419">Indexes.cpp:419</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#l00184">Indexes.cpp:184</a></div></div>
<div class="ttc" id="anamespaceripple_1_1keylet_html_ab82de2a0ed5a2dde37fcb992a0b36356"><div class="ttname"><a href="namespaceripple_1_1keylet.html#ab82de2a0ed5a2dde37fcb992a0b36356">ripple::keylet::escrow</a></div><div class="ttdeci">Keylet escrow(AccountID const &amp;src, std::uint32_t seq) noexcept</div><div class="ttdoc">An escrow entry.</div><div class="ttdef"><b>Definition:</b> <a href="Indexes_8cpp_source.html#l00389">Indexes.cpp:389</a></div></div>
<div class="ttc" id="anamespaceripple_1_1keylet_html_abf6a2f8678a82fc0ea6bf41e3972a9eb"><div class="ttname"><a href="namespaceripple_1_1keylet.html#abf6a2f8678a82fc0ea6bf41e3972a9eb">ripple::keylet::nftpage_min</a></div><div class="ttdeci">Keylet nftpage_min(AccountID const &amp;owner)</div><div class="ttdoc">NFT page keylets.</div><div class="ttdef"><b>Definition:</b> <a href="Indexes_8cpp_source.html#l00403">Indexes.cpp:403</a></div></div>
<div class="ttc" id="anamespaceripple_1_1keylet_html_acbbf19b6eb7d5e93f6448832d9e0288c"><div class="ttname"><a href="namespaceripple_1_1keylet.html#acbbf19b6eb7d5e93f6448832d9e0288c">ripple::keylet::nftpage_max</a></div><div class="ttdeci">Keylet nftpage_max(AccountID const &amp;owner)</div><div class="ttdoc">A keylet for the owner's last possible NFT page.</div><div class="ttdef"><b>Definition:</b> <a href="Indexes_8cpp_source.html#l00411">Indexes.cpp:411</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#l00374">Indexes.cpp:374</a></div></div>
<div class="ttc" id="anamespaceripple_1_1keylet_html_aeffddd45805feb6cc0678738b5c21072"><div class="ttname"><a href="namespaceripple_1_1keylet.html#aeffddd45805feb6cc0678738b5c21072">ripple::keylet::offer</a></div><div class="ttdeci">Keylet offer(AccountID const &amp;id, std::uint32_t seq) noexcept</div><div class="ttdoc">An offer from an account.</div><div class="ttdef"><b>Definition:</b> <a href="Indexes_8cpp_source.html#l00274">Indexes.cpp:274</a></div></div>
<div class="ttc" id="anamespaceripple_1_1test_1_1jtx_html_aea9cd3d4e6b5df2e62d53b34b605957e"><div class="ttname"><a href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">ripple::test::jtx::XRP</a></div><div class="ttdeci">XRP_t const XRP</div><div class="ttdoc">Converts to XRP Issue or STAmount.</div><div class="ttdef"><b>Definition:</b> <a href="amount_8cpp_source.html#l00105">amount.cpp:105</a></div></div>
<div class="ttc" id="anamespaceripple_1_1test_1_1jtx_html_af5441d84d5977d52246c5226313560d4"><div class="ttname"><a href="namespaceripple_1_1test_1_1jtx.html#af5441d84d5977d52246c5226313560d4">ripple::test::jtx::supported_amendments</a></div><div class="ttdeci">FeatureBitset supported_amendments()</div><div class="ttdef"><b>Definition:</b> <a href="Env_8h_source.html#l00074">Env.h:74</a></div></div>
<div class="ttc" id="anamespaceripple_html"><div class="ttname"><a href="namespaceripple.html">ripple</a></div><div class="ttdoc">Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.</div><div class="ttdef"><b>Definition:</b> <a href="algorithm_8h_source.html#l00026">algorithm.h:26</a></div></div>
@@ -1456,18 +1631,19 @@ $(function() {
<div class="ttc" id="anamespaceripple_html_a22768e0a41b646442c98d38f2f2a307babd09c58ee620c0fdf33d2cdeb88eaaee"><div class="ttname"><a href="namespaceripple.html#a22768e0a41b646442c98d38f2f2a307babd09c58ee620c0fdf33d2cdeb88eaaee">ripple::LedgerNameSpace::AMM</a></div><div class="ttdeci">@ AMM</div></div>
<div class="ttc" id="anamespaceripple_html_a356c68147333a9a48a344718038576d9"><div class="ttname"><a href="namespaceripple.html#a356c68147333a9a48a344718038576d9">ripple::uint256</a></div><div class="ttdeci">base_uint&lt; 256 &gt; uint256</div><div class="ttdef"><b>Definition:</b> <a href="base__uint_8h_source.html#l00558">base_uint.h:558</a></div></div>
<div class="ttc" id="anamespaceripple_html_a3b7b0b8833993d53519f223aa4b637df"><div class="ttname"><a href="namespaceripple.html#a3b7b0b8833993d53519f223aa4b637df">ripple::maxPermissionedDomainCredentialsArraySize</a></div><div class="ttdeci">std::size_t constexpr maxPermissionedDomainCredentialsArraySize</div><div class="ttdoc">The maximum number of credentials can be passed in array for permissioned domain.</div><div class="ttdef"><b>Definition:</b> <a href="Protocol_8h_source.html#l00111">Protocol.h:111</a></div></div>
<div class="ttc" id="anamespaceripple_html_a4a9c7b33fef9015d6406302ef80b63c5a0588f38e1840a06d715cb905801e0349"><div class="ttname"><a href="namespaceripple.html#a4a9c7b33fef9015d6406302ef80b63c5a0588f38e1840a06d715cb905801e0349">ripple::lsfHighDeepFreeze</a></div><div class="ttdeci">@ lsfHighDeepFreeze</div><div class="ttdef"><b>Definition:</b> <a href="LedgerFormats_8h_source.html#l00166">LedgerFormats.h:166</a></div></div>
<div class="ttc" id="anamespaceripple_html_a4a9c7b33fef9015d6406302ef80b63c5a0588f38e1840a06d715cb905801e0349"><div class="ttname"><a href="namespaceripple.html#a4a9c7b33fef9015d6406302ef80b63c5a0588f38e1840a06d715cb905801e0349">ripple::lsfHighDeepFreeze</a></div><div class="ttdeci">@ lsfHighDeepFreeze</div><div class="ttdef"><b>Definition:</b> <a href="LedgerFormats_8h_source.html#l00167">LedgerFormats.h:167</a></div></div>
<div class="ttc" id="anamespaceripple_html_a4a9c7b33fef9015d6406302ef80b63c5a2243e81f83c4191286c8c46bdd86d6f3"><div class="ttname"><a href="namespaceripple.html#a4a9c7b33fef9015d6406302ef80b63c5a2243e81f83c4191286c8c46bdd86d6f3">ripple::lsfRequireDestTag</a></div><div class="ttdeci">@ lsfRequireDestTag</div><div class="ttdef"><b>Definition:</b> <a href="LedgerFormats_8h_source.html#l00127">LedgerFormats.h:126</a></div></div>
<div class="ttc" id="anamespaceripple_html_a4a9c7b33fef9015d6406302ef80b63c5a3de81b62b486203f6b8e4f2cd0832ae1"><div class="ttname"><a href="namespaceripple.html#a4a9c7b33fef9015d6406302ef80b63c5a3de81b62b486203f6b8e4f2cd0832ae1">ripple::lsfDefaultRipple</a></div><div class="ttdeci">@ lsfDefaultRipple</div><div class="ttdef"><b>Definition:</b> <a href="LedgerFormats_8h_source.html#l00135">LedgerFormats.h:134</a></div></div>
<div class="ttc" id="anamespaceripple_html_a4a9c7b33fef9015d6406302ef80b63c5a4693afbe3079a71cd439cffeda515010"><div class="ttname"><a href="namespaceripple.html#a4a9c7b33fef9015d6406302ef80b63c5a4693afbe3079a71cd439cffeda515010">ripple::lsfHighFreeze</a></div><div class="ttdeci">@ lsfHighFreeze</div><div class="ttdef"><b>Definition:</b> <a href="LedgerFormats_8h_source.html#l00164">LedgerFormats.h:164</a></div></div>
<div class="ttc" id="anamespaceripple_html_a4a9c7b33fef9015d6406302ef80b63c5a4693afbe3079a71cd439cffeda515010"><div class="ttname"><a href="namespaceripple.html#a4a9c7b33fef9015d6406302ef80b63c5a4693afbe3079a71cd439cffeda515010">ripple::lsfHighFreeze</a></div><div class="ttdeci">@ lsfHighFreeze</div><div class="ttdef"><b>Definition:</b> <a href="LedgerFormats_8h_source.html#l00165">LedgerFormats.h:165</a></div></div>
<div class="ttc" id="anamespaceripple_html_a4a9c7b33fef9015d6406302ef80b63c5a74277ce2a45a0b253c18a4aa3c57b7c7"><div class="ttname"><a href="namespaceripple.html#a4a9c7b33fef9015d6406302ef80b63c5a74277ce2a45a0b253c18a4aa3c57b7c7">ripple::lsfDisableMaster</a></div><div class="ttdeci">@ lsfDisableMaster</div><div class="ttdef"><b>Definition:</b> <a href="LedgerFormats_8h_source.html#l00131">LedgerFormats.h:131</a></div></div>
<div class="ttc" id="anamespaceripple_html_a4a9c7b33fef9015d6406302ef80b63c5a873a48eb9d8f66315874a318df664f05"><div class="ttname"><a href="namespaceripple.html#a4a9c7b33fef9015d6406302ef80b63c5a873a48eb9d8f66315874a318df664f05">ripple::lsfDepositAuth</a></div><div class="ttdeci">@ lsfDepositAuth</div><div class="ttdef"><b>Definition:</b> <a href="LedgerFormats_8h_source.html#l00136">LedgerFormats.h:136</a></div></div>
<div class="ttc" id="anamespaceripple_html_a4a9c7b33fef9015d6406302ef80b63c5acc42435bd72cbd8094823e3316721f8d"><div class="ttname"><a href="namespaceripple.html#a4a9c7b33fef9015d6406302ef80b63c5acc42435bd72cbd8094823e3316721f8d">ripple::lsfLowFreeze</a></div><div class="ttdeci">@ lsfLowFreeze</div><div class="ttdef"><b>Definition:</b> <a href="LedgerFormats_8h_source.html#l00163">LedgerFormats.h:163</a></div></div>
<div class="ttc" id="anamespaceripple_html_a4a9c7b33fef9015d6406302ef80b63c5ae4ade68db17e8ced60ea7cff04c7fc6d"><div class="ttname"><a href="namespaceripple.html#a4a9c7b33fef9015d6406302ef80b63c5ae4ade68db17e8ced60ea7cff04c7fc6d">ripple::lsfLowDeepFreeze</a></div><div class="ttdeci">@ lsfLowDeepFreeze</div><div class="ttdef"><b>Definition:</b> <a href="LedgerFormats_8h_source.html#l00165">LedgerFormats.h:165</a></div></div>
<div class="ttc" id="anamespaceripple_html_a4a9c7b33fef9015d6406302ef80b63c5a9f6346dbd49b85ced4658b24df239b68"><div class="ttname"><a href="namespaceripple.html#a4a9c7b33fef9015d6406302ef80b63c5a9f6346dbd49b85ced4658b24df239b68">ripple::lsfHybrid</a></div><div class="ttdeci">@ lsfHybrid</div><div class="ttdef"><b>Definition:</b> <a href="LedgerFormats_8h_source.html#l00155">LedgerFormats.h:155</a></div></div>
<div class="ttc" id="anamespaceripple_html_a4a9c7b33fef9015d6406302ef80b63c5acc42435bd72cbd8094823e3316721f8d"><div class="ttname"><a href="namespaceripple.html#a4a9c7b33fef9015d6406302ef80b63c5acc42435bd72cbd8094823e3316721f8d">ripple::lsfLowFreeze</a></div><div class="ttdeci">@ lsfLowFreeze</div><div class="ttdef"><b>Definition:</b> <a href="LedgerFormats_8h_source.html#l00164">LedgerFormats.h:164</a></div></div>
<div class="ttc" id="anamespaceripple_html_a4a9c7b33fef9015d6406302ef80b63c5ae4ade68db17e8ced60ea7cff04c7fc6d"><div class="ttname"><a href="namespaceripple.html#a4a9c7b33fef9015d6406302ef80b63c5ae4ade68db17e8ced60ea7cff04c7fc6d">ripple::lsfLowDeepFreeze</a></div><div class="ttdeci">@ lsfLowDeepFreeze</div><div class="ttdef"><b>Definition:</b> <a href="LedgerFormats_8h_source.html#l00166">LedgerFormats.h:166</a></div></div>
<div class="ttc" id="anamespaceripple_html_a55a2a537e79363b71783d5f6eaca5abf"><div class="ttname"><a href="namespaceripple.html#a55a2a537e79363b71783d5f6eaca5abf">ripple::INITIAL_XRP</a></div><div class="ttdeci">constexpr XRPAmount INITIAL_XRP</div><div class="ttdoc">Configure the native currency.</div><div class="ttdef"><b>Definition:</b> <a href="SystemParameters_8h_source.html#l00044">SystemParameters.h:44</a></div></div>
<div class="ttc" id="anamespaceripple_html_a73ed0d6e9287f85c0042e3a5ca22dd18"><div class="ttname"><a href="namespaceripple.html#a73ed0d6e9287f85c0042e3a5ca22dd18">ripple::directAccountKeylets</a></div><div class="ttdeci">std::array&lt; keyletDesc&lt; AccountID const &amp; &gt;, 6 &gt; const directAccountKeylets</div><div class="ttdef"><b>Definition:</b> <a href="Indexes_8h_source.html#l00381">Indexes.h:381</a></div></div>
<div class="ttc" id="anamespaceripple_html_a75cb21d7f1df42f2fdc8efddb79b63f4a5de771586af2869a8ef8bac2731fd456"><div class="ttname"><a href="namespaceripple.html#a75cb21d7f1df42f2fdc8efddb79b63f4a5de771586af2869a8ef8bac2731fd456">ripple::tefINVARIANT_FAILED</a></div><div class="ttdeci">@ tefINVARIANT_FAILED</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00183">TER.h:183</a></div></div>
<div class="ttc" id="anamespaceripple_html_aa12dc40888e62814a55117d12ab2b454"><div class="ttname"><a href="namespaceripple.html#aa12dc40888e62814a55117d12ab2b454">ripple::trustDelete</a></div><div class="ttdeci">TER trustDelete(ApplyView &amp;view, std::shared_ptr&lt; SLE &gt; const &amp;sleRippleState, AccountID const &amp;uLowAccountID, AccountID const &amp;uHighAccountID, beast::Journal j)</div><div class="ttdef"><b>Definition:</b> <a href="View_8cpp_source.html#l01419">View.cpp:1419</a></div></div>
<div class="ttc" id="anamespaceripple_html_aa12dc40888e62814a55117d12ab2b454"><div class="ttname"><a href="namespaceripple.html#aa12dc40888e62814a55117d12ab2b454">ripple::trustDelete</a></div><div class="ttdeci">TER trustDelete(ApplyView &amp;view, std::shared_ptr&lt; SLE &gt; const &amp;sleRippleState, AccountID const &amp;uLowAccountID, AccountID const &amp;uHighAccountID, beast::Journal j)</div><div class="ttdef"><b>Definition:</b> <a href="View_8cpp_source.html#l01418">View.cpp:1418</a></div></div>
<div class="ttc" id="anamespaceripple_html_aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84"><div class="ttname"><a href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">ripple::tecINVARIANT_FAILED</a></div><div class="ttdeci">@ tecINVARIANT_FAILED</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00313">TER.h:313</a></div></div>
<div class="ttc" id="anamespaceripple_html_aabc7f150d5082c73116a1cd5962b434da28c7d8b3ed759d363503a05fcd59f151"><div class="ttname"><a href="namespaceripple.html#aabc7f150d5082c73116a1cd5962b434da28c7d8b3ed759d363503a05fcd59f151">ripple::tesSUCCESS</a></div><div class="ttdeci">@ tesSUCCESS</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00245">TER.h:244</a></div></div>
<div class="ttc" id="anamespaceripple_html_ac124fe6744b7fe887dec949b56b16d50"><div class="ttname"><a href="namespaceripple.html#ac124fe6744b7fe887dec949b56b16d50">ripple::to_string</a></div><div class="ttdeci">std::string to_string(base_uint&lt; Bits, Tag &gt; const &amp;a)</div><div class="ttdef"><b>Definition:</b> <a href="base__uint_8h_source.html#l00630">base_uint.h:630</a></div></div>
@@ -1479,6 +1655,7 @@ $(function() {
<div class="ttc" id="asize_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/initializer_list/size.html">std::initializer_list::size</a></div><div class="ttdeci">T size(T... args)</div></div>
<div class="ttc" id="asize_t_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a></div></div>
<div class="ttc" id="astructripple_1_1Keylet_html"><div class="ttname"><a href="structripple_1_1Keylet.html">ripple::Keylet</a></div><div class="ttdoc">A pair of SHAMap key and LedgerEntryType.</div><div class="ttdef"><b>Definition:</b> <a href="Keylet_8h_source.html#l00038">Keylet.h:39</a></div></div>
<div class="ttc" id="astructripple_1_1Keylet_html_a482983062843a8682fcea76a309c73db"><div class="ttname"><a href="structripple_1_1Keylet.html#a482983062843a8682fcea76a309c73db">ripple::Keylet::key</a></div><div class="ttdeci">uint256 key</div><div class="ttdef"><b>Definition:</b> <a href="Keylet_8h_source.html#l00040">Keylet.h:40</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="avector_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a></div></div>
</div><!-- fragment --></div><!-- contents -->