diff options
author | Carl Dong <contact@carldong.me> | 2021-04-23 15:24:47 -0400 |
---|---|---|
committer | Carl Dong <contact@carldong.me> | 2021-05-27 13:50:11 -0400 |
commit | e6b4aa6eb53dc555ecab2922af35e7a2572faf4f (patch) | |
tree | 42927d85d5a098a2a333d32cbcc0333eaba78283 /src/rpc/mining.cpp | |
parent | 9ecade14252ad1972f668d2d2e4ef44fdfcb944a (diff) |
miner: Pass in chainman to RegenerateCommitments
Pass in chainman instead of prev_block so that we can enforce the
block.hashPrevBlock refers to prev_block invariant in the function
itself.
We should probably rethink BlockAssembler's API and somehow include
commitment regeneration functionality in there. Something like a variant
of CreateNewBlock that takes in a std::vector<TxRef> and return a CBlock
instead of CBlockTemplate. That could avoid reaching for
LookupBlockIndex at all.
Diffstat (limited to 'src/rpc/mining.cpp')
-rw-r--r-- | src/rpc/mining.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/rpc/mining.cpp b/src/rpc/mining.cpp index 8190a2f006..6826e6fd07 100644 --- a/src/rpc/mining.cpp +++ b/src/rpc/mining.cpp @@ -378,8 +378,7 @@ static RPCHelpMan generateblock() // Add transactions block.vtx.insert(block.vtx.end(), txs.begin(), txs.end()); - CBlockIndex* prev_block = WITH_LOCK(::cs_main, return chainman.m_blockman.LookupBlockIndex(block.hashPrevBlock)); - RegenerateCommitments(block, prev_block); + RegenerateCommitments(block, chainman); { LOCK(cs_main); |