20#ifndef RIPPLE_PROTOCOL_ISSUE_H_INCLUDED
21#define RIPPLE_PROTOCOL_ISSUE_H_INCLUDED
23#include <xrpl/beast/utility/instrumentation.h>
24#include <xrpl/json/json_value.h>
25#include <xrpl/protocol/UintTypes.h>
78template <
class Hasher>
88[[nodiscard]]
inline constexpr bool
105 return std::weak_ordering::equivalent;
A currency issued by an account.
std::string getText() const
friend constexpr std::weak_ordering operator<=>(Issue const &lhs, Issue const &rhs)
Strict weak ordering.
AccountID const & getIssuer() const
void setJson(Json::Value &jv) const
Issue(Currency const &c, AccountID const &a)
std::enable_if_t< is_contiguously_hashable< T, Hasher >::value > hash_append(Hasher &h, T const &t) noexcept
Logically concatenate input data to a Hasher.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Issue const & xrpIssue()
Returns an asset specifier that represents XRP.
AccountID const & noAccount()
A placeholder for empty accounts.
void hash_append(Hasher &h, Slice const &v)
bool isConsistent(Book const &book)
bool isXRP(AccountID const &c)
AccountID const & xrpAccount()
Compute AccountID from public key.
constexpr std::strong_ordering operator<=>(base_uint< Bits, Tag > const &lhs, base_uint< Bits, Tag > const &rhs)
Currency const & noCurrency()
A placeholder for empty currencies.
std::ostream & operator<<(std::ostream &out, base_uint< Bits, Tag > const &u)
Json::Value to_json(Asset const &asset)
Issue issueFromJson(Json::Value const &v)
Currency const & xrpCurrency()
XRP currency.
Issue const & noIssue()
Returns an asset specifier that represents no account and currency.
std::string to_string(base_uint< Bits, Tag > const &a)
constexpr bool operator==(base_uint< Bits, Tag > const &lhs, base_uint< Bits, Tag > const &rhs)