mirror of
https://github.com/monero-project/monero.git
synced 2025-07-22 18:40:43 -04:00
Merge pull request #1204
7db29d6
print_coinbase_tx_sum now breaks output into fee and emission components (Dion Ahmetaj)dd6c443
changed params from start/end index to height/count (Dion Ahmetaj)e95d3f3
attempted to remove whitespace spam (Dion Ahmetaj)412da63
added print_coinbase_tx_sum option (Dion Ahmetaj)
This commit is contained in:
commit
3db0ebafe5
11 changed files with 139 additions and 1 deletions
|
@ -616,6 +616,34 @@ namespace cryptonote
|
|||
return true;
|
||||
}
|
||||
//-----------------------------------------------------------------------------------------------
|
||||
std::pair<uint64_t, uint64_t> core::get_coinbase_tx_sum(const uint64_t start_offset, const uint64_t count)
|
||||
{
|
||||
std::list<block> blocks;
|
||||
std::list<transaction> txs;
|
||||
std::list<crypto::hash> missed_txs;
|
||||
uint64_t coinbase_amount = 0;
|
||||
uint64_t emission_amount = 0;
|
||||
uint64_t total_fee_amount = 0;
|
||||
uint64_t tx_fee_amount = 0;
|
||||
this->get_blocks(start_offset, count, blocks);
|
||||
BOOST_FOREACH(auto& b, blocks)
|
||||
{
|
||||
coinbase_amount = get_outs_money_amount(b.miner_tx);
|
||||
this->get_transactions(b.tx_hashes, txs, missed_txs);
|
||||
BOOST_FOREACH(const auto& tx, txs)
|
||||
{
|
||||
tx_fee_amount += get_tx_fee(tx);
|
||||
}
|
||||
|
||||
emission_amount += coinbase_amount - tx_fee_amount;
|
||||
total_fee_amount += tx_fee_amount;
|
||||
coinbase_amount = 0;
|
||||
tx_fee_amount = 0;
|
||||
}
|
||||
|
||||
return std::pair<uint64_t, uint64_t>(emission_amount, total_fee_amount);
|
||||
}
|
||||
//-----------------------------------------------------------------------------------------------
|
||||
bool core::check_tx_inputs_keyimages_diff(const transaction& tx) const
|
||||
{
|
||||
std::unordered_set<crypto::key_image> ki;
|
||||
|
|
|
@ -600,6 +600,13 @@ namespace cryptonote
|
|||
*/
|
||||
size_t get_block_sync_size() const { return block_sync_size; }
|
||||
|
||||
/**
|
||||
* @brief get the sum of coinbase tx amounts between blocks
|
||||
*
|
||||
* @return the number of blocks to sync in one go
|
||||
*/
|
||||
std::pair<uint64_t, uint64_t> get_coinbase_tx_sum(const uint64_t start_offset, const uint64_t count);
|
||||
|
||||
private:
|
||||
|
||||
/**
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue