mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-27 22:45:52 +00:00
deploy: 828bb64ebc
This commit is contained in:
@@ -6870,113 +6870,441 @@ $(function() {
|
||||
<div class="line"><a name="l06799"></a><span class="lineno"> 6799</span>  }</div>
|
||||
<div class="line"><a name="l06800"></a><span class="lineno"> 6800</span>  </div>
|
||||
<div class="line"><a name="l06801"></a><span class="lineno"> 6801</span>  <span class="keywordtype">void</span></div>
|
||||
<div class="line"><a name="l06802"></a><span class="lineno"><a class="line" href="classripple_1_1NFTokenBaseUtil__test.html#a529c0168ed4c98c43308469e580a9788"> 6802</a></span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a529c0168ed4c98c43308469e580a9788">testWithFeats</a>(<a class="code" href="classripple_1_1FeatureBitset.html">FeatureBitset</a> features)</div>
|
||||
<div class="line"><a name="l06802"></a><span class="lineno"><a class="line" href="classripple_1_1NFTokenBaseUtil__test.html#a4d51f6b8a0a5a963b09f958db4be41a2"> 6802</a></span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a4d51f6b8a0a5a963b09f958db4be41a2">testFixNFTokenBuyerReserve</a>(<a class="code" href="classripple_1_1FeatureBitset.html">FeatureBitset</a> features)</div>
|
||||
<div class="line"><a name="l06803"></a><span class="lineno"> 6803</span>  {</div>
|
||||
<div class="line"><a name="l06804"></a><span class="lineno"> 6804</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a7f10ae0de1a4681877e3d1e1d5673465">testEnabled</a>(features);</div>
|
||||
<div class="line"><a name="l06805"></a><span class="lineno"> 6805</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#aadf6365ce639131834eab4cc31d65093">testMintReserve</a>(features);</div>
|
||||
<div class="line"><a name="l06806"></a><span class="lineno"> 6806</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a5ffb18bbda6b23869ea4e128a94a4172">testMintMaxTokens</a>(features);</div>
|
||||
<div class="line"><a name="l06807"></a><span class="lineno"> 6807</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a1966cd5eead1c520f03bf10d36dfa7ec">testMintInvalid</a>(features);</div>
|
||||
<div class="line"><a name="l06808"></a><span class="lineno"> 6808</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#afcb9b55ef92124f7c7028ea0718027eb">testBurnInvalid</a>(features);</div>
|
||||
<div class="line"><a name="l06809"></a><span class="lineno"> 6809</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#ad4fb66dcceb02c41f1c9d77bf39f3bf5">testCreateOfferInvalid</a>(features);</div>
|
||||
<div class="line"><a name="l06810"></a><span class="lineno"> 6810</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#ad85ca749f9705cc1b84421b67c48bcf2">testCancelOfferInvalid</a>(features);</div>
|
||||
<div class="line"><a name="l06811"></a><span class="lineno"> 6811</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a1bd804bd97551c75b62291406ced874c">testAcceptOfferInvalid</a>(features);</div>
|
||||
<div class="line"><a name="l06812"></a><span class="lineno"> 6812</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#aa0ae4df96c9c0547153a1e4ba813133b">testMintFlagBurnable</a>(features);</div>
|
||||
<div class="line"><a name="l06813"></a><span class="lineno"> 6813</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#aaa032066a5e2959e9bb2465d9522452c">testMintFlagOnlyXRP</a>(features);</div>
|
||||
<div class="line"><a name="l06814"></a><span class="lineno"> 6814</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a63aa717c8b8591199a89a33527b61e27">testMintFlagCreateTrustLine</a>(features);</div>
|
||||
<div class="line"><a name="l06815"></a><span class="lineno"> 6815</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a260c7cee01b67657fe2ba46c7bf93f38">testMintFlagTransferable</a>(features);</div>
|
||||
<div class="line"><a name="l06816"></a><span class="lineno"> 6816</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a6a3323d2034c1c611bc8577f3c13e3d6">testMintTransferFee</a>(features);</div>
|
||||
<div class="line"><a name="l06817"></a><span class="lineno"> 6817</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a3fa75123e0f08ef137f517049cbbcd33">testMintTaxon</a>(features);</div>
|
||||
<div class="line"><a name="l06818"></a><span class="lineno"> 6818</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a95d0cad153ca0ddea38c91b14decd3d8">testMintURI</a>(features);</div>
|
||||
<div class="line"><a name="l06819"></a><span class="lineno"> 6819</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a0d843c4053e03e081e2887d43e94b97f">testCreateOfferDestination</a>(features);</div>
|
||||
<div class="line"><a name="l06820"></a><span class="lineno"> 6820</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a5e95c96aeb51dcf1b3a10e8d3b9ee91a">testCreateOfferDestinationDisallowIncoming</a>(features);</div>
|
||||
<div class="line"><a name="l06821"></a><span class="lineno"> 6821</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a5f4cda45544524e3c03768c1d9c4135b">testCreateOfferExpiration</a>(features);</div>
|
||||
<div class="line"><a name="l06822"></a><span class="lineno"> 6822</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a36514c5e60469b4cf4b56990d8a2c428">testCancelOffers</a>(features);</div>
|
||||
<div class="line"><a name="l06823"></a><span class="lineno"> 6823</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a9a369f80b9c80db94566708eea8d429a">testCancelTooManyOffers</a>(features);</div>
|
||||
<div class="line"><a name="l06824"></a><span class="lineno"> 6824</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#adfd3f82b0ab24b5c9c14bfb59a55111e">testBrokeredAccept</a>(features);</div>
|
||||
<div class="line"><a name="l06825"></a><span class="lineno"> 6825</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a5693a7fb413d4b8b1311365cc185c3a5">testNFTokenOfferOwner</a>(features);</div>
|
||||
<div class="line"><a name="l06826"></a><span class="lineno"> 6826</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a56dd85affd1f7e416f4ad74ea4626a7d">testNFTokenWithTickets</a>(features);</div>
|
||||
<div class="line"><a name="l06827"></a><span class="lineno"> 6827</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a46296bd938a3f438eba83729f59cc32c">testNFTokenDeleteAccount</a>(features);</div>
|
||||
<div class="line"><a name="l06828"></a><span class="lineno"> 6828</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a7aad782a817497d828ef42db3189e4d5">testNftXxxOffers</a>(features);</div>
|
||||
<div class="line"><a name="l06829"></a><span class="lineno"> 6829</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a4db65faffdd17186b6bc1c7367d1314c">testFixNFTokenNegOffer</a>(features);</div>
|
||||
<div class="line"><a name="l06830"></a><span class="lineno"> 6830</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#ac2075c02d2dca027ae127b8ff4e976e1">testIOUWithTransferFee</a>(features);</div>
|
||||
<div class="line"><a name="l06831"></a><span class="lineno"> 6831</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#ac11bfc951b2c8b6ce5c44f28f2f5cc4d">testBrokeredSaleToSelf</a>(features);</div>
|
||||
<div class="line"><a name="l06832"></a><span class="lineno"> 6832</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a0f39ce869f7da95aa6378efdda21beae">testFixNFTokenRemint</a>(features);</div>
|
||||
<div class="line"><a name="l06833"></a><span class="lineno"> 6833</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a6f1c291ade2bd303f4fd3919eda1c3b0">testTxJsonMetaFields</a>(features);</div>
|
||||
<div class="line"><a name="l06834"></a><span class="lineno"> 6834</span>  }</div>
|
||||
<div class="line"><a name="l06835"></a><span class="lineno"> 6835</span>  </div>
|
||||
<div class="line"><a name="l06836"></a><span class="lineno"> 6836</span> <span class="keyword">public</span>:</div>
|
||||
<div class="line"><a name="l06837"></a><span class="lineno"> 6837</span>  <span class="keywordtype">void</span></div>
|
||||
<div class="line"><a name="l06838"></a><span class="lineno"><a class="line" href="classripple_1_1NFTokenBaseUtil__test.html#a4e7a460ba06153a6c722a6d18978b146"> 6838</a></span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a4e7a460ba06153a6c722a6d18978b146">run</a>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> instance, <span class="keywordtype">bool</span> last = <span class="keyword">false</span>)</div>
|
||||
<div class="line"><a name="l06839"></a><span class="lineno"> 6839</span>  {</div>
|
||||
<div class="line"><a name="l06840"></a><span class="lineno"> 6840</span>  <span class="keyword">using namespace </span>test::jtx;</div>
|
||||
<div class="line"><a name="l06841"></a><span class="lineno"> 6841</span>  <span class="keyword">static</span> <a class="code" href="classripple_1_1FeatureBitset.html">FeatureBitset</a> <span class="keyword">const</span> <a class="code" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a>{supported_amendments()};</div>
|
||||
<div class="line"><a name="l06842"></a><span class="lineno"> 6842</span>  <span class="keyword">static</span> <a class="code" href="classripple_1_1FeatureBitset.html">FeatureBitset</a> <span class="keyword">const</span> fixNFTDir{<a class="code" href="namespaceripple.html#adc24572ec82470f0e8510bcd85ed6100">fixNFTokenDirV1</a>};</div>
|
||||
<div class="line"><a name="l06843"></a><span class="lineno"> 6843</span>  </div>
|
||||
<div class="line"><a name="l06844"></a><span class="lineno"> 6844</span>  <span class="keyword">static</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/array.html">std::array<FeatureBitset, 5></a> <span class="keyword">const</span> feats{</div>
|
||||
<div class="line"><a name="l06845"></a><span class="lineno"> 6845</span>  <a class="code" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a> - fixNFTDir - <a class="code" href="namespaceripple.html#a831b340e9f96cdaec47e018aeff72dec">fixNonFungibleTokensV1_2</a> - <a class="code" href="namespaceripple.html#a2abe44fcd04710b216e3f9f774e4849d">fixNFTokenRemint</a>,</div>
|
||||
<div class="line"><a name="l06846"></a><span class="lineno"> 6846</span>  <a class="code" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a> - <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#ad540a0e0772c3d703dc6266023060c63">disallowIncoming</a> - <a class="code" href="namespaceripple.html#a831b340e9f96cdaec47e018aeff72dec">fixNonFungibleTokensV1_2</a> -</div>
|
||||
<div class="line"><a name="l06847"></a><span class="lineno"> 6847</span>  <a class="code" href="namespaceripple.html#a2abe44fcd04710b216e3f9f774e4849d">fixNFTokenRemint</a>,</div>
|
||||
<div class="line"><a name="l06848"></a><span class="lineno"> 6848</span>  <a class="code" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a> - <a class="code" href="namespaceripple.html#a831b340e9f96cdaec47e018aeff72dec">fixNonFungibleTokensV1_2</a> - <a class="code" href="namespaceripple.html#a2abe44fcd04710b216e3f9f774e4849d">fixNFTokenRemint</a>,</div>
|
||||
<div class="line"><a name="l06849"></a><span class="lineno"> 6849</span>  <a class="code" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a> - <a class="code" href="namespaceripple.html#a2abe44fcd04710b216e3f9f774e4849d">fixNFTokenRemint</a>,</div>
|
||||
<div class="line"><a name="l06850"></a><span class="lineno"> 6850</span>  <a class="code" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a>};</div>
|
||||
<div class="line"><a name="l06804"></a><span class="lineno"> 6804</span>  testcase(<span class="stringliteral">"Test buyer reserve when accepting an offer"</span>);</div>
|
||||
<div class="line"><a name="l06805"></a><span class="lineno"> 6805</span>  </div>
|
||||
<div class="line"><a name="l06806"></a><span class="lineno"> 6806</span>  <span class="keyword">using namespace </span>test::jtx;</div>
|
||||
<div class="line"><a name="l06807"></a><span class="lineno"> 6807</span>  </div>
|
||||
<div class="line"><a name="l06808"></a><span class="lineno"> 6808</span>  <span class="comment">// Lambda that mints an NFT and then creates a sell offer</span></div>
|
||||
<div class="line"><a name="l06809"></a><span class="lineno"> 6809</span>  <span class="keyword">auto</span> mintAndCreateSellOffer = [](<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html">test::jtx::Env</a>& env,</div>
|
||||
<div class="line"><a name="l06810"></a><span class="lineno"> 6810</span>  <a class="code" href="classripple_1_1test_1_1jtx_1_1Account.html">test::jtx::Account</a> <span class="keyword">const</span>& acct,</div>
|
||||
<div class="line"><a name="l06811"></a><span class="lineno"> 6811</span>  <a class="code" href="classripple_1_1STAmount.html">STAmount</a> <span class="keyword">const</span> amt) -> <a class="code" href="classripple_1_1base__uint.html">uint256</a> {</div>
|
||||
<div class="line"><a name="l06812"></a><span class="lineno"> 6812</span>  <span class="comment">// acct mints a NFT</span></div>
|
||||
<div class="line"><a name="l06813"></a><span class="lineno"> 6813</span>  <a class="code" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span> nftId{</div>
|
||||
<div class="line"><a name="l06814"></a><span class="lineno"> 6814</span>  token::getNextID(env, acct, 0u, <a class="code" href="namespaceripple.html#a467ff3737a47707e0aa7669c4db3ed17">tfTransferable</a>)};</div>
|
||||
<div class="line"><a name="l06815"></a><span class="lineno"> 6815</span>  env(token::mint(acct, 0u), txflags(<a class="code" href="namespaceripple.html#a467ff3737a47707e0aa7669c4db3ed17">tfTransferable</a>));</div>
|
||||
<div class="line"><a name="l06816"></a><span class="lineno"> 6816</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
|
||||
<div class="line"><a name="l06817"></a><span class="lineno"> 6817</span>  </div>
|
||||
<div class="line"><a name="l06818"></a><span class="lineno"> 6818</span>  <span class="comment">// acct makes an sell offer</span></div>
|
||||
<div class="line"><a name="l06819"></a><span class="lineno"> 6819</span>  <a class="code" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span> sellOfferIndex =</div>
|
||||
<div class="line"><a name="l06820"></a><span class="lineno"> 6820</span>  <a class="code" href="namespaceripple_1_1keylet.html#af22d78dcae7bfcc9d36e53f2223875f4">keylet::nftoffer</a>(acct, env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2ef09f6f41b7d8a2dc89175e3b108f87">seq</a>(acct)).<a class="code" href="structripple_1_1Keylet.html#a482983062843a8682fcea76a309c73db">key</a>;</div>
|
||||
<div class="line"><a name="l06821"></a><span class="lineno"> 6821</span>  env(token::createOffer(acct, nftId, amt), txflags(<a class="code" href="namespaceripple.html#a0a58f25b2ddd02a1c0fcfc4c056e4fa8">tfSellNFToken</a>));</div>
|
||||
<div class="line"><a name="l06822"></a><span class="lineno"> 6822</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
|
||||
<div class="line"><a name="l06823"></a><span class="lineno"> 6823</span>  </div>
|
||||
<div class="line"><a name="l06824"></a><span class="lineno"> 6824</span>  <span class="keywordflow">return</span> sellOfferIndex;</div>
|
||||
<div class="line"><a name="l06825"></a><span class="lineno"> 6825</span>  };</div>
|
||||
<div class="line"><a name="l06826"></a><span class="lineno"> 6826</span>  </div>
|
||||
<div class="line"><a name="l06827"></a><span class="lineno"> 6827</span>  <span class="comment">// Test the behaviors when the buyer makes an accept offer, both before</span></div>
|
||||
<div class="line"><a name="l06828"></a><span class="lineno"> 6828</span>  <span class="comment">// and after enabling the amendment. Exercises the precise number of</span></div>
|
||||
<div class="line"><a name="l06829"></a><span class="lineno"> 6829</span>  <span class="comment">// reserve in drops that's required to accept the offer</span></div>
|
||||
<div class="line"><a name="l06830"></a><span class="lineno"> 6830</span>  {</div>
|
||||
<div class="line"><a name="l06831"></a><span class="lineno"> 6831</span>  Account <span class="keyword">const</span> alice{<span class="stringliteral">"alice"</span>};</div>
|
||||
<div class="line"><a name="l06832"></a><span class="lineno"> 6832</span>  Account <span class="keyword">const</span> bob{<span class="stringliteral">"bob"</span>};</div>
|
||||
<div class="line"><a name="l06833"></a><span class="lineno"> 6833</span>  </div>
|
||||
<div class="line"><a name="l06834"></a><span class="lineno"> 6834</span>  Env env{*<span class="keyword">this</span>, features};</div>
|
||||
<div class="line"><a name="l06835"></a><span class="lineno"> 6835</span>  <span class="keyword">auto</span> <span class="keyword">const</span> acctReserve = env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>()->fees().accountReserve(0);</div>
|
||||
<div class="line"><a name="l06836"></a><span class="lineno"> 6836</span>  <span class="keyword">auto</span> <span class="keyword">const</span> incReserve = env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>()->fees().increment;</div>
|
||||
<div class="line"><a name="l06837"></a><span class="lineno"> 6837</span>  </div>
|
||||
<div class="line"><a name="l06838"></a><span class="lineno"> 6838</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ae2349266cb09d1f1c3de06606ebdf9e2">fund</a>(XRP(10000), alice);</div>
|
||||
<div class="line"><a name="l06839"></a><span class="lineno"> 6839</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
|
||||
<div class="line"><a name="l06840"></a><span class="lineno"> 6840</span>  </div>
|
||||
<div class="line"><a name="l06841"></a><span class="lineno"> 6841</span>  <span class="comment">// Bob is funded with minimum XRP reserve</span></div>
|
||||
<div class="line"><a name="l06842"></a><span class="lineno"> 6842</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ae2349266cb09d1f1c3de06606ebdf9e2">fund</a>(acctReserve, bob);</div>
|
||||
<div class="line"><a name="l06843"></a><span class="lineno"> 6843</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
|
||||
<div class="line"><a name="l06844"></a><span class="lineno"> 6844</span>  </div>
|
||||
<div class="line"><a name="l06845"></a><span class="lineno"> 6845</span>  <span class="comment">// alice mints an NFT and create a sell offer for 0 XRP</span></div>
|
||||
<div class="line"><a name="l06846"></a><span class="lineno"> 6846</span>  <span class="keyword">auto</span> <span class="keyword">const</span> sellOfferIndex =</div>
|
||||
<div class="line"><a name="l06847"></a><span class="lineno"> 6847</span>  mintAndCreateSellOffer(env, alice, XRP(0));</div>
|
||||
<div class="line"><a name="l06848"></a><span class="lineno"> 6848</span>  </div>
|
||||
<div class="line"><a name="l06849"></a><span class="lineno"> 6849</span>  <span class="comment">// Bob owns no object</span></div>
|
||||
<div class="line"><a name="l06850"></a><span class="lineno"> 6850</span>  BEAST_EXPECT(<a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#aa3e5ef0e515d486965903d73d031045a">ownerCount</a>(env, bob) == 0);</div>
|
||||
<div class="line"><a name="l06851"></a><span class="lineno"> 6851</span>  </div>
|
||||
<div class="line"><a name="l06852"></a><span class="lineno"> 6852</span>  <span class="keywordflow">if</span> (BEAST_EXPECT(instance < feats.size()))</div>
|
||||
<div class="line"><a name="l06853"></a><span class="lineno"> 6853</span>  {</div>
|
||||
<div class="line"><a name="l06854"></a><span class="lineno"> 6854</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a529c0168ed4c98c43308469e580a9788">testWithFeats</a>(feats[instance]);</div>
|
||||
<div class="line"><a name="l06855"></a><span class="lineno"> 6855</span>  }</div>
|
||||
<div class="line"><a name="l06856"></a><span class="lineno"> 6856</span>  BEAST_EXPECT(!last || instance == feats.size() - 1);</div>
|
||||
<div class="line"><a name="l06857"></a><span class="lineno"> 6857</span>  }</div>
|
||||
<div class="line"><a name="l06858"></a><span class="lineno"> 6858</span>  </div>
|
||||
<div class="line"><a name="l06859"></a><span class="lineno"> 6859</span>  <span class="keywordtype">void</span></div>
|
||||
<div class="line"><a name="l06860"></a><span class="lineno"><a class="line" href="classripple_1_1NFTokenBaseUtil__test.html#af3ca98862cae7e8e2131add32290c26c"> 6860</a></span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#af3ca98862cae7e8e2131add32290c26c">run</a>()<span class="keyword"> override</span></div>
|
||||
<div class="line"><a name="l06861"></a><span class="lineno"> 6861</span> <span class="keyword"> </span>{</div>
|
||||
<div class="line"><a name="l06862"></a><span class="lineno"> 6862</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#af3ca98862cae7e8e2131add32290c26c">run</a>(0);</div>
|
||||
<div class="line"><a name="l06863"></a><span class="lineno"> 6863</span>  }</div>
|
||||
<div class="line"><a name="l06864"></a><span class="lineno"> 6864</span> };</div>
|
||||
<div class="line"><a name="l06865"></a><span class="lineno"> 6865</span>  </div>
|
||||
<div class="line"><a name="l06866"></a><span class="lineno"><a class="line" href="classripple_1_1NFTokenDisallowIncoming__test.html"> 6866</a></span> <span class="keyword">class </span><a class="code" href="classripple_1_1NFTokenDisallowIncoming__test.html">NFTokenDisallowIncoming_test</a> : <span class="keyword">public</span> <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html">NFTokenBaseUtil_test</a></div>
|
||||
<div class="line"><a name="l06867"></a><span class="lineno"> 6867</span> {</div>
|
||||
<div class="line"><a name="l06868"></a><span class="lineno"> 6868</span>  <span class="keywordtype">void</span></div>
|
||||
<div class="line"><a name="l06869"></a><span class="lineno"><a class="line" href="classripple_1_1NFTokenDisallowIncoming__test.html#acbb822692701bfce6d1275adcc015065"> 6869</a></span>  <a class="code" href="classripple_1_1NFTokenDisallowIncoming__test.html#acbb822692701bfce6d1275adcc015065">run</a>()<span class="keyword"> override</span></div>
|
||||
<div class="line"><a name="l06870"></a><span class="lineno"> 6870</span> <span class="keyword"> </span>{</div>
|
||||
<div class="line"><a name="l06871"></a><span class="lineno"> 6871</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#af3ca98862cae7e8e2131add32290c26c">NFTokenBaseUtil_test::run</a>(1);</div>
|
||||
<div class="line"><a name="l06872"></a><span class="lineno"> 6872</span>  }</div>
|
||||
<div class="line"><a name="l06873"></a><span class="lineno"> 6873</span> };</div>
|
||||
<div class="line"><a name="l06874"></a><span class="lineno"> 6874</span>  </div>
|
||||
<div class="line"><a name="l06875"></a><span class="lineno"><a class="line" href="classripple_1_1NFTokenWOfixV1__test.html"> 6875</a></span> <span class="keyword">class </span><a class="code" href="classripple_1_1NFTokenWOfixV1__test.html">NFTokenWOfixV1_test</a> : <span class="keyword">public</span> <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html">NFTokenBaseUtil_test</a></div>
|
||||
<div class="line"><a name="l06876"></a><span class="lineno"> 6876</span> {</div>
|
||||
<div class="line"><a name="l06877"></a><span class="lineno"> 6877</span>  <span class="keywordtype">void</span></div>
|
||||
<div class="line"><a name="l06878"></a><span class="lineno"><a class="line" href="classripple_1_1NFTokenWOfixV1__test.html#a9a63b67a8f469cb8942a85dd2a1396fe"> 6878</a></span>  <a class="code" href="classripple_1_1NFTokenWOfixV1__test.html#a9a63b67a8f469cb8942a85dd2a1396fe">run</a>()<span class="keyword"> override</span></div>
|
||||
<div class="line"><a name="l06879"></a><span class="lineno"> 6879</span> <span class="keyword"> </span>{</div>
|
||||
<div class="line"><a name="l06880"></a><span class="lineno"> 6880</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#af3ca98862cae7e8e2131add32290c26c">NFTokenBaseUtil_test::run</a>(2);</div>
|
||||
<div class="line"><a name="l06881"></a><span class="lineno"> 6881</span>  }</div>
|
||||
<div class="line"><a name="l06882"></a><span class="lineno"> 6882</span> };</div>
|
||||
<div class="line"><a name="l06883"></a><span class="lineno"> 6883</span>  </div>
|
||||
<div class="line"><a name="l06884"></a><span class="lineno"><a class="line" href="classripple_1_1NFTokenWOTokenRemint__test.html"> 6884</a></span> <span class="keyword">class </span><a class="code" href="classripple_1_1NFTokenWOTokenRemint__test.html">NFTokenWOTokenRemint_test</a> : <span class="keyword">public</span> <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html">NFTokenBaseUtil_test</a></div>
|
||||
<div class="line"><a name="l06885"></a><span class="lineno"> 6885</span> {</div>
|
||||
<div class="line"><a name="l06886"></a><span class="lineno"> 6886</span>  <span class="keywordtype">void</span></div>
|
||||
<div class="line"><a name="l06887"></a><span class="lineno"><a class="line" href="classripple_1_1NFTokenWOTokenRemint__test.html#a4cd579d00d59049a4051f9aefc1856e3"> 6887</a></span>  <a class="code" href="classripple_1_1NFTokenWOTokenRemint__test.html#a4cd579d00d59049a4051f9aefc1856e3">run</a>()<span class="keyword"> override</span></div>
|
||||
<div class="line"><a name="l06888"></a><span class="lineno"> 6888</span> <span class="keyword"> </span>{</div>
|
||||
<div class="line"><a name="l06889"></a><span class="lineno"> 6889</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#af3ca98862cae7e8e2131add32290c26c">NFTokenBaseUtil_test::run</a>(3);</div>
|
||||
<div class="line"><a name="l06890"></a><span class="lineno"> 6890</span>  }</div>
|
||||
<div class="line"><a name="l06891"></a><span class="lineno"> 6891</span> };</div>
|
||||
<div class="line"><a name="l06892"></a><span class="lineno"> 6892</span>  </div>
|
||||
<div class="line"><a name="l06893"></a><span class="lineno"><a class="line" href="classripple_1_1NFTokenAllFeatures__test.html"> 6893</a></span> <span class="keyword">class </span><a class="code" href="classripple_1_1NFTokenAllFeatures__test.html">NFTokenAllFeatures_test</a> : <span class="keyword">public</span> <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html">NFTokenBaseUtil_test</a></div>
|
||||
<div class="line"><a name="l06894"></a><span class="lineno"> 6894</span> {</div>
|
||||
<div class="line"><a name="l06895"></a><span class="lineno"> 6895</span>  <span class="keywordtype">void</span></div>
|
||||
<div class="line"><a name="l06896"></a><span class="lineno"><a class="line" href="classripple_1_1NFTokenAllFeatures__test.html#ad42776f531cb8f6bf9e26545073797b0"> 6896</a></span>  <a class="code" href="classripple_1_1NFTokenAllFeatures__test.html#ad42776f531cb8f6bf9e26545073797b0">run</a>()<span class="keyword"> override</span></div>
|
||||
<div class="line"><a name="l06897"></a><span class="lineno"> 6897</span> <span class="keyword"> </span>{</div>
|
||||
<div class="line"><a name="l06898"></a><span class="lineno"> 6898</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#af3ca98862cae7e8e2131add32290c26c">NFTokenBaseUtil_test::run</a>(4, <span class="keyword">true</span>);</div>
|
||||
<div class="line"><a name="l06899"></a><span class="lineno"> 6899</span>  }</div>
|
||||
<div class="line"><a name="l06900"></a><span class="lineno"> 6900</span> };</div>
|
||||
<div class="line"><a name="l06852"></a><span class="lineno"> 6852</span>  <span class="comment">// Without fixNFTokenReserve amendment, when bob accepts an NFT sell</span></div>
|
||||
<div class="line"><a name="l06853"></a><span class="lineno"> 6853</span>  <span class="comment">// offer, he can get the NFT free of reserve</span></div>
|
||||
<div class="line"><a name="l06854"></a><span class="lineno"> 6854</span>  <span class="keywordflow">if</span> (!features[<a class="code" href="namespaceripple.html#ad418a255403f7eda6644a9b8150f71af">fixNFTokenReserve</a>])</div>
|
||||
<div class="line"><a name="l06855"></a><span class="lineno"> 6855</span>  {</div>
|
||||
<div class="line"><a name="l06856"></a><span class="lineno"> 6856</span>  <span class="comment">// Bob is able to accept the offer</span></div>
|
||||
<div class="line"><a name="l06857"></a><span class="lineno"> 6857</span>  env(token::acceptSellOffer(bob, sellOfferIndex));</div>
|
||||
<div class="line"><a name="l06858"></a><span class="lineno"> 6858</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
|
||||
<div class="line"><a name="l06859"></a><span class="lineno"> 6859</span>  </div>
|
||||
<div class="line"><a name="l06860"></a><span class="lineno"> 6860</span>  <span class="comment">// Bob now owns an extra objects</span></div>
|
||||
<div class="line"><a name="l06861"></a><span class="lineno"> 6861</span>  BEAST_EXPECT(<a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#aa3e5ef0e515d486965903d73d031045a">ownerCount</a>(env, bob) == 1);</div>
|
||||
<div class="line"><a name="l06862"></a><span class="lineno"> 6862</span>  </div>
|
||||
<div class="line"><a name="l06863"></a><span class="lineno"> 6863</span>  <span class="comment">// This is the wrong behavior, since Bob should need at least</span></div>
|
||||
<div class="line"><a name="l06864"></a><span class="lineno"> 6864</span>  <span class="comment">// one incremental reserve.</span></div>
|
||||
<div class="line"><a name="l06865"></a><span class="lineno"> 6865</span>  }</div>
|
||||
<div class="line"><a name="l06866"></a><span class="lineno"> 6866</span>  <span class="comment">// With fixNFTokenReserve, bob can no longer accept the offer unless</span></div>
|
||||
<div class="line"><a name="l06867"></a><span class="lineno"> 6867</span>  <span class="comment">// there is enough reserve. A detail to note is that NFTs(sell</span></div>
|
||||
<div class="line"><a name="l06868"></a><span class="lineno"> 6868</span>  <span class="comment">// offer) will not allow one to go below the reserve requirement,</span></div>
|
||||
<div class="line"><a name="l06869"></a><span class="lineno"> 6869</span>  <span class="comment">// because buyer's balance is computed after the transaction fee is</span></div>
|
||||
<div class="line"><a name="l06870"></a><span class="lineno"> 6870</span>  <span class="comment">// deducted. This means that the reserve requirement will be 10</span></div>
|
||||
<div class="line"><a name="l06871"></a><span class="lineno"> 6871</span>  <span class="comment">// drops higher than normal.</span></div>
|
||||
<div class="line"><a name="l06872"></a><span class="lineno"> 6872</span>  <span class="keywordflow">else</span></div>
|
||||
<div class="line"><a name="l06873"></a><span class="lineno"> 6873</span>  {</div>
|
||||
<div class="line"><a name="l06874"></a><span class="lineno"> 6874</span>  <span class="comment">// Bob is not able to accept the offer with only the account</span></div>
|
||||
<div class="line"><a name="l06875"></a><span class="lineno"> 6875</span>  <span class="comment">// reserve (200,000,000 drops)</span></div>
|
||||
<div class="line"><a name="l06876"></a><span class="lineno"> 6876</span>  env(token::acceptSellOffer(bob, sellOfferIndex),</div>
|
||||
<div class="line"><a name="l06877"></a><span class="lineno"> 6877</span>  ter(<a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38cae930fb228ae74317976b57b4e87a7f0d">tecINSUFFICIENT_RESERVE</a>));</div>
|
||||
<div class="line"><a name="l06878"></a><span class="lineno"> 6878</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
|
||||
<div class="line"><a name="l06879"></a><span class="lineno"> 6879</span>  </div>
|
||||
<div class="line"><a name="l06880"></a><span class="lineno"> 6880</span>  <span class="comment">// after prev transaction, Bob owns 199,999,990 drops due to</span></div>
|
||||
<div class="line"><a name="l06881"></a><span class="lineno"> 6881</span>  <span class="comment">// burnt tx fee</span></div>
|
||||
<div class="line"><a name="l06882"></a><span class="lineno"> 6882</span>  </div>
|
||||
<div class="line"><a name="l06883"></a><span class="lineno"> 6883</span>  BEAST_EXPECT(<a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#aa3e5ef0e515d486965903d73d031045a">ownerCount</a>(env, bob) == 0);</div>
|
||||
<div class="line"><a name="l06884"></a><span class="lineno"> 6884</span>  </div>
|
||||
<div class="line"><a name="l06885"></a><span class="lineno"> 6885</span>  <span class="comment">// Send bob an increment reserve and 10 drops (to make up for</span></div>
|
||||
<div class="line"><a name="l06886"></a><span class="lineno"> 6886</span>  <span class="comment">// the transaction fee burnt from the prev failed tx) Bob now</span></div>
|
||||
<div class="line"><a name="l06887"></a><span class="lineno"> 6887</span>  <span class="comment">// owns 250,000,000 drops</span></div>
|
||||
<div class="line"><a name="l06888"></a><span class="lineno"> 6888</span>  env(pay(env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc9bfd942ee848f3a9f16ab0e34e0c28">master</a>, bob, incReserve + drops(10)));</div>
|
||||
<div class="line"><a name="l06889"></a><span class="lineno"> 6889</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
|
||||
<div class="line"><a name="l06890"></a><span class="lineno"> 6890</span>  </div>
|
||||
<div class="line"><a name="l06891"></a><span class="lineno"> 6891</span>  <span class="comment">// However, this transaction will still fail because the reserve</span></div>
|
||||
<div class="line"><a name="l06892"></a><span class="lineno"> 6892</span>  <span class="comment">// requirement is 10 drops higher</span></div>
|
||||
<div class="line"><a name="l06893"></a><span class="lineno"> 6893</span>  env(token::acceptSellOffer(bob, sellOfferIndex),</div>
|
||||
<div class="line"><a name="l06894"></a><span class="lineno"> 6894</span>  ter(<a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38cae930fb228ae74317976b57b4e87a7f0d">tecINSUFFICIENT_RESERVE</a>));</div>
|
||||
<div class="line"><a name="l06895"></a><span class="lineno"> 6895</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
|
||||
<div class="line"><a name="l06896"></a><span class="lineno"> 6896</span>  </div>
|
||||
<div class="line"><a name="l06897"></a><span class="lineno"> 6897</span>  <span class="comment">// Send bob an increment reserve and 20 drops</span></div>
|
||||
<div class="line"><a name="l06898"></a><span class="lineno"> 6898</span>  <span class="comment">// Bob now owns 250,000,010 drops</span></div>
|
||||
<div class="line"><a name="l06899"></a><span class="lineno"> 6899</span>  env(pay(env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc9bfd942ee848f3a9f16ab0e34e0c28">master</a>, bob, drops(20)));</div>
|
||||
<div class="line"><a name="l06900"></a><span class="lineno"> 6900</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
|
||||
<div class="line"><a name="l06901"></a><span class="lineno"> 6901</span>  </div>
|
||||
<div class="line"><a name="l06902"></a><span class="lineno"> 6902</span> <a class="code" href="namespaceripple.html#af788e68ba2cb31ac890015f5d1d4cd7e">BEAST_DEFINE_TESTSUITE_PRIO</a>(NFTokenBaseUtil, tx, <a class="code" href="namespaceripple.html">ripple</a>, 2);</div>
|
||||
<div class="line"><a name="l06903"></a><span class="lineno"> 6903</span> <a class="code" href="namespaceripple.html#af788e68ba2cb31ac890015f5d1d4cd7e">BEAST_DEFINE_TESTSUITE_PRIO</a>(NFTokenDisallowIncoming, tx, <a class="code" href="namespaceripple.html">ripple</a>, 2);</div>
|
||||
<div class="line"><a name="l06904"></a><span class="lineno"> 6904</span> <a class="code" href="namespaceripple.html#af788e68ba2cb31ac890015f5d1d4cd7e">BEAST_DEFINE_TESTSUITE_PRIO</a>(NFTokenWOfixV1, tx, <a class="code" href="namespaceripple.html">ripple</a>, 2);</div>
|
||||
<div class="line"><a name="l06905"></a><span class="lineno"> 6905</span> <a class="code" href="namespaceripple.html#af788e68ba2cb31ac890015f5d1d4cd7e">BEAST_DEFINE_TESTSUITE_PRIO</a>(NFTokenWOTokenRemint, tx, <a class="code" href="namespaceripple.html">ripple</a>, 2);</div>
|
||||
<div class="line"><a name="l06906"></a><span class="lineno"> 6906</span> <a class="code" href="namespaceripple.html#af788e68ba2cb31ac890015f5d1d4cd7e">BEAST_DEFINE_TESTSUITE_PRIO</a>(NFTokenAllFeatures, tx, <a class="code" href="namespaceripple.html">ripple</a>, 2);</div>
|
||||
<div class="line"><a name="l06907"></a><span class="lineno"> 6907</span>  </div>
|
||||
<div class="line"><a name="l06908"></a><span class="lineno"> 6908</span> } <span class="comment">// namespace ripple</span></div>
|
||||
<div class="line"><a name="l06902"></a><span class="lineno"> 6902</span>  <span class="comment">// Bob is now able to accept the offer</span></div>
|
||||
<div class="line"><a name="l06903"></a><span class="lineno"> 6903</span>  env(token::acceptSellOffer(bob, sellOfferIndex));</div>
|
||||
<div class="line"><a name="l06904"></a><span class="lineno"> 6904</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
|
||||
<div class="line"><a name="l06905"></a><span class="lineno"> 6905</span>  </div>
|
||||
<div class="line"><a name="l06906"></a><span class="lineno"> 6906</span>  BEAST_EXPECT(<a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#aa3e5ef0e515d486965903d73d031045a">ownerCount</a>(env, bob) == 1);</div>
|
||||
<div class="line"><a name="l06907"></a><span class="lineno"> 6907</span>  }</div>
|
||||
<div class="line"><a name="l06908"></a><span class="lineno"> 6908</span>  }</div>
|
||||
<div class="line"><a name="l06909"></a><span class="lineno"> 6909</span>  </div>
|
||||
<div class="line"><a name="l06910"></a><span class="lineno"> 6910</span>  <span class="comment">// Now exercise the scenario when the buyer accepts</span></div>
|
||||
<div class="line"><a name="l06911"></a><span class="lineno"> 6911</span>  <span class="comment">// many sell offers</span></div>
|
||||
<div class="line"><a name="l06912"></a><span class="lineno"> 6912</span>  {</div>
|
||||
<div class="line"><a name="l06913"></a><span class="lineno"> 6913</span>  Account <span class="keyword">const</span> alice{<span class="stringliteral">"alice"</span>};</div>
|
||||
<div class="line"><a name="l06914"></a><span class="lineno"> 6914</span>  Account <span class="keyword">const</span> bob{<span class="stringliteral">"bob"</span>};</div>
|
||||
<div class="line"><a name="l06915"></a><span class="lineno"> 6915</span>  </div>
|
||||
<div class="line"><a name="l06916"></a><span class="lineno"> 6916</span>  Env env{*<span class="keyword">this</span>, features};</div>
|
||||
<div class="line"><a name="l06917"></a><span class="lineno"> 6917</span>  <span class="keyword">auto</span> <span class="keyword">const</span> acctReserve = env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>()->fees().accountReserve(0);</div>
|
||||
<div class="line"><a name="l06918"></a><span class="lineno"> 6918</span>  <span class="keyword">auto</span> <span class="keyword">const</span> incReserve = env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>()->fees().increment;</div>
|
||||
<div class="line"><a name="l06919"></a><span class="lineno"> 6919</span>  </div>
|
||||
<div class="line"><a name="l06920"></a><span class="lineno"> 6920</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ae2349266cb09d1f1c3de06606ebdf9e2">fund</a>(XRP(10000), alice);</div>
|
||||
<div class="line"><a name="l06921"></a><span class="lineno"> 6921</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
|
||||
<div class="line"><a name="l06922"></a><span class="lineno"> 6922</span>  </div>
|
||||
<div class="line"><a name="l06923"></a><span class="lineno"> 6923</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ae2349266cb09d1f1c3de06606ebdf9e2">fund</a>(acctReserve + XRP(1), bob);</div>
|
||||
<div class="line"><a name="l06924"></a><span class="lineno"> 6924</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
|
||||
<div class="line"><a name="l06925"></a><span class="lineno"> 6925</span>  </div>
|
||||
<div class="line"><a name="l06926"></a><span class="lineno"> 6926</span>  <span class="keywordflow">if</span> (!features[<a class="code" href="namespaceripple.html#ad418a255403f7eda6644a9b8150f71af">fixNFTokenReserve</a>])</div>
|
||||
<div class="line"><a name="l06927"></a><span class="lineno"> 6927</span>  {</div>
|
||||
<div class="line"><a name="l06928"></a><span class="lineno"> 6928</span>  <span class="comment">// Bob can accept many NFTs without having a single reserve!</span></div>
|
||||
<div class="line"><a name="l06929"></a><span class="lineno"> 6929</span>  <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i < 200; i++)</div>
|
||||
<div class="line"><a name="l06930"></a><span class="lineno"> 6930</span>  {</div>
|
||||
<div class="line"><a name="l06931"></a><span class="lineno"> 6931</span>  <span class="comment">// alice mints an NFT and creates a sell offer for 0 XRP</span></div>
|
||||
<div class="line"><a name="l06932"></a><span class="lineno"> 6932</span>  <span class="keyword">auto</span> <span class="keyword">const</span> sellOfferIndex =</div>
|
||||
<div class="line"><a name="l06933"></a><span class="lineno"> 6933</span>  mintAndCreateSellOffer(env, alice, XRP(0));</div>
|
||||
<div class="line"><a name="l06934"></a><span class="lineno"> 6934</span>  </div>
|
||||
<div class="line"><a name="l06935"></a><span class="lineno"> 6935</span>  <span class="comment">// Bob is able to accept the offer</span></div>
|
||||
<div class="line"><a name="l06936"></a><span class="lineno"> 6936</span>  env(token::acceptSellOffer(bob, sellOfferIndex));</div>
|
||||
<div class="line"><a name="l06937"></a><span class="lineno"> 6937</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
|
||||
<div class="line"><a name="l06938"></a><span class="lineno"> 6938</span>  }</div>
|
||||
<div class="line"><a name="l06939"></a><span class="lineno"> 6939</span>  }</div>
|
||||
<div class="line"><a name="l06940"></a><span class="lineno"> 6940</span>  <span class="keywordflow">else</span></div>
|
||||
<div class="line"><a name="l06941"></a><span class="lineno"> 6941</span>  {</div>
|
||||
<div class="line"><a name="l06942"></a><span class="lineno"> 6942</span>  <span class="comment">// alice mints the first NFT and creates a sell offer for 0 XRP</span></div>
|
||||
<div class="line"><a name="l06943"></a><span class="lineno"> 6943</span>  <span class="keyword">auto</span> <span class="keyword">const</span> sellOfferIndex1 =</div>
|
||||
<div class="line"><a name="l06944"></a><span class="lineno"> 6944</span>  mintAndCreateSellOffer(env, alice, XRP(0));</div>
|
||||
<div class="line"><a name="l06945"></a><span class="lineno"> 6945</span>  </div>
|
||||
<div class="line"><a name="l06946"></a><span class="lineno"> 6946</span>  <span class="comment">// Bob cannot accept this offer because he doesn't have the</span></div>
|
||||
<div class="line"><a name="l06947"></a><span class="lineno"> 6947</span>  <span class="comment">// reserve for the NFT</span></div>
|
||||
<div class="line"><a name="l06948"></a><span class="lineno"> 6948</span>  env(token::acceptSellOffer(bob, sellOfferIndex1),</div>
|
||||
<div class="line"><a name="l06949"></a><span class="lineno"> 6949</span>  ter(<a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38cae930fb228ae74317976b57b4e87a7f0d">tecINSUFFICIENT_RESERVE</a>));</div>
|
||||
<div class="line"><a name="l06950"></a><span class="lineno"> 6950</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
|
||||
<div class="line"><a name="l06951"></a><span class="lineno"> 6951</span>  </div>
|
||||
<div class="line"><a name="l06952"></a><span class="lineno"> 6952</span>  <span class="comment">// Give bob enough reserve</span></div>
|
||||
<div class="line"><a name="l06953"></a><span class="lineno"> 6953</span>  env(pay(env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc9bfd942ee848f3a9f16ab0e34e0c28">master</a>, bob, drops(incReserve)));</div>
|
||||
<div class="line"><a name="l06954"></a><span class="lineno"> 6954</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
|
||||
<div class="line"><a name="l06955"></a><span class="lineno"> 6955</span>  </div>
|
||||
<div class="line"><a name="l06956"></a><span class="lineno"> 6956</span>  BEAST_EXPECT(<a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#aa3e5ef0e515d486965903d73d031045a">ownerCount</a>(env, bob) == 0);</div>
|
||||
<div class="line"><a name="l06957"></a><span class="lineno"> 6957</span>  </div>
|
||||
<div class="line"><a name="l06958"></a><span class="lineno"> 6958</span>  <span class="comment">// Bob now owns his first NFT</span></div>
|
||||
<div class="line"><a name="l06959"></a><span class="lineno"> 6959</span>  env(token::acceptSellOffer(bob, sellOfferIndex1));</div>
|
||||
<div class="line"><a name="l06960"></a><span class="lineno"> 6960</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
|
||||
<div class="line"><a name="l06961"></a><span class="lineno"> 6961</span>  </div>
|
||||
<div class="line"><a name="l06962"></a><span class="lineno"> 6962</span>  BEAST_EXPECT(<a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#aa3e5ef0e515d486965903d73d031045a">ownerCount</a>(env, bob) == 1);</div>
|
||||
<div class="line"><a name="l06963"></a><span class="lineno"> 6963</span>  </div>
|
||||
<div class="line"><a name="l06964"></a><span class="lineno"> 6964</span>  <span class="comment">// alice now mints 31 more NFTs and creates an offer for each</span></div>
|
||||
<div class="line"><a name="l06965"></a><span class="lineno"> 6965</span>  <span class="comment">// NFT, then sells to bob</span></div>
|
||||
<div class="line"><a name="l06966"></a><span class="lineno"> 6966</span>  <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i < 31; i++)</div>
|
||||
<div class="line"><a name="l06967"></a><span class="lineno"> 6967</span>  {</div>
|
||||
<div class="line"><a name="l06968"></a><span class="lineno"> 6968</span>  <span class="comment">// alice mints an NFT and creates a sell offer for 0 XRP</span></div>
|
||||
<div class="line"><a name="l06969"></a><span class="lineno"> 6969</span>  <span class="keyword">auto</span> <span class="keyword">const</span> sellOfferIndex =</div>
|
||||
<div class="line"><a name="l06970"></a><span class="lineno"> 6970</span>  mintAndCreateSellOffer(env, alice, XRP(0));</div>
|
||||
<div class="line"><a name="l06971"></a><span class="lineno"> 6971</span>  </div>
|
||||
<div class="line"><a name="l06972"></a><span class="lineno"> 6972</span>  <span class="comment">// Bob can accept the offer because the new NFT is stored in</span></div>
|
||||
<div class="line"><a name="l06973"></a><span class="lineno"> 6973</span>  <span class="comment">// an existing NFTokenPage so no new reserve is requried</span></div>
|
||||
<div class="line"><a name="l06974"></a><span class="lineno"> 6974</span>  env(token::acceptSellOffer(bob, sellOfferIndex));</div>
|
||||
<div class="line"><a name="l06975"></a><span class="lineno"> 6975</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
|
||||
<div class="line"><a name="l06976"></a><span class="lineno"> 6976</span>  }</div>
|
||||
<div class="line"><a name="l06977"></a><span class="lineno"> 6977</span>  </div>
|
||||
<div class="line"><a name="l06978"></a><span class="lineno"> 6978</span>  BEAST_EXPECT(<a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#aa3e5ef0e515d486965903d73d031045a">ownerCount</a>(env, bob) == 1);</div>
|
||||
<div class="line"><a name="l06979"></a><span class="lineno"> 6979</span>  </div>
|
||||
<div class="line"><a name="l06980"></a><span class="lineno"> 6980</span>  <span class="comment">// alice now mints the 33rd NFT and creates an sell offer for 0</span></div>
|
||||
<div class="line"><a name="l06981"></a><span class="lineno"> 6981</span>  <span class="comment">// XRP</span></div>
|
||||
<div class="line"><a name="l06982"></a><span class="lineno"> 6982</span>  <span class="keyword">auto</span> <span class="keyword">const</span> sellOfferIndex33 =</div>
|
||||
<div class="line"><a name="l06983"></a><span class="lineno"> 6983</span>  mintAndCreateSellOffer(env, alice, XRP(0));</div>
|
||||
<div class="line"><a name="l06984"></a><span class="lineno"> 6984</span>  </div>
|
||||
<div class="line"><a name="l06985"></a><span class="lineno"> 6985</span>  <span class="comment">// Bob fails to accept this NFT because he does not have enough</span></div>
|
||||
<div class="line"><a name="l06986"></a><span class="lineno"> 6986</span>  <span class="comment">// reserve for a new NFTokenPage</span></div>
|
||||
<div class="line"><a name="l06987"></a><span class="lineno"> 6987</span>  env(token::acceptSellOffer(bob, sellOfferIndex33),</div>
|
||||
<div class="line"><a name="l06988"></a><span class="lineno"> 6988</span>  ter(<a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38cae930fb228ae74317976b57b4e87a7f0d">tecINSUFFICIENT_RESERVE</a>));</div>
|
||||
<div class="line"><a name="l06989"></a><span class="lineno"> 6989</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
|
||||
<div class="line"><a name="l06990"></a><span class="lineno"> 6990</span>  </div>
|
||||
<div class="line"><a name="l06991"></a><span class="lineno"> 6991</span>  <span class="comment">// Send bob incremental reserve</span></div>
|
||||
<div class="line"><a name="l06992"></a><span class="lineno"> 6992</span>  env(pay(env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc9bfd942ee848f3a9f16ab0e34e0c28">master</a>, bob, drops(incReserve)));</div>
|
||||
<div class="line"><a name="l06993"></a><span class="lineno"> 6993</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
|
||||
<div class="line"><a name="l06994"></a><span class="lineno"> 6994</span>  </div>
|
||||
<div class="line"><a name="l06995"></a><span class="lineno"> 6995</span>  <span class="comment">// Bob now has enough reserve to accept the offer and now</span></div>
|
||||
<div class="line"><a name="l06996"></a><span class="lineno"> 6996</span>  <span class="comment">// owns one more NFTokenPage</span></div>
|
||||
<div class="line"><a name="l06997"></a><span class="lineno"> 6997</span>  env(token::acceptSellOffer(bob, sellOfferIndex33));</div>
|
||||
<div class="line"><a name="l06998"></a><span class="lineno"> 6998</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
|
||||
<div class="line"><a name="l06999"></a><span class="lineno"> 6999</span>  </div>
|
||||
<div class="line"><a name="l07000"></a><span class="lineno"> 7000</span>  BEAST_EXPECT(<a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#aa3e5ef0e515d486965903d73d031045a">ownerCount</a>(env, bob) == 2);</div>
|
||||
<div class="line"><a name="l07001"></a><span class="lineno"> 7001</span>  }</div>
|
||||
<div class="line"><a name="l07002"></a><span class="lineno"> 7002</span>  }</div>
|
||||
<div class="line"><a name="l07003"></a><span class="lineno"> 7003</span>  </div>
|
||||
<div class="line"><a name="l07004"></a><span class="lineno"> 7004</span>  <span class="comment">// Test the behavior when the seller accepts a buy offer.</span></div>
|
||||
<div class="line"><a name="l07005"></a><span class="lineno"> 7005</span>  <span class="comment">// The behavior should not change regardless whether fixNFTokenReserve</span></div>
|
||||
<div class="line"><a name="l07006"></a><span class="lineno"> 7006</span>  <span class="comment">// is enabled or not, since the ledger is able to guard against</span></div>
|
||||
<div class="line"><a name="l07007"></a><span class="lineno"> 7007</span>  <span class="comment">// free NFTokenPages when buy offer is accepted. This is merely an</span></div>
|
||||
<div class="line"><a name="l07008"></a><span class="lineno"> 7008</span>  <span class="comment">// additional test to exercise existing offer behavior.</span></div>
|
||||
<div class="line"><a name="l07009"></a><span class="lineno"> 7009</span>  {</div>
|
||||
<div class="line"><a name="l07010"></a><span class="lineno"> 7010</span>  Account <span class="keyword">const</span> alice{<span class="stringliteral">"alice"</span>};</div>
|
||||
<div class="line"><a name="l07011"></a><span class="lineno"> 7011</span>  Account <span class="keyword">const</span> bob{<span class="stringliteral">"bob"</span>};</div>
|
||||
<div class="line"><a name="l07012"></a><span class="lineno"> 7012</span>  </div>
|
||||
<div class="line"><a name="l07013"></a><span class="lineno"> 7013</span>  Env env{*<span class="keyword">this</span>, features};</div>
|
||||
<div class="line"><a name="l07014"></a><span class="lineno"> 7014</span>  <span class="keyword">auto</span> <span class="keyword">const</span> acctReserve = env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>()->fees().accountReserve(0);</div>
|
||||
<div class="line"><a name="l07015"></a><span class="lineno"> 7015</span>  <span class="keyword">auto</span> <span class="keyword">const</span> incReserve = env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>()->fees().increment;</div>
|
||||
<div class="line"><a name="l07016"></a><span class="lineno"> 7016</span>  </div>
|
||||
<div class="line"><a name="l07017"></a><span class="lineno"> 7017</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ae2349266cb09d1f1c3de06606ebdf9e2">fund</a>(XRP(10000), alice);</div>
|
||||
<div class="line"><a name="l07018"></a><span class="lineno"> 7018</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
|
||||
<div class="line"><a name="l07019"></a><span class="lineno"> 7019</span>  </div>
|
||||
<div class="line"><a name="l07020"></a><span class="lineno"> 7020</span>  <span class="comment">// Bob is funded with account reserve + increment reserve + 1 XRP</span></div>
|
||||
<div class="line"><a name="l07021"></a><span class="lineno"> 7021</span>  <span class="comment">// increment reserve is for the buy offer, and 1 XRP is for offer</span></div>
|
||||
<div class="line"><a name="l07022"></a><span class="lineno"> 7022</span>  <span class="comment">// price</span></div>
|
||||
<div class="line"><a name="l07023"></a><span class="lineno"> 7023</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ae2349266cb09d1f1c3de06606ebdf9e2">fund</a>(acctReserve + incReserve + XRP(1), bob);</div>
|
||||
<div class="line"><a name="l07024"></a><span class="lineno"> 7024</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
|
||||
<div class="line"><a name="l07025"></a><span class="lineno"> 7025</span>  </div>
|
||||
<div class="line"><a name="l07026"></a><span class="lineno"> 7026</span>  <span class="comment">// Alice mints a NFT</span></div>
|
||||
<div class="line"><a name="l07027"></a><span class="lineno"> 7027</span>  <a class="code" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span> nftId{</div>
|
||||
<div class="line"><a name="l07028"></a><span class="lineno"> 7028</span>  token::getNextID(env, alice, 0u, <a class="code" href="namespaceripple.html#a467ff3737a47707e0aa7669c4db3ed17">tfTransferable</a>)};</div>
|
||||
<div class="line"><a name="l07029"></a><span class="lineno"> 7029</span>  env(token::mint(alice, 0u), txflags(<a class="code" href="namespaceripple.html#a467ff3737a47707e0aa7669c4db3ed17">tfTransferable</a>));</div>
|
||||
<div class="line"><a name="l07030"></a><span class="lineno"> 7030</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
|
||||
<div class="line"><a name="l07031"></a><span class="lineno"> 7031</span>  </div>
|
||||
<div class="line"><a name="l07032"></a><span class="lineno"> 7032</span>  <span class="comment">// Bob makes a buy offer for 1 XRP</span></div>
|
||||
<div class="line"><a name="l07033"></a><span class="lineno"> 7033</span>  <span class="keyword">auto</span> <span class="keyword">const</span> buyOfferIndex = <a class="code" href="namespaceripple_1_1keylet.html#af22d78dcae7bfcc9d36e53f2223875f4">keylet::nftoffer</a>(bob, env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2ef09f6f41b7d8a2dc89175e3b108f87">seq</a>(bob)).<a class="code" href="structripple_1_1Keylet.html#a482983062843a8682fcea76a309c73db">key</a>;</div>
|
||||
<div class="line"><a name="l07034"></a><span class="lineno"> 7034</span>  env(token::createOffer(bob, nftId, XRP(1)), token::owner(alice));</div>
|
||||
<div class="line"><a name="l07035"></a><span class="lineno"> 7035</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
|
||||
<div class="line"><a name="l07036"></a><span class="lineno"> 7036</span>  </div>
|
||||
<div class="line"><a name="l07037"></a><span class="lineno"> 7037</span>  <span class="comment">// accepting the buy offer fails because bob's balance is 10 drops</span></div>
|
||||
<div class="line"><a name="l07038"></a><span class="lineno"> 7038</span>  <span class="comment">// lower than the required amount, since the previous tx burnt 10</span></div>
|
||||
<div class="line"><a name="l07039"></a><span class="lineno"> 7039</span>  <span class="comment">// drops for tx fee.</span></div>
|
||||
<div class="line"><a name="l07040"></a><span class="lineno"> 7040</span>  env(token::acceptBuyOffer(alice, buyOfferIndex),</div>
|
||||
<div class="line"><a name="l07041"></a><span class="lineno"> 7041</span>  ter(<a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca89957bfc4da8257ff0b1c914c10a41ec">tecINSUFFICIENT_FUNDS</a>));</div>
|
||||
<div class="line"><a name="l07042"></a><span class="lineno"> 7042</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
|
||||
<div class="line"><a name="l07043"></a><span class="lineno"> 7043</span>  </div>
|
||||
<div class="line"><a name="l07044"></a><span class="lineno"> 7044</span>  <span class="comment">// send Bob 10 drops</span></div>
|
||||
<div class="line"><a name="l07045"></a><span class="lineno"> 7045</span>  env(pay(env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc9bfd942ee848f3a9f16ab0e34e0c28">master</a>, bob, drops(10)));</div>
|
||||
<div class="line"><a name="l07046"></a><span class="lineno"> 7046</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
|
||||
<div class="line"><a name="l07047"></a><span class="lineno"> 7047</span>  </div>
|
||||
<div class="line"><a name="l07048"></a><span class="lineno"> 7048</span>  <span class="comment">// Now bob can buy the offer</span></div>
|
||||
<div class="line"><a name="l07049"></a><span class="lineno"> 7049</span>  env(token::acceptBuyOffer(alice, buyOfferIndex));</div>
|
||||
<div class="line"><a name="l07050"></a><span class="lineno"> 7050</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
|
||||
<div class="line"><a name="l07051"></a><span class="lineno"> 7051</span>  }</div>
|
||||
<div class="line"><a name="l07052"></a><span class="lineno"> 7052</span>  </div>
|
||||
<div class="line"><a name="l07053"></a><span class="lineno"> 7053</span>  <span class="comment">// Test the reserve behavior in brokered mode.</span></div>
|
||||
<div class="line"><a name="l07054"></a><span class="lineno"> 7054</span>  <span class="comment">// The behavior should not change regardless whether fixNFTokenReserve</span></div>
|
||||
<div class="line"><a name="l07055"></a><span class="lineno"> 7055</span>  <span class="comment">// is enabled or not, since the ledger is able to guard against</span></div>
|
||||
<div class="line"><a name="l07056"></a><span class="lineno"> 7056</span>  <span class="comment">// free NFTokenPages in brokered mode. This is merely an</span></div>
|
||||
<div class="line"><a name="l07057"></a><span class="lineno"> 7057</span>  <span class="comment">// additional test to exercise existing offer behavior.</span></div>
|
||||
<div class="line"><a name="l07058"></a><span class="lineno"> 7058</span>  {</div>
|
||||
<div class="line"><a name="l07059"></a><span class="lineno"> 7059</span>  Account <span class="keyword">const</span> alice{<span class="stringliteral">"alice"</span>};</div>
|
||||
<div class="line"><a name="l07060"></a><span class="lineno"> 7060</span>  Account <span class="keyword">const</span> bob{<span class="stringliteral">"bob"</span>};</div>
|
||||
<div class="line"><a name="l07061"></a><span class="lineno"> 7061</span>  Account <span class="keyword">const</span> broker{<span class="stringliteral">"broker"</span>};</div>
|
||||
<div class="line"><a name="l07062"></a><span class="lineno"> 7062</span>  </div>
|
||||
<div class="line"><a name="l07063"></a><span class="lineno"> 7063</span>  Env env{*<span class="keyword">this</span>, features};</div>
|
||||
<div class="line"><a name="l07064"></a><span class="lineno"> 7064</span>  <span class="keyword">auto</span> <span class="keyword">const</span> acctReserve = env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>()->fees().accountReserve(0);</div>
|
||||
<div class="line"><a name="l07065"></a><span class="lineno"> 7065</span>  <span class="keyword">auto</span> <span class="keyword">const</span> incReserve = env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>()->fees().increment;</div>
|
||||
<div class="line"><a name="l07066"></a><span class="lineno"> 7066</span>  </div>
|
||||
<div class="line"><a name="l07067"></a><span class="lineno"> 7067</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ae2349266cb09d1f1c3de06606ebdf9e2">fund</a>(XRP(10000), alice, broker);</div>
|
||||
<div class="line"><a name="l07068"></a><span class="lineno"> 7068</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
|
||||
<div class="line"><a name="l07069"></a><span class="lineno"> 7069</span>  </div>
|
||||
<div class="line"><a name="l07070"></a><span class="lineno"> 7070</span>  <span class="comment">// Bob is funded with account reserve + incr reserve + 1 XRP(offer</span></div>
|
||||
<div class="line"><a name="l07071"></a><span class="lineno"> 7071</span>  <span class="comment">// price)</span></div>
|
||||
<div class="line"><a name="l07072"></a><span class="lineno"> 7072</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ae2349266cb09d1f1c3de06606ebdf9e2">fund</a>(acctReserve + incReserve + XRP(1), bob);</div>
|
||||
<div class="line"><a name="l07073"></a><span class="lineno"> 7073</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
|
||||
<div class="line"><a name="l07074"></a><span class="lineno"> 7074</span>  </div>
|
||||
<div class="line"><a name="l07075"></a><span class="lineno"> 7075</span>  <span class="comment">// Alice mints a NFT</span></div>
|
||||
<div class="line"><a name="l07076"></a><span class="lineno"> 7076</span>  <a class="code" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span> nftId{</div>
|
||||
<div class="line"><a name="l07077"></a><span class="lineno"> 7077</span>  token::getNextID(env, alice, 0u, <a class="code" href="namespaceripple.html#a467ff3737a47707e0aa7669c4db3ed17">tfTransferable</a>)};</div>
|
||||
<div class="line"><a name="l07078"></a><span class="lineno"> 7078</span>  env(token::mint(alice, 0u), txflags(<a class="code" href="namespaceripple.html#a467ff3737a47707e0aa7669c4db3ed17">tfTransferable</a>));</div>
|
||||
<div class="line"><a name="l07079"></a><span class="lineno"> 7079</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
|
||||
<div class="line"><a name="l07080"></a><span class="lineno"> 7080</span>  </div>
|
||||
<div class="line"><a name="l07081"></a><span class="lineno"> 7081</span>  <span class="comment">// Alice creates sell offer and set broker as destination</span></div>
|
||||
<div class="line"><a name="l07082"></a><span class="lineno"> 7082</span>  <a class="code" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span> offerAliceToBroker =</div>
|
||||
<div class="line"><a name="l07083"></a><span class="lineno"> 7083</span>  <a class="code" href="namespaceripple_1_1keylet.html#af22d78dcae7bfcc9d36e53f2223875f4">keylet::nftoffer</a>(alice, env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2ef09f6f41b7d8a2dc89175e3b108f87">seq</a>(alice)).<a class="code" href="structripple_1_1Keylet.html#a482983062843a8682fcea76a309c73db">key</a>;</div>
|
||||
<div class="line"><a name="l07084"></a><span class="lineno"> 7084</span>  env(token::createOffer(alice, nftId, XRP(1)),</div>
|
||||
<div class="line"><a name="l07085"></a><span class="lineno"> 7085</span>  token::destination(broker),</div>
|
||||
<div class="line"><a name="l07086"></a><span class="lineno"> 7086</span>  txflags(<a class="code" href="namespaceripple.html#a0a58f25b2ddd02a1c0fcfc4c056e4fa8">tfSellNFToken</a>));</div>
|
||||
<div class="line"><a name="l07087"></a><span class="lineno"> 7087</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
|
||||
<div class="line"><a name="l07088"></a><span class="lineno"> 7088</span>  </div>
|
||||
<div class="line"><a name="l07089"></a><span class="lineno"> 7089</span>  <span class="comment">// Bob creates buy offer</span></div>
|
||||
<div class="line"><a name="l07090"></a><span class="lineno"> 7090</span>  <a class="code" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span> offerBobToBroker =</div>
|
||||
<div class="line"><a name="l07091"></a><span class="lineno"> 7091</span>  <a class="code" href="namespaceripple_1_1keylet.html#af22d78dcae7bfcc9d36e53f2223875f4">keylet::nftoffer</a>(bob, env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2ef09f6f41b7d8a2dc89175e3b108f87">seq</a>(bob)).<a class="code" href="structripple_1_1Keylet.html#a482983062843a8682fcea76a309c73db">key</a>;</div>
|
||||
<div class="line"><a name="l07092"></a><span class="lineno"> 7092</span>  env(token::createOffer(bob, nftId, XRP(1)), token::owner(alice));</div>
|
||||
<div class="line"><a name="l07093"></a><span class="lineno"> 7093</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
|
||||
<div class="line"><a name="l07094"></a><span class="lineno"> 7094</span>  </div>
|
||||
<div class="line"><a name="l07095"></a><span class="lineno"> 7095</span>  <span class="comment">// broker offers.</span></div>
|
||||
<div class="line"><a name="l07096"></a><span class="lineno"> 7096</span>  <span class="comment">// Returns insufficient funds, because bob burnt tx fee when he</span></div>
|
||||
<div class="line"><a name="l07097"></a><span class="lineno"> 7097</span>  <span class="comment">// created his buy offer, which makes his spendable balance to be</span></div>
|
||||
<div class="line"><a name="l07098"></a><span class="lineno"> 7098</span>  <span class="comment">// less than the required amount.</span></div>
|
||||
<div class="line"><a name="l07099"></a><span class="lineno"> 7099</span>  env(token::brokerOffers(</div>
|
||||
<div class="line"><a name="l07100"></a><span class="lineno"> 7100</span>  broker, offerBobToBroker, offerAliceToBroker),</div>
|
||||
<div class="line"><a name="l07101"></a><span class="lineno"> 7101</span>  ter(<a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca89957bfc4da8257ff0b1c914c10a41ec">tecINSUFFICIENT_FUNDS</a>));</div>
|
||||
<div class="line"><a name="l07102"></a><span class="lineno"> 7102</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
|
||||
<div class="line"><a name="l07103"></a><span class="lineno"> 7103</span>  </div>
|
||||
<div class="line"><a name="l07104"></a><span class="lineno"> 7104</span>  <span class="comment">// send Bob 10 drops</span></div>
|
||||
<div class="line"><a name="l07105"></a><span class="lineno"> 7105</span>  env(pay(env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc9bfd942ee848f3a9f16ab0e34e0c28">master</a>, bob, drops(10)));</div>
|
||||
<div class="line"><a name="l07106"></a><span class="lineno"> 7106</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
|
||||
<div class="line"><a name="l07107"></a><span class="lineno"> 7107</span>  </div>
|
||||
<div class="line"><a name="l07108"></a><span class="lineno"> 7108</span>  <span class="comment">// broker offers.</span></div>
|
||||
<div class="line"><a name="l07109"></a><span class="lineno"> 7109</span>  env(token::brokerOffers(</div>
|
||||
<div class="line"><a name="l07110"></a><span class="lineno"> 7110</span>  broker, offerBobToBroker, offerAliceToBroker));</div>
|
||||
<div class="line"><a name="l07111"></a><span class="lineno"> 7111</span>  env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
|
||||
<div class="line"><a name="l07112"></a><span class="lineno"> 7112</span>  }</div>
|
||||
<div class="line"><a name="l07113"></a><span class="lineno"> 7113</span>  }</div>
|
||||
<div class="line"><a name="l07114"></a><span class="lineno"> 7114</span>  </div>
|
||||
<div class="line"><a name="l07115"></a><span class="lineno"> 7115</span>  <span class="keywordtype">void</span></div>
|
||||
<div class="line"><a name="l07116"></a><span class="lineno"><a class="line" href="classripple_1_1NFTokenBaseUtil__test.html#a529c0168ed4c98c43308469e580a9788"> 7116</a></span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a529c0168ed4c98c43308469e580a9788">testWithFeats</a>(<a class="code" href="classripple_1_1FeatureBitset.html">FeatureBitset</a> features)</div>
|
||||
<div class="line"><a name="l07117"></a><span class="lineno"> 7117</span>  {</div>
|
||||
<div class="line"><a name="l07118"></a><span class="lineno"> 7118</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a7f10ae0de1a4681877e3d1e1d5673465">testEnabled</a>(features);</div>
|
||||
<div class="line"><a name="l07119"></a><span class="lineno"> 7119</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#aadf6365ce639131834eab4cc31d65093">testMintReserve</a>(features);</div>
|
||||
<div class="line"><a name="l07120"></a><span class="lineno"> 7120</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a5ffb18bbda6b23869ea4e128a94a4172">testMintMaxTokens</a>(features);</div>
|
||||
<div class="line"><a name="l07121"></a><span class="lineno"> 7121</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a1966cd5eead1c520f03bf10d36dfa7ec">testMintInvalid</a>(features);</div>
|
||||
<div class="line"><a name="l07122"></a><span class="lineno"> 7122</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#afcb9b55ef92124f7c7028ea0718027eb">testBurnInvalid</a>(features);</div>
|
||||
<div class="line"><a name="l07123"></a><span class="lineno"> 7123</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#ad4fb66dcceb02c41f1c9d77bf39f3bf5">testCreateOfferInvalid</a>(features);</div>
|
||||
<div class="line"><a name="l07124"></a><span class="lineno"> 7124</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#ad85ca749f9705cc1b84421b67c48bcf2">testCancelOfferInvalid</a>(features);</div>
|
||||
<div class="line"><a name="l07125"></a><span class="lineno"> 7125</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a1bd804bd97551c75b62291406ced874c">testAcceptOfferInvalid</a>(features);</div>
|
||||
<div class="line"><a name="l07126"></a><span class="lineno"> 7126</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#aa0ae4df96c9c0547153a1e4ba813133b">testMintFlagBurnable</a>(features);</div>
|
||||
<div class="line"><a name="l07127"></a><span class="lineno"> 7127</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#aaa032066a5e2959e9bb2465d9522452c">testMintFlagOnlyXRP</a>(features);</div>
|
||||
<div class="line"><a name="l07128"></a><span class="lineno"> 7128</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a63aa717c8b8591199a89a33527b61e27">testMintFlagCreateTrustLine</a>(features);</div>
|
||||
<div class="line"><a name="l07129"></a><span class="lineno"> 7129</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a260c7cee01b67657fe2ba46c7bf93f38">testMintFlagTransferable</a>(features);</div>
|
||||
<div class="line"><a name="l07130"></a><span class="lineno"> 7130</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a6a3323d2034c1c611bc8577f3c13e3d6">testMintTransferFee</a>(features);</div>
|
||||
<div class="line"><a name="l07131"></a><span class="lineno"> 7131</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a3fa75123e0f08ef137f517049cbbcd33">testMintTaxon</a>(features);</div>
|
||||
<div class="line"><a name="l07132"></a><span class="lineno"> 7132</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a95d0cad153ca0ddea38c91b14decd3d8">testMintURI</a>(features);</div>
|
||||
<div class="line"><a name="l07133"></a><span class="lineno"> 7133</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a0d843c4053e03e081e2887d43e94b97f">testCreateOfferDestination</a>(features);</div>
|
||||
<div class="line"><a name="l07134"></a><span class="lineno"> 7134</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a5e95c96aeb51dcf1b3a10e8d3b9ee91a">testCreateOfferDestinationDisallowIncoming</a>(features);</div>
|
||||
<div class="line"><a name="l07135"></a><span class="lineno"> 7135</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a5f4cda45544524e3c03768c1d9c4135b">testCreateOfferExpiration</a>(features);</div>
|
||||
<div class="line"><a name="l07136"></a><span class="lineno"> 7136</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a36514c5e60469b4cf4b56990d8a2c428">testCancelOffers</a>(features);</div>
|
||||
<div class="line"><a name="l07137"></a><span class="lineno"> 7137</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a9a369f80b9c80db94566708eea8d429a">testCancelTooManyOffers</a>(features);</div>
|
||||
<div class="line"><a name="l07138"></a><span class="lineno"> 7138</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#adfd3f82b0ab24b5c9c14bfb59a55111e">testBrokeredAccept</a>(features);</div>
|
||||
<div class="line"><a name="l07139"></a><span class="lineno"> 7139</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a5693a7fb413d4b8b1311365cc185c3a5">testNFTokenOfferOwner</a>(features);</div>
|
||||
<div class="line"><a name="l07140"></a><span class="lineno"> 7140</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a56dd85affd1f7e416f4ad74ea4626a7d">testNFTokenWithTickets</a>(features);</div>
|
||||
<div class="line"><a name="l07141"></a><span class="lineno"> 7141</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a46296bd938a3f438eba83729f59cc32c">testNFTokenDeleteAccount</a>(features);</div>
|
||||
<div class="line"><a name="l07142"></a><span class="lineno"> 7142</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a7aad782a817497d828ef42db3189e4d5">testNftXxxOffers</a>(features);</div>
|
||||
<div class="line"><a name="l07143"></a><span class="lineno"> 7143</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a4db65faffdd17186b6bc1c7367d1314c">testFixNFTokenNegOffer</a>(features);</div>
|
||||
<div class="line"><a name="l07144"></a><span class="lineno"> 7144</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#ac2075c02d2dca027ae127b8ff4e976e1">testIOUWithTransferFee</a>(features);</div>
|
||||
<div class="line"><a name="l07145"></a><span class="lineno"> 7145</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#ac11bfc951b2c8b6ce5c44f28f2f5cc4d">testBrokeredSaleToSelf</a>(features);</div>
|
||||
<div class="line"><a name="l07146"></a><span class="lineno"> 7146</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a0f39ce869f7da95aa6378efdda21beae">testFixNFTokenRemint</a>(features);</div>
|
||||
<div class="line"><a name="l07147"></a><span class="lineno"> 7147</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a6f1c291ade2bd303f4fd3919eda1c3b0">testTxJsonMetaFields</a>(features);</div>
|
||||
<div class="line"><a name="l07148"></a><span class="lineno"> 7148</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a4d51f6b8a0a5a963b09f958db4be41a2">testFixNFTokenBuyerReserve</a>(features);</div>
|
||||
<div class="line"><a name="l07149"></a><span class="lineno"> 7149</span>  }</div>
|
||||
<div class="line"><a name="l07150"></a><span class="lineno"> 7150</span>  </div>
|
||||
<div class="line"><a name="l07151"></a><span class="lineno"> 7151</span> <span class="keyword">public</span>:</div>
|
||||
<div class="line"><a name="l07152"></a><span class="lineno"> 7152</span>  <span class="keywordtype">void</span></div>
|
||||
<div class="line"><a name="l07153"></a><span class="lineno"><a class="line" href="classripple_1_1NFTokenBaseUtil__test.html#a4e7a460ba06153a6c722a6d18978b146"> 7153</a></span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a4e7a460ba06153a6c722a6d18978b146">run</a>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> instance, <span class="keywordtype">bool</span> last = <span class="keyword">false</span>)</div>
|
||||
<div class="line"><a name="l07154"></a><span class="lineno"> 7154</span>  {</div>
|
||||
<div class="line"><a name="l07155"></a><span class="lineno"> 7155</span>  <span class="keyword">using namespace </span>test::jtx;</div>
|
||||
<div class="line"><a name="l07156"></a><span class="lineno"> 7156</span>  <span class="keyword">static</span> <a class="code" href="classripple_1_1FeatureBitset.html">FeatureBitset</a> <span class="keyword">const</span> <a class="code" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a>{supported_amendments()};</div>
|
||||
<div class="line"><a name="l07157"></a><span class="lineno"> 7157</span>  <span class="keyword">static</span> <a class="code" href="classripple_1_1FeatureBitset.html">FeatureBitset</a> <span class="keyword">const</span> fixNFTDir{<a class="code" href="namespaceripple.html#adc24572ec82470f0e8510bcd85ed6100">fixNFTokenDirV1</a>};</div>
|
||||
<div class="line"><a name="l07158"></a><span class="lineno"> 7158</span>  </div>
|
||||
<div class="line"><a name="l07159"></a><span class="lineno"> 7159</span>  <span class="keyword">static</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/array.html">std::array<FeatureBitset, 6></a> <span class="keyword">const</span> feats{</div>
|
||||
<div class="line"><a name="l07160"></a><span class="lineno"> 7160</span>  <a class="code" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a> - fixNFTDir - <a class="code" href="namespaceripple.html#a831b340e9f96cdaec47e018aeff72dec">fixNonFungibleTokensV1_2</a> - <a class="code" href="namespaceripple.html#a2abe44fcd04710b216e3f9f774e4849d">fixNFTokenRemint</a> -</div>
|
||||
<div class="line"><a name="l07161"></a><span class="lineno"> 7161</span>  <a class="code" href="namespaceripple.html#ad418a255403f7eda6644a9b8150f71af">fixNFTokenReserve</a>,</div>
|
||||
<div class="line"><a name="l07162"></a><span class="lineno"> 7162</span>  <a class="code" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a> - <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#ad540a0e0772c3d703dc6266023060c63">disallowIncoming</a> - <a class="code" href="namespaceripple.html#a831b340e9f96cdaec47e018aeff72dec">fixNonFungibleTokensV1_2</a> -</div>
|
||||
<div class="line"><a name="l07163"></a><span class="lineno"> 7163</span>  <a class="code" href="namespaceripple.html#a2abe44fcd04710b216e3f9f774e4849d">fixNFTokenRemint</a> - <a class="code" href="namespaceripple.html#ad418a255403f7eda6644a9b8150f71af">fixNFTokenReserve</a>,</div>
|
||||
<div class="line"><a name="l07164"></a><span class="lineno"> 7164</span>  <a class="code" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a> - <a class="code" href="namespaceripple.html#a831b340e9f96cdaec47e018aeff72dec">fixNonFungibleTokensV1_2</a> - <a class="code" href="namespaceripple.html#a2abe44fcd04710b216e3f9f774e4849d">fixNFTokenRemint</a> -</div>
|
||||
<div class="line"><a name="l07165"></a><span class="lineno"> 7165</span>  <a class="code" href="namespaceripple.html#ad418a255403f7eda6644a9b8150f71af">fixNFTokenReserve</a>,</div>
|
||||
<div class="line"><a name="l07166"></a><span class="lineno"> 7166</span>  <a class="code" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a> - <a class="code" href="namespaceripple.html#a2abe44fcd04710b216e3f9f774e4849d">fixNFTokenRemint</a> - <a class="code" href="namespaceripple.html#ad418a255403f7eda6644a9b8150f71af">fixNFTokenReserve</a>,</div>
|
||||
<div class="line"><a name="l07167"></a><span class="lineno"> 7167</span>  <a class="code" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a> - <a class="code" href="namespaceripple.html#ad418a255403f7eda6644a9b8150f71af">fixNFTokenReserve</a>,</div>
|
||||
<div class="line"><a name="l07168"></a><span class="lineno"> 7168</span>  <a class="code" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a>};</div>
|
||||
<div class="line"><a name="l07169"></a><span class="lineno"> 7169</span>  </div>
|
||||
<div class="line"><a name="l07170"></a><span class="lineno"> 7170</span>  <span class="keywordflow">if</span> (BEAST_EXPECT(instance < feats.size()))</div>
|
||||
<div class="line"><a name="l07171"></a><span class="lineno"> 7171</span>  {</div>
|
||||
<div class="line"><a name="l07172"></a><span class="lineno"> 7172</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#a529c0168ed4c98c43308469e580a9788">testWithFeats</a>(feats[instance]);</div>
|
||||
<div class="line"><a name="l07173"></a><span class="lineno"> 7173</span>  }</div>
|
||||
<div class="line"><a name="l07174"></a><span class="lineno"> 7174</span>  BEAST_EXPECT(!last || instance == feats.size() - 1);</div>
|
||||
<div class="line"><a name="l07175"></a><span class="lineno"> 7175</span>  }</div>
|
||||
<div class="line"><a name="l07176"></a><span class="lineno"> 7176</span>  </div>
|
||||
<div class="line"><a name="l07177"></a><span class="lineno"> 7177</span>  <span class="keywordtype">void</span></div>
|
||||
<div class="line"><a name="l07178"></a><span class="lineno"><a class="line" href="classripple_1_1NFTokenBaseUtil__test.html#af3ca98862cae7e8e2131add32290c26c"> 7178</a></span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#af3ca98862cae7e8e2131add32290c26c">run</a>()<span class="keyword"> override</span></div>
|
||||
<div class="line"><a name="l07179"></a><span class="lineno"> 7179</span> <span class="keyword"> </span>{</div>
|
||||
<div class="line"><a name="l07180"></a><span class="lineno"> 7180</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#af3ca98862cae7e8e2131add32290c26c">run</a>(0);</div>
|
||||
<div class="line"><a name="l07181"></a><span class="lineno"> 7181</span>  }</div>
|
||||
<div class="line"><a name="l07182"></a><span class="lineno"> 7182</span> };</div>
|
||||
<div class="line"><a name="l07183"></a><span class="lineno"> 7183</span>  </div>
|
||||
<div class="line"><a name="l07184"></a><span class="lineno"><a class="line" href="classripple_1_1NFTokenDisallowIncoming__test.html"> 7184</a></span> <span class="keyword">class </span><a class="code" href="classripple_1_1NFTokenDisallowIncoming__test.html">NFTokenDisallowIncoming_test</a> : <span class="keyword">public</span> <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html">NFTokenBaseUtil_test</a></div>
|
||||
<div class="line"><a name="l07185"></a><span class="lineno"> 7185</span> {</div>
|
||||
<div class="line"><a name="l07186"></a><span class="lineno"> 7186</span>  <span class="keywordtype">void</span></div>
|
||||
<div class="line"><a name="l07187"></a><span class="lineno"><a class="line" href="classripple_1_1NFTokenDisallowIncoming__test.html#acbb822692701bfce6d1275adcc015065"> 7187</a></span>  <a class="code" href="classripple_1_1NFTokenDisallowIncoming__test.html#acbb822692701bfce6d1275adcc015065">run</a>()<span class="keyword"> override</span></div>
|
||||
<div class="line"><a name="l07188"></a><span class="lineno"> 7188</span> <span class="keyword"> </span>{</div>
|
||||
<div class="line"><a name="l07189"></a><span class="lineno"> 7189</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#af3ca98862cae7e8e2131add32290c26c">NFTokenBaseUtil_test::run</a>(1);</div>
|
||||
<div class="line"><a name="l07190"></a><span class="lineno"> 7190</span>  }</div>
|
||||
<div class="line"><a name="l07191"></a><span class="lineno"> 7191</span> };</div>
|
||||
<div class="line"><a name="l07192"></a><span class="lineno"> 7192</span>  </div>
|
||||
<div class="line"><a name="l07193"></a><span class="lineno"><a class="line" href="classripple_1_1NFTokenWOfixV1__test.html"> 7193</a></span> <span class="keyword">class </span><a class="code" href="classripple_1_1NFTokenWOfixV1__test.html">NFTokenWOfixV1_test</a> : <span class="keyword">public</span> <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html">NFTokenBaseUtil_test</a></div>
|
||||
<div class="line"><a name="l07194"></a><span class="lineno"> 7194</span> {</div>
|
||||
<div class="line"><a name="l07195"></a><span class="lineno"> 7195</span>  <span class="keywordtype">void</span></div>
|
||||
<div class="line"><a name="l07196"></a><span class="lineno"><a class="line" href="classripple_1_1NFTokenWOfixV1__test.html#a9a63b67a8f469cb8942a85dd2a1396fe"> 7196</a></span>  <a class="code" href="classripple_1_1NFTokenWOfixV1__test.html#a9a63b67a8f469cb8942a85dd2a1396fe">run</a>()<span class="keyword"> override</span></div>
|
||||
<div class="line"><a name="l07197"></a><span class="lineno"> 7197</span> <span class="keyword"> </span>{</div>
|
||||
<div class="line"><a name="l07198"></a><span class="lineno"> 7198</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#af3ca98862cae7e8e2131add32290c26c">NFTokenBaseUtil_test::run</a>(2);</div>
|
||||
<div class="line"><a name="l07199"></a><span class="lineno"> 7199</span>  }</div>
|
||||
<div class="line"><a name="l07200"></a><span class="lineno"> 7200</span> };</div>
|
||||
<div class="line"><a name="l07201"></a><span class="lineno"> 7201</span>  </div>
|
||||
<div class="line"><a name="l07202"></a><span class="lineno"><a class="line" href="classripple_1_1NFTokenWOTokenRemint__test.html"> 7202</a></span> <span class="keyword">class </span><a class="code" href="classripple_1_1NFTokenWOTokenRemint__test.html">NFTokenWOTokenRemint_test</a> : <span class="keyword">public</span> <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html">NFTokenBaseUtil_test</a></div>
|
||||
<div class="line"><a name="l07203"></a><span class="lineno"> 7203</span> {</div>
|
||||
<div class="line"><a name="l07204"></a><span class="lineno"> 7204</span>  <span class="keywordtype">void</span></div>
|
||||
<div class="line"><a name="l07205"></a><span class="lineno"><a class="line" href="classripple_1_1NFTokenWOTokenRemint__test.html#a4cd579d00d59049a4051f9aefc1856e3"> 7205</a></span>  <a class="code" href="classripple_1_1NFTokenWOTokenRemint__test.html#a4cd579d00d59049a4051f9aefc1856e3">run</a>()<span class="keyword"> override</span></div>
|
||||
<div class="line"><a name="l07206"></a><span class="lineno"> 7206</span> <span class="keyword"> </span>{</div>
|
||||
<div class="line"><a name="l07207"></a><span class="lineno"> 7207</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#af3ca98862cae7e8e2131add32290c26c">NFTokenBaseUtil_test::run</a>(3);</div>
|
||||
<div class="line"><a name="l07208"></a><span class="lineno"> 7208</span>  }</div>
|
||||
<div class="line"><a name="l07209"></a><span class="lineno"> 7209</span> };</div>
|
||||
<div class="line"><a name="l07210"></a><span class="lineno"> 7210</span>  </div>
|
||||
<div class="line"><a name="l07211"></a><span class="lineno"><a class="line" href="classripple_1_1NFTokenWOTokenReserve__test.html"> 7211</a></span> <span class="keyword">class </span><a class="code" href="classripple_1_1NFTokenWOTokenReserve__test.html">NFTokenWOTokenReserve_test</a> : <span class="keyword">public</span> <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html">NFTokenBaseUtil_test</a></div>
|
||||
<div class="line"><a name="l07212"></a><span class="lineno"> 7212</span> {</div>
|
||||
<div class="line"><a name="l07213"></a><span class="lineno"> 7213</span>  <span class="keywordtype">void</span></div>
|
||||
<div class="line"><a name="l07214"></a><span class="lineno"><a class="line" href="classripple_1_1NFTokenWOTokenReserve__test.html#a7e64dc01d1dd1d69d778d0a78b36109d"> 7214</a></span>  <a class="code" href="classripple_1_1NFTokenWOTokenReserve__test.html#a7e64dc01d1dd1d69d778d0a78b36109d">run</a>()<span class="keyword"> override</span></div>
|
||||
<div class="line"><a name="l07215"></a><span class="lineno"> 7215</span> <span class="keyword"> </span>{</div>
|
||||
<div class="line"><a name="l07216"></a><span class="lineno"> 7216</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#af3ca98862cae7e8e2131add32290c26c">NFTokenBaseUtil_test::run</a>(4);</div>
|
||||
<div class="line"><a name="l07217"></a><span class="lineno"> 7217</span>  }</div>
|
||||
<div class="line"><a name="l07218"></a><span class="lineno"> 7218</span> };</div>
|
||||
<div class="line"><a name="l07219"></a><span class="lineno"> 7219</span>  </div>
|
||||
<div class="line"><a name="l07220"></a><span class="lineno"><a class="line" href="classripple_1_1NFTokenAllFeatures__test.html"> 7220</a></span> <span class="keyword">class </span><a class="code" href="classripple_1_1NFTokenAllFeatures__test.html">NFTokenAllFeatures_test</a> : <span class="keyword">public</span> <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html">NFTokenBaseUtil_test</a></div>
|
||||
<div class="line"><a name="l07221"></a><span class="lineno"> 7221</span> {</div>
|
||||
<div class="line"><a name="l07222"></a><span class="lineno"> 7222</span>  <span class="keywordtype">void</span></div>
|
||||
<div class="line"><a name="l07223"></a><span class="lineno"><a class="line" href="classripple_1_1NFTokenAllFeatures__test.html#ad42776f531cb8f6bf9e26545073797b0"> 7223</a></span>  <a class="code" href="classripple_1_1NFTokenAllFeatures__test.html#ad42776f531cb8f6bf9e26545073797b0">run</a>()<span class="keyword"> override</span></div>
|
||||
<div class="line"><a name="l07224"></a><span class="lineno"> 7224</span> <span class="keyword"> </span>{</div>
|
||||
<div class="line"><a name="l07225"></a><span class="lineno"> 7225</span>  <a class="code" href="classripple_1_1NFTokenBaseUtil__test.html#af3ca98862cae7e8e2131add32290c26c">NFTokenBaseUtil_test::run</a>(5, <span class="keyword">true</span>);</div>
|
||||
<div class="line"><a name="l07226"></a><span class="lineno"> 7226</span>  }</div>
|
||||
<div class="line"><a name="l07227"></a><span class="lineno"> 7227</span> };</div>
|
||||
<div class="line"><a name="l07228"></a><span class="lineno"> 7228</span>  </div>
|
||||
<div class="line"><a name="l07229"></a><span class="lineno"> 7229</span> <a class="code" href="namespaceripple.html#af788e68ba2cb31ac890015f5d1d4cd7e">BEAST_DEFINE_TESTSUITE_PRIO</a>(NFTokenBaseUtil, tx, <a class="code" href="namespaceripple.html">ripple</a>, 2);</div>
|
||||
<div class="line"><a name="l07230"></a><span class="lineno"> 7230</span> <a class="code" href="namespaceripple.html#af788e68ba2cb31ac890015f5d1d4cd7e">BEAST_DEFINE_TESTSUITE_PRIO</a>(NFTokenDisallowIncoming, tx, <a class="code" href="namespaceripple.html">ripple</a>, 2);</div>
|
||||
<div class="line"><a name="l07231"></a><span class="lineno"> 7231</span> <a class="code" href="namespaceripple.html#af788e68ba2cb31ac890015f5d1d4cd7e">BEAST_DEFINE_TESTSUITE_PRIO</a>(NFTokenWOfixV1, tx, <a class="code" href="namespaceripple.html">ripple</a>, 2);</div>
|
||||
<div class="line"><a name="l07232"></a><span class="lineno"> 7232</span> <a class="code" href="namespaceripple.html#af788e68ba2cb31ac890015f5d1d4cd7e">BEAST_DEFINE_TESTSUITE_PRIO</a>(NFTokenWOTokenRemint, tx, <a class="code" href="namespaceripple.html">ripple</a>, 2);</div>
|
||||
<div class="line"><a name="l07233"></a><span class="lineno"> 7233</span> <a class="code" href="namespaceripple.html#af788e68ba2cb31ac890015f5d1d4cd7e">BEAST_DEFINE_TESTSUITE_PRIO</a>(NFTokenWOTokenReserve, tx, <a class="code" href="namespaceripple.html">ripple</a>, 2);</div>
|
||||
<div class="line"><a name="l07234"></a><span class="lineno"> 7234</span> <a class="code" href="namespaceripple.html#af788e68ba2cb31ac890015f5d1d4cd7e">BEAST_DEFINE_TESTSUITE_PRIO</a>(NFTokenAllFeatures, tx, <a class="code" href="namespaceripple.html">ripple</a>, 2);</div>
|
||||
<div class="line"><a name="l07235"></a><span class="lineno"> 7235</span>  </div>
|
||||
<div class="line"><a name="l07236"></a><span class="lineno"> 7236</span> } <span class="comment">// namespace ripple</span></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<div class="ttc" id="anamespaceripple_html_aa298e929e02f59c2b05a30ee8805b38ca5d1f0daadc43667fc3775d53cd6e3420"><div class="ttname"><a href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca5d1f0daadc43667fc3775d53cd6e3420">ripple::tecUNFUNDED_OFFER</a></div><div class="ttdeci">@ tecUNFUNDED_OFFER</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00264">TER.h:264</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a23157a33f50547f6e3a9f0f952e8c782"><div class="ttname"><a href="namespaceripple.html#a23157a33f50547f6e3a9f0f952e8c782">ripple::maxTransferFee</a></div><div class="ttdeci">constexpr std::uint16_t maxTransferFee</div><div class="ttdoc">The maximum token transfer fee allowed.</div><div class="ttdef"><b>Definition:</b> <a href="Protocol_8h_source.html#l00081">Protocol.h:81</a></div></div>
|
||||
@@ -7003,7 +7331,7 @@ $(function() {
|
||||
<div class="ttc" id="aclassripple_1_1NFTokenBaseUtil__test_html_a1966cd5eead1c520f03bf10d36dfa7ec"><div class="ttname"><a href="classripple_1_1NFTokenBaseUtil__test.html#a1966cd5eead1c520f03bf10d36dfa7ec">ripple::NFTokenBaseUtil_test::testMintInvalid</a></div><div class="ttdeci">void testMintInvalid(FeatureBitset features)</div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l00525">NFToken_test.cpp:525</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_aa2329a443f1a877eb8cec2504cadfa40"><div class="ttname"><a href="namespaceripple.html#aa2329a443f1a877eb8cec2504cadfa40">ripple::sfNFTokenOffers</a></div><div class="ttdeci">const SF_VECTOR256 sfNFTokenOffers</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NFTokenBaseUtil__test_html_abc4a1ca19b79803d5370b35b29fcef40"><div class="ttname"><a href="classripple_1_1NFTokenBaseUtil__test.html#abc4a1ca19b79803d5370b35b29fcef40">ripple::NFTokenBaseUtil_test::ticketCount</a></div><div class="ttdeci">static std::uint32_t ticketCount(test::jtx::Env const &env, test::jtx::Account const &acct)</div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l00077">NFToken_test.cpp:77</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NFTokenAllFeatures__test_html"><div class="ttname"><a href="classripple_1_1NFTokenAllFeatures__test.html">ripple::NFTokenAllFeatures_test</a></div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l06893">NFToken_test.cpp:6893</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NFTokenAllFeatures__test_html"><div class="ttname"><a href="classripple_1_1NFTokenAllFeatures__test.html">ripple::NFTokenAllFeatures_test</a></div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l07220">NFToken_test.cpp:7220</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NFTokenBaseUtil__test_html_ac11bfc951b2c8b6ce5c44f28f2f5cc4d"><div class="ttname"><a href="classripple_1_1NFTokenBaseUtil__test.html#ac11bfc951b2c8b6ce5c44f28f2f5cc4d">ripple::NFTokenBaseUtil_test::testBrokeredSaleToSelf</a></div><div class="ttdeci">void testBrokeredSaleToSelf(FeatureBitset features)</div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l05961">NFToken_test.cpp:5961</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#l00042">json_value.h:42</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_aa298e929e02f59c2b05a30ee8805b38ca89957bfc4da8257ff0b1c914c10a41ec"><div class="ttname"><a href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca89957bfc4da8257ff0b1c914c10a41ec">ripple::tecINSUFFICIENT_FUNDS</a></div><div class="ttdeci">@ tecINSUFFICIENT_FUNDS</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00305">TER.h:305</a></div></div>
|
||||
@@ -7026,9 +7354,11 @@ $(function() {
|
||||
<div class="ttc" id="anamespaceripple_html_aa298e929e02f59c2b05a30ee8805b38caec35573bc783e08b1ba20c151e25a759"><div class="ttname"><a href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caec35573bc783e08b1ba20c151e25a759">ripple::tecCANT_ACCEPT_OWN_NFTOKEN_OFFER</a></div><div class="ttdeci">@ tecCANT_ACCEPT_OWN_NFTOKEN_OFFER</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00304">TER.h:304</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="aclassripple_1_1SField_html_a45acf918dce2b1e3e40c6344a49f7b51"><div class="ttname"><a href="classripple_1_1SField.html#a45acf918dce2b1e3e40c6344a49f7b51">ripple::SField::jsonName</a></div><div class="ttdeci">const Json::StaticString jsonName</div><div class="ttdef"><b>Definition:</b> <a href="SField_8h_source.html#l00163">SField.h:163</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NFTokenWOTokenReserve__test_html_a7e64dc01d1dd1d69d778d0a78b36109d"><div class="ttname"><a href="classripple_1_1NFTokenWOTokenReserve__test.html#a7e64dc01d1dd1d69d778d0a78b36109d">ripple::NFTokenWOTokenReserve_test::run</a></div><div class="ttdeci">void run() override</div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l07214">NFToken_test.cpp:7214</a></div></div>
|
||||
<div class="ttc" id="asort_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/algorithm/sort.html">std::sort</a></div><div class="ttdeci">T sort(T... args)</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NFTokenWOTokenReserve__test_html"><div class="ttname"><a href="classripple_1_1NFTokenWOTokenReserve__test.html">ripple::NFTokenWOTokenReserve_test</a></div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l07211">NFToken_test.cpp:7211</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="aclassripple_1_1NFTokenAllFeatures__test_html_ad42776f531cb8f6bf9e26545073797b0"><div class="ttname"><a href="classripple_1_1NFTokenAllFeatures__test.html#ad42776f531cb8f6bf9e26545073797b0">ripple::NFTokenAllFeatures_test::run</a></div><div class="ttdeci">void run() override</div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l06896">NFToken_test.cpp:6896</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NFTokenAllFeatures__test_html_ad42776f531cb8f6bf9e26545073797b0"><div class="ttname"><a href="classripple_1_1NFTokenAllFeatures__test.html#ad42776f531cb8f6bf9e26545073797b0">ripple::NFTokenAllFeatures_test::run</a></div><div class="ttdeci">void run() override</div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l07223">NFToken_test.cpp:7223</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NFTokenBaseUtil__test_html_aaedc65302935c4b44bbbfe9961ba3a14"><div class="ttname"><a href="classripple_1_1NFTokenBaseUtil__test.html#aaedc65302935c4b44bbbfe9961ba3a14">ripple::NFTokenBaseUtil_test::nftCount</a></div><div class="ttdeci">static std::uint32_t nftCount(test::jtx::Env &env, test::jtx::Account const &acct)</div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l00066">NFToken_test.cpp:66</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a2abe44fcd04710b216e3f9f774e4849d"><div class="ttname"><a href="namespaceripple.html#a2abe44fcd04710b216e3f9f774e4849d">ripple::fixNFTokenRemint</a></div><div class="ttdeci">const uint256 fixNFTokenRemint</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NFTokenBaseUtil__test_html_a56dd85affd1f7e416f4ad74ea4626a7d"><div class="ttname"><a href="classripple_1_1NFTokenBaseUtil__test.html#a56dd85affd1f7e416f4ad74ea4626a7d">ripple::NFTokenBaseUtil_test::testNFTokenWithTickets</a></div><div class="ttdeci">void testNFTokenWithTickets(FeatureBitset features)</div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l04557">NFToken_test.cpp:4557</a></div></div>
|
||||
@@ -7047,17 +7377,19 @@ $(function() {
|
||||
<div class="ttc" id="anamespaceripple_html_a2abe85419644def21413627f484a8df0"><div class="ttname"><a href="namespaceripple.html#a2abe85419644def21413627f484a8df0">ripple::featureDisallowIncoming</a></div><div class="ttdeci">const uint256 featureDisallowIncoming</div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a85870fe5e629b0a50482d1bb68bb8028"><div class="ttname"><a href="namespaceripple.html#a85870fe5e629b0a50482d1bb68bb8028">ripple::sfNFTokenMinter</a></div><div class="ttdeci">const SF_ACCOUNT sfNFTokenMinter</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NFTokenBaseUtil__test_html_a5e95c96aeb51dcf1b3a10e8d3b9ee91a"><div class="ttname"><a href="classripple_1_1NFTokenBaseUtil__test.html#a5e95c96aeb51dcf1b3a10e8d3b9ee91a">ripple::NFTokenBaseUtil_test::testCreateOfferDestinationDisallowIncoming</a></div><div class="ttdeci">void testCreateOfferDestinationDisallowIncoming(FeatureBitset features)</div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l03048">NFToken_test.cpp:3048</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NFTokenBaseUtil__test_html_a529c0168ed4c98c43308469e580a9788"><div class="ttname"><a href="classripple_1_1NFTokenBaseUtil__test.html#a529c0168ed4c98c43308469e580a9788">ripple::NFTokenBaseUtil_test::testWithFeats</a></div><div class="ttdeci">void testWithFeats(FeatureBitset features)</div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l06802">NFToken_test.cpp:6802</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NFTokenBaseUtil__test_html_a529c0168ed4c98c43308469e580a9788"><div class="ttname"><a href="classripple_1_1NFTokenBaseUtil__test.html#a529c0168ed4c98c43308469e580a9788">ripple::NFTokenBaseUtil_test::testWithFeats</a></div><div class="ttdeci">void testWithFeats(FeatureBitset features)</div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l07116">NFToken_test.cpp:7116</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NFTokenBaseUtil__test_html_a5f4cda45544524e3c03768c1d9c4135b"><div class="ttname"><a href="classripple_1_1NFTokenBaseUtil__test.html#a5f4cda45544524e3c03768c1d9c4135b">ripple::NFTokenBaseUtil_test::testCreateOfferExpiration</a></div><div class="ttdeci">void testCreateOfferExpiration(FeatureBitset features)</div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l03177">NFToken_test.cpp:3177</a></div></div>
|
||||
<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_1NFTokenBaseUtil__test_html_a1bd804bd97551c75b62291406ced874c"><div class="ttname"><a href="classripple_1_1NFTokenBaseUtil__test.html#a1bd804bd97551c75b62291406ced874c">ripple::NFTokenBaseUtil_test::testAcceptOfferInvalid</a></div><div class="ttdeci">void testAcceptOfferInvalid(FeatureBitset features)</div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l01034">NFToken_test.cpp:1034</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NFTokenBaseUtil__test_html_a9a369f80b9c80db94566708eea8d429a"><div class="ttname"><a href="classripple_1_1NFTokenBaseUtil__test.html#a9a369f80b9c80db94566708eea8d429a">ripple::NFTokenBaseUtil_test::testCancelTooManyOffers</a></div><div class="ttdeci">void testCancelTooManyOffers(FeatureBitset features)</div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l03765">NFToken_test.cpp:3765</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_adfb760bc3e4ccb79d5d4f6ecff2f1817"><div class="ttname"><a href="namespaceripple.html#adfb760bc3e4ccb79d5d4f6ecff2f1817">ripple::TER</a></div><div class="ttdeci">TERSubset< CanCvtToTER > TER</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00607">TER.h:607</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_ad418a255403f7eda6644a9b8150f71af"><div class="ttname"><a href="namespaceripple.html#ad418a255403f7eda6644a9b8150f71af">ripple::fixNFTokenReserve</a></div><div class="ttdeci">const uint256 fixNFTokenReserve</div></div>
|
||||
<div class="ttc" id="ato_string_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string/to_string.html">std::to_string</a></div><div class="ttdeci">T to_string(T... args)</div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a49379951733bfc8bc00ea5d33c94eaa6"><div class="ttname"><a href="namespaceripple.html#a49379951733bfc8bc00ea5d33c94eaa6">ripple::rand_byte</a></div><div class="ttdeci">std::enable_if_t<(std::is_same< Byte, unsigned char >::value||std::is_same< Byte, std::uint8_t >::value) &&detail::is_engine< Engine >::value, Byte > rand_byte(Engine &engine)</div><div class="ttdoc">Return a random byte.</div><div class="ttdef"><b>Definition:</b> <a href="ripple_2basics_2random_8h_source.html#l00173">ripple/basics/random.h:173</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a53f80df10254751781250aa20704e98f"><div class="ttname"><a href="namespaceripple.html#a53f80df10254751781250aa20704e98f">ripple::set</a></div><div class="ttdeci">bool set(T &target, std::string const &name, Section const &section)</div><div class="ttdoc">Set a value from a configuration Section If the named value is not found or doesn't parse as a T,...</div><div class="ttdef"><b>Definition:</b> <a href="BasicConfig_8h_source.html#l00313">BasicConfig.h:313</a></div></div>
|
||||
<div class="ttc" id="aarray_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a></div><div class="ttdoc">STL class.</div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a8b7ad58ef0bd67e998b61e1a1292b3e5"><div class="ttname"><a href="namespaceripple.html#a8b7ad58ef0bd67e998b61e1a1292b3e5">ripple::sfTicketCount</a></div><div class="ttdeci">const SF_UINT32 sfTicketCount</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html_a69095691c9bcfab1f3d69c645f2dbe33"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">ripple::test::jtx::Env::close</a></div><div class="ttdeci">bool close(NetClock::time_point closeTime, std::optional< std::chrono::milliseconds > consensusDelay=std::nullopt)</div><div class="ttdoc">Close and advance the ledger.</div><div class="ttdef"><b>Definition:</b> <a href="Env_8cpp_source.html#l00121">Env.cpp:121</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1STAmount_html"><div class="ttname"><a href="classripple_1_1STAmount.html">ripple::STAmount</a></div><div class="ttdef"><b>Definition:</b> <a href="STAmount_8h_source.html#l00046">STAmount.h:46</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#l00706">json_value.cpp:706</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_aa298e929e02f59c2b05a30ee8805b38ca93e4e159f8759ea0948423c699e7cf77"><div class="ttname"><a href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca93e4e159f8759ea0948423c699e7cf77">ripple::tecINTERNAL</a></div><div class="ttdeci">@ tecINTERNAL</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00290">TER.h:290</a></div></div>
|
||||
@@ -7069,16 +7401,18 @@ $(function() {
|
||||
<div class="ttc" id="aclassbeast_1_1Journal_html"><div class="ttname"><a href="classbeast_1_1Journal.html">beast::Journal</a></div><div class="ttdoc">A generic endpoint for log messages.</div><div class="ttdef"><b>Definition:</b> <a href="Journal_8h_source.html#l00058">Journal.h:58</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a5cf5a413a342d5d45bc585b6eb8b0a74"><div class="ttname"><a href="namespaceripple.html#a5cf5a413a342d5d45bc585b6eb8b0a74">ripple::maxTokenOfferCancelCount</a></div><div class="ttdeci">constexpr std::size_t maxTokenOfferCancelCount</div><div class="ttdoc">The maximum number of token offers that can be canceled at once.</div><div class="ttdef"><b>Definition:</b> <a href="Protocol_8h_source.html#l00067">Protocol.h:67</a></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="aclassripple_1_1NFTokenDisallowIncoming__test_html"><div class="ttname"><a href="classripple_1_1NFTokenDisallowIncoming__test.html">ripple::NFTokenDisallowIncoming_test</a></div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l06866">NFToken_test.cpp:6866</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NFTokenDisallowIncoming__test_html"><div class="ttname"><a href="classripple_1_1NFTokenDisallowIncoming__test.html">ripple::NFTokenDisallowIncoming_test</a></div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l07184">NFToken_test.cpp:7184</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html_a2ef09f6f41b7d8a2dc89175e3b108f87"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html#a2ef09f6f41b7d8a2dc89175e3b108f87">ripple::test::jtx::Env::seq</a></div><div class="ttdeci">std::uint32_t seq(Account const &account) const</div><div class="ttdoc">Returns the next sequence number on account.</div><div class="ttdef"><b>Definition:</b> <a href="Env_8cpp_source.html#l00207">Env.cpp:207</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_adc24572ec82470f0e8510bcd85ed6100"><div class="ttname"><a href="namespaceripple.html#adc24572ec82470f0e8510bcd85ed6100">ripple::fixNFTokenDirV1</a></div><div class="ttdeci">const uint256 fixNFTokenDirV1</div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_afe21c8454670d46fb93751a5edffed46a3210708be8e611097ad2ae1e1a1734fb"><div class="ttname"><a href="namespaceripple.html#afe21c8454670d46fb93751a5edffed46a3210708be8e611097ad2ae1e1a1734fb">ripple::temBAD_FEE</a></div><div class="ttdeci">@ temBAD_FEE</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00091">TER.h:91</a></div></div>
|
||||
<div class="ttc" id="atransform_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/algorithm/transform.html">std::transform</a></div><div class="ttdeci">T transform(T... args)</div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a3a5cf4d650e693612303ab9c6bbb1b9a"><div class="ttname"><a href="namespaceripple.html#a3a5cf4d650e693612303ab9c6bbb1b9a">ripple::maxTokenURILength</a></div><div class="ttdeci">constexpr std::size_t maxTokenURILength</div><div class="ttdoc">The maximum length of a URI inside an NFT.</div><div class="ttdef"><b>Definition:</b> <a href="Protocol_8h_source.html#l00084">Protocol.h:84</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NFTokenBaseUtil__test_html_af3ca98862cae7e8e2131add32290c26c"><div class="ttname"><a href="classripple_1_1NFTokenBaseUtil__test.html#af3ca98862cae7e8e2131add32290c26c">ripple::NFTokenBaseUtil_test::run</a></div><div class="ttdeci">void run() override</div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l06860">NFToken_test.cpp:6860</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NFTokenBaseUtil__test_html_af3ca98862cae7e8e2131add32290c26c"><div class="ttname"><a href="classripple_1_1NFTokenBaseUtil__test.html#af3ca98862cae7e8e2131add32290c26c">ripple::NFTokenBaseUtil_test::run</a></div><div class="ttdeci">void run() override</div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l07178">NFToken_test.cpp:7178</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NFTokenBaseUtil__test_html_a4d51f6b8a0a5a963b09f958db4be41a2"><div class="ttname"><a href="classripple_1_1NFTokenBaseUtil__test.html#a4d51f6b8a0a5a963b09f958db4be41a2">ripple::NFTokenBaseUtil_test::testFixNFTokenBuyerReserve</a></div><div class="ttdeci">void testFixNFTokenBuyerReserve(FeatureBitset features)</div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l06802">NFToken_test.cpp:6802</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NFTokenBaseUtil__test_html_afcb9b55ef92124f7c7028ea0718027eb"><div class="ttname"><a href="classripple_1_1NFTokenBaseUtil__test.html#afcb9b55ef92124f7c7028ea0718027eb">ripple::NFTokenBaseUtil_test::testBurnInvalid</a></div><div class="ttdeci">void testBurnInvalid(FeatureBitset features)</div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l00601">NFToken_test.cpp:601</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NFTokenBaseUtil__test_html_a6f1c291ade2bd303f4fd3919eda1c3b0"><div class="ttname"><a href="classripple_1_1NFTokenBaseUtil__test.html#a6f1c291ade2bd303f4fd3919eda1c3b0">ripple::NFTokenBaseUtil_test::testTxJsonMetaFields</a></div><div class="ttdeci">void testTxJsonMetaFields(FeatureBitset features)</div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l06570">NFToken_test.cpp:6570</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_aa298e929e02f59c2b05a30ee8805b38ca44bd180d908c1a35ffd236f7c88c180c"><div class="ttname"><a href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca44bd180d908c1a35ffd236f7c88c180c">ripple::tecTOO_SOON</a></div><div class="ttdeci">@ tecTOO_SOON</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00298">TER.h:298</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NFTokenBaseUtil__test_html_a4e7a460ba06153a6c722a6d18978b146"><div class="ttname"><a href="classripple_1_1NFTokenBaseUtil__test.html#a4e7a460ba06153a6c722a6d18978b146">ripple::NFTokenBaseUtil_test::run</a></div><div class="ttdeci">void run(std::uint32_t instance, bool last=false)</div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l06838">NFToken_test.cpp:6838</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NFTokenBaseUtil__test_html_a4e7a460ba06153a6c722a6d18978b146"><div class="ttname"><a href="classripple_1_1NFTokenBaseUtil__test.html#a4e7a460ba06153a6c722a6d18978b146">ripple::NFTokenBaseUtil_test::run</a></div><div class="ttdeci">void run(std::uint32_t instance, bool last=false)</div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l07153">NFToken_test.cpp:7153</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a3bea3595ac0099dac5dc8a7577ab0a41"><div class="ttname"><a href="namespaceripple.html#a3bea3595ac0099dac5dc8a7577ab0a41">ripple::sfURI</a></div><div class="ttdeci">const SF_VL sfURI</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>
|
||||
<div class="ttc" id="anamespaceripple_html"><div class="ttname"><a href="namespaceripple.html">ripple</a></div><div class="ttdoc">Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.</div><div class="ttdef"><b>Definition:</b> <a href="RCLCensorshipDetector_8h_source.html#l00029">RCLCensorshipDetector.h:29</a></div></div>
|
||||
@@ -7097,20 +7431,22 @@ $(function() {
|
||||
<div class="ttc" id="anamespaceripple_html_afe21c8454670d46fb93751a5edffed46ac3482079467d517ea82aa9c8fa693d21"><div class="ttname"><a href="namespaceripple.html#afe21c8454670d46fb93751a5edffed46ac3482079467d517ea82aa9c8fa693d21">ripple::temDISABLED</a></div><div class="ttdeci">@ temDISABLED</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00113">TER.h:113</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NFTokenBaseUtil__test_html_ac2075c02d2dca027ae127b8ff4e976e1"><div class="ttname"><a href="classripple_1_1NFTokenBaseUtil__test.html#ac2075c02d2dca027ae127b8ff4e976e1">ripple::NFTokenBaseUtil_test::testIOUWithTransferFee</a></div><div class="ttdeci">void testIOUWithTransferFee(FeatureBitset features)</div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l05209">NFToken_test.cpp:5209</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="aclassripple_1_1NFTokenWOTokenRemint__test_html_a4cd579d00d59049a4051f9aefc1856e3"><div class="ttname"><a href="classripple_1_1NFTokenWOTokenRemint__test.html#a4cd579d00d59049a4051f9aefc1856e3">ripple::NFTokenWOTokenRemint_test::run</a></div><div class="ttdeci">void run() override</div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l06887">NFToken_test.cpp:6887</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NFTokenWOTokenRemint__test_html_a4cd579d00d59049a4051f9aefc1856e3"><div class="ttname"><a href="classripple_1_1NFTokenWOTokenRemint__test.html#a4cd579d00d59049a4051f9aefc1856e3">ripple::NFTokenWOTokenRemint_test::run</a></div><div class="ttdeci">void run() override</div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l07205">NFToken_test.cpp:7205</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="aclassripple_1_1test_1_1jtx_1_1Env_html_ae2349266cb09d1f1c3de06606ebdf9e2"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html#ae2349266cb09d1f1c3de06606ebdf9e2">ripple::test::jtx::Env::fund</a></div><div class="ttdeci">void fund(bool setDefaultRipple, STAmount const &amount, Account const &account)</div><div class="ttdef"><b>Definition:</b> <a href="Env_8cpp_source.html#l00228">Env.cpp:228</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html_ad63e69c823183e7e8991752b1cf8985f"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html#ad63e69c823183e7e8991752b1cf8985f">ripple::test::jtx::Env::le</a></div><div class="ttdeci">std::shared_ptr< SLE const > le(Account const &account) const</div><div class="ttdoc">Return an account root.</div><div class="ttdef"><b>Definition:</b> <a href="Env_8cpp_source.html#l00216">Env.cpp:216</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_aa298e929e02f59c2b05a30ee8805b38ca33d363e51ee15c8bd4f5d7c4e4518def"><div class="ttname"><a href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca33d363e51ee15c8bd4f5d7c4e4518def">ripple::tecNO_ISSUER</a></div><div class="ttdeci">@ tecNO_ISSUER</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00279">TER.h:279</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NFTokenBaseUtil__test_html_aa0ae4df96c9c0547153a1e4ba813133b"><div class="ttname"><a href="classripple_1_1NFTokenBaseUtil__test.html#aa0ae4df96c9c0547153a1e4ba813133b">ripple::NFTokenBaseUtil_test::testMintFlagBurnable</a></div><div class="ttdeci">void testMintFlagBurnable(FeatureBitset features)</div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l01398">NFToken_test.cpp:1398</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_af8f5f84b170cdc394c77866b776f0f68"><div class="ttname"><a href="namespaceripple.html#af8f5f84b170cdc394c77866b776f0f68">ripple::featureNonFungibleTokensV1_1</a></div><div class="ttdeci">const uint256 featureNonFungibleTokensV1_1</div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_aca7b4bf41e621edeabbb353a76e9b055"><div class="ttname"><a href="namespaceripple.html#aca7b4bf41e621edeabbb353a76e9b055">ripple::fixUniversalNumber</a></div><div class="ttdeci">const uint256 fixUniversalNumber</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html_abc9bfd942ee848f3a9f16ab0e34e0c28"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html#abc9bfd942ee848f3a9f16ab0e34e0c28">ripple::test::jtx::Env::master</a></div><div class="ttdeci">Account const & master</div><div class="ttdef"><b>Definition:</b> <a href="Env_8h_source.html#l00121">Env.h:121</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_aa298e929e02f59c2b05a30ee8805b38caa7460a5fac26c1d8abef55b8c1129150"><div class="ttname"><a href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7460a5fac26c1d8abef55b8c1129150">ripple::tecHAS_OBLIGATIONS</a></div><div class="ttdeci">@ tecHAS_OBLIGATIONS</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00297">TER.h:297</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_aa298e929e02f59c2b05a30ee8805b38ca9af7057961bc54674f4a6c2dd8ed6ab9"><div class="ttname"><a href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca9af7057961bc54674f4a6c2dd8ed6ab9">ripple::tecNO_PERMISSION</a></div><div class="ttdeci">@ tecNO_PERMISSION</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00285">TER.h:285</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NFTokenWOfixV1__test_html"><div class="ttname"><a href="classripple_1_1NFTokenWOfixV1__test.html">ripple::NFTokenWOfixV1_test</a></div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l06875">NFToken_test.cpp:6875</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NFTokenWOfixV1__test_html"><div class="ttname"><a href="classripple_1_1NFTokenWOfixV1__test.html">ripple::NFTokenWOfixV1_test</a></div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l07193">NFToken_test.cpp:7193</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NFTokenBaseUtil__test_html_aadf6365ce639131834eab4cc31d65093"><div class="ttname"><a href="classripple_1_1NFTokenBaseUtil__test.html#aadf6365ce639131834eab4cc31d65093">ripple::NFTokenBaseUtil_test::testMintReserve</a></div><div class="ttdeci">void testMintReserve(FeatureBitset features)</div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l00206">NFToken_test.cpp:206</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NFTokenBaseUtil__test_html_a5693a7fb413d4b8b1311365cc185c3a5"><div class="ttname"><a href="classripple_1_1NFTokenBaseUtil__test.html#a5693a7fb413d4b8b1311365cc185c3a5">ripple::NFTokenBaseUtil_test::testNFTokenOfferOwner</a></div><div class="ttdeci">void testNFTokenOfferOwner(FeatureBitset features)</div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l04476">NFToken_test.cpp:4476</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1FeatureBitset_html"><div class="ttname"><a href="classripple_1_1FeatureBitset.html">ripple::FeatureBitset</a></div><div class="ttdef"><b>Definition:</b> <a href="Feature_8h_source.html#l00113">Feature.h:113</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NFTokenWOTokenRemint__test_html"><div class="ttname"><a href="classripple_1_1NFTokenWOTokenRemint__test.html">ripple::NFTokenWOTokenRemint_test</a></div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l06884">NFToken_test.cpp:6884</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NFTokenWOTokenRemint__test_html"><div class="ttname"><a href="classripple_1_1NFTokenWOTokenRemint__test.html">ripple::NFTokenWOTokenRemint_test</a></div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l07202">NFToken_test.cpp:7202</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_aa298e929e02f59c2b05a30ee8805b38cae930fb228ae74317976b57b4e87a7f0d"><div class="ttname"><a href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38cae930fb228ae74317976b57b4e87a7f0d">ripple::tecINSUFFICIENT_RESERVE</a></div><div class="ttdeci">@ tecINSUFFICIENT_RESERVE</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00287">TER.h:287</a></div></div>
|
||||
<div class="ttc" id="aempty_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string/empty.html">std::string::empty</a></div><div class="ttdeci">T empty(T... args)</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NFTokenBaseUtil__test_html_ad85ca749f9705cc1b84421b67c48bcf2"><div class="ttname"><a href="classripple_1_1NFTokenBaseUtil__test.html#ad85ca749f9705cc1b84421b67c48bcf2">ripple::NFTokenBaseUtil_test::testCancelOfferInvalid</a></div><div class="ttdeci">void testCancelOfferInvalid(FeatureBitset features)</div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l00914">NFToken_test.cpp:914</a></div></div>
|
||||
@@ -7123,7 +7459,7 @@ $(function() {
|
||||
<div class="ttc" id="asize_t_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a98f09aa7b518e640710f4362145dd444"><div class="ttname"><a href="namespaceripple.html#a98f09aa7b518e640710f4362145dd444">ripple::tfClearFreeze</a></div><div class="ttdeci">constexpr std::uint32_t tfClearFreeze</div><div class="ttdef"><b>Definition:</b> <a href="TxFlags_8h_source.html#l00113">TxFlags.h:113</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_af9776f187d3686a7fba4c2d2fbeebdf4"><div class="ttname"><a href="namespaceripple.html#af9776f187d3686a7fba4c2d2fbeebdf4">ripple::to_string</a></div><div class="ttdeci">std::string to_string(Manifest const &m)</div><div class="ttdoc">Format the specified manifest to a string for debugging purposes.</div><div class="ttdef"><b>Definition:</b> <a href="app_2misc_2impl_2Manifest_8cpp_source.html#l00041">app/misc/impl/Manifest.cpp:41</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NFTokenDisallowIncoming__test_html_acbb822692701bfce6d1275adcc015065"><div class="ttname"><a href="classripple_1_1NFTokenDisallowIncoming__test.html#acbb822692701bfce6d1275adcc015065">ripple::NFTokenDisallowIncoming_test::run</a></div><div class="ttdeci">void run() override</div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l06869">NFToken_test.cpp:6869</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NFTokenDisallowIncoming__test_html_acbb822692701bfce6d1275adcc015065"><div class="ttname"><a href="classripple_1_1NFTokenDisallowIncoming__test.html#acbb822692701bfce6d1275adcc015065">ripple::NFTokenDisallowIncoming_test::run</a></div><div class="ttdeci">void run() override</div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l07187">NFToken_test.cpp:7187</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_aa94537c1b61dfe92530d0a977ce727a3"><div class="ttname"><a href="namespaceripple.html#aa94537c1b61dfe92530d0a977ce727a3">ripple::tfOnlyXRP</a></div><div class="ttdeci">constexpr const std::uint32_t tfOnlyXRP</div><div class="ttdef"><b>Definition:</b> <a href="TxFlags_8h_source.html#l00129">TxFlags.h:129</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a2b3caa89f2ddb9eed871fddec9b34d79"><div class="ttname"><a href="namespaceripple.html#a2b3caa89f2ddb9eed871fddec9b34d79">ripple::sfNFTokenTaxon</a></div><div class="ttdeci">const SF_UINT32 sfNFTokenTaxon</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#l00037">Account.h:37</a></div></div>
|
||||
@@ -7131,7 +7467,7 @@ $(function() {
|
||||
<div class="ttc" id="anamespaceripple_html_aa298e929e02f59c2b05a30ee8805b38ca02ea20c787300a40fe375ba3d6405258"><div class="ttname"><a href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca02ea20c787300a40fe375ba3d6405258">ripple::tecNO_ENTRY</a></div><div class="ttdeci">@ tecNO_ENTRY</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00286">TER.h:286</a></div></div>
|
||||
<div class="ttc" id="aend_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/end.html">std::vector::end</a></div><div class="ttdeci">T end(T... args)</div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_afe21c8454670d46fb93751a5edffed46a6c750a245b6efb84fdc4ab34dc010328"><div class="ttname"><a href="namespaceripple.html#afe21c8454670d46fb93751a5edffed46a6c750a245b6efb84fdc4ab34dc010328">ripple::temMALFORMED</a></div><div class="ttdeci">@ temMALFORMED</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00086">TER.h:86</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NFTokenWOfixV1__test_html_a9a63b67a8f469cb8942a85dd2a1396fe"><div class="ttname"><a href="classripple_1_1NFTokenWOfixV1__test.html#a9a63b67a8f469cb8942a85dd2a1396fe">ripple::NFTokenWOfixV1_test::run</a></div><div class="ttdeci">void run() override</div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l06878">NFToken_test.cpp:6878</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NFTokenWOfixV1__test_html_a9a63b67a8f469cb8942a85dd2a1396fe"><div class="ttname"><a href="classripple_1_1NFTokenWOfixV1__test.html#a9a63b67a8f469cb8942a85dd2a1396fe">ripple::NFTokenWOfixV1_test::run</a></div><div class="ttdeci">void run() override</div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l07196">NFToken_test.cpp:7196</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1tagged__integer_html"><div class="ttname"><a href="classripple_1_1tagged__integer.html">ripple::tagged_integer</a></div><div class="ttdoc">A type-safe wrap around standard integral types.</div><div class="ttdef"><b>Definition:</b> <a href="tagged__integer_8h_source.html#l00044">tagged_integer.h:44</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a831b340e9f96cdaec47e018aeff72dec"><div class="ttname"><a href="namespaceripple.html#a831b340e9f96cdaec47e018aeff72dec">ripple::fixNonFungibleTokensV1_2</a></div><div class="ttdeci">const uint256 fixNonFungibleTokensV1_2</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NFTokenBaseUtil__test_html_ad6806b86e88837b20b3438b639cab552"><div class="ttname"><a href="classripple_1_1NFTokenBaseUtil__test.html#ad6806b86e88837b20b3438b639cab552">ripple::NFTokenBaseUtil_test::mintedCount</a></div><div class="ttdeci">static std::uint32_t mintedCount(test::jtx::Env const &env, test::jtx::Account const &issuer)</div><div class="ttdef"><b>Definition:</b> <a href="NFToken__test_8cpp_source.html#l00046">NFToken_test.cpp:46</a></div></div>
|
||||
|
||||
Reference in New Issue
Block a user