|
|
|
@ -120,11 +120,16 @@ namespace
|
|
|
|
|
return (value + quantum - 1) / quantum * quantum;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void store_128(boost::multiprecision::uint128_t value, uint64_t &slow64, std::string &swide, uint64_t &stop64)
|
|
|
|
|
{
|
|
|
|
|
slow64 = (value & 0xffffffffffffffff).convert_to<uint64_t>();
|
|
|
|
|
swide = cryptonote::hex(value);
|
|
|
|
|
stop64 = ((value >> 64) & 0xffffffffffffffff).convert_to<uint64_t>();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void store_difficulty(cryptonote::difficulty_type difficulty, uint64_t &sdiff, std::string &swdiff, uint64_t &stop64)
|
|
|
|
|
{
|
|
|
|
|
sdiff = (difficulty & 0xffffffffffffffff).convert_to<uint64_t>();
|
|
|
|
|
swdiff = cryptonote::hex(difficulty);
|
|
|
|
|
stop64 = ((difficulty >> 64) & 0xffffffffffffffff).convert_to<uint64_t>();
|
|
|
|
|
store_128(difficulty, sdiff, swdiff, stop64);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -2486,9 +2491,9 @@ namespace cryptonote
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
CHECK_PAYMENT_MIN1(req, res, COST_PER_COINBASE_TX_SUM_BLOCK * req.count, false);
|
|
|
|
|
std::pair<uint64_t, uint64_t> amounts = m_core.get_coinbase_tx_sum(req.height, req.count);
|
|
|
|
|
res.emission_amount = amounts.first;
|
|
|
|
|
res.fee_amount = amounts.second;
|
|
|
|
|
std::pair<boost::multiprecision::uint128_t, boost::multiprecision::uint128_t> amounts = m_core.get_coinbase_tx_sum(req.height, req.count);
|
|
|
|
|
store_128(amounts.first, res.emission_amount, res.wide_emission_amount, res.emission_amount_top64);
|
|
|
|
|
store_128(amounts.second, res.fee_amount, res.wide_fee_amount, res.fee_amount_top64);
|
|
|
|
|
res.status = CORE_RPC_STATUS_OK;
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|