xrpld
Loading...
Searching...
No Matches
CredentialEntry.h
1#pragma once
2
3#include <xrpl/basics/Slice.h>
4#include <xrpl/basics/base_uint.h>
5#include <xrpl/beast/utility/Journal.h>
6#include <xrpl/ledger/ApplyView.h>
7#include <xrpl/ledger/ReadView.h>
8#include <xrpl/ledger/entries/SLEBase.h>
9#include <xrpl/protocol/AccountID.h>
10#include <xrpl/protocol/Indexes.h>
11#include <xrpl/protocol/LedgerFormats.h>
12
13namespace xrpl {
14
15template <typename ViewT>
16class CredentialEntry : public SLEBase<ViewT, ltCREDENTIAL>
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& subject,
27 AccountID const& issuer,
28 Slice const& credType,
31 : Base(keylet::credential(subject, issuer, credType), view, j)
32 {
33 }
34
36 UInt256 const& credentialID,
39 : Base(keylet::credential(credentialID), view, j)
40 {
41 }
42};
43
46
47} // namespace xrpl
A generic endpoint for log messages.
Definition Journal.h:44
static Sink & getNullSink()
Returns a Sink which does nothing.
CredentialEntry(UInt256 const &credentialID, Base::ViewRefType view, beast::Journal j=beast::Journal{beast::Journal::getNullSink()})
CredentialEntry(AccountID const &subject, AccountID const &issuer, Slice const &credType, Base::ViewRefType view, beast::Journal j=beast::Journal{beast::Journal::getNullSink()})
SLEBase< ViewT, ltCREDENTIAL > Base
std::conditional_t< kIsWritable, ApplyView &, ReadView const & > ViewRefType
Definition SLEBase.h:106
SLEBase(SLEBase const &)=default
An immutable linear range of bytes.
Definition Slice.h:28
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
CredentialEntry< ReadView > CredentialEntryR
CredentialEntry< ApplyView > CredentialEntryW
BaseUInt< 256 > UInt256
Definition base_uint.h:580
BaseUInt< 160, detail::AccountIDTag > AccountID
A 160-bit unsigned that uniquely identifies an account.
Definition AccountID.h:34