Changeset View
Changeset View
Standalone View
Standalone View
src/rpc/blockchain.cpp
Show First 20 Lines • Show All 951 Lines • ▼ Show 20 Lines | |||||
static void ApplyStats(CCoinsStats &stats, CHashWriter &ss, const uint256 &hash, | static void ApplyStats(CCoinsStats &stats, CHashWriter &ss, const uint256 &hash, | ||||
const std::map<uint32_t, Coin> &outputs) { | const std::map<uint32_t, Coin> &outputs) { | ||||
assert(!outputs.empty()); | assert(!outputs.empty()); | ||||
ss << hash; | ss << hash; | ||||
ss << VARINT(outputs.begin()->second.GetHeight() * 2 + | ss << VARINT(outputs.begin()->second.GetHeight() * 2 + | ||||
outputs.begin()->second.IsCoinBase()); | outputs.begin()->second.IsCoinBase()); | ||||
stats.nTransactions++; | stats.nTransactions++; | ||||
for (const auto output : outputs) { | for (const auto &output : outputs) { | ||||
ss << VARINT(output.first + 1); | ss << VARINT(output.first + 1); | ||||
ss << output.second.GetTxOut().scriptPubKey; | ss << output.second.GetTxOut().scriptPubKey; | ||||
ss << VARINT(output.second.GetTxOut().nValue / SATOSHI); | ss << VARINT(output.second.GetTxOut().nValue / SATOSHI); | ||||
stats.nTransactionOutputs++; | stats.nTransactionOutputs++; | ||||
stats.nTotalAmount += output.second.GetTxOut().nValue; | stats.nTotalAmount += output.second.GetTxOut().nValue; | ||||
stats.nBogoSize += | stats.nBogoSize += | ||||
32 /* txid */ + 4 /* vout index */ + 4 /* height + coinbase */ + | 32 /* txid */ + 4 /* vout index */ + 4 /* height + coinbase */ + | ||||
8 /* amount */ + 2 /* scriptPubKey len */ + | 8 /* amount */ + 2 /* scriptPubKey len */ + | ||||
▲ Show 20 Lines • Show All 1,320 Lines • Show Last 20 Lines |