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/chrono.h>
10#include <xrpl/protocol/AccountID.h>
11#include <xrpl/protocol/LedgerHeader.h>
12#include <xrpl/protocol/Protocol.h>
13#include <xrpl/protocol/STLedgerEntry.h>
14#include <xrpl/protocol/STObject.h>
15
16#include <expected>
17#include <optional>
18#include <set>
19#include <utility>
20
21namespace rpc::credentials {
22
30bool
31checkExpired(ripple::SLE const& sleCred, ripple::LedgerHeader const& ledger);
32
40std::set<std::pair<ripple::AccountID, ripple::Slice>>
41createAuthCredentials(ripple::STArray const& in);
42
49ripple::STArray
50parseAuthorizeCredentials(boost::json::array const& jv);
51
62std::expected<ripple::STArray, Status>
63fetchCredentialArray(
64 std::optional<boost::json::array> const& credID,
65 ripple::AccountID const& srcAcc,
66 BackendInterface const& backend,
67 ripple::LedgerHeader const& info,
68 boost::asio::yield_context const& yield
69);
70
71} // namespace rpc::credentials