Clio  develop
The XRP Ledger API server.
Loading...
Searching...
No Matches
CredentialHelpers.hpp
1#pragma once
2
3#include "data/BackendInterface.hpp"
4#include "rpc/Errors.hpp"
5
6#include <boost/asio/spawn.hpp>
7#include <boost/json/array.hpp>
8#include <xrpl/basics/Slice.h>
9#include <xrpl/basics/base_uint.h>
10#include <xrpl/basics/chrono.h>
11#include <xrpl/protocol/AccountID.h>
12#include <xrpl/protocol/LedgerHeader.h>
13#include <xrpl/protocol/Protocol.h>
14#include <xrpl/protocol/STLedgerEntry.h>
15#include <xrpl/protocol/STObject.h>
16
17#include <expected>
18#include <optional>
19#include <set>
20#include <utility>
21#include <vector>
22
23namespace rpc::credentials {
24
32bool
33checkExpired(xrpl::SLE const& sleCred, xrpl::LedgerHeader const& ledger);
34
42std::set<std::pair<xrpl::AccountID, xrpl::Slice>>
43createAuthCredentials(xrpl::STArray const& in);
44
51xrpl::STArray
52parseAuthorizeCredentials(boost::json::array const& jv);
53
64std::expected<xrpl::STArray, Status>
65fetchCredentialArray(
66 std::vector<xrpl::uint256> const& credIDs,
67 xrpl::AccountID const& srcAcc,
68 BackendInterface const& backend,
69 xrpl::LedgerHeader const& info,
70 boost::asio::yield_context const& yield
71);
72
73} // namespace rpc::credentials