4#include <xrpl/protocol/STLedgerEntry.h>
5#include <xrpl/protocol/STParsedJSON.h>
6#include <xrpl/protocol/jss.h>
7#include <xrpl/protocol_autogen/LedgerEntryBase.h>
8#include <xrpl/protocol_autogen/LedgerEntryBuilderBase.h>
9#include <xrpl/json/json_value.h>
16class CredentialBuilder;
53 SF_ACCOUNT::type::value_type
56 return this->
sle_->at(sfSubject);
64 SF_ACCOUNT::type::value_type
67 return this->
sle_->at(sfIssuer);
75 SF_VL::type::value_type
78 return this->
sle_->at(sfCredentialType);
90 return this->
sle_->at(sfExpiration);
102 return this->
sle_->isFieldPresent(sfExpiration);
114 return this->
sle_->at(sfURI);
126 return this->
sle_->isFieldPresent(sfURI);
134 SF_UINT64::type::value_type
137 return this->
sle_->at(sfIssuerNode);
149 return this->
sle_->at(sfSubjectNode);
161 return this->
sle_->isFieldPresent(sfSubjectNode);
169 SF_UINT256::type::value_type
172 return this->
sle_->at(sfPreviousTxnID);
180 SF_UINT32::type::value_type
183 return this->
sle_->at(sfPreviousTxnLgrSeq);
224 if (sle->at(sfLedgerEntryType) != ltCREDENTIAL)
262 object_[sfCredentialType] = value;
306 object_[sfSubjectNode] = value;
317 object_[sfPreviousTxnID] = value;
328 object_[sfPreviousTxnLgrSeq] = value;
Builder for Credential ledger entries.
CredentialBuilder & setIssuer(std::decay_t< typename SF_ACCOUNT::type::value_type > const &value)
Set sfIssuer (soeREQUIRED)
CredentialBuilder & setIssuerNode(std::decay_t< typename SF_UINT64::type::value_type > const &value)
Set sfIssuerNode (soeREQUIRED)
CredentialBuilder & setURI(std::decay_t< typename SF_VL::type::value_type > const &value)
Set sfURI (soeOPTIONAL)
CredentialBuilder & setPreviousTxnID(std::decay_t< typename SF_UINT256::type::value_type > const &value)
Set sfPreviousTxnID (soeREQUIRED)
CredentialBuilder & setSubjectNode(std::decay_t< typename SF_UINT64::type::value_type > const &value)
Set sfSubjectNode (soeOPTIONAL)
CredentialBuilder(std::shared_ptr< SLE const > sle)
Construct a CredentialBuilder from an existing SLE object.
CredentialBuilder(std::decay_t< typename SF_ACCOUNT::type::value_type > const &subject, std::decay_t< typename SF_ACCOUNT::type::value_type > const &issuer, std::decay_t< typename SF_VL::type::value_type > const &credentialType, std::decay_t< typename SF_UINT64::type::value_type > const &issuerNode, std::decay_t< typename SF_UINT256::type::value_type > const &previousTxnID, std::decay_t< typename SF_UINT32::type::value_type > const &previousTxnLgrSeq)
Construct a new CredentialBuilder with required fields.
Credential build(uint256 const &index)
Build and return the completed Credential wrapper.
CredentialBuilder & setCredentialType(std::decay_t< typename SF_VL::type::value_type > const &value)
Set sfCredentialType (soeREQUIRED)
CredentialBuilder & setExpiration(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfExpiration (soeOPTIONAL)
CredentialBuilder & setPreviousTxnLgrSeq(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfPreviousTxnLgrSeq (soeREQUIRED)
CredentialBuilder & setSubject(std::decay_t< typename SF_ACCOUNT::type::value_type > const &value)
Ledger entry-specific field setters.
Ledger Entry: Credential.
protocol_autogen::Optional< SF_UINT32::type::value_type > getExpiration() const
Get sfExpiration (soeOPTIONAL)
bool hasSubjectNode() const
Check if sfSubjectNode is present.
SF_UINT256::type::value_type getPreviousTxnID() const
Get sfPreviousTxnID (soeREQUIRED)
SF_ACCOUNT::type::value_type getIssuer() const
Get sfIssuer (soeREQUIRED)
bool hasExpiration() const
Check if sfExpiration is present.
static constexpr LedgerEntryType entryType
SF_UINT64::type::value_type getIssuerNode() const
Get sfIssuerNode (soeREQUIRED)
Credential(std::shared_ptr< SLE const > sle)
Construct a Credential ledger entry wrapper from an existing SLE object.
SF_VL::type::value_type getCredentialType() const
Get sfCredentialType (soeREQUIRED)
bool hasURI() const
Check if sfURI is present.
protocol_autogen::Optional< SF_VL::type::value_type > getURI() const
Get sfURI (soeOPTIONAL)
protocol_autogen::Optional< SF_UINT64::type::value_type > getSubjectNode() const
Get sfSubjectNode (soeOPTIONAL)
SF_ACCOUNT::type::value_type getSubject() const
Get sfSubject (soeREQUIRED)
SF_UINT32::type::value_type getPreviousTxnLgrSeq() const
Get sfPreviousTxnLgrSeq (soeREQUIRED)
Base class for type-safe ledger entry wrappers.
std::shared_ptr< SLE const > sle_
The underlying serialized ledger entry being wrapped.
Base class for all ledger entry builders.
LedgerEntryType
Identifiers for on-ledger objects.