20 #include <ripple/protocol/NFTokenID.h>
21 #include <ripple/protocol/jss.h>
28 TxMeta const& transactionMeta)
59 SField const& fName = node.getFName();
66 toAddPrevNFTs.
begin(),
70 return nft.getFieldH256(sfNFTokenID);
92 toAddPrevNFTs.
begin(),
96 return nft.getFieldH256(sfNFTokenID);
103 toAddFinalNFTs.
begin(),
104 toAddFinalNFTs.
end(),
107 return nft.getFieldH256(sfNFTokenID);
114 if (finalIDs.
size() != prevIDs.
size() + 1)
124 if (diff.first == finalIDs.
end())
148 sort(tokenIDResult.
begin(), tokenIDResult.
end());
150 unique(tokenIDResult.
begin(), tokenIDResult.
end()),
151 tokenIDResult.
end());
152 return tokenIDResult;
159 TxMeta const& transactionMeta)
176 if (result.
size() > 0)
185 for (
auto const& nftID : result)
TxType getTxnType() const
const STBase & peekAtField(SField const &field) const
const STArray & getFieldArray(SField const &field) const
std::vector< uint256 > getNFTokenIDFromDeletedOffer(TxMeta const &transactionMeta)
const SF_UINT256 sfNFTokenID
@ arrayValue
array value (ordered list)
T back_inserter(T... args)
void insertNFTokenID(Json::Value &response, std::shared_ptr< STTx const > const &transaction, TxMeta const &transactionMeta)
TxType
Transaction type identifiers.
const SField sfFinalFields
@ ttNFTOKEN_ACCEPT_OFFER
This transaction accepts an existing offer to buy or sell an existing NFT.
const SField sfDeletedNode
Value & append(const Value &value)
Append value to array at the end.
@ ltNFTOKEN_OFFER
A ledger object which identifies an offer to buy or sell an NFT.
@ ttNFTOKEN_MINT
This transaction mints a new NFT.
const SField sfModifiedNode
@ ttNFTOKEN_CANCEL_OFFER
This transaction cancels an existing offer to buy or sell an existing NFT.
const SField sfPreviousFields
bool canHaveNFTokenID(std::shared_ptr< STTx const > const &serializedTx, TxMeta const &transactionMeta)
Add a nftoken_ids field to the meta output parameter.
@ ltNFTOKEN_PAGE
A ledger object which contains a list of NFTs.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
const SF_UINT16 sfLedgerEntryType
bool isFieldPresent(SField const &field) const
const SField sfCreatedNode
std::string to_string(Manifest const &m)
Format the specified manifest to a string for debugging purposes.
std::optional< uint256 > getNFTokenIDFromPage(TxMeta const &transactionMeta)