mirror of
https://github.com/kvazar-network/kevacoin.git
synced 2025-01-17 18:40:09 +00:00
Get rid of CTxMempool::lookup() entirely
This commit is contained in:
parent
c2a4724642
commit
288d85ddf2
@ -1445,8 +1445,10 @@ bool GetTransaction(const uint256 &hash, CTransaction &txOut, const Consensus::P
|
|||||||
|
|
||||||
LOCK(cs_main);
|
LOCK(cs_main);
|
||||||
|
|
||||||
if (mempool.lookup(hash, txOut))
|
std::shared_ptr<const CTransaction> ptx = mempool.get(hash);
|
||||||
|
if (ptx)
|
||||||
{
|
{
|
||||||
|
txOut = *ptx;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -74,9 +74,9 @@ BOOST_AUTO_TEST_CASE(BlockPolicyEstimates)
|
|||||||
// 9/10 blocks add 2nd highest and so on until ...
|
// 9/10 blocks add 2nd highest and so on until ...
|
||||||
// 1/10 blocks add lowest fee/pri transactions
|
// 1/10 blocks add lowest fee/pri transactions
|
||||||
while (txHashes[9-h].size()) {
|
while (txHashes[9-h].size()) {
|
||||||
CTransaction btx;
|
std::shared_ptr<const CTransaction> ptx = mpool.get(txHashes[9-h].back());
|
||||||
if (mpool.lookup(txHashes[9-h].back(), btx))
|
if (ptx)
|
||||||
block.push_back(btx);
|
block.push_back(*ptx);
|
||||||
txHashes[9-h].pop_back();
|
txHashes[9-h].pop_back();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -160,9 +160,9 @@ BOOST_AUTO_TEST_CASE(BlockPolicyEstimates)
|
|||||||
// Estimates should still not be below original
|
// Estimates should still not be below original
|
||||||
for (int j = 0; j < 10; j++) {
|
for (int j = 0; j < 10; j++) {
|
||||||
while(txHashes[j].size()) {
|
while(txHashes[j].size()) {
|
||||||
CTransaction btx;
|
std::shared_ptr<const CTransaction> ptx = mpool.get(txHashes[j].back());
|
||||||
if (mpool.lookup(txHashes[j].back(), btx))
|
if (ptx)
|
||||||
block.push_back(btx);
|
block.push_back(*ptx);
|
||||||
txHashes[j].pop_back();
|
txHashes[j].pop_back();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -181,9 +181,9 @@ BOOST_AUTO_TEST_CASE(BlockPolicyEstimates)
|
|||||||
tx.vin[0].prevout.n = 10000*blocknum+100*j+k;
|
tx.vin[0].prevout.n = 10000*blocknum+100*j+k;
|
||||||
uint256 hash = tx.GetHash();
|
uint256 hash = tx.GetHash();
|
||||||
mpool.addUnchecked(hash, entry.Fee(feeV[k/4][j]).Time(GetTime()).Priority(priV[k/4][j]).Height(blocknum).FromTx(tx, &mpool));
|
mpool.addUnchecked(hash, entry.Fee(feeV[k/4][j]).Time(GetTime()).Priority(priV[k/4][j]).Height(blocknum).FromTx(tx, &mpool));
|
||||||
CTransaction btx;
|
std::shared_ptr<const CTransaction> ptx = mpool.get(hash);
|
||||||
if (mpool.lookup(hash, btx))
|
if (ptx)
|
||||||
block.push_back(btx);
|
block.push_back(*ptx);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
mpool.removeForBlock(block, ++blocknum, dummyConflicted);
|
mpool.removeForBlock(block, ++blocknum, dummyConflicted);
|
||||||
|
@ -831,16 +831,6 @@ std::shared_ptr<const CTransaction> CTxMemPool::get(const uint256& hash) const
|
|||||||
return i->GetSharedTx();
|
return i->GetSharedTx();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CTxMemPool::lookup(uint256 hash, CTransaction& result) const
|
|
||||||
{
|
|
||||||
auto tx = get(hash);
|
|
||||||
if (tx) {
|
|
||||||
result = *tx;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
TxMempoolInfo CTxMemPool::info(const uint256& hash) const
|
TxMempoolInfo CTxMemPool::info(const uint256& hash) const
|
||||||
{
|
{
|
||||||
LOCK(cs);
|
LOCK(cs);
|
||||||
@ -960,9 +950,9 @@ bool CCoinsViewMemPool::GetCoins(const uint256 &txid, CCoins &coins) const {
|
|||||||
// If an entry in the mempool exists, always return that one, as it's guaranteed to never
|
// If an entry in the mempool exists, always return that one, as it's guaranteed to never
|
||||||
// conflict with the underlying cache, and it cannot have pruned entries (as it contains full)
|
// conflict with the underlying cache, and it cannot have pruned entries (as it contains full)
|
||||||
// transactions. First checking the underlying cache risks returning a pruned entry instead.
|
// transactions. First checking the underlying cache risks returning a pruned entry instead.
|
||||||
CTransaction tx;
|
shared_ptr<const CTransaction> ptx = mempool.get(txid);
|
||||||
if (mempool.lookup(txid, tx)) {
|
if (ptx) {
|
||||||
coins = CCoins(tx, MEMPOOL_HEIGHT);
|
coins = CCoins(*ptx, MEMPOOL_HEIGHT);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return (base->GetCoins(txid, coins) && !coins.IsPruned());
|
return (base->GetCoins(txid, coins) && !coins.IsPruned());
|
||||||
|
@ -607,7 +607,6 @@ public:
|
|||||||
return (mapTx.count(hash) != 0);
|
return (mapTx.count(hash) != 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool lookup(uint256 hash, CTransaction& result) const;
|
|
||||||
std::shared_ptr<const CTransaction> get(const uint256& hash) const;
|
std::shared_ptr<const CTransaction> get(const uint256& hash) const;
|
||||||
TxMempoolInfo info(const uint256& hash) const;
|
TxMempoolInfo info(const uint256& hash) const;
|
||||||
std::vector<TxMempoolInfo> infoAll() const;
|
std::vector<TxMempoolInfo> infoAll() const;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user