mirror of
https://github.com/XRPLF/rippled.git
synced 2026-04-29 15:37:57 +00:00
feat: Add MPT support to DEX (#5285)
This commit is contained in:
committed by
GitHub
parent
6d1a5be8d2
commit
dfcad69155
@@ -88,22 +88,19 @@ STIssue::getJson(JsonOptions) const
|
||||
void
|
||||
STIssue::add(Serializer& s) const
|
||||
{
|
||||
if (holds<Issue>())
|
||||
{
|
||||
auto const& issue = asset_.get<Issue>();
|
||||
s.addBitString(issue.currency);
|
||||
if (!isXRP(issue.currency))
|
||||
s.addBitString(issue.account);
|
||||
}
|
||||
else
|
||||
{
|
||||
auto const& issue = asset_.get<MPTIssue>();
|
||||
s.addBitString(issue.getIssuer());
|
||||
s.addBitString(noAccount());
|
||||
std::uint32_t sequence = 0;
|
||||
memcpy(&sequence, issue.getMptID().data(), sizeof(sequence));
|
||||
s.add32(sequence);
|
||||
}
|
||||
asset_.visit(
|
||||
[&](Issue const& issue) {
|
||||
s.addBitString(issue.currency);
|
||||
if (!isXRP(issue.currency))
|
||||
s.addBitString(issue.account);
|
||||
},
|
||||
[&](MPTIssue const& issue) {
|
||||
s.addBitString(issue.getIssuer());
|
||||
s.addBitString(noAccount());
|
||||
std::uint32_t sequence = 0;
|
||||
memcpy(&sequence, issue.getMptID().data(), sizeof(sequence));
|
||||
s.add32(sequence);
|
||||
});
|
||||
}
|
||||
|
||||
bool
|
||||
@@ -116,7 +113,9 @@ STIssue::isEquivalent(STBase const& t) const
|
||||
bool
|
||||
STIssue::isDefault() const
|
||||
{
|
||||
return holds<Issue>() && asset_.get<Issue>() == xrpIssue();
|
||||
return asset_.visit(
|
||||
[](Issue const& issue) { return issue == xrpIssue(); },
|
||||
[](MPTIssue const&) { return false; });
|
||||
}
|
||||
|
||||
STBase*
|
||||
|
||||
Reference in New Issue
Block a user