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