xrpld
Loading...
Searching...
No Matches
MPTokenEntry.h
1#pragma once
2
3#include <xrpl/basics/base_uint.h>
4#include <xrpl/beast/utility/Journal.h>
5#include <xrpl/ledger/ApplyView.h>
6#include <xrpl/ledger/ReadView.h>
7#include <xrpl/ledger/entries/SLEBase.h>
8#include <xrpl/protocol/AccountID.h>
9#include <xrpl/protocol/Indexes.h>
10#include <xrpl/protocol/LedgerFormats.h>
11#include <xrpl/protocol/UintTypes.h>
12
13namespace xrpl {
14
15template <typename ViewT>
16class MPTokenEntry : public SLEBase<ViewT, ltMPTOKEN>
17{
18public:
20
21 // Inherit base constructors: adopt an existing SLE, or resolve one from a
22 // Keylet against the view.
23 using Base::Base;
24
25 explicit MPTokenEntry(
26 MPTID const& issuanceID,
27 AccountID const& holder,
30 : Base(keylet::mptoken(issuanceID, holder), view, j)
31 {
32 }
33
34 explicit MPTokenEntry(
35 UInt256 const& issuanceKey,
36 AccountID const& holder,
39 : Base(keylet::mptoken(issuanceKey, holder), view, j)
40 {
41 }
42
43 explicit MPTokenEntry(
44 UInt256 const& mptokenKey,
47 : Base(keylet::mptoken(mptokenKey), view, j)
48 {
49 }
50};
51
54
55} // namespace xrpl
A generic endpoint for log messages.
Definition Journal.h:44
static Sink & getNullSink()
Returns a Sink which does nothing.
MPTokenEntry(MPTID const &issuanceID, AccountID const &holder, Base::ViewRefType view, beast::Journal j=beast::Journal{beast::Journal::getNullSink()})
SLEBase< ViewT, ltMPTOKEN > Base
MPTokenEntry(UInt256 const &issuanceKey, AccountID const &holder, Base::ViewRefType view, beast::Journal j=beast::Journal{beast::Journal::getNullSink()})
MPTokenEntry(UInt256 const &mptokenKey, Base::ViewRefType view, beast::Journal j=beast::Journal{beast::Journal::getNullSink()})
std::conditional_t< kIsWritable, ApplyView &, ReadView const & > ViewRefType
Definition SLEBase.h:106
SLEBase(SLEBase const &)=default
Keylet computation functions.
Definition Indexes.h:40
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition algorithm.h:5
MPTokenEntry< ApplyView > MPTokenEntryW
MPTokenEntry< ReadView > MPTokenEntryR
BaseUInt< 256 > UInt256
Definition base_uint.h:580
BaseUInt< 192 > MPTID
MPTID is a 192-bit value representing MPT Issuance ID, which is a concatenation of a 32-bit sequence ...
Definition UintTypes.h:54
BaseUInt< 160, detail::AccountIDTag > AccountID
A 160-bit unsigned that uniquely identifies an account.
Definition AccountID.h:34