Introduce MPT support (XLS-33d): (#5143)

Amendment:
- MPTokensV1

New Transactions:
- MPTokenIssuanceCreate
- MPTokenIssuanceDestroy
- MPTokenIssuanceSet
- MPTokenAuthorize

Modified Transactions:
- Payment
- Clawback

New Objects:
- MPTokenIssuance
- MPToken

API updates:
- ledger_entry
- account_objects
- ledger_data

Other:
- Add += and -= operators to ValueProxy

Read full spec: https://github.com/XRPLF/XRPL-Standards/tree/master/XLS-0033d-multi-purpose-tokens

---------
Co-authored-by: Shawn Xie <shawnxie920@gmail.com>
Co-authored-by: Howard Hinnant <howard.hinnant@gmail.com>
Co-authored-by: Ed Hennis <ed@ripple.com>
Co-authored-by: John Freeman <jfreeman08@gmail.com>
This commit is contained in:
Gregory Tsipenyuk
2024-10-29 15:19:28 -04:00
committed by GitHub
parent 63209c2646
commit 23c37fa506
92 changed files with 7115 additions and 1088 deletions

View File

@@ -38,16 +38,26 @@ public:
Currency currency{};
AccountID account{};
Issue()
{
}
Issue() = default;
Issue(Currency const& c, AccountID const& a) : currency(c), account(a)
{
}
AccountID const&
getIssuer() const
{
return account;
}
std::string
getText() const;
void
setJson(Json::Value& jv) const;
bool
native() const;
};
bool
@@ -116,6 +126,12 @@ noIssue()
return issue;
}
inline bool
isXRP(Issue const& issue)
{
return issue.native();
}
} // namespace ripple
#endif