Add time methods to the Chain interface

And use them to remove uses of chainActive and mapBlockIndex in wallet code

This commit does not change behavior.

Co-authored-by: Ben Woosley <ben.woosley@gmail.com>
This commit is contained in:
Russell Yanofsky
2019-01-07 22:35:47 -08:00
parent 700c42b85d
commit d93c4c1d6e
5 changed files with 43 additions and 17 deletions

View File

@@ -46,6 +46,18 @@ class LockImpl : public Chain::Lock
assert(block != nullptr);
return block->GetBlockHash();
}
int64_t getBlockTime(int height) override
{
CBlockIndex* block = ::chainActive[height];
assert(block != nullptr);
return block->GetBlockTime();
}
int64_t getBlockMedianTimePast(int height) override
{
CBlockIndex* block = ::chainActive[height];
assert(block != nullptr);
return block->GetMedianTimePast();
}
};
class LockingStateImpl : public LockImpl, public UniqueLock<CCriticalSection>