1#include <xrpld/rpc/MPTokenIssuanceID.h>
3#include <xrpl/basics/base_uint.h>
4#include <xrpl/json/json_value.h>
5#include <xrpl/protocol/Indexes.h>
6#include <xrpl/protocol/LedgerFormats.h>
7#include <xrpl/protocol/SField.h>
8#include <xrpl/protocol/STObject.h>
9#include <xrpl/protocol/STTx.h>
10#include <xrpl/protocol/TER.h>
11#include <xrpl/protocol/TxFormats.h>
12#include <xrpl/protocol/TxMeta.h>
13#include <xrpl/protocol/UintTypes.h>
14#include <xrpl/protocol/jss.h>
24 TxMeta const& transactionMeta)
29 TxType const tt = serializedTx->getTxnType();
30 if (tt != ttMPTOKEN_ISSUANCE_CREATE)
45 if (node.getFieldU16(sfLedgerEntryType) != ltMPTOKEN_ISSUANCE ||
46 node.getFName() != sfCreatedNode)
49 auto const& mptNode = node.peekAtField(sfNewFields).downcast<
STObject>();
50 return makeMptID(mptNode.getFieldU32(sfSequence), mptNode.getAccountID(sfIssuer));
60 TxMeta const& transactionMeta)
API version numbers used in later API versions.
void insertMPTokenIssuanceID(json::Value &response, std::shared_ptr< STTx const > const &transaction, TxMeta const &transactionMeta)
std::optional< MPTID > getIDFromCreatedIssuance(TxMeta const &transactionMeta)
bool canHaveMPTokenIssuanceID(std::shared_ptr< STTx const > const &serializedTx, TxMeta const &transactionMeta)
Add a mpt_issuance_id field to the meta input/output parameter.
TxType
Transaction type identifiers.
std::string to_string(BaseUInt< Bits, Tag > const &a)
bool isTesSuccess(TER x) noexcept
MPTID makeMptID(std::uint32_t sequence, AccountID const &account)