20#include <xrpl/basics/contract.h>
21#include <xrpl/json/json_value.h>
22#include <xrpl/protocol/AccountID.h>
23#include <xrpl/protocol/Asset.h>
24#include <xrpl/protocol/Issue.h>
25#include <xrpl/protocol/MPTIssue.h>
26#include <xrpl/protocol/STAmount.h>
27#include <xrpl/protocol/jss.h>
39 [&](
auto&& issue) ->
AccountID const& {
return issue.getIssuer(); },
65 [&](
auto const& issue) {
return to_string(issue); }, asset.
value());
71 if (jv.
isMember(jss::mpt_issuance_id))
80 Throw<std::runtime_error>(
81 "assetFromJson must contain currency or mpt_issuance_id");
bool isMember(char const *key) const
Return true if the object has a member named key.
STAmount operator()(Number const &) const
void setJson(Json::Value &jv) const
constexpr value_type const & value() const
AccountID const & getIssuer() const
std::string getText() const
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
base_uint< 160, detail::AccountIDTag > AccountID
A 160-bit unsigned that uniquely identifies an account.
Asset assetFromJson(Json::Value const &jv)
MPTIssue mptIssueFromJson(Json::Value const &jv)
bool validJSONAsset(Json::Value const &jv)
Issue issueFromJson(Json::Value const &v)
std::string to_string(base_uint< Bits, Tag > const &a)