20#ifndef RIPPLE_APP_MISC_CREDENTIALHELPERS_H_INCLUDED
21#define RIPPLE_APP_MISC_CREDENTIALHELPERS_H_INCLUDED
23#include <xrpld/ledger/ApplyView.h>
24#include <xrpld/ledger/ReadView.h>
26#include <xrpl/basics/Log.h>
27#include <xrpl/basics/base_uint.h>
28#include <xrpl/beast/utility/Journal.h>
29#include <xrpl/protocol/AccountID.h>
30#include <xrpl/protocol/STArray.h>
31#include <xrpl/protocol/STTx.h>
32#include <xrpl/protocol/TER.h>
35namespace credentials {
82 ApplyView
const& view,
83 STVector256
const& ctx,
A generic endpoint for log messages.
std::chrono::time_point< NetClock > time_point
NotTEC checkFields(STTx const &tx, beast::Journal j)
TER deleteSLE(ApplyView &view, std::shared_ptr< SLE > const &sleCredential, beast::Journal j)
bool removeExpired(ApplyView &view, STVector256 const &arr, beast::Journal const j)
TER validDomain(ReadView const &view, uint256 domainID, AccountID const &subject)
TER valid(STTx const &tx, ReadView const &view, AccountID const &src, beast::Journal j)
TER authorizedDepositPreauth(ApplyView const &view, STVector256 const &credIDs, AccountID const &dst)
NotTEC checkArray(STArray const &credentials, unsigned maxSize, beast::Journal j)
bool checkExpired(std::shared_ptr< SLE const > const &sleCredential, NetClock::time_point const &closed)
std::set< std::pair< AccountID, Slice > > makeSorted(STArray const &credentials)
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
base_uint< 160, detail::AccountIDTag > AccountID
A 160-bit unsigned that uniquely identifies an account.
TER verifyDepositPreauth(STTx const &tx, ApplyView &view, AccountID const &src, AccountID const &dst, std::shared_ptr< SLE > const &sleDst, beast::Journal j)
TER verifyValidDomain(ApplyView &view, AccountID const &account, uint256 domainID, beast::Journal j)
TERSubset< CanCvtToTER > TER
TERSubset< CanCvtToNotTEC > NotTEC