20 #ifndef RIPPLE_PROTOCOL_NFT_H_INCLUDED
21 #define RIPPLE_PROTOCOL_NFT_H_INCLUDED
23 #include <ripple/basics/base_uint.h>
24 #include <ripple/basics/tagged_integer.h>
25 #include <ripple/protocol/AccountID.h>
27 #include <boost/endian/conversion.hpp>
44 return static_cast<Taxon>(i);
62 memcpy(&flags,
id.begin(), 2);
63 return boost::endian::big_to_native(flags);
70 memcpy(&fee,
id.begin() + 2, 2);
71 return boost::endian::big_to_native(fee);
78 memcpy(&seq,
id.begin() + 28, 4);
79 return boost::endian::big_to_native(seq);
103 return taxon ^
toTaxon(((384160001 * tokenSeq) + 2459));
110 memcpy(&taxon,
id.begin() + 24, 4);
111 taxon = boost::endian::big_to_native(taxon);
std::uint16_t getFlags(uint256 const &id)
constexpr const std::uint16_t flagTransferable
constexpr const std::uint16_t flagOnlyXRP
Taxon toTaxon(std::uint32_t i)
AccountID getIssuer(uint256 const &id)
std::uint32_t toUInt32(Taxon t)
std::uint32_t getSerial(uint256 const &id)
constexpr const std::uint16_t flagBurnable
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
tagged_integer< std::uint32_t, TaxonTag > Taxon
static base_uint fromVoid(void const *data)
constexpr const std::uint16_t flagCreateTrustLines
A type-safe wrap around standard integral types.
std::uint16_t getTransferFee(uint256 const &id)
Taxon cipheredTaxon(std::uint32_t tokenSeq, Taxon taxon)
Taxon getTaxon(uint256 const &id)