dncurrency/nano/secure/ledger_rollback.hpp
2025-06-23 14:51:39 +02:00

32 lines
No EOL
919 B
C++

#pragma once
#include <nano/lib/blocks.hpp>
#include <nano/lib/fwd.hpp>
#include <nano/secure/common.hpp>
#include <nano/secure/fwd.hpp>
#include <cstddef>
#include <deque>
#include <memory>
namespace nano
{
class ledger_rollback final : public nano::block_visitor
{
public:
ledger_rollback (nano::secure::write_transaction const &, nano::ledger &, std::deque<std::shared_ptr<nano::block>> & list, size_t depth, size_t max_depth);
void send_block (nano::send_block const &) override;
void receive_block (nano::receive_block const &) override;
void open_block (nano::open_block const &) override;
void change_block (nano::change_block const &) override;
void state_block (nano::state_block const &) override;
nano::secure::write_transaction const & transaction;
nano::ledger & ledger;
std::deque<std::shared_ptr<nano::block>> & list;
size_t const depth;
size_t const max_depth;
bool error{ false };
};
}