xrpld
Toggle main menu visibility
Loading...
Searching...
No Matches
include
xrpl
ledger
entries
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
13
namespace
xrpl
{
14
15
template
<
typename
ViewT>
16
class
CredentialEntry
:
public
SLEBase
<ViewT, ltCREDENTIAL>
17
{
18
public
:
19
using
Base
=
SLEBase<ViewT, ltCREDENTIAL>
;
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
CredentialEntry
(
26
AccountID
const
& subject,
27
AccountID
const
& issuer,
28
Slice
const
& credType,
29
Base::ViewRefType
view,
30
beast::Journal
j =
beast::Journal
{
beast::Journal::getNullSink
()})
31
: Base(
keylet
::credential(subject, issuer, credType), view, j)
32
{
33
}
34
35
explicit
CredentialEntry
(
36
UInt256
const
& credentialID,
37
Base::ViewRefType
view,
38
beast::Journal
j =
beast::Journal
{
beast::Journal::getNullSink
()})
39
: Base(
keylet
::credential(credentialID), view, j)
40
{
41
}
42
};
43
44
using
CredentialEntryR
=
CredentialEntry<ReadView>
;
45
using
CredentialEntryW
=
CredentialEntry<ApplyView>
;
46
47
}
// namespace xrpl
beast::Journal
A generic endpoint for log messages.
Definition
Journal.h:44
beast::Journal::getNullSink
static Sink & getNullSink()
Returns a Sink which does nothing.
Definition
beast_Journal.cpp:63
xrpl::CredentialEntry
Definition
CredentialEntry.h:17
xrpl::CredentialEntry::CredentialEntry
CredentialEntry(UInt256 const &credentialID, Base::ViewRefType view, beast::Journal j=beast::Journal{beast::Journal::getNullSink()})
Definition
CredentialEntry.h:35
xrpl::CredentialEntry::CredentialEntry
CredentialEntry(AccountID const &subject, AccountID const &issuer, Slice const &credType, Base::ViewRefType view, beast::Journal j=beast::Journal{beast::Journal::getNullSink()})
Definition
CredentialEntry.h:25
xrpl::CredentialEntry::Base
SLEBase< ViewT, ltCREDENTIAL > Base
Definition
CredentialEntry.h:19
xrpl::SLEBase::ViewRefType
std::conditional_t< kIsWritable, ApplyView &, ReadView const & > ViewRefType
Definition
SLEBase.h:106
xrpl::SLEBase< ViewT, ltCREDENTIAL >::SLEBase
SLEBase(SLEBase const &)=default
xrpl::Slice
An immutable linear range of bytes.
Definition
Slice.h:28
xrpl::keylet
Keylet computation functions.
Definition
Indexes.h:40
xrpl
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition
algorithm.h:5
xrpl::CredentialEntryR
CredentialEntry< ReadView > CredentialEntryR
Definition
CredentialEntry.h:44
xrpl::CredentialEntryW
CredentialEntry< ApplyView > CredentialEntryW
Definition
CredentialEntry.h:45
xrpl::UInt256
BaseUInt< 256 > UInt256
Definition
base_uint.h:580
xrpl::AccountID
BaseUInt< 160, detail::AccountIDTag > AccountID
A 160-bit unsigned that uniquely identifies an account.
Definition
AccountID.h:34
Generated by
1.17.0