#pragma once #include "block/block.h" #include "td/utils/optional.h" #include "td/utils/Time.h" #include #include namespace ton { class Miner { public: struct Options { block::StdAddress my_address; std::array seed; std::array complexity; td::optional expire_at; td::int64 max_iterations = std::numeric_limits::max(); std::atomic* hashes_computed{nullptr}; }; static td::optional run(const Options& options); }; } // namespace ton