mirror of
https://github.com/ElementsProject/elements.git
synced 2026-08-20 13:37:28 +02:00
Merge 74fb19317a into merged_master (Bitcoin PR bitcoin/bitcoin#30849)
This commit is contained in:
commit
a7e8a376fa
17 changed files with 106 additions and 135 deletions
|
|
@ -16,10 +16,11 @@ void FindCoins(const NodeContext& node, std::map<COutPoint, Coin>& coins)
|
|||
LOCK2(cs_main, node.mempool->cs);
|
||||
CCoinsViewCache& chain_view = node.chainman->ActiveChainstate().CoinsTip();
|
||||
CCoinsViewMemPool mempool_view(&chain_view, *node.mempool);
|
||||
for (auto& coin : coins) {
|
||||
if (!mempool_view.GetCoin(coin.first, coin.second)) {
|
||||
// Either the coin is not in the CCoinsViewCache or is spent. Clear it.
|
||||
coin.second.Clear();
|
||||
for (auto& [outpoint, coin] : coins) {
|
||||
if (auto c{mempool_view.GetCoin(outpoint)}) {
|
||||
coin = std::move(*c);
|
||||
} else {
|
||||
coin.Clear(); // Either the coin is not in the CCoinsViewCache or is spent
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -358,9 +358,7 @@ public:
|
|||
std::optional<Coin> getUnspentOutput(const COutPoint& output) override
|
||||
{
|
||||
LOCK(::cs_main);
|
||||
Coin coin;
|
||||
if (chainman().ActiveChainstate().CoinsTip().GetCoin(output, coin)) return coin;
|
||||
return {};
|
||||
return chainman().ActiveChainstate().CoinsTip().GetCoin(output);
|
||||
}
|
||||
TransactionError broadcastTransaction(CTransactionRef tx, CAmount max_tx_fee, std::string& err_string) override
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue