Moving work_validate from a free function to a member of nano::work_thresholds.
This commit is contained in:
parent
243a4d93dd
commit
868ec8679a
5 changed files with 7 additions and 8 deletions
|
@ -194,6 +194,11 @@ uint64_t nano::work_thresholds::difficulty (nano::work_version const version_a,
|
|||
return result;
|
||||
}
|
||||
|
||||
bool nano::work_thresholds::validate_entry (nano::work_version const version_a, nano::root const & root_a, uint64_t const work_a)
|
||||
{
|
||||
return difficulty (version_a, root_a, work_a) < threshold_entry (version_a, nano::block_type::state);
|
||||
}
|
||||
|
||||
namespace nano
|
||||
{
|
||||
const char * network_constants::active_network_err_msg = "Invalid network. Valid values are live, test, beta and dev.";
|
||||
|
|
|
@ -119,6 +119,7 @@ public:
|
|||
double normalized_multiplier (double const, uint64_t const);
|
||||
double denormalized_multiplier (double const, uint64_t const);
|
||||
uint64_t difficulty (nano::work_version const, nano::root const &, uint64_t const);
|
||||
bool validate_entry (nano::work_version const, nano::root const &, uint64_t const);
|
||||
|
||||
/** Network work thresholds. Define these inline as constexpr when moving to cpp17. */
|
||||
static const nano::work_thresholds publish_full;
|
||||
|
|
|
@ -28,12 +28,6 @@ bool nano::work_validate_entry (nano::block const & block_a)
|
|||
return block_a.difficulty () < network_constants.publish_thresholds.threshold_entry (block_a.work_version (), block_a.type ());
|
||||
}
|
||||
|
||||
bool nano::work_validate_entry (nano::work_version const version_a, nano::root const & root_a, uint64_t const work_a)
|
||||
{
|
||||
static nano::network_constants network_constants;
|
||||
return network_constants.publish_thresholds.difficulty (version_a, root_a, work_a) < network_constants.publish_thresholds.threshold_entry (version_a, nano::block_type::state);
|
||||
}
|
||||
|
||||
nano::work_pool::work_pool (nano::network_constants & network_constants, unsigned max_threads_a, std::chrono::nanoseconds pow_rate_limiter_a, std::function<boost::optional<uint64_t> (nano::work_version const, nano::root const &, uint64_t, std::atomic<int> &)> opencl_a) :
|
||||
network_constants{ network_constants },
|
||||
ticket (0),
|
||||
|
|
|
@ -19,7 +19,6 @@ class block;
|
|||
class block_details;
|
||||
enum class block_type : uint8_t;
|
||||
bool work_validate_entry (nano::block const &);
|
||||
bool work_validate_entry (nano::work_version const, nano::root const &, uint64_t const);
|
||||
|
||||
class opencl_work;
|
||||
class work_item final
|
||||
|
|
|
@ -1130,7 +1130,7 @@ void nano::wallet::send_async (nano::account const & source_a, nano::account con
|
|||
// Update work for account if latest root is root_a
|
||||
void nano::wallet::work_update (nano::transaction const & transaction_a, nano::account const & account_a, nano::root const & root_a, uint64_t work_a)
|
||||
{
|
||||
debug_assert (!nano::work_validate_entry (nano::work_version::work_1, root_a, work_a));
|
||||
debug_assert (!wallets.node.network_params.network.publish_thresholds.validate_entry (nano::work_version::work_1, root_a, work_a));
|
||||
debug_assert (store.exists (transaction_a, account_a));
|
||||
auto block_transaction (wallets.node.store.tx_begin_read ());
|
||||
auto latest (wallets.node.ledger.latest_root (block_transaction, account_a));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue