mirror of
https://github.com/XRPLF/rippled.git
synced 2026-09-27 23:38:08 +00:00
39 lines
970 B
C++
39 lines
970 B
C++
#pragma once
|
|
|
|
#include <xrpl/beast/utility/Journal.h>
|
|
#include <xrpl/ledger/ApplyView.h>
|
|
#include <xrpl/ledger/ReadView.h>
|
|
#include <xrpl/ledger/entries/SLEBase.h>
|
|
#include <xrpl/protocol/AccountID.h>
|
|
#include <xrpl/protocol/Indexes.h>
|
|
#include <xrpl/protocol/LedgerFormats.h>
|
|
|
|
#include <cstdint>
|
|
|
|
namespace xrpl {
|
|
|
|
template <typename ViewT>
|
|
class OracleEntry : public SLEBase<ViewT, ltORACLE>
|
|
{
|
|
public:
|
|
using Base = SLEBase<ViewT, ltORACLE>;
|
|
|
|
// Inherit base constructors: adopt an existing SLE, or resolve one from a
|
|
// Keylet against the view.
|
|
using Base::Base;
|
|
|
|
explicit OracleEntry(
|
|
AccountID const& account,
|
|
std::uint32_t documentID,
|
|
Base::ViewRefType view,
|
|
beast::Journal j = beast::Journal{beast::Journal::getNullSink()})
|
|
: Base(keylet::oracle(account, documentID), view, j)
|
|
{
|
|
}
|
|
};
|
|
|
|
using OracleEntryR = OracleEntry<ReadView>;
|
|
using OracleEntryW = OracleEntry<ApplyView>;
|
|
|
|
} // namespace xrpl
|