mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-21 19:45:53 +00:00
deploy: e514de76ed
This commit is contained in:
@@ -183,7 +183,7 @@ $(function() {
|
||||
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> <a class="code hl_variable" href="classbeast_1_1unit__test_1_1suite.html#aaa1237d9b85c69d35fe86645cee094b5">testcase</a>(<span class="stringliteral">"Sequential NFTs"</span>);</div>
|
||||
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> </div>
|
||||
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> <span class="keyword">using namespace </span>test::jtx;</div>
|
||||
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> Env env{*<span class="keyword">this</span>, features};</div>
|
||||
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> env{*<span class="keyword">this</span>, features};</div>
|
||||
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> </div>
|
||||
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> <span class="comment">// A single minter tends not to mint numerically sequential NFTokens</span></div>
|
||||
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> <span class="comment">// because the taxon cipher mixes things up. We can override the</span></div>
|
||||
@@ -193,9 +193,9 @@ $(function() {
|
||||
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> <span class="comment">// Here we'll simply mint 100 sequential NFTs. Then we'll create</span></div>
|
||||
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <span class="comment">// offers for them to verify that the ledger can find them.</span></div>
|
||||
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> </div>
|
||||
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> Account <span class="keyword">const</span> issuer{<span class="stringliteral">"issuer"</span>};</div>
|
||||
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> Account <span class="keyword">const</span> buyer{<span class="stringliteral">"buyer"</span>};</div>
|
||||
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> env.fund(XRP(10000), buyer, issuer);</div>
|
||||
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Account.html">Account</a> <span class="keyword">const</span> issuer{<span class="stringliteral">"issuer"</span>};</div>
|
||||
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Account.html">Account</a> <span class="keyword">const</span> buyer{<span class="stringliteral">"buyer"</span>};</div>
|
||||
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> env.fund(<a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10000), buyer, issuer);</div>
|
||||
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> env.close();</div>
|
||||
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> </div>
|
||||
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> <span class="comment">// Mint 100 sequential NFTs. Tweak the taxon so zero is always stored.</span></div>
|
||||
@@ -208,27 +208,27 @@ $(function() {
|
||||
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> taxon =</div>
|
||||
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> toUInt32(<a class="code hl_function" href="namespaceripple_1_1nft.html#a6ff9377be53296a54dd73bff1a4ae934">nft::cipheredTaxon</a>(i, <a class="code hl_function" href="namespaceripple_1_1nft.html#a8878ae3c753ff4fe6bb04e5c516ccea5">nft::toTaxon</a>(0)));</div>
|
||||
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> nftIDs.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/emplace_back.html">emplace_back</a>(</div>
|
||||
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> token::getNextID(env, issuer, taxon, <a class="code hl_variable" href="namespaceripple.html#af6dbd01af49aa6a39b96cee44add0df1">tfTransferable</a>));</div>
|
||||
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> env(token::mint(issuer, taxon), txflags(<a class="code hl_variable" href="namespaceripple.html#af6dbd01af49aa6a39b96cee44add0df1">tfTransferable</a>));</div>
|
||||
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx_1_1token.html#a2749ac7d2df5bd6424972b8de5cb0ad8">token::getNextID</a>(env, issuer, taxon, <a class="code hl_variable" href="namespaceripple.html#af6dbd01af49aa6a39b96cee44add0df1">tfTransferable</a>));</div>
|
||||
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx_1_1token.html#ab5b8b8289e756cf37a6ad2d1adb876b5">token::mint</a>(issuer, taxon), <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1txflags.html">txflags</a>(<a class="code hl_variable" href="namespaceripple.html#af6dbd01af49aa6a39b96cee44add0df1">tfTransferable</a>));</div>
|
||||
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> env.close();</div>
|
||||
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> }</div>
|
||||
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> </div>
|
||||
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> <span class="comment">// Create an offer for each of the NFTs. This verifies that the ledger</span></div>
|
||||
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> <span class="comment">// can find all of the minted NFTs.</span></div>
|
||||
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<uint256></a> offers;</div>
|
||||
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<uint256></a> <a class="code hl_typedef" href="namespaceripple_1_1test_1_1jtx.html#a3beb715a43d7e5bc771c333529bbf92d">offers</a>;</div>
|
||||
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> <span class="keywordflow">for</span> (<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& nftID : nftIDs)</div>
|
||||
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> {</div>
|
||||
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> offers.emplace_back(<a class="code hl_function" href="namespaceripple_1_1keylet.html#adddc4768b4e412ab96f6fff32b8c3903">keylet::nftoffer</a>(issuer, env.seq(issuer)).<a class="code hl_variable" href="structripple_1_1Keylet.html#a482983062843a8682fcea76a309c73db">key</a>);</div>
|
||||
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> env(token::createOffer(issuer, nftID, XRP(0)),</div>
|
||||
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> txflags((<a class="code hl_variable" href="namespaceripple.html#a449cf5cfc4fd3f6c2a3577a57374bda5">tfSellNFToken</a>)));</div>
|
||||
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1owner__count.html">offers</a>.emplace_back(<a class="code hl_function" href="namespaceripple_1_1keylet.html#adddc4768b4e412ab96f6fff32b8c3903">keylet::nftoffer</a>(issuer, env.seq(issuer)).<a class="code hl_variable" href="structripple_1_1Keylet.html#a482983062843a8682fcea76a309c73db">key</a>);</div>
|
||||
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx_1_1token.html#a40dfafd85108b010176f95d9af3b9c33">token::createOffer</a>(issuer, nftID, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(0)),</div>
|
||||
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1txflags.html">txflags</a>((<a class="code hl_variable" href="namespaceripple.html#a449cf5cfc4fd3f6c2a3577a57374bda5">tfSellNFToken</a>)));</div>
|
||||
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> env.close();</div>
|
||||
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> }</div>
|
||||
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> </div>
|
||||
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> <span class="comment">// Buyer accepts all of the offers in reverse order.</span></div>
|
||||
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/algorithm/reverse.html">std::reverse</a>(offers.begin(), offers.end());</div>
|
||||
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> <span class="keywordflow">for</span> (<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& offer : offers)</div>
|
||||
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/algorithm/reverse.html">std::reverse</a>(<a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1owner__count.html">offers</a>.begin(), <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1owner__count.html">offers</a>.end());</div>
|
||||
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> <span class="keywordflow">for</span> (<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#ac423e2aa3fd7a14ae651849b430994f1">offer</a> : <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1owner__count.html">offers</a>)</div>
|
||||
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> {</div>
|
||||
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> env(token::acceptSellOffer(buyer, offer));</div>
|
||||
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx_1_1token.html#a91831cf96998d1ec5c992805bc2c4cde">token::acceptSellOffer</a>(buyer, <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#ac423e2aa3fd7a14ae651849b430994f1">offer</a>));</div>
|
||||
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> env.close();</div>
|
||||
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> }</div>
|
||||
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> }</div>
|
||||
@@ -255,11 +255,11 @@ $(function() {
|
||||
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> <span class="keyword">auto</span> exerciseLopsided =</div>
|
||||
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> [<span class="keyword">this</span>,</div>
|
||||
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> &features](<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/initializer_list.html">std::initializer_list<std::string_view const></a> seeds) {</div>
|
||||
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> Env env{*<span class="keyword">this</span>, features};</div>
|
||||
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> env{*<span class="keyword">this</span>, features};</div>
|
||||
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> </div>
|
||||
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> <span class="comment">// Eventually all of the NFTokens will be owned by buyer.</span></div>
|
||||
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> Account <span class="keyword">const</span> buyer{<span class="stringliteral">"buyer"</span>};</div>
|
||||
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> env.fund(XRP(10000), buyer);</div>
|
||||
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Account.html">Account</a> <span class="keyword">const</span> buyer{<span class="stringliteral">"buyer"</span>};</div>
|
||||
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> env.fund(<a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10000), buyer);</div>
|
||||
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> env.close();</div>
|
||||
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> </div>
|
||||
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> <span class="comment">// Create accounts for all of the seeds and fund those accounts.</span></div>
|
||||
@@ -267,9 +267,9 @@ $(function() {
|
||||
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> accounts.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/reserve.html">reserve</a>(seeds.size());</div>
|
||||
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> <span class="keywordflow">for</span> (<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string_view.html">std::string_view</a> seed : seeds)</div>
|
||||
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> {</div>
|
||||
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> Account <span class="keyword">const</span>& account = accounts.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/emplace_back.html">emplace_back</a>(</div>
|
||||
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> Account::base58Seed, <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a>(seed));</div>
|
||||
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> env.fund(XRP(10000), account);</div>
|
||||
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Account.html">Account</a> <span class="keyword">const</span>& account = accounts.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/emplace_back.html">emplace_back</a>(</div>
|
||||
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> <a class="code hl_enumvalue" href="classripple_1_1test_1_1jtx_1_1Account.html#aca8ee7ec341c993ca685d27dd8fcc6c3aceb144f5c46ddf333838c98908ba9933">Account::base58Seed</a>, <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a>(seed));</div>
|
||||
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> env.fund(<a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10000), account);</div>
|
||||
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> </div>
|
||||
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> <span class="comment">// Do not close the ledger inside the loop. If</span></div>
|
||||
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> <span class="comment">// fixNFTokenRemint is enabled and accounts are initialized</span></div>
|
||||
@@ -282,29 +282,29 @@ $(function() {
|
||||
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> <span class="comment">// All of the accounts create one NFT and and offer that NFT to</span></div>
|
||||
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> <span class="comment">// buyer.</span></div>
|
||||
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<uint256></a> nftIDs;</div>
|
||||
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<uint256></a> offers;</div>
|
||||
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> offers.reserve(accounts.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>());</div>
|
||||
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> <span class="keywordflow">for</span> (Account <span class="keyword">const</span>& account : accounts)</div>
|
||||
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<uint256></a> <a class="code hl_typedef" href="namespaceripple_1_1test_1_1jtx.html#a3beb715a43d7e5bc771c333529bbf92d">offers</a>;</div>
|
||||
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1owner__count.html">offers</a>.reserve(accounts.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>());</div>
|
||||
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> <span class="keywordflow">for</span> (<a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Account.html">Account</a> <span class="keyword">const</span>& account : accounts)</div>
|
||||
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> {</div>
|
||||
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> <span class="comment">// Mint the NFT.</span></div>
|
||||
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> <a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& nftID = nftIDs.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/emplace_back.html">emplace_back</a>(</div>
|
||||
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> token::getNextID(env, account, 0, <a class="code hl_variable" href="namespaceripple.html#af6dbd01af49aa6a39b96cee44add0df1">tfTransferable</a>));</div>
|
||||
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> env(token::mint(account, 0), txflags(<a class="code hl_variable" href="namespaceripple.html#af6dbd01af49aa6a39b96cee44add0df1">tfTransferable</a>));</div>
|
||||
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx_1_1token.html#a2749ac7d2df5bd6424972b8de5cb0ad8">token::getNextID</a>(env, account, 0, <a class="code hl_variable" href="namespaceripple.html#af6dbd01af49aa6a39b96cee44add0df1">tfTransferable</a>));</div>
|
||||
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx_1_1token.html#ab5b8b8289e756cf37a6ad2d1adb876b5">token::mint</a>(account, 0), <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1txflags.html">txflags</a>(<a class="code hl_variable" href="namespaceripple.html#af6dbd01af49aa6a39b96cee44add0df1">tfTransferable</a>));</div>
|
||||
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> env.close();</div>
|
||||
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> </div>
|
||||
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> <span class="comment">// Create an offer to give the NFT to buyer for free.</span></div>
|
||||
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> offers.emplace_back(</div>
|
||||
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1owner__count.html">offers</a>.emplace_back(</div>
|
||||
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> <a class="code hl_function" href="namespaceripple_1_1keylet.html#adddc4768b4e412ab96f6fff32b8c3903">keylet::nftoffer</a>(account, env.seq(account)).<a class="code hl_variable" href="structripple_1_1Keylet.html#a482983062843a8682fcea76a309c73db">key</a>);</div>
|
||||
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> env(token::createOffer(account, nftID, XRP(0)),</div>
|
||||
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> token::destination(buyer),</div>
|
||||
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> txflags((<a class="code hl_variable" href="namespaceripple.html#a449cf5cfc4fd3f6c2a3577a57374bda5">tfSellNFToken</a>)));</div>
|
||||
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx_1_1token.html#a40dfafd85108b010176f95d9af3b9c33">token::createOffer</a>(account, nftID, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(0)),</div>
|
||||
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1token_1_1destination.html">token::destination</a>(buyer),</div>
|
||||
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1txflags.html">txflags</a>((<a class="code hl_variable" href="namespaceripple.html#a449cf5cfc4fd3f6c2a3577a57374bda5">tfSellNFToken</a>)));</div>
|
||||
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> }</div>
|
||||
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> env.close();</div>
|
||||
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> </div>
|
||||
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> <span class="comment">// buyer accepts all of the offers.</span></div>
|
||||
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> <span class="keywordflow">for</span> (<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& offer : offers)</div>
|
||||
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> <span class="keywordflow">for</span> (<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#ac423e2aa3fd7a14ae651849b430994f1">offer</a> : <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1owner__count.html">offers</a>)</div>
|
||||
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> {</div>
|
||||
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> env(token::acceptSellOffer(buyer, offer));</div>
|
||||
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx_1_1token.html#a91831cf96998d1ec5c992805bc2c4cde">token::acceptSellOffer</a>(buyer, <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#ac423e2aa3fd7a14ae651849b430994f1">offer</a>));</div>
|
||||
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> env.close();</div>
|
||||
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> }</div>
|
||||
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> </div>
|
||||
@@ -319,11 +319,11 @@ $(function() {
|
||||
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> {</div>
|
||||
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span> <a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span> offerID =</div>
|
||||
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span> <a class="code hl_function" href="namespaceripple_1_1keylet.html#adddc4768b4e412ab96f6fff32b8c3903">keylet::nftoffer</a>(buyer, env.seq(buyer)).<a class="code hl_variable" href="structripple_1_1Keylet.html#a482983062843a8682fcea76a309c73db">key</a>;</div>
|
||||
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> env(token::createOffer(buyer, nftID, XRP(100)),</div>
|
||||
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> txflags(<a class="code hl_variable" href="namespaceripple.html#a449cf5cfc4fd3f6c2a3577a57374bda5">tfSellNFToken</a>));</div>
|
||||
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx_1_1token.html#a40dfafd85108b010176f95d9af3b9c33">token::createOffer</a>(buyer, nftID, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(100)),</div>
|
||||
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1txflags.html">txflags</a>(<a class="code hl_variable" href="namespaceripple.html#a449cf5cfc4fd3f6c2a3577a57374bda5">tfSellNFToken</a>));</div>
|
||||
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> env.close();</div>
|
||||
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> </div>
|
||||
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> env(token::cancelOffer(buyer, {offerID}));</div>
|
||||
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx_1_1token.html#ad39013065cc24af0df83eb5354ec937c">token::cancelOffer</a>(buyer, {offerID}));</div>
|
||||
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> }</div>
|
||||
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> </div>
|
||||
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> <span class="comment">// Verify that all the NFTs are owned by buyer.</span></div>
|
||||
@@ -474,16 +474,16 @@ $(function() {
|
||||
<div class="line"><a id="l00396" name="l00396"></a><span class="lineno"> 396</span> <span class="keyword">auto</span> exerciseFixNFTokenDirV1 =</div>
|
||||
<div class="line"><a id="l00397" name="l00397"></a><span class="lineno"> 397</span> [<span class="keyword">this</span>,</div>
|
||||
<div class="line"><a id="l00398" name="l00398"></a><span class="lineno"> 398</span> &features](<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/initializer_list.html">std::initializer_list<std::string_view const></a> seeds) {</div>
|
||||
<div class="line"><a id="l00399" name="l00399"></a><span class="lineno"> 399</span> Env env{</div>
|
||||
<div class="line"><a id="l00399" name="l00399"></a><span class="lineno"> 399</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> env{</div>
|
||||
<div class="line"><a id="l00400" name="l00400"></a><span class="lineno"> 400</span> *<span class="keyword">this</span>,</div>
|
||||
<div class="line"><a id="l00401" name="l00401"></a><span class="lineno"> 401</span> envconfig(),</div>
|
||||
<div class="line"><a id="l00401" name="l00401"></a><span class="lineno"> 401</span> <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a7a4caa0465c555c5c59ce7c0d0d48d78">envconfig</a>(),</div>
|
||||
<div class="line"><a id="l00402" name="l00402"></a><span class="lineno"> 402</span> features,</div>
|
||||
<div class="line"><a id="l00403" name="l00403"></a><span class="lineno"> 403</span> <span class="keyword">nullptr</span>,</div>
|
||||
<div class="line"><a id="l00404" name="l00404"></a><span class="lineno"> 404</span> <a class="code hl_enumvalue" href="namespacebeast_1_1severities.html#a069a8a312b9123b77f6aa31733ca73beae13a45640877c138fc59c94443ece6f0">beast::severities::kDisabled</a>};</div>
|
||||
<div class="line"><a id="l00405" name="l00405"></a><span class="lineno"> 405</span> </div>
|
||||
<div class="line"><a id="l00406" name="l00406"></a><span class="lineno"> 406</span> <span class="comment">// Eventually all of the NFTokens will be owned by buyer.</span></div>
|
||||
<div class="line"><a id="l00407" name="l00407"></a><span class="lineno"> 407</span> Account <span class="keyword">const</span> buyer{<span class="stringliteral">"buyer"</span>};</div>
|
||||
<div class="line"><a id="l00408" name="l00408"></a><span class="lineno"> 408</span> env.fund(XRP(10000), buyer);</div>
|
||||
<div class="line"><a id="l00407" name="l00407"></a><span class="lineno"> 407</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Account.html">Account</a> <span class="keyword">const</span> buyer{<span class="stringliteral">"buyer"</span>};</div>
|
||||
<div class="line"><a id="l00408" name="l00408"></a><span class="lineno"> 408</span> env.fund(<a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10000), buyer);</div>
|
||||
<div class="line"><a id="l00409" name="l00409"></a><span class="lineno"> 409</span> env.close();</div>
|
||||
<div class="line"><a id="l00410" name="l00410"></a><span class="lineno"> 410</span> </div>
|
||||
<div class="line"><a id="l00411" name="l00411"></a><span class="lineno"> 411</span> <span class="comment">// Create accounts for all of the seeds and fund those accounts.</span></div>
|
||||
@@ -491,9 +491,9 @@ $(function() {
|
||||
<div class="line"><a id="l00413" name="l00413"></a><span class="lineno"> 413</span> accounts.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/reserve.html">reserve</a>(seeds.size());</div>
|
||||
<div class="line"><a id="l00414" name="l00414"></a><span class="lineno"> 414</span> <span class="keywordflow">for</span> (<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string_view.html">std::string_view</a> seed : seeds)</div>
|
||||
<div class="line"><a id="l00415" name="l00415"></a><span class="lineno"> 415</span> {</div>
|
||||
<div class="line"><a id="l00416" name="l00416"></a><span class="lineno"> 416</span> Account <span class="keyword">const</span>& account = accounts.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/emplace_back.html">emplace_back</a>(</div>
|
||||
<div class="line"><a id="l00417" name="l00417"></a><span class="lineno"> 417</span> Account::base58Seed, <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a>(seed));</div>
|
||||
<div class="line"><a id="l00418" name="l00418"></a><span class="lineno"> 418</span> env.fund(XRP(10000), account);</div>
|
||||
<div class="line"><a id="l00416" name="l00416"></a><span class="lineno"> 416</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Account.html">Account</a> <span class="keyword">const</span>& account = accounts.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/emplace_back.html">emplace_back</a>(</div>
|
||||
<div class="line"><a id="l00417" name="l00417"></a><span class="lineno"> 417</span> <a class="code hl_enumvalue" href="classripple_1_1test_1_1jtx_1_1Account.html#aca8ee7ec341c993ca685d27dd8fcc6c3aceb144f5c46ddf333838c98908ba9933">Account::base58Seed</a>, <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a>(seed));</div>
|
||||
<div class="line"><a id="l00418" name="l00418"></a><span class="lineno"> 418</span> env.fund(<a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10000), account);</div>
|
||||
<div class="line"><a id="l00419" name="l00419"></a><span class="lineno"> 419</span> </div>
|
||||
<div class="line"><a id="l00420" name="l00420"></a><span class="lineno"> 420</span> <span class="comment">// Do not close the ledger inside the loop. If</span></div>
|
||||
<div class="line"><a id="l00421" name="l00421"></a><span class="lineno"> 421</span> <span class="comment">// fixNFTokenRemint is enabled and accounts are initialized</span></div>
|
||||
@@ -506,30 +506,30 @@ $(function() {
|
||||
<div class="line"><a id="l00428" name="l00428"></a><span class="lineno"> 428</span> <span class="comment">// All of the accounts create one NFT and and offer that NFT to</span></div>
|
||||
<div class="line"><a id="l00429" name="l00429"></a><span class="lineno"> 429</span> <span class="comment">// buyer.</span></div>
|
||||
<div class="line"><a id="l00430" name="l00430"></a><span class="lineno"> 430</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<uint256></a> nftIDs;</div>
|
||||
<div class="line"><a id="l00431" name="l00431"></a><span class="lineno"> 431</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<uint256></a> offers;</div>
|
||||
<div class="line"><a id="l00432" name="l00432"></a><span class="lineno"> 432</span> offers.reserve(accounts.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>());</div>
|
||||
<div class="line"><a id="l00433" name="l00433"></a><span class="lineno"> 433</span> <span class="keywordflow">for</span> (Account <span class="keyword">const</span>& account : accounts)</div>
|
||||
<div class="line"><a id="l00431" name="l00431"></a><span class="lineno"> 431</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<uint256></a> <a class="code hl_typedef" href="namespaceripple_1_1test_1_1jtx.html#a3beb715a43d7e5bc771c333529bbf92d">offers</a>;</div>
|
||||
<div class="line"><a id="l00432" name="l00432"></a><span class="lineno"> 432</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1owner__count.html">offers</a>.reserve(accounts.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>());</div>
|
||||
<div class="line"><a id="l00433" name="l00433"></a><span class="lineno"> 433</span> <span class="keywordflow">for</span> (<a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Account.html">Account</a> <span class="keyword">const</span>& account : accounts)</div>
|
||||
<div class="line"><a id="l00434" name="l00434"></a><span class="lineno"> 434</span> {</div>
|
||||
<div class="line"><a id="l00435" name="l00435"></a><span class="lineno"> 435</span> <span class="comment">// Mint the NFT.</span></div>
|
||||
<div class="line"><a id="l00436" name="l00436"></a><span class="lineno"> 436</span> <a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& nftID = nftIDs.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/emplace_back.html">emplace_back</a>(</div>
|
||||
<div class="line"><a id="l00437" name="l00437"></a><span class="lineno"> 437</span> token::getNextID(env, account, 0, <a class="code hl_variable" href="namespaceripple.html#af6dbd01af49aa6a39b96cee44add0df1">tfTransferable</a>));</div>
|
||||
<div class="line"><a id="l00438" name="l00438"></a><span class="lineno"> 438</span> env(token::mint(account, 0), txflags(<a class="code hl_variable" href="namespaceripple.html#af6dbd01af49aa6a39b96cee44add0df1">tfTransferable</a>));</div>
|
||||
<div class="line"><a id="l00437" name="l00437"></a><span class="lineno"> 437</span> <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx_1_1token.html#a2749ac7d2df5bd6424972b8de5cb0ad8">token::getNextID</a>(env, account, 0, <a class="code hl_variable" href="namespaceripple.html#af6dbd01af49aa6a39b96cee44add0df1">tfTransferable</a>));</div>
|
||||
<div class="line"><a id="l00438" name="l00438"></a><span class="lineno"> 438</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx_1_1token.html#ab5b8b8289e756cf37a6ad2d1adb876b5">token::mint</a>(account, 0), <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1txflags.html">txflags</a>(<a class="code hl_variable" href="namespaceripple.html#af6dbd01af49aa6a39b96cee44add0df1">tfTransferable</a>));</div>
|
||||
<div class="line"><a id="l00439" name="l00439"></a><span class="lineno"> 439</span> env.close();</div>
|
||||
<div class="line"><a id="l00440" name="l00440"></a><span class="lineno"> 440</span> </div>
|
||||
<div class="line"><a id="l00441" name="l00441"></a><span class="lineno"> 441</span> <span class="comment">// Create an offer to give the NFT to buyer for free.</span></div>
|
||||
<div class="line"><a id="l00442" name="l00442"></a><span class="lineno"> 442</span> offers.emplace_back(</div>
|
||||
<div class="line"><a id="l00442" name="l00442"></a><span class="lineno"> 442</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1owner__count.html">offers</a>.emplace_back(</div>
|
||||
<div class="line"><a id="l00443" name="l00443"></a><span class="lineno"> 443</span> <a class="code hl_function" href="namespaceripple_1_1keylet.html#adddc4768b4e412ab96f6fff32b8c3903">keylet::nftoffer</a>(account, env.seq(account)).<a class="code hl_variable" href="structripple_1_1Keylet.html#a482983062843a8682fcea76a309c73db">key</a>);</div>
|
||||
<div class="line"><a id="l00444" name="l00444"></a><span class="lineno"> 444</span> env(token::createOffer(account, nftID, XRP(0)),</div>
|
||||
<div class="line"><a id="l00445" name="l00445"></a><span class="lineno"> 445</span> token::destination(buyer),</div>
|
||||
<div class="line"><a id="l00446" name="l00446"></a><span class="lineno"> 446</span> txflags((<a class="code hl_variable" href="namespaceripple.html#a449cf5cfc4fd3f6c2a3577a57374bda5">tfSellNFToken</a>)));</div>
|
||||
<div class="line"><a id="l00444" name="l00444"></a><span class="lineno"> 444</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx_1_1token.html#a40dfafd85108b010176f95d9af3b9c33">token::createOffer</a>(account, nftID, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(0)),</div>
|
||||
<div class="line"><a id="l00445" name="l00445"></a><span class="lineno"> 445</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1token_1_1destination.html">token::destination</a>(buyer),</div>
|
||||
<div class="line"><a id="l00446" name="l00446"></a><span class="lineno"> 446</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1txflags.html">txflags</a>((<a class="code hl_variable" href="namespaceripple.html#a449cf5cfc4fd3f6c2a3577a57374bda5">tfSellNFToken</a>)));</div>
|
||||
<div class="line"><a id="l00447" name="l00447"></a><span class="lineno"> 447</span> }</div>
|
||||
<div class="line"><a id="l00448" name="l00448"></a><span class="lineno"> 448</span> env.close();</div>
|
||||
<div class="line"><a id="l00449" name="l00449"></a><span class="lineno"> 449</span> </div>
|
||||
<div class="line"><a id="l00450" name="l00450"></a><span class="lineno"> 450</span> <span class="comment">// buyer accepts all of the but the last. The last offer</span></div>
|
||||
<div class="line"><a id="l00451" name="l00451"></a><span class="lineno"> 451</span> <span class="comment">// causes the page to split.</span></div>
|
||||
<div class="line"><a id="l00452" name="l00452"></a><span class="lineno"> 452</span> <span class="keywordflow">for</span> (<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> i = 0; i < offers.size() - 1; ++i)</div>
|
||||
<div class="line"><a id="l00452" name="l00452"></a><span class="lineno"> 452</span> <span class="keywordflow">for</span> (<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> i = 0; i < <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1owner__count.html">offers</a>.size() - 1; ++i)</div>
|
||||
<div class="line"><a id="l00453" name="l00453"></a><span class="lineno"> 453</span> {</div>
|
||||
<div class="line"><a id="l00454" name="l00454"></a><span class="lineno"> 454</span> env(token::acceptSellOffer(buyer, offers[i]));</div>
|
||||
<div class="line"><a id="l00454" name="l00454"></a><span class="lineno"> 454</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx_1_1token.html#a91831cf96998d1ec5c992805bc2c4cde">token::acceptSellOffer</a>(buyer, <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1owner__count.html">offers</a>[i]));</div>
|
||||
<div class="line"><a id="l00455" name="l00455"></a><span class="lineno"> 455</span> env.close();</div>
|
||||
<div class="line"><a id="l00456" name="l00456"></a><span class="lineno"> 456</span> }</div>
|
||||
<div class="line"><a id="l00457" name="l00457"></a><span class="lineno"> 457</span> </div>
|
||||
@@ -538,12 +538,12 @@ $(function() {
|
||||
<div class="line"><a id="l00460" name="l00460"></a><span class="lineno"> 460</span> <span class="comment">// accept succeeds.</span></div>
|
||||
<div class="line"><a id="l00461" name="l00461"></a><span class="lineno"> 461</span> <span class="keywordflow">if</span> (!features[fixNFTokenDirV1])</div>
|
||||
<div class="line"><a id="l00462" name="l00462"></a><span class="lineno"> 462</span> {</div>
|
||||
<div class="line"><a id="l00463" name="l00463"></a><span class="lineno"> 463</span> env(token::acceptSellOffer(buyer, offers.back()),</div>
|
||||
<div class="line"><a id="l00464" name="l00464"></a><span class="lineno"> 464</span> ter(<a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>));</div>
|
||||
<div class="line"><a id="l00463" name="l00463"></a><span class="lineno"> 463</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx_1_1token.html#a91831cf96998d1ec5c992805bc2c4cde">token::acceptSellOffer</a>(buyer, <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1owner__count.html">offers</a>.back()),</div>
|
||||
<div class="line"><a id="l00464" name="l00464"></a><span class="lineno"> 464</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1ter.html">ter</a>(<a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>));</div>
|
||||
<div class="line"><a id="l00465" name="l00465"></a><span class="lineno"> 465</span> env.close();</div>
|
||||
<div class="line"><a id="l00466" name="l00466"></a><span class="lineno"> 466</span> <span class="keywordflow">return</span>;</div>
|
||||
<div class="line"><a id="l00467" name="l00467"></a><span class="lineno"> 467</span> }</div>
|
||||
<div class="line"><a id="l00468" name="l00468"></a><span class="lineno"> 468</span> env(token::acceptSellOffer(buyer, offers.back()));</div>
|
||||
<div class="line"><a id="l00468" name="l00468"></a><span class="lineno"> 468</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx_1_1token.html#a91831cf96998d1ec5c992805bc2c4cde">token::acceptSellOffer</a>(buyer, <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1owner__count.html">offers</a>.back()));</div>
|
||||
<div class="line"><a id="l00469" name="l00469"></a><span class="lineno"> 469</span> env.close();</div>
|
||||
<div class="line"><a id="l00470" name="l00470"></a><span class="lineno"> 470</span> </div>
|
||||
<div class="line"><a id="l00471" name="l00471"></a><span class="lineno"> 471</span> <span class="comment">// This can be a good time to look at the NFT pages.</span></div>
|
||||
@@ -557,11 +557,11 @@ $(function() {
|
||||
<div class="line"><a id="l00479" name="l00479"></a><span class="lineno"> 479</span> {</div>
|
||||
<div class="line"><a id="l00480" name="l00480"></a><span class="lineno"> 480</span> <a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span> offerID =</div>
|
||||
<div class="line"><a id="l00481" name="l00481"></a><span class="lineno"> 481</span> <a class="code hl_function" href="namespaceripple_1_1keylet.html#adddc4768b4e412ab96f6fff32b8c3903">keylet::nftoffer</a>(buyer, env.seq(buyer)).<a class="code hl_variable" href="structripple_1_1Keylet.html#a482983062843a8682fcea76a309c73db">key</a>;</div>
|
||||
<div class="line"><a id="l00482" name="l00482"></a><span class="lineno"> 482</span> env(token::createOffer(buyer, nftID, XRP(100)),</div>
|
||||
<div class="line"><a id="l00483" name="l00483"></a><span class="lineno"> 483</span> txflags(<a class="code hl_variable" href="namespaceripple.html#a449cf5cfc4fd3f6c2a3577a57374bda5">tfSellNFToken</a>));</div>
|
||||
<div class="line"><a id="l00482" name="l00482"></a><span class="lineno"> 482</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx_1_1token.html#a40dfafd85108b010176f95d9af3b9c33">token::createOffer</a>(buyer, nftID, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(100)),</div>
|
||||
<div class="line"><a id="l00483" name="l00483"></a><span class="lineno"> 483</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1txflags.html">txflags</a>(<a class="code hl_variable" href="namespaceripple.html#a449cf5cfc4fd3f6c2a3577a57374bda5">tfSellNFToken</a>));</div>
|
||||
<div class="line"><a id="l00484" name="l00484"></a><span class="lineno"> 484</span> env.close();</div>
|
||||
<div class="line"><a id="l00485" name="l00485"></a><span class="lineno"> 485</span> </div>
|
||||
<div class="line"><a id="l00486" name="l00486"></a><span class="lineno"> 486</span> env(token::cancelOffer(buyer, {offerID}));</div>
|
||||
<div class="line"><a id="l00486" name="l00486"></a><span class="lineno"> 486</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx_1_1token.html#ad39013065cc24af0df83eb5354ec937c">token::cancelOffer</a>(buyer, {offerID}));</div>
|
||||
<div class="line"><a id="l00487" name="l00487"></a><span class="lineno"> 487</span> }</div>
|
||||
<div class="line"><a id="l00488" name="l00488"></a><span class="lineno"> 488</span> </div>
|
||||
<div class="line"><a id="l00489" name="l00489"></a><span class="lineno"> 489</span> <span class="comment">// Verify that all the NFTs are owned by buyer.</span></div>
|
||||
@@ -691,11 +691,11 @@ $(function() {
|
||||
<div class="line"><a id="l00613" name="l00613"></a><span class="lineno"> 613</span> </div>
|
||||
<div class="line"><a id="l00614" name="l00614"></a><span class="lineno"> 614</span> <span class="keyword">using namespace </span>test::jtx;</div>
|
||||
<div class="line"><a id="l00615" name="l00615"></a><span class="lineno"> 615</span> </div>
|
||||
<div class="line"><a id="l00616" name="l00616"></a><span class="lineno"> 616</span> Env env{*<span class="keyword">this</span>, features};</div>
|
||||
<div class="line"><a id="l00616" name="l00616"></a><span class="lineno"> 616</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> env{*<span class="keyword">this</span>, features};</div>
|
||||
<div class="line"><a id="l00617" name="l00617"></a><span class="lineno"> 617</span> </div>
|
||||
<div class="line"><a id="l00618" name="l00618"></a><span class="lineno"> 618</span> <span class="comment">// Eventually all of the NFTokens will be owned by buyer.</span></div>
|
||||
<div class="line"><a id="l00619" name="l00619"></a><span class="lineno"> 619</span> Account <span class="keyword">const</span> buyer{<span class="stringliteral">"buyer"</span>};</div>
|
||||
<div class="line"><a id="l00620" name="l00620"></a><span class="lineno"> 620</span> env.fund(XRP(10000), buyer);</div>
|
||||
<div class="line"><a id="l00619" name="l00619"></a><span class="lineno"> 619</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Account.html">Account</a> <span class="keyword">const</span> buyer{<span class="stringliteral">"buyer"</span>};</div>
|
||||
<div class="line"><a id="l00620" name="l00620"></a><span class="lineno"> 620</span> env.fund(<a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10000), buyer);</div>
|
||||
<div class="line"><a id="l00621" name="l00621"></a><span class="lineno"> 621</span> env.close();</div>
|
||||
<div class="line"><a id="l00622" name="l00622"></a><span class="lineno"> 622</span> </div>
|
||||
<div class="line"><a id="l00623" name="l00623"></a><span class="lineno"> 623</span> <span class="comment">// Here are 33 seeds that produce identical low 32-bits in their</span></div>
|
||||
@@ -741,9 +741,9 @@ $(function() {
|
||||
<div class="line"><a id="l00663" name="l00663"></a><span class="lineno"> 663</span> accounts.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/reserve.html">reserve</a>(seeds.size());</div>
|
||||
<div class="line"><a id="l00664" name="l00664"></a><span class="lineno"> 664</span> <span class="keywordflow">for</span> (<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string_view.html">std::string_view</a> seed : seeds)</div>
|
||||
<div class="line"><a id="l00665" name="l00665"></a><span class="lineno"> 665</span> {</div>
|
||||
<div class="line"><a id="l00666" name="l00666"></a><span class="lineno"> 666</span> Account <span class="keyword">const</span>& account =</div>
|
||||
<div class="line"><a id="l00667" name="l00667"></a><span class="lineno"> 667</span> accounts.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/emplace_back.html">emplace_back</a>(Account::base58Seed, <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a>(seed));</div>
|
||||
<div class="line"><a id="l00668" name="l00668"></a><span class="lineno"> 668</span> env.fund(XRP(10000), account);</div>
|
||||
<div class="line"><a id="l00666" name="l00666"></a><span class="lineno"> 666</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Account.html">Account</a> <span class="keyword">const</span>& account =</div>
|
||||
<div class="line"><a id="l00667" name="l00667"></a><span class="lineno"> 667</span> accounts.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/emplace_back.html">emplace_back</a>(<a class="code hl_enumvalue" href="classripple_1_1test_1_1jtx_1_1Account.html#aca8ee7ec341c993ca685d27dd8fcc6c3aceb144f5c46ddf333838c98908ba9933">Account::base58Seed</a>, <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a>(seed));</div>
|
||||
<div class="line"><a id="l00668" name="l00668"></a><span class="lineno"> 668</span> env.fund(<a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10000), account);</div>
|
||||
<div class="line"><a id="l00669" name="l00669"></a><span class="lineno"> 669</span> </div>
|
||||
<div class="line"><a id="l00670" name="l00670"></a><span class="lineno"> 670</span> <span class="comment">// Do not close the ledger inside the loop. If</span></div>
|
||||
<div class="line"><a id="l00671" name="l00671"></a><span class="lineno"> 671</span> <span class="comment">// fixNFTokenRemint is enabled and accounts are initialized</span></div>
|
||||
@@ -755,22 +755,22 @@ $(function() {
|
||||
<div class="line"><a id="l00677" name="l00677"></a><span class="lineno"> 677</span> </div>
|
||||
<div class="line"><a id="l00678" name="l00678"></a><span class="lineno"> 678</span> <span class="comment">// All of the accounts create one NFT and and offer that NFT to buyer.</span></div>
|
||||
<div class="line"><a id="l00679" name="l00679"></a><span class="lineno"> 679</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<uint256></a> nftIDs;</div>
|
||||
<div class="line"><a id="l00680" name="l00680"></a><span class="lineno"> 680</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<uint256></a> offers;</div>
|
||||
<div class="line"><a id="l00681" name="l00681"></a><span class="lineno"> 681</span> offers.reserve(accounts.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>());</div>
|
||||
<div class="line"><a id="l00682" name="l00682"></a><span class="lineno"> 682</span> <span class="keywordflow">for</span> (Account <span class="keyword">const</span>& account : accounts)</div>
|
||||
<div class="line"><a id="l00680" name="l00680"></a><span class="lineno"> 680</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<uint256></a> <a class="code hl_typedef" href="namespaceripple_1_1test_1_1jtx.html#a3beb715a43d7e5bc771c333529bbf92d">offers</a>;</div>
|
||||
<div class="line"><a id="l00681" name="l00681"></a><span class="lineno"> 681</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1owner__count.html">offers</a>.reserve(accounts.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>());</div>
|
||||
<div class="line"><a id="l00682" name="l00682"></a><span class="lineno"> 682</span> <span class="keywordflow">for</span> (<a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Account.html">Account</a> <span class="keyword">const</span>& account : accounts)</div>
|
||||
<div class="line"><a id="l00683" name="l00683"></a><span class="lineno"> 683</span> {</div>
|
||||
<div class="line"><a id="l00684" name="l00684"></a><span class="lineno"> 684</span> <span class="comment">// Mint the NFT.</span></div>
|
||||
<div class="line"><a id="l00685" name="l00685"></a><span class="lineno"> 685</span> <a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& nftID = nftIDs.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/emplace_back.html">emplace_back</a>(</div>
|
||||
<div class="line"><a id="l00686" name="l00686"></a><span class="lineno"> 686</span> token::getNextID(env, account, 0, <a class="code hl_variable" href="namespaceripple.html#af6dbd01af49aa6a39b96cee44add0df1">tfTransferable</a>));</div>
|
||||
<div class="line"><a id="l00687" name="l00687"></a><span class="lineno"> 687</span> env(token::mint(account, 0), txflags(<a class="code hl_variable" href="namespaceripple.html#af6dbd01af49aa6a39b96cee44add0df1">tfTransferable</a>));</div>
|
||||
<div class="line"><a id="l00686" name="l00686"></a><span class="lineno"> 686</span> <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx_1_1token.html#a2749ac7d2df5bd6424972b8de5cb0ad8">token::getNextID</a>(env, account, 0, <a class="code hl_variable" href="namespaceripple.html#af6dbd01af49aa6a39b96cee44add0df1">tfTransferable</a>));</div>
|
||||
<div class="line"><a id="l00687" name="l00687"></a><span class="lineno"> 687</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx_1_1token.html#ab5b8b8289e756cf37a6ad2d1adb876b5">token::mint</a>(account, 0), <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1txflags.html">txflags</a>(<a class="code hl_variable" href="namespaceripple.html#af6dbd01af49aa6a39b96cee44add0df1">tfTransferable</a>));</div>
|
||||
<div class="line"><a id="l00688" name="l00688"></a><span class="lineno"> 688</span> env.close();</div>
|
||||
<div class="line"><a id="l00689" name="l00689"></a><span class="lineno"> 689</span> </div>
|
||||
<div class="line"><a id="l00690" name="l00690"></a><span class="lineno"> 690</span> <span class="comment">// Create an offer to give the NFT to buyer for free.</span></div>
|
||||
<div class="line"><a id="l00691" name="l00691"></a><span class="lineno"> 691</span> offers.emplace_back(</div>
|
||||
<div class="line"><a id="l00691" name="l00691"></a><span class="lineno"> 691</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1owner__count.html">offers</a>.emplace_back(</div>
|
||||
<div class="line"><a id="l00692" name="l00692"></a><span class="lineno"> 692</span> <a class="code hl_function" href="namespaceripple_1_1keylet.html#adddc4768b4e412ab96f6fff32b8c3903">keylet::nftoffer</a>(account, env.seq(account)).<a class="code hl_variable" href="structripple_1_1Keylet.html#a482983062843a8682fcea76a309c73db">key</a>);</div>
|
||||
<div class="line"><a id="l00693" name="l00693"></a><span class="lineno"> 693</span> env(token::createOffer(account, nftID, XRP(0)),</div>
|
||||
<div class="line"><a id="l00694" name="l00694"></a><span class="lineno"> 694</span> token::destination(buyer),</div>
|
||||
<div class="line"><a id="l00695" name="l00695"></a><span class="lineno"> 695</span> txflags((<a class="code hl_variable" href="namespaceripple.html#a449cf5cfc4fd3f6c2a3577a57374bda5">tfSellNFToken</a>)));</div>
|
||||
<div class="line"><a id="l00693" name="l00693"></a><span class="lineno"> 693</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx_1_1token.html#a40dfafd85108b010176f95d9af3b9c33">token::createOffer</a>(account, nftID, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(0)),</div>
|
||||
<div class="line"><a id="l00694" name="l00694"></a><span class="lineno"> 694</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1token_1_1destination.html">token::destination</a>(buyer),</div>
|
||||
<div class="line"><a id="l00695" name="l00695"></a><span class="lineno"> 695</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1txflags.html">txflags</a>((<a class="code hl_variable" href="namespaceripple.html#a449cf5cfc4fd3f6c2a3577a57374bda5">tfSellNFToken</a>)));</div>
|
||||
<div class="line"><a id="l00696" name="l00696"></a><span class="lineno"> 696</span> }</div>
|
||||
<div class="line"><a id="l00697" name="l00697"></a><span class="lineno"> 697</span> env.close();</div>
|
||||
<div class="line"><a id="l00698" name="l00698"></a><span class="lineno"> 698</span> </div>
|
||||
@@ -784,19 +784,19 @@ $(function() {
|
||||
<div class="line"><a id="l00706" name="l00706"></a><span class="lineno"> 706</span> <span class="comment">// Remove one NFT and offer from the vectors. This offer is the one</span></div>
|
||||
<div class="line"><a id="l00707" name="l00707"></a><span class="lineno"> 707</span> <span class="comment">// that will overflow the page.</span></div>
|
||||
<div class="line"><a id="l00708" name="l00708"></a><span class="lineno"> 708</span> nftIDs.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/pop_back.html">pop_back</a>();</div>
|
||||
<div class="line"><a id="l00709" name="l00709"></a><span class="lineno"> 709</span> <a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span> offerForPageOverflow = offers.back();</div>
|
||||
<div class="line"><a id="l00710" name="l00710"></a><span class="lineno"> 710</span> offers.pop_back();</div>
|
||||
<div class="line"><a id="l00709" name="l00709"></a><span class="lineno"> 709</span> <a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span> offerForPageOverflow = <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1owner__count.html">offers</a>.back();</div>
|
||||
<div class="line"><a id="l00710" name="l00710"></a><span class="lineno"> 710</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1owner__count.html">offers</a>.pop_back();</div>
|
||||
<div class="line"><a id="l00711" name="l00711"></a><span class="lineno"> 711</span> </div>
|
||||
<div class="line"><a id="l00712" name="l00712"></a><span class="lineno"> 712</span> <span class="comment">// buyer accepts all of the offers but one.</span></div>
|
||||
<div class="line"><a id="l00713" name="l00713"></a><span class="lineno"> 713</span> <span class="keywordflow">for</span> (<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& offer : offers)</div>
|
||||
<div class="line"><a id="l00713" name="l00713"></a><span class="lineno"> 713</span> <span class="keywordflow">for</span> (<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#ac423e2aa3fd7a14ae651849b430994f1">offer</a> : <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1owner__count.html">offers</a>)</div>
|
||||
<div class="line"><a id="l00714" name="l00714"></a><span class="lineno"> 714</span> {</div>
|
||||
<div class="line"><a id="l00715" name="l00715"></a><span class="lineno"> 715</span> env(token::acceptSellOffer(buyer, offer));</div>
|
||||
<div class="line"><a id="l00715" name="l00715"></a><span class="lineno"> 715</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx_1_1token.html#a91831cf96998d1ec5c992805bc2c4cde">token::acceptSellOffer</a>(buyer, <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#ac423e2aa3fd7a14ae651849b430994f1">offer</a>));</div>
|
||||
<div class="line"><a id="l00716" name="l00716"></a><span class="lineno"> 716</span> env.close();</div>
|
||||
<div class="line"><a id="l00717" name="l00717"></a><span class="lineno"> 717</span> }</div>
|
||||
<div class="line"><a id="l00718" name="l00718"></a><span class="lineno"> 718</span> </div>
|
||||
<div class="line"><a id="l00719" name="l00719"></a><span class="lineno"> 719</span> <span class="comment">// buyer accepts the last offer which causes a page overflow.</span></div>
|
||||
<div class="line"><a id="l00720" name="l00720"></a><span class="lineno"> 720</span> env(token::acceptSellOffer(buyer, offerForPageOverflow),</div>
|
||||
<div class="line"><a id="l00721" name="l00721"></a><span class="lineno"> 721</span> ter(<a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca10e35800090d65acc1be56b1f80b794b">tecNO_SUITABLE_NFTOKEN_PAGE</a>));</div>
|
||||
<div class="line"><a id="l00720" name="l00720"></a><span class="lineno"> 720</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx_1_1token.html#a91831cf96998d1ec5c992805bc2c4cde">token::acceptSellOffer</a>(buyer, offerForPageOverflow),</div>
|
||||
<div class="line"><a id="l00721" name="l00721"></a><span class="lineno"> 721</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1ter.html">ter</a>(<a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca10e35800090d65acc1be56b1f80b794b">tecNO_SUITABLE_NFTOKEN_PAGE</a>));</div>
|
||||
<div class="line"><a id="l00722" name="l00722"></a><span class="lineno"> 722</span> </div>
|
||||
<div class="line"><a id="l00723" name="l00723"></a><span class="lineno"> 723</span> <span class="comment">// Verify that all expected NFTs are owned by buyer and findable in</span></div>
|
||||
<div class="line"><a id="l00724" name="l00724"></a><span class="lineno"> 724</span> <span class="comment">// the ledger by having buyer create sell offers for all of their NFTs.</span></div>
|
||||
@@ -805,11 +805,11 @@ $(function() {
|
||||
<div class="line"><a id="l00727" name="l00727"></a><span class="lineno"> 727</span> <span class="keywordflow">for</span> (<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& nftID : nftIDs)</div>
|
||||
<div class="line"><a id="l00728" name="l00728"></a><span class="lineno"> 728</span> {</div>
|
||||
<div class="line"><a id="l00729" name="l00729"></a><span class="lineno"> 729</span> <a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span> offerID = <a class="code hl_function" href="namespaceripple_1_1keylet.html#adddc4768b4e412ab96f6fff32b8c3903">keylet::nftoffer</a>(buyer, env.seq(buyer)).<a class="code hl_variable" href="structripple_1_1Keylet.html#a482983062843a8682fcea76a309c73db">key</a>;</div>
|
||||
<div class="line"><a id="l00730" name="l00730"></a><span class="lineno"> 730</span> env(token::createOffer(buyer, nftID, XRP(100)),</div>
|
||||
<div class="line"><a id="l00731" name="l00731"></a><span class="lineno"> 731</span> txflags(<a class="code hl_variable" href="namespaceripple.html#a449cf5cfc4fd3f6c2a3577a57374bda5">tfSellNFToken</a>));</div>
|
||||
<div class="line"><a id="l00730" name="l00730"></a><span class="lineno"> 730</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx_1_1token.html#a40dfafd85108b010176f95d9af3b9c33">token::createOffer</a>(buyer, nftID, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(100)),</div>
|
||||
<div class="line"><a id="l00731" name="l00731"></a><span class="lineno"> 731</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1txflags.html">txflags</a>(<a class="code hl_variable" href="namespaceripple.html#a449cf5cfc4fd3f6c2a3577a57374bda5">tfSellNFToken</a>));</div>
|
||||
<div class="line"><a id="l00732" name="l00732"></a><span class="lineno"> 732</span> env.close();</div>
|
||||
<div class="line"><a id="l00733" name="l00733"></a><span class="lineno"> 733</span> </div>
|
||||
<div class="line"><a id="l00734" name="l00734"></a><span class="lineno"> 734</span> env(token::cancelOffer(buyer, {offerID}));</div>
|
||||
<div class="line"><a id="l00734" name="l00734"></a><span class="lineno"> 734</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx_1_1token.html#ad39013065cc24af0df83eb5354ec937c">token::cancelOffer</a>(buyer, {offerID}));</div>
|
||||
<div class="line"><a id="l00735" name="l00735"></a><span class="lineno"> 735</span> }</div>
|
||||
<div class="line"><a id="l00736" name="l00736"></a><span class="lineno"> 736</span> </div>
|
||||
<div class="line"><a id="l00737" name="l00737"></a><span class="lineno"> 737</span> <span class="comment">// Verify that all the NFTs are owned by buyer.</span></div>
|
||||
@@ -845,7 +845,7 @@ $(function() {
|
||||
<div class="line"><a id="l00767" name="l00767"></a><span class="lineno"> 767</span> <a class="code hl_class" href="classripple_1_1TERSubset.html">TER</a> <span class="keyword">const</span> <a class="code hl_function" href="classbeast_1_1unit__test_1_1suite.html#ac6fc161c3c00cfbbc9590afe9e4559aa">expect</a> = features[fixNFTokenDirV1]</div>
|
||||
<div class="line"><a id="l00768" name="l00768"></a><span class="lineno"> 768</span> ? <span class="keyword">static_cast<</span><a class="code hl_class" href="classripple_1_1TERSubset.html">TER</a><span class="keyword">></span>(<a class="code hl_enumvalue" href="namespaceripple.html#aabc7f150d5082c73116a1cd5962b434da28c7d8b3ed759d363503a05fcd59f151">tesSUCCESS</a>)</div>
|
||||
<div class="line"><a id="l00769" name="l00769"></a><span class="lineno"> 769</span> : <span class="keyword">static_cast<</span><a class="code hl_class" href="classripple_1_1TERSubset.html">TER</a><span class="keyword">></span>(<a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca10e35800090d65acc1be56b1f80b794b">tecNO_SUITABLE_NFTOKEN_PAGE</a>);</div>
|
||||
<div class="line"><a id="l00770" name="l00770"></a><span class="lineno"> 770</span> env(token::mint(buyer, 0), txflags(<a class="code hl_variable" href="namespaceripple.html#af6dbd01af49aa6a39b96cee44add0df1">tfTransferable</a>), ter(<a class="code hl_function" href="classbeast_1_1unit__test_1_1suite.html#ac6fc161c3c00cfbbc9590afe9e4559aa">expect</a>));</div>
|
||||
<div class="line"><a id="l00770" name="l00770"></a><span class="lineno"> 770</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx_1_1token.html#ab5b8b8289e756cf37a6ad2d1adb876b5">token::mint</a>(buyer, 0), <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1txflags.html">txflags</a>(<a class="code hl_variable" href="namespaceripple.html#af6dbd01af49aa6a39b96cee44add0df1">tfTransferable</a>), <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1ter.html">ter</a>(<a class="code hl_function" href="classbeast_1_1unit__test_1_1suite.html#ac6fc161c3c00cfbbc9590afe9e4559aa">expect</a>));</div>
|
||||
<div class="line"><a id="l00771" name="l00771"></a><span class="lineno"> 771</span> env.close();</div>
|
||||
<div class="line"><a id="l00772" name="l00772"></a><span class="lineno"> 772</span> }</div>
|
||||
<div class="line"><a id="l00773" name="l00773"></a><span class="lineno"> 773</span> </div>
|
||||
@@ -872,11 +872,11 @@ $(function() {
|
||||
<div class="line"><a id="l00794" name="l00794"></a><span class="lineno"> 794</span> </div>
|
||||
<div class="line"><a id="l00795" name="l00795"></a><span class="lineno"> 795</span> <span class="keyword">using namespace </span>test::jtx;</div>
|
||||
<div class="line"><a id="l00796" name="l00796"></a><span class="lineno"> 796</span> </div>
|
||||
<div class="line"><a id="l00797" name="l00797"></a><span class="lineno"> 797</span> Env env{*<span class="keyword">this</span>, features};</div>
|
||||
<div class="line"><a id="l00797" name="l00797"></a><span class="lineno"> 797</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> env{*<span class="keyword">this</span>, features};</div>
|
||||
<div class="line"><a id="l00798" name="l00798"></a><span class="lineno"> 798</span> </div>
|
||||
<div class="line"><a id="l00799" name="l00799"></a><span class="lineno"> 799</span> <span class="comment">// Eventually all of the NFTokens will be owned by buyer.</span></div>
|
||||
<div class="line"><a id="l00800" name="l00800"></a><span class="lineno"> 800</span> Account <span class="keyword">const</span> buyer{<span class="stringliteral">"buyer"</span>};</div>
|
||||
<div class="line"><a id="l00801" name="l00801"></a><span class="lineno"> 801</span> env.fund(XRP(10000), buyer);</div>
|
||||
<div class="line"><a id="l00800" name="l00800"></a><span class="lineno"> 800</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Account.html">Account</a> <span class="keyword">const</span> buyer{<span class="stringliteral">"buyer"</span>};</div>
|
||||
<div class="line"><a id="l00801" name="l00801"></a><span class="lineno"> 801</span> env.fund(<a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10000), buyer);</div>
|
||||
<div class="line"><a id="l00802" name="l00802"></a><span class="lineno"> 802</span> env.close();</div>
|
||||
<div class="line"><a id="l00803" name="l00803"></a><span class="lineno"> 803</span> </div>
|
||||
<div class="line"><a id="l00804" name="l00804"></a><span class="lineno"> 804</span> <span class="comment">// Here are 33 seeds that produce identical low 32-bits in their</span></div>
|
||||
@@ -922,9 +922,9 @@ $(function() {
|
||||
<div class="line"><a id="l00844" name="l00844"></a><span class="lineno"> 844</span> accounts.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/reserve.html">reserve</a>(seeds.size());</div>
|
||||
<div class="line"><a id="l00845" name="l00845"></a><span class="lineno"> 845</span> <span class="keywordflow">for</span> (<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string_view.html">std::string_view</a> seed : seeds)</div>
|
||||
<div class="line"><a id="l00846" name="l00846"></a><span class="lineno"> 846</span> {</div>
|
||||
<div class="line"><a id="l00847" name="l00847"></a><span class="lineno"> 847</span> Account <span class="keyword">const</span>& account =</div>
|
||||
<div class="line"><a id="l00848" name="l00848"></a><span class="lineno"> 848</span> accounts.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/emplace_back.html">emplace_back</a>(Account::base58Seed, <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a>(seed));</div>
|
||||
<div class="line"><a id="l00849" name="l00849"></a><span class="lineno"> 849</span> env.fund(XRP(10000), account);</div>
|
||||
<div class="line"><a id="l00847" name="l00847"></a><span class="lineno"> 847</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Account.html">Account</a> <span class="keyword">const</span>& account =</div>
|
||||
<div class="line"><a id="l00848" name="l00848"></a><span class="lineno"> 848</span> accounts.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/emplace_back.html">emplace_back</a>(<a class="code hl_enumvalue" href="classripple_1_1test_1_1jtx_1_1Account.html#aca8ee7ec341c993ca685d27dd8fcc6c3aceb144f5c46ddf333838c98908ba9933">Account::base58Seed</a>, <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a>(seed));</div>
|
||||
<div class="line"><a id="l00849" name="l00849"></a><span class="lineno"> 849</span> env.fund(<a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10000), account);</div>
|
||||
<div class="line"><a id="l00850" name="l00850"></a><span class="lineno"> 850</span> </div>
|
||||
<div class="line"><a id="l00851" name="l00851"></a><span class="lineno"> 851</span> <span class="comment">// Do not close the ledger inside the loop. If</span></div>
|
||||
<div class="line"><a id="l00852" name="l00852"></a><span class="lineno"> 852</span> <span class="comment">// fixNFTokenRemint is enabled and accounts are initialized</span></div>
|
||||
@@ -939,28 +939,28 @@ $(function() {
|
||||
<div class="line"><a id="l00861" name="l00861"></a><span class="lineno"> 861</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/array.html">std::array<std::vector<uint256></a>, 7> nftIDsByPage;</div>
|
||||
<div class="line"><a id="l00862" name="l00862"></a><span class="lineno"> 862</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span>& vec : nftIDsByPage)</div>
|
||||
<div class="line"><a id="l00863" name="l00863"></a><span class="lineno"> 863</span> vec.reserve(accounts.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>());</div>
|
||||
<div class="line"><a id="l00864" name="l00864"></a><span class="lineno"> 864</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/array.html">std::array<std::vector<uint256></a>, 7> offers;</div>
|
||||
<div class="line"><a id="l00865" name="l00865"></a><span class="lineno"> 865</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span>& vec : offers)</div>
|
||||
<div class="line"><a id="l00864" name="l00864"></a><span class="lineno"> 864</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/array.html">std::array<std::vector<uint256></a>, 7> <a class="code hl_typedef" href="namespaceripple_1_1test_1_1jtx.html#a3beb715a43d7e5bc771c333529bbf92d">offers</a>;</div>
|
||||
<div class="line"><a id="l00865" name="l00865"></a><span class="lineno"> 865</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span>& vec : <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1owner__count.html">offers</a>)</div>
|
||||
<div class="line"><a id="l00866" name="l00866"></a><span class="lineno"> 866</span> vec.reserve(accounts.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>());</div>
|
||||
<div class="line"><a id="l00867" name="l00867"></a><span class="lineno"> 867</span> <span class="keywordflow">for</span> (<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> i = 0; i < nftIDsByPage.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/array/size.html">size</a>(); ++i)</div>
|
||||
<div class="line"><a id="l00868" name="l00868"></a><span class="lineno"> 868</span> {</div>
|
||||
<div class="line"><a id="l00869" name="l00869"></a><span class="lineno"> 869</span> <span class="keywordflow">for</span> (Account <span class="keyword">const</span>& account : accounts)</div>
|
||||
<div class="line"><a id="l00869" name="l00869"></a><span class="lineno"> 869</span> <span class="keywordflow">for</span> (<a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Account.html">Account</a> <span class="keyword">const</span>& account : accounts)</div>
|
||||
<div class="line"><a id="l00870" name="l00870"></a><span class="lineno"> 870</span> {</div>
|
||||
<div class="line"><a id="l00871" name="l00871"></a><span class="lineno"> 871</span> <span class="comment">// Mint the NFT. Tweak the taxon so zero is always stored.</span></div>
|
||||
<div class="line"><a id="l00872" name="l00872"></a><span class="lineno"> 872</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> taxon =</div>
|
||||
<div class="line"><a id="l00873" name="l00873"></a><span class="lineno"> 873</span> toUInt32(<a class="code hl_function" href="namespaceripple_1_1nft.html#a6ff9377be53296a54dd73bff1a4ae934">nft::cipheredTaxon</a>(i, <a class="code hl_function" href="namespaceripple_1_1nft.html#a8878ae3c753ff4fe6bb04e5c516ccea5">nft::toTaxon</a>(0)));</div>
|
||||
<div class="line"><a id="l00874" name="l00874"></a><span class="lineno"> 874</span> </div>
|
||||
<div class="line"><a id="l00875" name="l00875"></a><span class="lineno"> 875</span> <a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& nftID = nftIDsByPage[i].emplace_back(</div>
|
||||
<div class="line"><a id="l00876" name="l00876"></a><span class="lineno"> 876</span> token::getNextID(env, account, taxon, <a class="code hl_variable" href="namespaceripple.html#af6dbd01af49aa6a39b96cee44add0df1">tfTransferable</a>));</div>
|
||||
<div class="line"><a id="l00877" name="l00877"></a><span class="lineno"> 877</span> env(token::mint(account, taxon), txflags(<a class="code hl_variable" href="namespaceripple.html#af6dbd01af49aa6a39b96cee44add0df1">tfTransferable</a>));</div>
|
||||
<div class="line"><a id="l00876" name="l00876"></a><span class="lineno"> 876</span> <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx_1_1token.html#a2749ac7d2df5bd6424972b8de5cb0ad8">token::getNextID</a>(env, account, taxon, <a class="code hl_variable" href="namespaceripple.html#af6dbd01af49aa6a39b96cee44add0df1">tfTransferable</a>));</div>
|
||||
<div class="line"><a id="l00877" name="l00877"></a><span class="lineno"> 877</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx_1_1token.html#ab5b8b8289e756cf37a6ad2d1adb876b5">token::mint</a>(account, taxon), <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1txflags.html">txflags</a>(<a class="code hl_variable" href="namespaceripple.html#af6dbd01af49aa6a39b96cee44add0df1">tfTransferable</a>));</div>
|
||||
<div class="line"><a id="l00878" name="l00878"></a><span class="lineno"> 878</span> env.close();</div>
|
||||
<div class="line"><a id="l00879" name="l00879"></a><span class="lineno"> 879</span> </div>
|
||||
<div class="line"><a id="l00880" name="l00880"></a><span class="lineno"> 880</span> <span class="comment">// Create an offer to give the NFT to buyer for free.</span></div>
|
||||
<div class="line"><a id="l00881" name="l00881"></a><span class="lineno"> 881</span> offers[i].emplace_back(</div>
|
||||
<div class="line"><a id="l00881" name="l00881"></a><span class="lineno"> 881</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1owner__count.html">offers</a>[i].emplace_back(</div>
|
||||
<div class="line"><a id="l00882" name="l00882"></a><span class="lineno"> 882</span> <a class="code hl_function" href="namespaceripple_1_1keylet.html#adddc4768b4e412ab96f6fff32b8c3903">keylet::nftoffer</a>(account, env.seq(account)).<a class="code hl_variable" href="structripple_1_1Keylet.html#a482983062843a8682fcea76a309c73db">key</a>);</div>
|
||||
<div class="line"><a id="l00883" name="l00883"></a><span class="lineno"> 883</span> env(token::createOffer(account, nftID, XRP(0)),</div>
|
||||
<div class="line"><a id="l00884" name="l00884"></a><span class="lineno"> 884</span> token::destination(buyer),</div>
|
||||
<div class="line"><a id="l00885" name="l00885"></a><span class="lineno"> 885</span> txflags((<a class="code hl_variable" href="namespaceripple.html#a449cf5cfc4fd3f6c2a3577a57374bda5">tfSellNFToken</a>)));</div>
|
||||
<div class="line"><a id="l00883" name="l00883"></a><span class="lineno"> 883</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx_1_1token.html#a40dfafd85108b010176f95d9af3b9c33">token::createOffer</a>(account, nftID, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(0)),</div>
|
||||
<div class="line"><a id="l00884" name="l00884"></a><span class="lineno"> 884</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1token_1_1destination.html">token::destination</a>(buyer),</div>
|
||||
<div class="line"><a id="l00885" name="l00885"></a><span class="lineno"> 885</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1txflags.html">txflags</a>((<a class="code hl_variable" href="namespaceripple.html#a449cf5cfc4fd3f6c2a3577a57374bda5">tfSellNFToken</a>)));</div>
|
||||
<div class="line"><a id="l00886" name="l00886"></a><span class="lineno"> 886</span> }</div>
|
||||
<div class="line"><a id="l00887" name="l00887"></a><span class="lineno"> 887</span> }</div>
|
||||
<div class="line"><a id="l00888" name="l00888"></a><span class="lineno"> 888</span> env.close();</div>
|
||||
@@ -989,9 +989,9 @@ $(function() {
|
||||
<div class="line"><a id="l00911" name="l00911"></a><span class="lineno"> 911</span> nftIDsByPage[i].pop_back();</div>
|
||||
<div class="line"><a id="l00912" name="l00912"></a><span class="lineno"> 912</span> BEAST_EXPECT(nftIDsByPage[i].size() == seeds.size() - 1);</div>
|
||||
<div class="line"><a id="l00913" name="l00913"></a><span class="lineno"> 913</span> </div>
|
||||
<div class="line"><a id="l00914" name="l00914"></a><span class="lineno"> 914</span> overflowOffers.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(offers[i].back());</div>
|
||||
<div class="line"><a id="l00915" name="l00915"></a><span class="lineno"> 915</span> offers[i].pop_back();</div>
|
||||
<div class="line"><a id="l00916" name="l00916"></a><span class="lineno"> 916</span> BEAST_EXPECT(offers[i].size() == seeds.size() - 1);</div>
|
||||
<div class="line"><a id="l00914" name="l00914"></a><span class="lineno"> 914</span> overflowOffers.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(<a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1owner__count.html">offers</a>[i].back());</div>
|
||||
<div class="line"><a id="l00915" name="l00915"></a><span class="lineno"> 915</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1owner__count.html">offers</a>[i].pop_back();</div>
|
||||
<div class="line"><a id="l00916" name="l00916"></a><span class="lineno"> 916</span> BEAST_EXPECT(<a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1owner__count.html">offers</a>[i].size() == seeds.size() - 1);</div>
|
||||
<div class="line"><a id="l00917" name="l00917"></a><span class="lineno"> 917</span> }</div>
|
||||
<div class="line"><a id="l00918" name="l00918"></a><span class="lineno"> 918</span> </div>
|
||||
<div class="line"><a id="l00919" name="l00919"></a><span class="lineno"> 919</span> <span class="comment">// buyer accepts all of the offers that won't cause an overflow.</span></div>
|
||||
@@ -999,19 +999,19 @@ $(function() {
|
||||
<div class="line"><a id="l00921" name="l00921"></a><span class="lineno"> 921</span> <span class="comment">// cases.</span></div>
|
||||
<div class="line"><a id="l00922" name="l00922"></a><span class="lineno"> 922</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i : <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/initializer_list.html">std::initializer_list<int></a>{3, 6, 0, 1, 2, 5, 4})</div>
|
||||
<div class="line"><a id="l00923" name="l00923"></a><span class="lineno"> 923</span> {</div>
|
||||
<div class="line"><a id="l00924" name="l00924"></a><span class="lineno"> 924</span> <span class="keywordflow">for</span> (<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& offer : offers[i])</div>
|
||||
<div class="line"><a id="l00924" name="l00924"></a><span class="lineno"> 924</span> <span class="keywordflow">for</span> (<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#ac423e2aa3fd7a14ae651849b430994f1">offer</a> : <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1owner__count.html">offers</a>[i])</div>
|
||||
<div class="line"><a id="l00925" name="l00925"></a><span class="lineno"> 925</span> {</div>
|
||||
<div class="line"><a id="l00926" name="l00926"></a><span class="lineno"> 926</span> env(token::acceptSellOffer(buyer, offer));</div>
|
||||
<div class="line"><a id="l00926" name="l00926"></a><span class="lineno"> 926</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx_1_1token.html#a91831cf96998d1ec5c992805bc2c4cde">token::acceptSellOffer</a>(buyer, <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#ac423e2aa3fd7a14ae651849b430994f1">offer</a>));</div>
|
||||
<div class="line"><a id="l00927" name="l00927"></a><span class="lineno"> 927</span> env.close();</div>
|
||||
<div class="line"><a id="l00928" name="l00928"></a><span class="lineno"> 928</span> }</div>
|
||||
<div class="line"><a id="l00929" name="l00929"></a><span class="lineno"> 929</span> }</div>
|
||||
<div class="line"><a id="l00930" name="l00930"></a><span class="lineno"> 930</span> </div>
|
||||
<div class="line"><a id="l00931" name="l00931"></a><span class="lineno"> 931</span> <span class="comment">// buyer accepts the seven offers that would cause page overflows if</span></div>
|
||||
<div class="line"><a id="l00932" name="l00932"></a><span class="lineno"> 932</span> <span class="comment">// the transaction succeeded.</span></div>
|
||||
<div class="line"><a id="l00933" name="l00933"></a><span class="lineno"> 933</span> <span class="keywordflow">for</span> (<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& offer : overflowOffers)</div>
|
||||
<div class="line"><a id="l00933" name="l00933"></a><span class="lineno"> 933</span> <span class="keywordflow">for</span> (<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#ac423e2aa3fd7a14ae651849b430994f1">offer</a> : overflowOffers)</div>
|
||||
<div class="line"><a id="l00934" name="l00934"></a><span class="lineno"> 934</span> {</div>
|
||||
<div class="line"><a id="l00935" name="l00935"></a><span class="lineno"> 935</span> env(token::acceptSellOffer(buyer, offer),</div>
|
||||
<div class="line"><a id="l00936" name="l00936"></a><span class="lineno"> 936</span> ter(<a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca10e35800090d65acc1be56b1f80b794b">tecNO_SUITABLE_NFTOKEN_PAGE</a>));</div>
|
||||
<div class="line"><a id="l00935" name="l00935"></a><span class="lineno"> 935</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx_1_1token.html#a91831cf96998d1ec5c992805bc2c4cde">token::acceptSellOffer</a>(buyer, <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#ac423e2aa3fd7a14ae651849b430994f1">offer</a>),</div>
|
||||
<div class="line"><a id="l00936" name="l00936"></a><span class="lineno"> 936</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1ter.html">ter</a>(<a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca10e35800090d65acc1be56b1f80b794b">tecNO_SUITABLE_NFTOKEN_PAGE</a>));</div>
|
||||
<div class="line"><a id="l00937" name="l00937"></a><span class="lineno"> 937</span> env.close();</div>
|
||||
<div class="line"><a id="l00938" name="l00938"></a><span class="lineno"> 938</span> }</div>
|
||||
<div class="line"><a id="l00939" name="l00939"></a><span class="lineno"> 939</span> </div>
|
||||
@@ -1023,8 +1023,8 @@ $(function() {
|
||||
<div class="line"><a id="l00945" name="l00945"></a><span class="lineno"> 945</span> {</div>
|
||||
<div class="line"><a id="l00946" name="l00946"></a><span class="lineno"> 946</span> <span class="keywordflow">for</span> (<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& nftID : vec)</div>
|
||||
<div class="line"><a id="l00947" name="l00947"></a><span class="lineno"> 947</span> {</div>
|
||||
<div class="line"><a id="l00948" name="l00948"></a><span class="lineno"> 948</span> env(token::createOffer(buyer, nftID, XRP(100)),</div>
|
||||
<div class="line"><a id="l00949" name="l00949"></a><span class="lineno"> 949</span> txflags(<a class="code hl_variable" href="namespaceripple.html#a449cf5cfc4fd3f6c2a3577a57374bda5">tfSellNFToken</a>));</div>
|
||||
<div class="line"><a id="l00948" name="l00948"></a><span class="lineno"> 948</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx_1_1token.html#a40dfafd85108b010176f95d9af3b9c33">token::createOffer</a>(buyer, nftID, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(100)),</div>
|
||||
<div class="line"><a id="l00949" name="l00949"></a><span class="lineno"> 949</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1txflags.html">txflags</a>(<a class="code hl_variable" href="namespaceripple.html#a449cf5cfc4fd3f6c2a3577a57374bda5">tfSellNFToken</a>));</div>
|
||||
<div class="line"><a id="l00950" name="l00950"></a><span class="lineno"> 950</span> env.close();</div>
|
||||
<div class="line"><a id="l00951" name="l00951"></a><span class="lineno"> 951</span> }</div>
|
||||
<div class="line"><a id="l00952" name="l00952"></a><span class="lineno"> 952</span> }</div>
|
||||
@@ -1076,16 +1076,16 @@ $(function() {
|
||||
<div class="line"><a id="l00998" name="l00998"></a><span class="lineno"> 998</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<uint256></a> cancelOffers;</div>
|
||||
<div class="line"><a id="l00999" name="l00999"></a><span class="lineno"> 999</span> cancelOffers.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/reserve.html">reserve</a>(ownedNftOffers.<a class="code hl_function" href="classJson_1_1Value.html#a23c7027ca674f989f90564d63ef36c74">size</a>());</div>
|
||||
<div class="line"><a id="l01000" name="l01000"></a><span class="lineno"> 1000</span> </div>
|
||||
<div class="line"><a id="l01001" name="l01001"></a><span class="lineno"> 1001</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span> <span class="keyword">const</span>& offer : ownedNftOffers)</div>
|
||||
<div class="line"><a id="l01001" name="l01001"></a><span class="lineno"> 1001</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span> <span class="keyword">const</span>& <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#ac423e2aa3fd7a14ae651849b430994f1">offer</a> : ownedNftOffers)</div>
|
||||
<div class="line"><a id="l01002" name="l01002"></a><span class="lineno"> 1002</span> {</div>
|
||||
<div class="line"><a id="l01003" name="l01003"></a><span class="lineno"> 1003</span> <span class="keywordflow">if</span> (offer.isMember(jss::index))</div>
|
||||
<div class="line"><a id="l01003" name="l01003"></a><span class="lineno"> 1003</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#ac423e2aa3fd7a14ae651849b430994f1">offer</a>.<a class="code hl_function" href="classJson_1_1Value.html#abfa90c81f6aee7877bd5fb4c8445994f">isMember</a>(jss::index))</div>
|
||||
<div class="line"><a id="l01004" name="l01004"></a><span class="lineno"> 1004</span> {</div>
|
||||
<div class="line"><a id="l01005" name="l01005"></a><span class="lineno"> 1005</span> <a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> offerIndex;</div>
|
||||
<div class="line"><a id="l01006" name="l01006"></a><span class="lineno"> 1006</span> <span class="keywordflow">if</span> (offerIndex.<a class="code hl_function" href="classripple_1_1base__uint.html#a698d3fd0c0f0155995c87d2f48ac90d5">parseHex</a>(offer[jss::index].asString()))</div>
|
||||
<div class="line"><a id="l01006" name="l01006"></a><span class="lineno"> 1006</span> <span class="keywordflow">if</span> (offerIndex.<a class="code hl_function" href="classripple_1_1base__uint.html#a698d3fd0c0f0155995c87d2f48ac90d5">parseHex</a>(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#ac423e2aa3fd7a14ae651849b430994f1">offer</a>[jss::index].<a class="code hl_function" href="classJson_1_1Value.html#ab0d86bf425efefd03513e8dbfaca317b">asString</a>()))</div>
|
||||
<div class="line"><a id="l01007" name="l01007"></a><span class="lineno"> 1007</span> cancelOffers.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(offerIndex);</div>
|
||||
<div class="line"><a id="l01008" name="l01008"></a><span class="lineno"> 1008</span> }</div>
|
||||
<div class="line"><a id="l01009" name="l01009"></a><span class="lineno"> 1009</span> }</div>
|
||||
<div class="line"><a id="l01010" name="l01010"></a><span class="lineno"> 1010</span> env(token::cancelOffer(buyer, cancelOffers));</div>
|
||||
<div class="line"><a id="l01010" name="l01010"></a><span class="lineno"> 1010</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx_1_1token.html#ad39013065cc24af0df83eb5354ec937c">token::cancelOffer</a>(buyer, cancelOffers));</div>
|
||||
<div class="line"><a id="l01011" name="l01011"></a><span class="lineno"> 1011</span> env.close();</div>
|
||||
<div class="line"><a id="l01012" name="l01012"></a><span class="lineno"> 1012</span> }</div>
|
||||
<div class="line"><a id="l01013" name="l01013"></a><span class="lineno"> 1013</span> </div>
|
||||
@@ -1178,7 +1178,7 @@ $(function() {
|
||||
<div class="line"><a id="l01100" name="l01100"></a><span class="lineno"><a class="line" href="classripple_1_1NFTokenDir__test.html#a9768139f5b5f0f3fcd5e3f09012b4e5b"> 1100</a></span> <a class="code hl_function" href="classripple_1_1NFTokenDir__test.html#a9768139f5b5f0f3fcd5e3f09012b4e5b">run</a>()<span class="keyword"> override</span></div>
|
||||
<div class="line"><a id="l01101" name="l01101"></a><span class="lineno"> 1101</span><span class="keyword"> </span>{</div>
|
||||
<div class="line"><a id="l01102" name="l01102"></a><span class="lineno"> 1102</span> <span class="keyword">using namespace </span>test::jtx;</div>
|
||||
<div class="line"><a id="l01103" name="l01103"></a><span class="lineno"> 1103</span> <a class="code hl_class" href="classripple_1_1FeatureBitset.html">FeatureBitset</a> <span class="keyword">const</span> <a class="code hl_enumvalue" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a>{supported_amendments()};</div>
|
||||
<div class="line"><a id="l01103" name="l01103"></a><span class="lineno"> 1103</span> <a class="code hl_class" href="classripple_1_1FeatureBitset.html">FeatureBitset</a> <span class="keyword">const</span> <a class="code hl_enumvalue" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a>{<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#af5441d84d5977d52246c5226313560d4">supported_amendments</a>()};</div>
|
||||
<div class="line"><a id="l01104" name="l01104"></a><span class="lineno"> 1104</span> <a class="code hl_class" href="classripple_1_1FeatureBitset.html">FeatureBitset</a> <span class="keyword">const</span> fixNFTDir{</div>
|
||||
<div class="line"><a id="l01105" name="l01105"></a><span class="lineno"> 1105</span> fixNFTokenDirV1, featureNonFungibleTokensV1_1};</div>
|
||||
<div class="line"><a id="l01106" name="l01106"></a><span class="lineno"> 1106</span> </div>
|
||||
@@ -1706,13 +1706,13 @@ $(function() {
|
||||
<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="abasic_string_view_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string_view.html">std::string_view</a></div></div>
|
||||
<div class="ttc" id="abegin_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/begin.html">std::vector::begin</a></div><div class="ttdeci">T begin(T... args)</div></div>
|
||||
<div class="ttc" id="aclassJson_1_1Value_html"><div class="ttname"><a href="classJson_1_1Value.html">Json::Value</a></div><div class="ttdoc">Represents a JSON value.</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8h_source.html#l00147">json_value.h:148</a></div></div>
|
||||
<div class="ttc" id="aclassJson_1_1Value_html_a1627eb9d6568d6d0252fa8bb711c0a59"><div class="ttname"><a href="classJson_1_1Value.html#a1627eb9d6568d6d0252fa8bb711c0a59">Json::Value::isArray</a></div><div class="ttdeci">bool isArray() const</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l01034">json_value.cpp:1034</a></div></div>
|
||||
<div class="ttc" id="aclassJson_1_1Value_html_a21526b61dea2a1771030473e6248621e"><div class="ttname"><a href="classJson_1_1Value.html#a21526b61dea2a1771030473e6248621e">Json::Value::append</a></div><div class="ttdeci">Value & append(Value const &value)</div><div class="ttdoc">Append value to array at the end.</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l00897">json_value.cpp:897</a></div></div>
|
||||
<div class="ttc" id="aclassJson_1_1Value_html_a23c7027ca674f989f90564d63ef36c74"><div class="ttname"><a href="classJson_1_1Value.html#a23c7027ca674f989f90564d63ef36c74">Json::Value::size</a></div><div class="ttdeci">UInt size() const</div><div class="ttdoc">Number of values in array or object.</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l00712">json_value.cpp:712</a></div></div>
|
||||
<div class="ttc" id="aclassJson_1_1Value_html_a3696d34c1a1833742b4bf8e5b247f125"><div class="ttname"><a href="classJson_1_1Value.html#a3696d34c1a1833742b4bf8e5b247f125">Json::Value::toStyledString</a></div><div class="ttdeci">std::string toStyledString() const</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l01058">json_value.cpp:1058</a></div></div>
|
||||
<div class="ttc" id="aclassJson_1_1Value_html_ab0d86bf425efefd03513e8dbfaca317b"><div class="ttname"><a href="classJson_1_1Value.html#ab0d86bf425efefd03513e8dbfaca317b">Json::Value::asString</a></div><div class="ttdeci">std::string asString() const</div><div class="ttdoc">Returns the unquoted string value.</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l00475">json_value.cpp:475</a></div></div>
|
||||
<div class="ttc" id="aclassJson_1_1Value_html_abfa90c81f6aee7877bd5fb4c8445994f"><div class="ttname"><a href="classJson_1_1Value.html#abfa90c81f6aee7877bd5fb4c8445994f">Json::Value::isMember</a></div><div class="ttdeci">bool isMember(char const *key) const</div><div class="ttdoc">Return true if the object has a member named key.</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l00949">json_value.cpp:949</a></div></div>
|
||||
<div class="ttc" id="aclassJson_1_1Value_html"><div class="ttname"><a href="classJson_1_1Value.html">Json::Value</a></div><div class="ttdoc">Represents a JSON value.</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8h_source.html#l00149">json_value.h:150</a></div></div>
|
||||
<div class="ttc" id="aclassJson_1_1Value_html_a1627eb9d6568d6d0252fa8bb711c0a59"><div class="ttname"><a href="classJson_1_1Value.html#a1627eb9d6568d6d0252fa8bb711c0a59">Json::Value::isArray</a></div><div class="ttdeci">bool isArray() const</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l01047">json_value.cpp:1047</a></div></div>
|
||||
<div class="ttc" id="aclassJson_1_1Value_html_a21526b61dea2a1771030473e6248621e"><div class="ttname"><a href="classJson_1_1Value.html#a21526b61dea2a1771030473e6248621e">Json::Value::append</a></div><div class="ttdeci">Value & append(Value const &value)</div><div class="ttdoc">Append value to array at the end.</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l00910">json_value.cpp:910</a></div></div>
|
||||
<div class="ttc" id="aclassJson_1_1Value_html_a23c7027ca674f989f90564d63ef36c74"><div class="ttname"><a href="classJson_1_1Value.html#a23c7027ca674f989f90564d63ef36c74">Json::Value::size</a></div><div class="ttdeci">UInt size() const</div><div class="ttdoc">Number of values in array or object.</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l00719">json_value.cpp:719</a></div></div>
|
||||
<div class="ttc" id="aclassJson_1_1Value_html_a3696d34c1a1833742b4bf8e5b247f125"><div class="ttname"><a href="classJson_1_1Value.html#a3696d34c1a1833742b4bf8e5b247f125">Json::Value::toStyledString</a></div><div class="ttdeci">std::string toStyledString() const</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l01071">json_value.cpp:1071</a></div></div>
|
||||
<div class="ttc" id="aclassJson_1_1Value_html_ab0d86bf425efefd03513e8dbfaca317b"><div class="ttname"><a href="classJson_1_1Value.html#ab0d86bf425efefd03513e8dbfaca317b">Json::Value::asString</a></div><div class="ttdeci">std::string asString() const</div><div class="ttdoc">Returns the unquoted string value.</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l00482">json_value.cpp:482</a></div></div>
|
||||
<div class="ttc" id="aclassJson_1_1Value_html_abfa90c81f6aee7877bd5fb4c8445994f"><div class="ttname"><a href="classJson_1_1Value.html#abfa90c81f6aee7877bd5fb4c8445994f">Json::Value::isMember</a></div><div class="ttdeci">bool isMember(char const *key) const</div><div class="ttdoc">Return true if the object has a member named key.</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l00962">json_value.cpp:962</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>
|
||||
<div class="ttc" id="aclassbeast_1_1unit__test_1_1suite_html_aaa1237d9b85c69d35fe86645cee094b5"><div class="ttname"><a href="classbeast_1_1unit__test_1_1suite.html#aaa1237d9b85c69d35fe86645cee094b5">beast::unit_test::suite::testcase</a></div><div class="ttdeci">testcase_t testcase</div><div class="ttdoc">Memberspace for declaring test cases.</div><div class="ttdef"><b>Definition:</b> <a href="suite_8h_source.html#l00155">suite.h:155</a></div></div>
|
||||
<div class="ttc" id="aclassbeast_1_1unit__test_1_1suite_html_ac6fc161c3c00cfbbc9590afe9e4559aa"><div class="ttname"><a href="classbeast_1_1unit__test_1_1suite.html#ac6fc161c3c00cfbbc9590afe9e4559aa">beast::unit_test::suite::expect</a></div><div class="ttdeci">bool expect(Condition const &shouldBeTrue)</div><div class="ttdoc">Evaluate a test condition.</div><div class="ttdef"><b>Definition:</b> <a href="suite_8h_source.html#l00229">suite.h:229</a></div></div>
|
||||
@@ -1732,8 +1732,14 @@ $(function() {
|
||||
<div class="ttc" id="aclassripple_1_1TERSubset_html"><div class="ttname"><a href="classripple_1_1TERSubset.html">ripple::TERSubset< CanCvtToTER ></a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1base__uint_html"><div class="ttname"><a href="classripple_1_1base__uint.html">ripple::base_uint< 256 ></a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1base__uint_html_a698d3fd0c0f0155995c87d2f48ac90d5"><div class="ttname"><a href="classripple_1_1base__uint.html#a698d3fd0c0f0155995c87d2f48ac90d5">ripple::base_uint::parseHex</a></div><div class="ttdeci">constexpr bool parseHex(std::string_view sv)</div><div class="ttdoc">Parse a hex string into a base_uint.</div><div class="ttdef"><b>Definition:</b> <a href="base__uint_8h_source.html#l00503">base_uint.h:503</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html">ripple::test::jtx::Env</a></div><div class="ttdoc">A transaction testing environment.</div><div class="ttdef"><b>Definition:</b> <a href="Env_8h_source.html#l00119">Env.h:120</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html_ad69855b4b26fc3c83922c5783487592c"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html#ad69855b4b26fc3c83922c5783487592c">ripple::test::jtx::Env::rpc</a></div><div class="ttdeci">Json::Value rpc(unsigned apiVersion, std::unordered_map< std::string, std::string > const &headers, std::string const &cmd, Args &&... args)</div><div class="ttdoc">Execute an RPC command.</div><div class="ttdef"><b>Definition:</b> <a href="Env_8h_source.html#l00769">Env.h:769</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Account_html"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Account.html">ripple::test::jtx::Account</a></div><div class="ttdoc">Immutable cryptographic account descriptor.</div><div class="ttdef"><b>Definition:</b> <a href="Account_8h_source.html#l00038">Account.h:39</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Account_html_aca8ee7ec341c993ca685d27dd8fcc6c3aceb144f5c46ddf333838c98908ba9933"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Account.html#aca8ee7ec341c993ca685d27dd8fcc6c3aceb144f5c46ddf333838c98908ba9933">ripple::test::jtx::Account::base58Seed</a></div><div class="ttdeci">@ base58Seed</div><div class="ttdef"><b>Definition:</b> <a href="Account_8h_source.html#l00077">Account.h:77</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html">ripple::test::jtx::Env</a></div><div class="ttdoc">A transaction testing environment.</div><div class="ttdef"><b>Definition:</b> <a href="Env_8h_source.html#l00120">Env.h:121</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html_ad69855b4b26fc3c83922c5783487592c"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html#ad69855b4b26fc3c83922c5783487592c">ripple::test::jtx::Env::rpc</a></div><div class="ttdeci">Json::Value rpc(unsigned apiVersion, std::unordered_map< std::string, std::string > const &headers, std::string const &cmd, Args &&... args)</div><div class="ttdoc">Execute an RPC command.</div><div class="ttdef"><b>Definition:</b> <a href="Env_8h_source.html#l00770">Env.h:770</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1owner__count_html"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1owner__count.html">ripple::test::jtx::owner_count</a></div><div class="ttdef"><b>Definition:</b> <a href="owners_8h_source.html#l00052">owners.h:53</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1ter_html"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1ter.html">ripple::test::jtx::ter</a></div><div class="ttdoc">Set the expected result code for a JTx The test will fail if the code doesn't match.</div><div class="ttdef"><b>Definition:</b> <a href="ter_8h_source.html#l00034">ter.h:35</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1token_1_1destination_html"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1token_1_1destination.html">ripple::test::jtx::token::destination</a></div><div class="ttdoc">Sets the optional Destination field on an NFTokenOffer.</div><div class="ttdef"><b>Definition:</b> <a href="token_8h_source.html#l00162">token.h:163</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1txflags_html"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1txflags.html">ripple::test::jtx::txflags</a></div><div class="ttdoc">Set the flags on a JTx.</div><div class="ttdef"><b>Definition:</b> <a href="txflags_8h_source.html#l00030">txflags.h:31</a></div></div>
|
||||
<div class="ttc" id="aclear_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string/clear.html">std::string::clear</a></div><div class="ttdeci">T clear(T... args)</div></div>
|
||||
<div class="ttc" id="acout_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/cout.html">std::cout</a></div></div>
|
||||
<div class="ttc" id="aemplace_back_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/emplace_back.html">std::vector::emplace_back</a></div><div class="ttdeci">T emplace_back(T... args)</div></div>
|
||||
@@ -1746,19 +1752,29 @@ $(function() {
|
||||
<div class="ttc" id="ainitializer_list_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/initializer_list.html">initializer_list</a></div></div>
|
||||
<div class="ttc" id="ainsert_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/set/insert.html">std::set::insert</a></div><div class="ttdeci">T insert(T... args)</div></div>
|
||||
<div class="ttc" id="ainteger_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a></div></div>
|
||||
<div class="ttc" id="anamespaceJson_html_a7d654b75c16a57007925868e38212b4eadc8f264f36b55b063c78126b335415f4"><div class="ttname"><a href="namespaceJson.html#a7d654b75c16a57007925868e38212b4eadc8f264f36b55b063c78126b335415f4">Json::arrayValue</a></div><div class="ttdeci">@ arrayValue</div><div class="ttdoc">array value (ordered list)</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8h_source.html#l00043">json_value.h:43</a></div></div>
|
||||
<div class="ttc" id="anamespaceJson_html_a7d654b75c16a57007925868e38212b4eadc8f264f36b55b063c78126b335415f4"><div class="ttname"><a href="namespaceJson.html#a7d654b75c16a57007925868e38212b4eadc8f264f36b55b063c78126b335415f4">Json::arrayValue</a></div><div class="ttdeci">@ arrayValue</div><div class="ttdoc">array value (ordered list)</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8h_source.html#l00045">json_value.h:45</a></div></div>
|
||||
<div class="ttc" id="anamespaceJson_html_ab1488c31a37eea2d37f36a0961372572"><div class="ttname"><a href="namespaceJson.html#ab1488c31a37eea2d37f36a0961372572">Json::UInt</a></div><div class="ttdeci">unsigned int UInt</div><div class="ttdef"><b>Definition:</b> <a href="json__forwards_8h_source.html#l00027">json_forwards.h:27</a></div></div>
|
||||
<div class="ttc" id="anamespacebeast_1_1severities_html_a069a8a312b9123b77f6aa31733ca73beae13a45640877c138fc59c94443ece6f0"><div class="ttname"><a href="namespacebeast_1_1severities.html#a069a8a312b9123b77f6aa31733ca73beae13a45640877c138fc59c94443ece6f0">beast::severities::kDisabled</a></div><div class="ttdeci">@ kDisabled</div><div class="ttdef"><b>Definition:</b> <a href="Journal_8h_source.html#l00042">Journal.h:42</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1keylet_html_adddc4768b4e412ab96f6fff32b8c3903"><div class="ttname"><a href="namespaceripple_1_1keylet.html#adddc4768b4e412ab96f6fff32b8c3903">ripple::keylet::nftoffer</a></div><div class="ttdeci">Keylet nftoffer(AccountID const &owner, std::uint32_t seq)</div><div class="ttdoc">An offer from an account to buy or sell an NFT.</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_adddc4768b4e412ab96f6fff32b8c3903"><div class="ttname"><a href="namespaceripple_1_1keylet.html#adddc4768b4e412ab96f6fff32b8c3903">ripple::keylet::nftoffer</a></div><div class="ttdeci">Keylet nftoffer(AccountID const &owner, std::uint32_t seq)</div><div class="ttdoc">An offer from an account to buy or sell an NFT.</div><div class="ttdef"><b>Definition:</b> <a href="Indexes_8cpp_source.html#l00420">Indexes.cpp:420</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1nft_html_a6ff9377be53296a54dd73bff1a4ae934"><div class="ttname"><a href="namespaceripple_1_1nft.html#a6ff9377be53296a54dd73bff1a4ae934">ripple::nft::cipheredTaxon</a></div><div class="ttdeci">Taxon cipheredTaxon(std::uint32_t tokenSeq, Taxon taxon)</div><div class="ttdef"><b>Definition:</b> <a href="nft_8h_source.html#l00084">nft.h:84</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1nft_html_a8878ae3c753ff4fe6bb04e5c516ccea5"><div class="ttname"><a href="namespaceripple_1_1nft.html#a8878ae3c753ff4fe6bb04e5c516ccea5">ripple::nft::toTaxon</a></div><div class="ttdeci">Taxon toTaxon(std::uint32_t i)</div><div class="ttdef"><b>Definition:</b> <a href="nft_8h_source.html#l00042">nft.h:42</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1nft_html_ae14d4bb70598677d087143c83535243b"><div class="ttname"><a href="namespaceripple_1_1nft.html#ae14d4bb70598677d087143c83535243b">ripple::nft::pageMask</a></div><div class="ttdeci">uint256 constexpr pageMask(std::string_view("0000000000000000000000000000000000000000ffffffffffffffffffffffff"))</div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1test_1_1jtx_1_1token_html_a2749ac7d2df5bd6424972b8de5cb0ad8"><div class="ttname"><a href="namespaceripple_1_1test_1_1jtx_1_1token.html#a2749ac7d2df5bd6424972b8de5cb0ad8">ripple::test::jtx::token::getNextID</a></div><div class="ttdeci">uint256 getNextID(jtx::Env const &env, jtx::Account const &issuer, std::uint32_t nfTokenTaxon, std::uint16_t flags, std::uint16_t xferFee)</div><div class="ttdoc">Get the next NFTokenID that will be issued.</div><div class="ttdef"><b>Definition:</b> <a href="token_8cpp_source.html#l00068">token.cpp:68</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1test_1_1jtx_1_1token_html_a40dfafd85108b010176f95d9af3b9c33"><div class="ttname"><a href="namespaceripple_1_1test_1_1jtx_1_1token.html#a40dfafd85108b010176f95d9af3b9c33">ripple::test::jtx::token::createOffer</a></div><div class="ttdeci">Json::Value createOffer(jtx::Account const &account, uint256 const &nftokenID, STAmount const &amount)</div><div class="ttdoc">Create an NFTokenOffer.</div><div class="ttdef"><b>Definition:</b> <a href="token_8cpp_source.html#l00113">token.cpp:113</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1test_1_1jtx_1_1token_html_a91831cf96998d1ec5c992805bc2c4cde"><div class="ttname"><a href="namespaceripple_1_1test_1_1jtx_1_1token.html#a91831cf96998d1ec5c992805bc2c4cde">ripple::test::jtx::token::acceptSellOffer</a></div><div class="ttdeci">Json::Value acceptSellOffer(jtx::Account const &account, uint256 const &offerIndex)</div><div class="ttdoc">Accept an NFToken sell offer.</div><div class="ttdef"><b>Definition:</b> <a href="token_8cpp_source.html#l00193">token.cpp:193</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1test_1_1jtx_1_1token_html_ab5b8b8289e756cf37a6ad2d1adb876b5"><div class="ttname"><a href="namespaceripple_1_1test_1_1jtx_1_1token.html#ab5b8b8289e756cf37a6ad2d1adb876b5">ripple::test::jtx::token::mint</a></div><div class="ttdeci">Json::Value mint(jtx::Account const &account, std::uint32_t nfTokenTaxon)</div><div class="ttdoc">Mint an NFToken.</div><div class="ttdef"><b>Definition:</b> <a href="token_8cpp_source.html#l00034">token.cpp:34</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1test_1_1jtx_1_1token_html_ad39013065cc24af0df83eb5354ec937c"><div class="ttname"><a href="namespaceripple_1_1test_1_1jtx_1_1token.html#ad39013065cc24af0df83eb5354ec937c">ripple::test::jtx::token::cancelOffer</a></div><div class="ttdeci">Json::Value cancelOffer(jtx::Account const &account, std::initializer_list< uint256 > const &nftokenOffers)</div><div class="ttdoc">Cancel NFTokenOffers.</div><div class="ttdef"><b>Definition:</b> <a href="token_8cpp_source.html#l00161">token.cpp:161</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1test_1_1jtx_html_a3beb715a43d7e5bc771c333529bbf92d"><div class="ttname"><a href="namespaceripple_1_1test_1_1jtx.html#a3beb715a43d7e5bc771c333529bbf92d">ripple::test::jtx::offers</a></div><div class="ttdeci">owner_count< ltOFFER > offers</div><div class="ttdoc">Match the number of offers in the account's owner directory.</div><div class="ttdef"><b>Definition:</b> <a href="owners_8h_source.html#l00092">owners.h:92</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1test_1_1jtx_html_a7a4caa0465c555c5c59ce7c0d0d48d78"><div class="ttname"><a href="namespaceripple_1_1test_1_1jtx.html#a7a4caa0465c555c5c59ce7c0d0d48d78">ripple::test::jtx::envconfig</a></div><div class="ttdeci">std::unique_ptr< Config > envconfig()</div><div class="ttdoc">creates and initializes a default configuration for jtx::Env</div><div class="ttdef"><b>Definition:</b> <a href="envconfig_8h_source.html#l00054">envconfig.h:54</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1test_1_1jtx_html_ac423e2aa3fd7a14ae651849b430994f1"><div class="ttname"><a href="namespaceripple_1_1test_1_1jtx.html#ac423e2aa3fd7a14ae651849b430994f1">ripple::test::jtx::offer</a></div><div class="ttdeci">Json::Value offer(Account const &account, STAmount const &takerPays, STAmount const &takerGets, std::uint32_t flags)</div><div class="ttdoc">Create an offer.</div><div class="ttdef"><b>Definition:</b> <a href="offer_8cpp_source.html#l00029">offer.cpp:29</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>
|
||||
<div class="ttc" id="anamespaceripple_html_a449cf5cfc4fd3f6c2a3577a57374bda5"><div class="ttname"><a href="namespaceripple.html#a449cf5cfc4fd3f6c2a3577a57374bda5">ripple::tfSellNFToken</a></div><div class="ttdeci">constexpr std::uint32_t const tfSellNFToken</div><div class="ttdef"><b>Definition:</b> <a href="TxFlags_8h_source.html#l00198">TxFlags.h:198</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51"><div class="ttname"><a href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">ripple::TxSearched::all</a></div><div class="ttdeci">@ all</div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_aa298e929e02f59c2b05a30ee8805b38ca10e35800090d65acc1be56b1f80b794b"><div class="ttname"><a href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca10e35800090d65acc1be56b1f80b794b">ripple::tecNO_SUITABLE_NFTOKEN_PAGE</a></div><div class="ttdeci">@ tecNO_SUITABLE_NFTOKEN_PAGE</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00308">TER.h:308</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#l00300">TER.h:300</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#l00243">TER.h:242</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_aa298e929e02f59c2b05a30ee8805b38ca10e35800090d65acc1be56b1f80b794b"><div class="ttname"><a href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca10e35800090d65acc1be56b1f80b794b">ripple::tecNO_SUITABLE_NFTOKEN_PAGE</a></div><div class="ttdeci">@ tecNO_SUITABLE_NFTOKEN_PAGE</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00321">TER.h:321</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< Bits, Tag > const &a)</div><div class="ttdef"><b>Definition:</b> <a href="base__uint_8h_source.html#l00630">base_uint.h:630</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_af6dbd01af49aa6a39b96cee44add0df1"><div class="ttname"><a href="namespaceripple.html#af6dbd01af49aa6a39b96cee44add0df1">ripple::tfTransferable</a></div><div class="ttdeci">constexpr std::uint32_t const tfTransferable</div><div class="ttdef"><b>Definition:</b> <a href="TxFlags_8h_source.html#l00143">TxFlags.h:143</a></div></div>
|
||||
<div class="ttc" id="apop_back_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/pop_back.html">std::vector::pop_back</a></div><div class="ttdeci">T pop_back(T... args)</div></div>
|
||||
|
||||
Reference in New Issue
Block a user