Clio  develop
The XRP Ledger API server.
Loading...
Searching...
No Matches
MPT.hpp
1#pragma once
2
3#include "data/BackendInterface.hpp"
4#include "etl/Models.hpp"
5#include "util/log/Logger.hpp"
6
7#include <xrpl/basics/strHex.h>
8#include <xrpl/protocol/AccountID.h>
9#include <xrpl/protocol/STTx.h>
10#include <xrpl/protocol/TxMeta.h>
11
12#include <cstdint>
13#include <memory>
14
15namespace etl::impl {
16
17class MPTExt {
18 std::shared_ptr<BackendInterface> backend_;
19 util::Logger log_{"ETL"};
20
21public:
22 explicit MPTExt(std::shared_ptr<BackendInterface> backend);
23
24 void
25 onLedgerData(model::LedgerData const& data);
26
27 void
28 onInitialObject(uint32_t seq, model::Object const& obj);
29
30 void
31 onInitialData(model::LedgerData const& data);
32
33private:
34 void
35 writeMPTHoldersFromTransactions(model::LedgerData const& data);
36};
37
38} // namespace etl::impl
A simple thread-safe logger for the channel specified in the constructor.
Definition Logger.hpp:77
This namespace implements the data access layer and related components.
Definition AmendmentCenter.cpp:56
Represents an entire ledger diff worth of transactions and objects.
Definition Models.hpp:124
Represents a single object on the ledger.
Definition Models.hpp:86