mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-21 03:26:01 +00:00
deploy: fda9e9a7ee
This commit is contained in:
@@ -161,151 +161,157 @@ $(function() {
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca1207baad8c378dc23cd2fa4c4276844d">tecNO_DST</a>;</div>
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  }</div>
|
||||
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  </div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keywordflow">if</span> ((sleDst->getFlags() & <a class="code" href="namespaceripple.html#a4a9c7b33fef9015d6406302ef80b63c5a2243e81f83c4191286c8c46bdd86d6f3">lsfRequireDestTag</a>) &&</div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  !ctx.<a class="code" href="structripple_1_1PreclaimContext.html#a8e1240b39791cf309b9caaffe8e5d306">tx</a>.<a class="code" href="classripple_1_1STObject.html#aaf5d617701ac3afc4ad6a13862459692">isFieldPresent</a>(<a class="code" href="namespaceripple.html#a999804f69d4c945a231d41eadabec2b8">sfDestinationTag</a>))</div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  {</div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="comment">// The tag is basically account-specific information we don't</span></div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="comment">// understand, but we can require someone to fill it in.</span></div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  JLOG(ctx.<a class="code" href="structripple_1_1PreclaimContext.html#a534551c8ca0dd7afc8fe9098bf9da780">j</a>.<a class="code" href="classbeast_1_1Journal.html#ad8fefe3e8ad583e1ed1bf02094ac3d8f">warn</a>()) << <span class="stringliteral">"Malformed transaction: DestinationTag required."</span>;</div>
|
||||
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa3ac7c997274040539a497cadc280b22">tecDST_TAG_NEEDED</a>;</div>
|
||||
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  }</div>
|
||||
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  </div>
|
||||
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  {</div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <a class="code" href="classripple_1_1STAmount.html">STAmount</a> <span class="keyword">const</span> sendMax{ctx.<a class="code" href="structripple_1_1PreclaimContext.html#a8e1240b39791cf309b9caaffe8e5d306">tx</a>[<a class="code" href="namespaceripple.html#aa693ff83cdfe0f5cb821db0000b22928">sfSendMax</a>]};</div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keywordflow">if</span> (!sendMax.native())</div>
|
||||
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  {</div>
|
||||
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="comment">// The currency may not be globally frozen</span></div>
|
||||
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <a class="code" href="classripple_1_1base__uint.html">AccountID</a> <span class="keyword">const</span>& issuerId{sendMax.getIssuer()};</div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceripple.html#afceeff5af7e62c5a6830be8fdacf749e">isGlobalFrozen</a>(ctx.<a class="code" href="structripple_1_1PreclaimContext.html#a05d5cf6207c1127c25dcd7c3f763b9c5">view</a>, issuerId))</div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  {</div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  JLOG(ctx.<a class="code" href="structripple_1_1PreclaimContext.html#a534551c8ca0dd7afc8fe9098bf9da780">j</a>.<a class="code" href="classbeast_1_1Journal.html#ad8fefe3e8ad583e1ed1bf02094ac3d8f">warn</a>()) << <span class="stringliteral">"Creating a check for frozen asset"</span>;</div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca608da193a4a22ae1c78d76b6e843b7e6">tecFROZEN</a>;</div>
|
||||
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  }</div>
|
||||
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="comment">// If this account has a trustline for the currency, that</span></div>
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="comment">// trustline may not be frozen.</span></div>
|
||||
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="comment">// Note that we DO allow create check for a currency that the</span></div>
|
||||
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="comment">// account does not yet have a trustline to.</span></div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <a class="code" href="classripple_1_1base__uint.html">AccountID</a> <span class="keyword">const</span> srcId{ctx.<a class="code" href="structripple_1_1PreclaimContext.html#a8e1240b39791cf309b9caaffe8e5d306">tx</a>.<a class="code" href="classripple_1_1STObject.html#a0d2d874d34a1c3ed432cdb9fb1386b35">getAccountID</a>(<a class="code" href="namespaceripple.html#a5bab99595719d22579e10d21cf048eb0">sfAccount</a>)};</div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keywordflow">if</span> (issuerId != srcId)</div>
|
||||
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  {</div>
|
||||
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="comment">// Check if the issuer froze the line</span></div>
|
||||
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keyword">auto</span> <span class="keyword">const</span> sleTrust = ctx.<a class="code" href="structripple_1_1PreclaimContext.html#a05d5cf6207c1127c25dcd7c3f763b9c5">view</a>.<a class="code" href="classripple_1_1ReadView.html#a3351e0244f921234d5ba005a07ddf539">read</a>(</div>
|
||||
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <a class="code" href="namespaceripple_1_1keylet.html#ad7913ec52c58534ee1601ab21956123f">keylet::line</a>(srcId, issuerId, sendMax.getCurrency()));</div>
|
||||
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="keywordflow">if</span> (sleTrust &&</div>
|
||||
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  sleTrust->isFlag(</div>
|
||||
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  (issuerId > srcId) ? <a class="code" href="namespaceripple.html#a4a9c7b33fef9015d6406302ef80b63c5a4693afbe3079a71cd439cffeda515010">lsfHighFreeze</a> : <a class="code" href="namespaceripple.html#a4a9c7b33fef9015d6406302ef80b63c5acc42435bd72cbd8094823e3316721f8d">lsfLowFreeze</a>))</div>
|
||||
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  {</div>
|
||||
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  JLOG(ctx.<a class="code" href="structripple_1_1PreclaimContext.html#a534551c8ca0dd7afc8fe9098bf9da780">j</a>.<a class="code" href="classbeast_1_1Journal.html#ad8fefe3e8ad583e1ed1bf02094ac3d8f">warn</a>())</div>
|
||||
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  << <span class="stringliteral">"Creating a check for frozen trustline."</span>;</div>
|
||||
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca608da193a4a22ae1c78d76b6e843b7e6">tecFROZEN</a>;</div>
|
||||
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  }</div>
|
||||
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  }</div>
|
||||
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <span class="keywordflow">if</span> (issuerId != dstId)</div>
|
||||
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  {</div>
|
||||
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="comment">// Check if dst froze the line.</span></div>
|
||||
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keyword">auto</span> <span class="keyword">const</span> sleTrust = ctx.<a class="code" href="structripple_1_1PreclaimContext.html#a05d5cf6207c1127c25dcd7c3f763b9c5">view</a>.<a class="code" href="classripple_1_1ReadView.html#a3351e0244f921234d5ba005a07ddf539">read</a>(</div>
|
||||
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <a class="code" href="namespaceripple_1_1keylet.html#ad7913ec52c58534ee1601ab21956123f">keylet::line</a>(issuerId, dstId, sendMax.getCurrency()));</div>
|
||||
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keywordflow">if</span> (sleTrust &&</div>
|
||||
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  sleTrust->isFlag(</div>
|
||||
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  (dstId > issuerId) ? <a class="code" href="namespaceripple.html#a4a9c7b33fef9015d6406302ef80b63c5a4693afbe3079a71cd439cffeda515010">lsfHighFreeze</a> : <a class="code" href="namespaceripple.html#a4a9c7b33fef9015d6406302ef80b63c5acc42435bd72cbd8094823e3316721f8d">lsfLowFreeze</a>))</div>
|
||||
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  {</div>
|
||||
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  JLOG(ctx.<a class="code" href="structripple_1_1PreclaimContext.html#a534551c8ca0dd7afc8fe9098bf9da780">j</a>.<a class="code" href="classbeast_1_1Journal.html#ad8fefe3e8ad583e1ed1bf02094ac3d8f">warn</a>())</div>
|
||||
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  << <span class="stringliteral">"Creating a check for destination frozen trustline."</span>;</div>
|
||||
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca608da193a4a22ae1c78d76b6e843b7e6">tecFROZEN</a>;</div>
|
||||
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  }</div>
|
||||
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  }</div>
|
||||
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  }</div>
|
||||
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  }</div>
|
||||
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceripple.html#ad574e2b04fc8231900df14881418af18">hasExpired</a>(ctx.<a class="code" href="structripple_1_1PreclaimContext.html#a05d5cf6207c1127c25dcd7c3f763b9c5">view</a>, ctx.<a class="code" href="structripple_1_1PreclaimContext.html#a8e1240b39791cf309b9caaffe8e5d306">tx</a>[~<a class="code" href="namespaceripple.html#ae3182ff3db5f7f67e4fe8bcd69316727">sfExpiration</a>]))</div>
|
||||
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  {</div>
|
||||
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  JLOG(ctx.<a class="code" href="structripple_1_1PreclaimContext.html#a534551c8ca0dd7afc8fe9098bf9da780">j</a>.<a class="code" href="classbeast_1_1Journal.html#ad8fefe3e8ad583e1ed1bf02094ac3d8f">warn</a>()) << <span class="stringliteral">"Creating a check that has already expired."</span>;</div>
|
||||
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caede598f88bbd44e4df1c4e0d418c4cdc">tecEXPIRED</a>;</div>
|
||||
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  }</div>
|
||||
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceripple.html#aabc7f150d5082c73116a1cd5962b434da28c7d8b3ed759d363503a05fcd59f151">tesSUCCESS</a>;</div>
|
||||
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> }</div>
|
||||
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  </div>
|
||||
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <a class="code" href="classripple_1_1TERSubset.html">TER</a></div>
|
||||
<div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="classripple_1_1CreateCheck.html#a2b5122782b5ebef169ac0c221709a2cc"> 158</a></span> <a class="code" href="classripple_1_1CreateCheck.html#a2b5122782b5ebef169ac0c221709a2cc">CreateCheck::doApply</a>()</div>
|
||||
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> {</div>
|
||||
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="keyword">auto</span> <span class="keyword">const</span> sle = <a class="code" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>().<a class="code" href="classripple_1_1ApplyView.html#aad9fb1233dec10dcc10c2e3b1da6a723">peek</a>(<a class="code" href="namespaceripple_1_1keylet.html#a50c370db96b4fdcdd202d9c2c38afce9">keylet::account</a>(<a class="code" href="classripple_1_1Transactor.html#a558a1d4288c859eb5875154a86435220">account_</a>));</div>
|
||||
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="keywordflow">if</span> (!sle)</div>
|
||||
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceripple.html#a75cb21d7f1df42f2fdc8efddb79b63f4ad035d214edc31c72362d7efbdaba234c">tefINTERNAL</a>;</div>
|
||||
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  </div>
|
||||
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="comment">// A check counts against the reserve of the issuing account, but we</span></div>
|
||||
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="comment">// check the starting balance because we want to allow dipping into the</span></div>
|
||||
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="comment">// reserve to pay fees.</span></div>
|
||||
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  {</div>
|
||||
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <a class="code" href="classripple_1_1STAmount.html">STAmount</a> <span class="keyword">const</span> reserve{</div>
|
||||
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <a class="code" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>().<a class="code" href="classripple_1_1ReadView.html#a9bbdb3fb4754482a8d6c6e6d25c2d1eb">fees</a>().<a class="code" href="structripple_1_1Fees.html#acb07843d0d0e3ccacd7cf51d5296fe40">accountReserve</a>(sle->getFieldU32(<a class="code" href="namespaceripple.html#aee6c41ec9be20b8705502ae9290ef2b0">sfOwnerCount</a>) + 1)};</div>
|
||||
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  </div>
|
||||
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keywordflow">if</span> (<a class="code" href="classripple_1_1Transactor.html#abb2f6f5d7fd8c663c5df76b6fcba2c49">mPriorBalance</a> < reserve)</div>
|
||||
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38cae930fb228ae74317976b57b4e87a7f0d">tecINSUFFICIENT_RESERVE</a>;</div>
|
||||
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  }</div>
|
||||
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  </div>
|
||||
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <span class="comment">// Note that we use the value from the sequence or ticket as the</span></div>
|
||||
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <span class="comment">// Check sequence. For more explanation see comments in SeqProxy.h.</span></div>
|
||||
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> <span class="keyword">const</span> seq = <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a8c8757b3b1f88baef47b31ed4e9682d0">tx</a>.<a class="code" href="classripple_1_1STTx.html#a42464c41715a5d90dfa3240118d62d9c">getSeqProxy</a>().<a class="code" href="classripple_1_1SeqProxy.html#a41c206bf5f44fe0b3f99f2dd42b0259c">value</a>();</div>
|
||||
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <a class="code" href="structripple_1_1Keylet.html">Keylet</a> <span class="keyword">const</span> checkKeylet = <a class="code" href="namespaceripple_1_1keylet.html#a66624dcb8f66cb8548d032ff97030aa4">keylet::check</a>(<a class="code" href="classripple_1_1Transactor.html#a558a1d4288c859eb5875154a86435220">account_</a>, seq);</div>
|
||||
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="keyword">auto</span> sleCheck = std::make_shared<SLE>(checkKeylet);</div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keyword">auto</span> <span class="keyword">const</span> flags = sleDst->getFlags();</div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  </div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="comment">// Check if the destination has disallowed incoming checks</span></div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="keywordflow">if</span> (ctx.<a class="code" href="structripple_1_1PreclaimContext.html#a05d5cf6207c1127c25dcd7c3f763b9c5">view</a>.<a class="code" href="classripple_1_1ReadView.html#aaf2fa03be723bb78d8bdf41614a75a30">rules</a>().<a class="code" href="classripple_1_1Rules.html#a1a8388a2b9588aa9446ece92a88e0dd2">enabled</a>(<a class="code" href="namespaceripple.html#a2abe85419644def21413627f484a8df0">featureDisallowIncoming</a>) &&</div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  (flags & <a class="code" href="namespaceripple.html#a4a9c7b33fef9015d6406302ef80b63c5a494f22c192b84673b1ff1e17e1b4304a">lsfDisallowIncomingCheck</a>))</div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca9af7057961bc54674f4a6c2dd8ed6ab9">tecNO_PERMISSION</a>;</div>
|
||||
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  </div>
|
||||
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keywordflow">if</span> ((flags & <a class="code" href="namespaceripple.html#a4a9c7b33fef9015d6406302ef80b63c5a2243e81f83c4191286c8c46bdd86d6f3">lsfRequireDestTag</a>) && !ctx.<a class="code" href="structripple_1_1PreclaimContext.html#a8e1240b39791cf309b9caaffe8e5d306">tx</a>.<a class="code" href="classripple_1_1STObject.html#aaf5d617701ac3afc4ad6a13862459692">isFieldPresent</a>(<a class="code" href="namespaceripple.html#a999804f69d4c945a231d41eadabec2b8">sfDestinationTag</a>))</div>
|
||||
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  {</div>
|
||||
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="comment">// The tag is basically account-specific information we don't</span></div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="comment">// understand, but we can require someone to fill it in.</span></div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  JLOG(ctx.<a class="code" href="structripple_1_1PreclaimContext.html#a534551c8ca0dd7afc8fe9098bf9da780">j</a>.<a class="code" href="classbeast_1_1Journal.html#ad8fefe3e8ad583e1ed1bf02094ac3d8f">warn</a>()) << <span class="stringliteral">"Malformed transaction: DestinationTag required."</span>;</div>
|
||||
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa3ac7c997274040539a497cadc280b22">tecDST_TAG_NEEDED</a>;</div>
|
||||
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  }</div>
|
||||
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  </div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  {</div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <a class="code" href="classripple_1_1STAmount.html">STAmount</a> <span class="keyword">const</span> sendMax{ctx.<a class="code" href="structripple_1_1PreclaimContext.html#a8e1240b39791cf309b9caaffe8e5d306">tx</a>[<a class="code" href="namespaceripple.html#aa693ff83cdfe0f5cb821db0000b22928">sfSendMax</a>]};</div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keywordflow">if</span> (!sendMax.native())</div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  {</div>
|
||||
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="comment">// The currency may not be globally frozen</span></div>
|
||||
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <a class="code" href="classripple_1_1base__uint.html">AccountID</a> <span class="keyword">const</span>& issuerId{sendMax.getIssuer()};</div>
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceripple.html#afceeff5af7e62c5a6830be8fdacf749e">isGlobalFrozen</a>(ctx.<a class="code" href="structripple_1_1PreclaimContext.html#a05d5cf6207c1127c25dcd7c3f763b9c5">view</a>, issuerId))</div>
|
||||
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  {</div>
|
||||
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  JLOG(ctx.<a class="code" href="structripple_1_1PreclaimContext.html#a534551c8ca0dd7afc8fe9098bf9da780">j</a>.<a class="code" href="classbeast_1_1Journal.html#ad8fefe3e8ad583e1ed1bf02094ac3d8f">warn</a>()) << <span class="stringliteral">"Creating a check for frozen asset"</span>;</div>
|
||||
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca608da193a4a22ae1c78d76b6e843b7e6">tecFROZEN</a>;</div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  }</div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="comment">// If this account has a trustline for the currency, that</span></div>
|
||||
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="comment">// trustline may not be frozen.</span></div>
|
||||
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="comment">// Note that we DO allow create check for a currency that the</span></div>
|
||||
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="comment">// account does not yet have a trustline to.</span></div>
|
||||
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <a class="code" href="classripple_1_1base__uint.html">AccountID</a> <span class="keyword">const</span> srcId{ctx.<a class="code" href="structripple_1_1PreclaimContext.html#a8e1240b39791cf309b9caaffe8e5d306">tx</a>.<a class="code" href="classripple_1_1STObject.html#a0d2d874d34a1c3ed432cdb9fb1386b35">getAccountID</a>(<a class="code" href="namespaceripple.html#a5bab99595719d22579e10d21cf048eb0">sfAccount</a>)};</div>
|
||||
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keywordflow">if</span> (issuerId != srcId)</div>
|
||||
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  {</div>
|
||||
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="comment">// Check if the issuer froze the line</span></div>
|
||||
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <span class="keyword">auto</span> <span class="keyword">const</span> sleTrust = ctx.<a class="code" href="structripple_1_1PreclaimContext.html#a05d5cf6207c1127c25dcd7c3f763b9c5">view</a>.<a class="code" href="classripple_1_1ReadView.html#a3351e0244f921234d5ba005a07ddf539">read</a>(</div>
|
||||
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <a class="code" href="namespaceripple_1_1keylet.html#ad7913ec52c58534ee1601ab21956123f">keylet::line</a>(srcId, issuerId, sendMax.getCurrency()));</div>
|
||||
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <span class="keywordflow">if</span> (sleTrust &&</div>
|
||||
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  sleTrust->isFlag(</div>
|
||||
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  (issuerId > srcId) ? <a class="code" href="namespaceripple.html#a4a9c7b33fef9015d6406302ef80b63c5a4693afbe3079a71cd439cffeda515010">lsfHighFreeze</a> : <a class="code" href="namespaceripple.html#a4a9c7b33fef9015d6406302ef80b63c5acc42435bd72cbd8094823e3316721f8d">lsfLowFreeze</a>))</div>
|
||||
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  {</div>
|
||||
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  JLOG(ctx.<a class="code" href="structripple_1_1PreclaimContext.html#a534551c8ca0dd7afc8fe9098bf9da780">j</a>.<a class="code" href="classbeast_1_1Journal.html#ad8fefe3e8ad583e1ed1bf02094ac3d8f">warn</a>())</div>
|
||||
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  << <span class="stringliteral">"Creating a check for frozen trustline."</span>;</div>
|
||||
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca608da193a4a22ae1c78d76b6e843b7e6">tecFROZEN</a>;</div>
|
||||
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  }</div>
|
||||
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  }</div>
|
||||
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keywordflow">if</span> (issuerId != dstId)</div>
|
||||
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  {</div>
|
||||
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="comment">// Check if dst froze the line.</span></div>
|
||||
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keyword">auto</span> <span class="keyword">const</span> sleTrust = ctx.<a class="code" href="structripple_1_1PreclaimContext.html#a05d5cf6207c1127c25dcd7c3f763b9c5">view</a>.<a class="code" href="classripple_1_1ReadView.html#a3351e0244f921234d5ba005a07ddf539">read</a>(</div>
|
||||
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <a class="code" href="namespaceripple_1_1keylet.html#ad7913ec52c58534ee1601ab21956123f">keylet::line</a>(issuerId, dstId, sendMax.getCurrency()));</div>
|
||||
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keywordflow">if</span> (sleTrust &&</div>
|
||||
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  sleTrust->isFlag(</div>
|
||||
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  (dstId > issuerId) ? <a class="code" href="namespaceripple.html#a4a9c7b33fef9015d6406302ef80b63c5a4693afbe3079a71cd439cffeda515010">lsfHighFreeze</a> : <a class="code" href="namespaceripple.html#a4a9c7b33fef9015d6406302ef80b63c5acc42435bd72cbd8094823e3316721f8d">lsfLowFreeze</a>))</div>
|
||||
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  {</div>
|
||||
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  JLOG(ctx.<a class="code" href="structripple_1_1PreclaimContext.html#a534551c8ca0dd7afc8fe9098bf9da780">j</a>.<a class="code" href="classbeast_1_1Journal.html#ad8fefe3e8ad583e1ed1bf02094ac3d8f">warn</a>())</div>
|
||||
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  << <span class="stringliteral">"Creating a check for destination frozen trustline."</span>;</div>
|
||||
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca608da193a4a22ae1c78d76b6e843b7e6">tecFROZEN</a>;</div>
|
||||
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  }</div>
|
||||
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  }</div>
|
||||
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  }</div>
|
||||
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  }</div>
|
||||
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceripple.html#ad574e2b04fc8231900df14881418af18">hasExpired</a>(ctx.<a class="code" href="structripple_1_1PreclaimContext.html#a05d5cf6207c1127c25dcd7c3f763b9c5">view</a>, ctx.<a class="code" href="structripple_1_1PreclaimContext.html#a8e1240b39791cf309b9caaffe8e5d306">tx</a>[~<a class="code" href="namespaceripple.html#ae3182ff3db5f7f67e4fe8bcd69316727">sfExpiration</a>]))</div>
|
||||
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  {</div>
|
||||
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  JLOG(ctx.<a class="code" href="structripple_1_1PreclaimContext.html#a534551c8ca0dd7afc8fe9098bf9da780">j</a>.<a class="code" href="classbeast_1_1Journal.html#ad8fefe3e8ad583e1ed1bf02094ac3d8f">warn</a>()) << <span class="stringliteral">"Creating a check that has already expired."</span>;</div>
|
||||
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caede598f88bbd44e4df1c4e0d418c4cdc">tecEXPIRED</a>;</div>
|
||||
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  }</div>
|
||||
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceripple.html#aabc7f150d5082c73116a1cd5962b434da28c7d8b3ed759d363503a05fcd59f151">tesSUCCESS</a>;</div>
|
||||
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> }</div>
|
||||
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  </div>
|
||||
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <a class="code" href="classripple_1_1TERSubset.html">TER</a></div>
|
||||
<div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="classripple_1_1CreateCheck.html#a2b5122782b5ebef169ac0c221709a2cc"> 164</a></span> <a class="code" href="classripple_1_1CreateCheck.html#a2b5122782b5ebef169ac0c221709a2cc">CreateCheck::doApply</a>()</div>
|
||||
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> {</div>
|
||||
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keyword">auto</span> <span class="keyword">const</span> sle = <a class="code" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>().<a class="code" href="classripple_1_1ApplyView.html#aad9fb1233dec10dcc10c2e3b1da6a723">peek</a>(<a class="code" href="namespaceripple_1_1keylet.html#a50c370db96b4fdcdd202d9c2c38afce9">keylet::account</a>(<a class="code" href="classripple_1_1Transactor.html#a558a1d4288c859eb5875154a86435220">account_</a>));</div>
|
||||
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <span class="keywordflow">if</span> (!sle)</div>
|
||||
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceripple.html#a75cb21d7f1df42f2fdc8efddb79b63f4ad035d214edc31c72362d7efbdaba234c">tefINTERNAL</a>;</div>
|
||||
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  </div>
|
||||
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="comment">// A check counts against the reserve of the issuing account, but we</span></div>
|
||||
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="comment">// check the starting balance because we want to allow dipping into the</span></div>
|
||||
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="comment">// reserve to pay fees.</span></div>
|
||||
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  {</div>
|
||||
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <a class="code" href="classripple_1_1STAmount.html">STAmount</a> <span class="keyword">const</span> reserve{</div>
|
||||
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <a class="code" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>().<a class="code" href="classripple_1_1ReadView.html#a9bbdb3fb4754482a8d6c6e6d25c2d1eb">fees</a>().<a class="code" href="structripple_1_1Fees.html#acb07843d0d0e3ccacd7cf51d5296fe40">accountReserve</a>(sle->getFieldU32(<a class="code" href="namespaceripple.html#aee6c41ec9be20b8705502ae9290ef2b0">sfOwnerCount</a>) + 1)};</div>
|
||||
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  </div>
|
||||
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <span class="keywordflow">if</span> (<a class="code" href="classripple_1_1Transactor.html#abb2f6f5d7fd8c663c5df76b6fcba2c49">mPriorBalance</a> < reserve)</div>
|
||||
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38cae930fb228ae74317976b57b4e87a7f0d">tecINSUFFICIENT_RESERVE</a>;</div>
|
||||
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  }</div>
|
||||
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  </div>
|
||||
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  sleCheck->setAccountID(<a class="code" href="namespaceripple.html#a5bab99595719d22579e10d21cf048eb0">sfAccount</a>, <a class="code" href="classripple_1_1Transactor.html#a558a1d4288c859eb5875154a86435220">account_</a>);</div>
|
||||
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <a class="code" href="classripple_1_1base__uint.html">AccountID</a> <span class="keyword">const</span> dstAccountId = <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a8c8757b3b1f88baef47b31ed4e9682d0">tx</a>[<a class="code" href="namespaceripple.html#a15aa3b3032d0908932dc5abf4b1ef862">sfDestination</a>];</div>
|
||||
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  sleCheck-><a class="code" href="classripple_1_1STObject.html#ab503dfe8edde82e6c80719cc73201a6d">setAccountID</a>(<a class="code" href="namespaceripple.html#a15aa3b3032d0908932dc5abf4b1ef862">sfDestination</a>, dstAccountId);</div>
|
||||
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  sleCheck->setFieldU32(<a class="code" href="namespaceripple.html#a586714bf3cbbbb406d6f169742bce0d5">sfSequence</a>, seq);</div>
|
||||
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  sleCheck->setFieldAmount(<a class="code" href="namespaceripple.html#aa693ff83cdfe0f5cb821db0000b22928">sfSendMax</a>, <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a8c8757b3b1f88baef47b31ed4e9682d0">tx</a>[<a class="code" href="namespaceripple.html#aa693ff83cdfe0f5cb821db0000b22928">sfSendMax</a>]);</div>
|
||||
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="keywordflow">if</span> (<span class="keyword">auto</span> <span class="keyword">const</span> srcTag = <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a8c8757b3b1f88baef47b31ed4e9682d0">tx</a>[~<a class="code" href="namespaceripple.html#a09466f7a28305870168651ea5f34340e">sfSourceTag</a>])</div>
|
||||
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  sleCheck->setFieldU32(<a class="code" href="namespaceripple.html#a09466f7a28305870168651ea5f34340e">sfSourceTag</a>, *srcTag);</div>
|
||||
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <span class="keywordflow">if</span> (<span class="keyword">auto</span> <span class="keyword">const</span> dstTag = <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a8c8757b3b1f88baef47b31ed4e9682d0">tx</a>[~<a class="code" href="namespaceripple.html#a999804f69d4c945a231d41eadabec2b8">sfDestinationTag</a>])</div>
|
||||
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  sleCheck->setFieldU32(<a class="code" href="namespaceripple.html#a999804f69d4c945a231d41eadabec2b8">sfDestinationTag</a>, *dstTag);</div>
|
||||
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  <span class="keywordflow">if</span> (<span class="keyword">auto</span> <span class="keyword">const</span> invoiceId = <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a8c8757b3b1f88baef47b31ed4e9682d0">tx</a>[~<a class="code" href="namespaceripple.html#aa4ddd63a8c28c5c757c0c73982cf8c90">sfInvoiceID</a>])</div>
|
||||
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  sleCheck->setFieldH256(<a class="code" href="namespaceripple.html#aa4ddd63a8c28c5c757c0c73982cf8c90">sfInvoiceID</a>, *invoiceId);</div>
|
||||
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <span class="keywordflow">if</span> (<span class="keyword">auto</span> <span class="keyword">const</span> expiry = <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a8c8757b3b1f88baef47b31ed4e9682d0">tx</a>[~<a class="code" href="namespaceripple.html#ae3182ff3db5f7f67e4fe8bcd69316727">sfExpiration</a>])</div>
|
||||
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  sleCheck->setFieldU32(<a class="code" href="namespaceripple.html#ae3182ff3db5f7f67e4fe8bcd69316727">sfExpiration</a>, *expiry);</div>
|
||||
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  </div>
|
||||
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <a class="code" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>().<a class="code" href="classripple_1_1ApplyView.html#aa3c5b5cd9dca5f906be4b36640706e3c">insert</a>(sleCheck);</div>
|
||||
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  </div>
|
||||
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="keyword">auto</span> viewJ = <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a6ec1f10e560afe30ed435c3f7eea715d">app</a>.<a class="code" href="classripple_1_1Application.html#a2897c28a5b5040e80e66f676d201d03f">journal</a>(<span class="stringliteral">"View"</span>);</div>
|
||||
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <span class="comment">// If it's not a self-send (and it shouldn't be), add Check to the</span></div>
|
||||
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <span class="comment">// destination's owner directory.</span></div>
|
||||
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <span class="keywordflow">if</span> (dstAccountId != <a class="code" href="classripple_1_1Transactor.html#a558a1d4288c859eb5875154a86435220">account_</a>)</div>
|
||||
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  {</div>
|
||||
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <span class="keyword">auto</span> <span class="keyword">const</span> page = <a class="code" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>().<a class="code" href="classripple_1_1ApplyView.html#ade751364c7a9580032ef5988a953a6ee">dirInsert</a>(</div>
|
||||
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <a class="code" href="namespaceripple_1_1keylet.html#aa9b2ba2df3c3da4cecd1c07cccf7c7f9">keylet::ownerDir</a>(dstAccountId),</div>
|
||||
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  checkKeylet,</div>
|
||||
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <a class="code" href="namespaceripple.html#a5b498122d9b8c1acbeb9fe459faac22b">describeOwnerDir</a>(dstAccountId));</div>
|
||||
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  </div>
|
||||
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  JLOG(<a class="code" href="classripple_1_1Transactor.html#aafdaa4e246ee6879df9cbbf2482dcc7d">j_</a>.<a class="code" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>()) << <span class="stringliteral">"Adding Check to destination directory "</span></div>
|
||||
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  << <a class="code" href="namespaceripple.html#af9776f187d3686a7fba4c2d2fbeebdf4">to_string</a>(checkKeylet.<a class="code" href="structripple_1_1Keylet.html#a482983062843a8682fcea76a309c73db">key</a>) << <span class="stringliteral">": "</span></div>
|
||||
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  << (page ? <span class="stringliteral">"success"</span> : <span class="stringliteral">"failure"</span>);</div>
|
||||
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  </div>
|
||||
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <span class="keywordflow">if</span> (!page)</div>
|
||||
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca4f19fdbc12c26412215f3477f70d5feb">tecDIR_FULL</a>;</div>
|
||||
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  </div>
|
||||
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  sleCheck->setFieldU64(<a class="code" href="namespaceripple.html#abbc38ffa7150da1f1beced78bf0800d2">sfDestinationNode</a>, *page);</div>
|
||||
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  }</div>
|
||||
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <span class="comment">// Note that we use the value from the sequence or ticket as the</span></div>
|
||||
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <span class="comment">// Check sequence. For more explanation see comments in SeqProxy.h.</span></div>
|
||||
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> <span class="keyword">const</span> seq = <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a8c8757b3b1f88baef47b31ed4e9682d0">tx</a>.<a class="code" href="classripple_1_1STTx.html#a42464c41715a5d90dfa3240118d62d9c">getSeqProxy</a>().<a class="code" href="classripple_1_1SeqProxy.html#a41c206bf5f44fe0b3f99f2dd42b0259c">value</a>();</div>
|
||||
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <a class="code" href="structripple_1_1Keylet.html">Keylet</a> <span class="keyword">const</span> checkKeylet = <a class="code" href="namespaceripple_1_1keylet.html#a66624dcb8f66cb8548d032ff97030aa4">keylet::check</a>(<a class="code" href="classripple_1_1Transactor.html#a558a1d4288c859eb5875154a86435220">account_</a>, seq);</div>
|
||||
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <span class="keyword">auto</span> sleCheck = std::make_shared<SLE>(checkKeylet);</div>
|
||||
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  </div>
|
||||
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  sleCheck->setAccountID(<a class="code" href="namespaceripple.html#a5bab99595719d22579e10d21cf048eb0">sfAccount</a>, <a class="code" href="classripple_1_1Transactor.html#a558a1d4288c859eb5875154a86435220">account_</a>);</div>
|
||||
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <a class="code" href="classripple_1_1base__uint.html">AccountID</a> <span class="keyword">const</span> dstAccountId = <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a8c8757b3b1f88baef47b31ed4e9682d0">tx</a>[<a class="code" href="namespaceripple.html#a15aa3b3032d0908932dc5abf4b1ef862">sfDestination</a>];</div>
|
||||
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  sleCheck-><a class="code" href="classripple_1_1STObject.html#ab503dfe8edde82e6c80719cc73201a6d">setAccountID</a>(<a class="code" href="namespaceripple.html#a15aa3b3032d0908932dc5abf4b1ef862">sfDestination</a>, dstAccountId);</div>
|
||||
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  sleCheck->setFieldU32(<a class="code" href="namespaceripple.html#a586714bf3cbbbb406d6f169742bce0d5">sfSequence</a>, seq);</div>
|
||||
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  sleCheck->setFieldAmount(<a class="code" href="namespaceripple.html#aa693ff83cdfe0f5cb821db0000b22928">sfSendMax</a>, <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a8c8757b3b1f88baef47b31ed4e9682d0">tx</a>[<a class="code" href="namespaceripple.html#aa693ff83cdfe0f5cb821db0000b22928">sfSendMax</a>]);</div>
|
||||
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <span class="keywordflow">if</span> (<span class="keyword">auto</span> <span class="keyword">const</span> srcTag = <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a8c8757b3b1f88baef47b31ed4e9682d0">tx</a>[~<a class="code" href="namespaceripple.html#a09466f7a28305870168651ea5f34340e">sfSourceTag</a>])</div>
|
||||
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  sleCheck->setFieldU32(<a class="code" href="namespaceripple.html#a09466f7a28305870168651ea5f34340e">sfSourceTag</a>, *srcTag);</div>
|
||||
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <span class="keywordflow">if</span> (<span class="keyword">auto</span> <span class="keyword">const</span> dstTag = <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a8c8757b3b1f88baef47b31ed4e9682d0">tx</a>[~<a class="code" href="namespaceripple.html#a999804f69d4c945a231d41eadabec2b8">sfDestinationTag</a>])</div>
|
||||
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  sleCheck->setFieldU32(<a class="code" href="namespaceripple.html#a999804f69d4c945a231d41eadabec2b8">sfDestinationTag</a>, *dstTag);</div>
|
||||
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <span class="keywordflow">if</span> (<span class="keyword">auto</span> <span class="keyword">const</span> invoiceId = <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a8c8757b3b1f88baef47b31ed4e9682d0">tx</a>[~<a class="code" href="namespaceripple.html#aa4ddd63a8c28c5c757c0c73982cf8c90">sfInvoiceID</a>])</div>
|
||||
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  sleCheck->setFieldH256(<a class="code" href="namespaceripple.html#aa4ddd63a8c28c5c757c0c73982cf8c90">sfInvoiceID</a>, *invoiceId);</div>
|
||||
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <span class="keywordflow">if</span> (<span class="keyword">auto</span> <span class="keyword">const</span> expiry = <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a8c8757b3b1f88baef47b31ed4e9682d0">tx</a>[~<a class="code" href="namespaceripple.html#ae3182ff3db5f7f67e4fe8bcd69316727">sfExpiration</a>])</div>
|
||||
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  sleCheck->setFieldU32(<a class="code" href="namespaceripple.html#ae3182ff3db5f7f67e4fe8bcd69316727">sfExpiration</a>, *expiry);</div>
|
||||
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  </div>
|
||||
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <a class="code" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>().<a class="code" href="classripple_1_1ApplyView.html#aa3c5b5cd9dca5f906be4b36640706e3c">insert</a>(sleCheck);</div>
|
||||
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  </div>
|
||||
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="keyword">auto</span> viewJ = <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a6ec1f10e560afe30ed435c3f7eea715d">app</a>.<a class="code" href="classripple_1_1Application.html#a2897c28a5b5040e80e66f676d201d03f">journal</a>(<span class="stringliteral">"View"</span>);</div>
|
||||
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <span class="comment">// If it's not a self-send (and it shouldn't be), add Check to the</span></div>
|
||||
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <span class="comment">// destination's owner directory.</span></div>
|
||||
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="keywordflow">if</span> (dstAccountId != <a class="code" href="classripple_1_1Transactor.html#a558a1d4288c859eb5875154a86435220">account_</a>)</div>
|
||||
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  {</div>
|
||||
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <span class="keyword">auto</span> <span class="keyword">const</span> page = <a class="code" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>().<a class="code" href="classripple_1_1ApplyView.html#ade751364c7a9580032ef5988a953a6ee">dirInsert</a>(</div>
|
||||
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <a class="code" href="namespaceripple_1_1keylet.html#aa9b2ba2df3c3da4cecd1c07cccf7c7f9">keylet::ownerDir</a>(dstAccountId),</div>
|
||||
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  checkKeylet,</div>
|
||||
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <a class="code" href="namespaceripple.html#a5b498122d9b8c1acbeb9fe459faac22b">describeOwnerDir</a>(dstAccountId));</div>
|
||||
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  </div>
|
||||
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  JLOG(<a class="code" href="classripple_1_1Transactor.html#aafdaa4e246ee6879df9cbbf2482dcc7d">j_</a>.<a class="code" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>()) << <span class="stringliteral">"Adding Check to destination directory "</span></div>
|
||||
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  << <a class="code" href="namespaceripple.html#af9776f187d3686a7fba4c2d2fbeebdf4">to_string</a>(checkKeylet.<a class="code" href="structripple_1_1Keylet.html#a482983062843a8682fcea76a309c73db">key</a>) << <span class="stringliteral">": "</span></div>
|
||||
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  << (page ? <span class="stringliteral">"success"</span> : <span class="stringliteral">"failure"</span>);</div>
|
||||
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  </div>
|
||||
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  {</div>
|
||||
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <span class="keyword">auto</span> <span class="keyword">const</span> page = <a class="code" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>().<a class="code" href="classripple_1_1ApplyView.html#ade751364c7a9580032ef5988a953a6ee">dirInsert</a>(</div>
|
||||
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <a class="code" href="namespaceripple_1_1keylet.html#aa9b2ba2df3c3da4cecd1c07cccf7c7f9">keylet::ownerDir</a>(<a class="code" href="classripple_1_1Transactor.html#a558a1d4288c859eb5875154a86435220">account_</a>),</div>
|
||||
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  checkKeylet,</div>
|
||||
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <a class="code" href="namespaceripple.html#a5b498122d9b8c1acbeb9fe459faac22b">describeOwnerDir</a>(<a class="code" href="classripple_1_1Transactor.html#a558a1d4288c859eb5875154a86435220">account_</a>));</div>
|
||||
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <span class="keywordflow">if</span> (!page)</div>
|
||||
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca4f19fdbc12c26412215f3477f70d5feb">tecDIR_FULL</a>;</div>
|
||||
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  </div>
|
||||
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  sleCheck->setFieldU64(<a class="code" href="namespaceripple.html#abbc38ffa7150da1f1beced78bf0800d2">sfDestinationNode</a>, *page);</div>
|
||||
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  }</div>
|
||||
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  </div>
|
||||
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  JLOG(<a class="code" href="classripple_1_1Transactor.html#aafdaa4e246ee6879df9cbbf2482dcc7d">j_</a>.<a class="code" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>()) << <span class="stringliteral">"Adding Check to owner directory "</span></div>
|
||||
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  << <a class="code" href="namespaceripple.html#af9776f187d3686a7fba4c2d2fbeebdf4">to_string</a>(checkKeylet.<a class="code" href="structripple_1_1Keylet.html#a482983062843a8682fcea76a309c73db">key</a>) << <span class="stringliteral">": "</span></div>
|
||||
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  << (page ? <span class="stringliteral">"success"</span> : <span class="stringliteral">"failure"</span>);</div>
|
||||
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  </div>
|
||||
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <span class="keywordflow">if</span> (!page)</div>
|
||||
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca4f19fdbc12c26412215f3477f70d5feb">tecDIR_FULL</a>;</div>
|
||||
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  </div>
|
||||
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  sleCheck->setFieldU64(<a class="code" href="namespaceripple.html#a7038e25fafd9239c031a42b0f285ddf4">sfOwnerNode</a>, *page);</div>
|
||||
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  }</div>
|
||||
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <span class="comment">// If we succeeded, the new entry counts against the creator's reserve.</span></div>
|
||||
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <a class="code" href="namespaceripple.html#a7e31af9d90dac8c9e4272bf597d83fb4">adjustOwnerCount</a>(<a class="code" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>(), sle, 1, viewJ);</div>
|
||||
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceripple.html#aabc7f150d5082c73116a1cd5962b434da28c7d8b3ed759d363503a05fcd59f151">tesSUCCESS</a>;</div>
|
||||
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> }</div>
|
||||
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  </div>
|
||||
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> } <span class="comment">// namespace ripple</span></div>
|
||||
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  {</div>
|
||||
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="keyword">auto</span> <span class="keyword">const</span> page = <a class="code" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>().<a class="code" href="classripple_1_1ApplyView.html#ade751364c7a9580032ef5988a953a6ee">dirInsert</a>(</div>
|
||||
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <a class="code" href="namespaceripple_1_1keylet.html#aa9b2ba2df3c3da4cecd1c07cccf7c7f9">keylet::ownerDir</a>(<a class="code" href="classripple_1_1Transactor.html#a558a1d4288c859eb5875154a86435220">account_</a>),</div>
|
||||
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  checkKeylet,</div>
|
||||
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <a class="code" href="namespaceripple.html#a5b498122d9b8c1acbeb9fe459faac22b">describeOwnerDir</a>(<a class="code" href="classripple_1_1Transactor.html#a558a1d4288c859eb5875154a86435220">account_</a>));</div>
|
||||
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  </div>
|
||||
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  JLOG(<a class="code" href="classripple_1_1Transactor.html#aafdaa4e246ee6879df9cbbf2482dcc7d">j_</a>.<a class="code" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>()) << <span class="stringliteral">"Adding Check to owner directory "</span></div>
|
||||
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  << <a class="code" href="namespaceripple.html#af9776f187d3686a7fba4c2d2fbeebdf4">to_string</a>(checkKeylet.<a class="code" href="structripple_1_1Keylet.html#a482983062843a8682fcea76a309c73db">key</a>) << <span class="stringliteral">": "</span></div>
|
||||
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  << (page ? <span class="stringliteral">"success"</span> : <span class="stringliteral">"failure"</span>);</div>
|
||||
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  </div>
|
||||
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <span class="keywordflow">if</span> (!page)</div>
|
||||
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca4f19fdbc12c26412215f3477f70d5feb">tecDIR_FULL</a>;</div>
|
||||
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  </div>
|
||||
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  sleCheck->setFieldU64(<a class="code" href="namespaceripple.html#a7038e25fafd9239c031a42b0f285ddf4">sfOwnerNode</a>, *page);</div>
|
||||
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  }</div>
|
||||
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <span class="comment">// If we succeeded, the new entry counts against the creator's reserve.</span></div>
|
||||
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  <a class="code" href="namespaceripple.html#a7e31af9d90dac8c9e4272bf597d83fb4">adjustOwnerCount</a>(<a class="code" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>(), sle, 1, viewJ);</div>
|
||||
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceripple.html#aabc7f150d5082c73116a1cd5962b434da28c7d8b3ed759d363503a05fcd59f151">tesSUCCESS</a>;</div>
|
||||
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> }</div>
|
||||
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  </div>
|
||||
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> } <span class="comment">// namespace ripple</span></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<div class="ttc" id="anamespaceripple_html_a0d78fe5b5eff36774b5be525cbcc3972"><div class="ttname"><a href="namespaceripple.html#a0d78fe5b5eff36774b5be525cbcc3972">ripple::badCurrency</a></div><div class="ttdeci">Currency const & badCurrency()</div><div class="ttdoc">We deliberately disallow the currency that looks like "XRP" because too many people were using it ins...</div><div class="ttdef"><b>Definition:</b> <a href="UintTypes_8cpp_source.html#l00135">UintTypes.cpp:135</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1keylet_html_aa9b2ba2df3c3da4cecd1c07cccf7c7f9"><div class="ttname"><a href="namespaceripple_1_1keylet.html#aa9b2ba2df3c3da4cecd1c07cccf7c7f9">ripple::keylet::ownerDir</a></div><div class="ttdeci">Keylet ownerDir(AccountID const &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#l00303">Indexes.cpp:303</a></div></div>
|
||||
@@ -346,6 +352,7 @@ $(function() {
|
||||
<div class="ttc" id="aclassripple_1_1CreateCheck_html_aea55a8ef9cb38986dc57582062a86a1d"><div class="ttname"><a href="classripple_1_1CreateCheck.html#aea55a8ef9cb38986dc57582062a86a1d">ripple::CreateCheck::preclaim</a></div><div class="ttdeci">static TER preclaim(PreclaimContext const &ctx)</div><div class="ttdef"><b>Definition:</b> <a href="CreateCheck_8cpp_source.html#l00083">CreateCheck.cpp:83</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a7e31af9d90dac8c9e4272bf597d83fb4"><div class="ttname"><a href="namespaceripple.html#a7e31af9d90dac8c9e4272bf597d83fb4">ripple::adjustOwnerCount</a></div><div class="ttdeci">void adjustOwnerCount(ApplyView &view, std::shared_ptr< SLE > const &sle, std::int32_t amount, beast::Journal j)</div><div class="ttdoc">Adjust the owner count up or down.</div><div class="ttdef"><b>Definition:</b> <a href="View_8cpp_source.html#l00713">View.cpp:713</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1keylet_html_a50c370db96b4fdcdd202d9c2c38afce9"><div class="ttname"><a href="namespaceripple_1_1keylet.html#a50c370db96b4fdcdd202d9c2c38afce9">ripple::keylet::account</a></div><div class="ttdeci">Keylet account(AccountID const &id) noexcept</div><div class="ttdoc">AccountID root.</div><div class="ttdef"><b>Definition:</b> <a href="Indexes_8cpp_source.html#l00133">Indexes.cpp:133</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a2abe85419644def21413627f484a8df0"><div class="ttname"><a href="namespaceripple.html#a2abe85419644def21413627f484a8df0">ripple::featureDisallowIncoming</a></div><div class="ttdeci">const uint256 featureDisallowIncoming</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1STObject_html_a0d2d874d34a1c3ed432cdb9fb1386b35"><div class="ttname"><a href="classripple_1_1STObject.html#a0d2d874d34a1c3ed432cdb9fb1386b35">ripple::STObject::getAccountID</a></div><div class="ttdeci">AccountID getAccountID(SField const &field) const</div><div class="ttdef"><b>Definition:</b> <a href="STObject_8cpp_source.html#l00589">STObject.cpp:589</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1TERSubset_html"><div class="ttname"><a href="classripple_1_1TERSubset.html">ripple::TERSubset</a></div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00337">TER.h:337</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#l00044">STAmount.h:44</a></div></div>
|
||||
@@ -361,7 +368,7 @@ $(function() {
|
||||
<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#l00224">LedgerFormats.h:224</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_aa298e929e02f59c2b05a30ee8805b38ca4f19fdbc12c26412215f3477f70d5feb"><div class="ttname"><a href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca4f19fdbc12c26412215f3477f70d5feb">ripple::tecDIR_FULL</a></div><div class="ttdeci">@ tecDIR_FULL</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00251">TER.h:251</a></div></div>
|
||||
<div class="ttc" id="astructripple_1_1PreclaimContext_html"><div class="ttname"><a href="structripple_1_1PreclaimContext.html">ripple::PreclaimContext</a></div><div class="ttdoc">State information when determining if a tx is likely to claim a fee.</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8h_source.html#l00052">Transactor.h:52</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#l00248">LedgerFormats.h:248</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#l00259">LedgerFormats.h:259</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1SeqProxy_html_a41c206bf5f44fe0b3f99f2dd42b0259c"><div class="ttname"><a href="classripple_1_1SeqProxy.html#a41c206bf5f44fe0b3f99f2dd42b0259c">ripple::SeqProxy::value</a></div><div class="ttdeci">constexpr std::uint32_t value() const</div><div class="ttdef"><b>Definition:</b> <a href="SeqProxy_8h_source.html#l00082">SeqProxy.h:82</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplyView_html_aa3c5b5cd9dca5f906be4b36640706e3c"><div class="ttname"><a href="classripple_1_1ApplyView.html#aa3c5b5cd9dca5f906be4b36640706e3c">ripple::ApplyView::insert</a></div><div class="ttdeci">virtual void insert(std::shared_ptr< SLE > const &sle)=0</div><div class="ttdoc">Insert a new state SLE.</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="RCLCensorshipDetector_8h_source.html#l00029">RCLCensorshipDetector.h:29</a></div></div>
|
||||
@@ -371,15 +378,18 @@ $(function() {
|
||||
<div class="ttc" id="anamespaceripple_html_afe21c8454670d46fb93751a5edffed46ac3482079467d517ea82aa9c8fa693d21"><div class="ttname"><a href="namespaceripple.html#afe21c8454670d46fb93751a5edffed46ac3482079467d517ea82aa9c8fa693d21">ripple::temDISABLED</a></div><div class="ttdeci">@ temDISABLED</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00109">TER.h:109</a></div></div>
|
||||
<div class="ttc" id="astructripple_1_1Fees_html_acb07843d0d0e3ccacd7cf51d5296fe40"><div class="ttname"><a href="structripple_1_1Fees.html#acb07843d0d0e3ccacd7cf51d5296fe40">ripple::Fees::accountReserve</a></div><div class="ttdeci">XRPAmount accountReserve(std::size_t ownerCount) const</div><div class="ttdoc">Returns the account reserve given the owner count, in drops.</div><div class="ttdef"><b>Definition:</b> <a href="ReadView_8h_source.html#l00067">ReadView.h:67</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_aa4ddd63a8c28c5c757c0c73982cf8c90"><div class="ttname"><a href="namespaceripple.html#aa4ddd63a8c28c5c757c0c73982cf8c90">ripple::sfInvoiceID</a></div><div class="ttdeci">const SF_UINT256 sfInvoiceID</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ReadView_html_aaf2fa03be723bb78d8bdf41614a75a30"><div class="ttname"><a href="classripple_1_1ReadView.html#aaf2fa03be723bb78d8bdf41614a75a30">ripple::ReadView::rules</a></div><div class="ttdeci">virtual Rules const & rules() const =0</div><div class="ttdoc">Returns the tx processing rules.</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1STObject_html_aaf5d617701ac3afc4ad6a13862459692"><div class="ttname"><a href="classripple_1_1STObject.html#aaf5d617701ac3afc4ad6a13862459692">ripple::STObject::isFieldPresent</a></div><div class="ttdeci">bool isFieldPresent(SField const &field) const</div><div class="ttdef"><b>Definition:</b> <a href="STObject_8cpp_source.html#l00428">STObject.cpp:428</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a999804f69d4c945a231d41eadabec2b8"><div class="ttname"><a href="namespaceripple.html#a999804f69d4c945a231d41eadabec2b8">ripple::sfDestinationTag</a></div><div class="ttdeci">const SF_UINT32 sfDestinationTag</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Transactor_html_abb2f6f5d7fd8c663c5df76b6fcba2c49"><div class="ttname"><a href="classripple_1_1Transactor.html#abb2f6f5d7fd8c663c5df76b6fcba2c49">ripple::Transactor::mPriorBalance</a></div><div class="ttdeci">XRPAmount mPriorBalance</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8h_source.html#l00092">Transactor.h:92</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1CreateCheck_html_a2b5122782b5ebef169ac0c221709a2cc"><div class="ttname"><a href="classripple_1_1CreateCheck.html#a2b5122782b5ebef169ac0c221709a2cc">ripple::CreateCheck::doApply</a></div><div class="ttdeci">TER doApply() override</div><div class="ttdef"><b>Definition:</b> <a href="CreateCheck_8cpp_source.html#l00158">CreateCheck.cpp:158</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_aa298e929e02f59c2b05a30ee8805b38ca9af7057961bc54674f4a6c2dd8ed6ab9"><div class="ttname"><a href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca9af7057961bc54674f4a6c2dd8ed6ab9">ripple::tecNO_PERMISSION</a></div><div class="ttdeci">@ tecNO_PERMISSION</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00269">TER.h:269</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a4a9c7b33fef9015d6406302ef80b63c5a494f22c192b84673b1ff1e17e1b4304a"><div class="ttname"><a href="namespaceripple.html#a4a9c7b33fef9015d6406302ef80b63c5a494f22c192b84673b1ff1e17e1b4304a">ripple::lsfDisallowIncomingCheck</a></div><div class="ttdeci">@ lsfDisallowIncomingCheck</div><div class="ttdef"><b>Definition:</b> <a href="LedgerFormats_8h_source.html#l00240">LedgerFormats.h:240</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1CreateCheck_html_a2b5122782b5ebef169ac0c221709a2cc"><div class="ttname"><a href="classripple_1_1CreateCheck.html#a2b5122782b5ebef169ac0c221709a2cc">ripple::CreateCheck::doApply</a></div><div class="ttdeci">TER doApply() override</div><div class="ttdef"><b>Definition:</b> <a href="CreateCheck_8cpp_source.html#l00164">CreateCheck.cpp:164</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_aa298e929e02f59c2b05a30ee8805b38cae930fb228ae74317976b57b4e87a7f0d"><div class="ttname"><a href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38cae930fb228ae74317976b57b4e87a7f0d">ripple::tecINSUFFICIENT_RESERVE</a></div><div class="ttdeci">@ tecINSUFFICIENT_RESERVE</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00271">TER.h:271</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Transactor_html_aef4ef0a89b5595b2a688b89e4ecef833"><div class="ttname"><a href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ripple::Transactor::ctx_</a></div><div class="ttdeci">ApplyContext & ctx_</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8h_source.html#l00088">Transactor.h:88</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_af9776f187d3686a7fba4c2d2fbeebdf4"><div class="ttname"><a href="namespaceripple.html#af9776f187d3686a7fba4c2d2fbeebdf4">ripple::to_string</a></div><div class="ttdeci">std::string to_string(Manifest const &m)</div><div class="ttdoc">Format the specified manifest to a string for debugging purposes.</div><div class="ttdef"><b>Definition:</b> <a href="app_2misc_2impl_2Manifest_8cpp_source.html#l00041">app/misc/impl/Manifest.cpp:41</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a5bab99595719d22579e10d21cf048eb0"><div class="ttname"><a href="namespaceripple.html#a5bab99595719d22579e10d21cf048eb0">ripple::sfAccount</a></div><div class="ttdeci">const SF_ACCOUNT sfAccount</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#l00247">LedgerFormats.h:247</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#l00258">LedgerFormats.h:258</a></div></div>
|
||||
<div class="ttc" id="astructripple_1_1PreflightContext_html_af202c00e509cfbb1df4fe69f4d6d6560"><div class="ttname"><a href="structripple_1_1PreflightContext.html#af202c00e509cfbb1df4fe69f4d6d6560">ripple::PreflightContext::tx</a></div><div class="ttdeci">STTx const & tx</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8h_source.html#l00035">Transactor.h:35</a></div></div>
|
||||
<div class="ttc" id="astructripple_1_1PreflightContext_html"><div class="ttname"><a href="structripple_1_1PreflightContext.html">ripple::PreflightContext</a></div><div class="ttdoc">State information when preflighting a tx.</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8h_source.html#l00031">Transactor.h:31</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_afe21c8454670d46fb93751a5edffed46a8845e05d481141ea5e8e5274796f45a7"><div class="ttname"><a href="namespaceripple.html#afe21c8454670d46fb93751a5edffed46a8845e05d481141ea5e8e5274796f45a7">ripple::temBAD_EXPIRATION</a></div><div class="ttdeci">@ temBAD_EXPIRATION</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00086">TER.h:86</a></div></div>
|
||||
|
||||
Reference in New Issue
Block a user