xrpld
Loading...
Searching...
No Matches
RippleStateEntry.h
1#pragma once
2
3#include <xrpl/beast/utility/Journal.h>
4#include <xrpl/ledger/ApplyView.h>
5#include <xrpl/ledger/ReadView.h>
6#include <xrpl/ledger/entries/SLEBase.h>
7#include <xrpl/protocol/AccountID.h>
8#include <xrpl/protocol/Indexes.h>
9#include <xrpl/protocol/Issue.h>
10#include <xrpl/protocol/LedgerFormats.h>
11#include <xrpl/protocol/UintTypes.h>
12
13namespace xrpl {
14
15template <typename ViewT>
16class RippleStateEntry : public SLEBase<ViewT, ltRIPPLE_STATE>
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
26 AccountID const& id0,
27 AccountID const& id1,
28 Currency const& currency,
31 : Base(keylet::trustLine(id0, id1, currency), view, j)
32 {
33 }
34
36 AccountID const& id,
37 Issue const& issue,
40 : Base(keylet::trustLine(id, issue), view, j)
41 {
42 }
43};
44
47
48} // namespace xrpl
A generic endpoint for log messages.
Definition Journal.h:44
static Sink & getNullSink()
Returns a Sink which does nothing.
A currency issued by an account.
Definition Issue.h:18
RippleStateEntry(AccountID const &id0, AccountID const &id1, Currency const &currency, Base::ViewRefType view, beast::Journal j=beast::Journal{beast::Journal::getNullSink()})
RippleStateEntry(AccountID const &id, Issue const &issue, Base::ViewRefType view, beast::Journal j=beast::Journal{beast::Journal::getNullSink()})
SLEBase< ViewT, ltRIPPLE_STATE > Base
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
RippleStateEntry< ApplyView > RippleStateEntryW
BaseUInt< 160, detail::CurrencyTag > Currency
Currency is a hash representing a specific currency.
Definition UintTypes.h:42
RippleStateEntry< ReadView > RippleStateEntryR
BaseUInt< 160, detail::AccountIDTag > AccountID
A 160-bit unsigned that uniquely identifies an account.
Definition AccountID.h:34