Clio  develop
The XRP Ledger API server.
Loading...
Searching...
No Matches
MPTIssuanceUtils.hpp
1#pragma once
2
3#include <boost/container/flat_set.hpp>
4#include <xrpl/basics/base_uint.h>
5#include <xrpl/protocol/STObject.h>
6#include <xrpl/protocol/STTx.h>
7#include <xrpl/protocol/TxMeta.h>
8
9#include <optional>
10
11namespace util {
12
16using MPTokenIssuanceIDs = boost::container::flat_set<xrpl::uint192>;
17
24std::optional<xrpl::uint192>
25getMPTokenIssuanceIDFromNode(xrpl::STObject const& node);
26
36void
37addMPTokenIssuanceIDsFromTx(MPTokenIssuanceIDs& issuanceIDs, xrpl::STTx const& sttx);
38
50bool
52 xrpl::TxMeta const& txMeta,
53 xrpl::STTx const& sttx,
54 xrpl::uint192 const& mptIssuanceID
55);
56
57} // namespace util
This namespace contains various utilities.
Definition AccountUtils.hpp:11
boost::container::flat_set< xrpl::uint192 > MPTokenIssuanceIDs
A set of distinct MPTokenIssuanceIDs.
Definition MPTIssuanceUtils.hpp:16
std::optional< xrpl::uint192 > getMPTokenIssuanceIDFromNode(xrpl::STObject const &node)
Derive the MPTokenIssuanceID from an affected node in transaction metadata.
Definition MPTIssuanceUtils.cpp:21
void addMPTokenIssuanceIDsFromTx(MPTokenIssuanceIDs &issuanceIDs, xrpl::STTx const &sttx)
Collect every MPTokenIssuanceID referenced by a transaction's own fields.
Definition MPTIssuanceUtils.cpp:52
bool referencesMptIssuance(xrpl::TxMeta const &txMeta, xrpl::STTx const &sttx, xrpl::uint192 const &mptIssuanceID)
Check whether a transaction references a specific MPT issuance.
Definition MPTIssuanceUtils.cpp:78